2015年6月30日火曜日

赤城山(あかぎやま)に行ってきました -男4人とドローン2台のパーティー登山- その1

  • 公開日:2015年06月29日

登山日時

  • 2015/06/28
  • 2015/07/05

赤城山(あかぎやま)


赤城山(あかぎやま)は群馬県のほぼ中央に位置しています。
赤城山(あかぎやま)は複数の山頂の総称のことで、最高峰は黒檜山(くろびさん)。

また、日本百名山日本百景の一つにも選ばれています。
国定忠治の台詞でも有名な山です。

登山難易度は低く、山からの景色は息を呑むほどに美しいです。
登山好きでなくとも、一度は訪れたい素敵な山です。

タイムライン(赤字が今回の記事内容)


  • 05:30 自宅を出発(交通手段:車)
  • 08:00 群馬県館林で友人と合流(交通手段:車)
  • 10:00 赤城ビジターセンター到着(交通手段:車)
  • 11:00 駒ヶ岳(こまがたけ)山頂到着
  • 12:00 黒檜山(くろびさん)山頂到着
  • 13:30 下山
  • 13:40 赤城神社で食事とドローン飛行
  • 15:00 水沼駅温泉センター到着(交通手段:車)
  • 17:00 帰路(交通手段:車)
  • 20:30 自宅に到着

登山時間(往復)


3時間30分

難易度


★☆☆

易しい。子供や体力に自信のない女性にもオススメできます。


登山概要


今回は赤城山(あかぎやま)に行ってきました。

前々から行ってみたいと思っていた山でしたが、都内から電車で行くと結構な時間がかかるので、 行く機会をずっと伺っていました。
今回、登山仲間の友人達に赤城山(あかぎやま)に行こうと提案したところ、
「よし行こう」
となったことで実現しました。

また今回は、普段山に登らない友人も「ドローンを飛ばそう」ということで登山に参加することになりました。
なので、私もマイドローンを持参しての参加となりました。

行く前から、ワクワクの登山でした。

自宅 - 赤城ビジターセンター[AM05:30 - AM10:00]


今回は4人での登山なので、車で赤城山まで向かいました。
途中友人達と合流しながら向ったので、

東京から赤城ビジターセンターまで4時間30分程かかりました。

朝早く出たので道は混雑していませんでしたが、当初の予定以上に時間がかかりました。
都内から赤城山への登山を考えている場合は、朝早く出る計画を立てましょう。

また、電車で行く場合は、新幹線を使うことをオススメします。
新幹線を使っても東京駅から2時間30分ほどかかるようです。
*赤城山ポータルサイト参照

赤城ビジターセンター - 駒ヶ岳(こまがたけ)入口[AM10:00 - AM10:10]


この日の天気予報は、

曇のち嵐

でした。
赤城ビジターセンター付近に着くと、雨がポツポツと降りはじめ、気温は夏なのにわずか13°。
半袖だったので、車から降りると体が一気に冷えました。

中止にしようか。

という意見も出ましたが、

山の天気は変わるから大丈夫じゃね?

と、ジャイアニズムを全開にして駒ヶ岳に向かうことに決めました。

駒ヶ岳(こまがたけ)入口 - 駒ヶ岳(こまがたけ)中間ポイント[AM10:00 - AM10:30]


駒ヶ岳(こまがたけ)の入口で記念撮影をして出発。

赤城山(あかぎやま)の山道はよく整備されていて、とても歩きやすいです。道に迷うような箇所もありません。
前日の雨で足場は悪かったのですが、人工的につくられた階段が多く、とても登りやすかったです。

30分ほど進むと、場所の開けたベンチのある休憩スペースへ到着。

そして、天気はまさかの晴天に!!

眼前には目を奪われるほどの美しい景色が広がってました。
やっぱり日頃の行いが大切なんだと勝手なことを思いながら、景色をしばらく堪能していました。
ちょうどこの場所で休憩をしていた老夫婦と「今日は寒いですねえ」などと話ながら体を休めていると、一番遅れていた友人もこのポイントに到着。そして、

ギブアップ宣言

「早いよ!」と突っ込みをいれつつ、天気予報的にも無理は禁物だと判断。
友人は、今回登山初参加。下山時には道が濡れている可能性も高いので、友人が車の鍵を渡し、ここで一旦下山してもらうことに。

ということで、男4人とドローン2台のパーティから、男3人とドローン1台のパーティに。
ここからはいつもの登山組3人パーティー。

美しい景色に目を奪われながら、歩みを続けていきました。

次回は頂上、下山までをまとめました。

Instagramに登山写真をアップしました。
Instagram
登山サイトを運営中です。こちらもよろしくお願いします。
山に関する関連記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月24日水曜日

ホワイトニングに行ってきました。はじめてのメンズホワイトニング

記事概要


先日、生まれてはじめてホワイトニングをおこないました。ホワイトニングの種類は、セルフホワイトニングです。
女性だと、歯を綺麗にしている人をそこそこ見かけますが、男性だとあまり見かけませんね。
男性で、ホワイトニングを考えている方は、この記事を参考にどうぞ。

はじめに


個人的には、歯にはかなり気をつけている方だとは思います。周りの同年代の男子と比べても、歯は白いほうだと思います。
私の普段の歯のケアのルーチンは、以下の通りです。

しかし、やはり普段の歯磨きだけでは徐々に歯に色が付着してしまうのも事実です。
さらに私の場合、毎日コーヒーをよく飲みます。なので、思い切ってホワイトニングをすることにしました。

ちなみに、以下が普段私が利用している歯のケアの製品です。

ソニックケア。毎日利用しています。素晴らしい製品です。

TO BE WHITE(トゥービーホワイト)。ちょっと高いですね。でも、習慣になってます。

ホワイトニングの種類


調査したところ、ホワイトニングには、歯医者さんでやってもらうタイプと、セルフでやるセルフホワイトニングがあることが分かりました。
歯医者の場合は、歯を溶かしながら脱色するホームホワイトニングが主流のようです。でも、これは怖すぎるのでNG。オフィスホワイトニングは効果が高いのですが、価格が高めな割に、効果が1年程度と短いので今回は見送りました。
結局、今回私が選んだのは、セルフホワイトニングになりました。
セルフホワイトニングは、歯医者のホワイトニングと比較すると、歯を傷つけずにホワイトニングが可能になります。

店の選定


店は即決。池袋のWHITENING BLANCに決めました。
一番の理由は家から近いこと。あとは芸能人が多く利用しているので、効果がないということはないだろうと思ったからです。
また、料金が1回4,800円とお手頃なのも決め手の一つになりました。

いざホワイトニングへ


初のホワイトニング。当日はあいにくの雨でした。
しかし、池袋の西口を降りてすぐの場所に店舗があるので、傘は必要ありませんでした。
ただ、店舗のあるビルの位置が分かりにくいので、初回は迷うかもしれません。
私はgoogle mapを利用しました。それでも少しわかりにくかったです。

セルフホワイトニングの手順


店に入ると、初回なので説明を受けました。
セルフなので、自分で行う作業が意外と多いです。

  • 電動歯ブラシを使用して歯みがき
  • 歯面のクリーニング
  • マウスオープナーを装着
  • ジェルを歯に塗布

上記の全ての作業を自分で行います。歯磨きが嫌いや苦手な人は、結構つらいかもしれません。
上記を全て終了したら、スタッフを呼びます。
そして、特殊な光(LEDライト)を歯に照射してもらいます。
照射時間は15分。その間、サングラスを着用して椅子に寝ています。
終了後は、コーティング剤で口を注ぐと終了です。

二回目以降の予約


セルフホワイトニングの完了後、歯の色を確認すると、三段階くらい白くなった印象を受けました。
スタッフさんの説明によれば、私はホワイトニングが効きやすい体質なのではないかとのこと。効果は人によって結構差があるのが実情のようです。

そんなわけで、この施術は私には効果があると判断し、二度目以降のことを尋ねたところ、最初の数回は間隔を空けないで来たほうがより高い効果が期待できるとのこと。
なので、六回の回数券を購入しました。値段は25,000円程。回数券を購入すると、LEDライトの照射時間も長くなります
回数券を買わないと損な仕組みのようです。

まとめ


個人的には女性だけでなく、男性にもホワイトニングをオススメします。
やっぱり歯が綺麗ってすごく気持ちいいです。
歯に対しての意識も高くなり、きちんとケアするようになるので、虫歯や歯周病の予防にもなると思います。
ホワイトニングをすることで、他人の歯にも目がいって気になるようになります。

日本人の歯に対する意識は、相当に低いのが現状です。
こういった手軽で効果のあるホワイトニングが流行ると、もっと虫歯も減るだろうし、一生自分の歯で生活できる人が増えるのではないでしょうか。

自分の歯とは一生付き合い続けないといけません。
出来る限り良い状態にし続けていたいですね。

以上

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月22日月曜日

プロのエンジニアが現在の通信費をみなおしてみた その1 自宅ネットワーク環境編

記事概要


通信費の見直しをしました。自宅とスマホの両方です。
月々の通信費に悩まされている方の参考になれば幸いです。

はじめに


アベノミクスの影響もあり、社会ではゆるやかなインフレがはじまりました。
梅雨の時期に入り、登山はお休み状態。プライベートは一段落。
そんな事情もあり時間が空いたので、通信費を見なおした結果、変更することにしました。

自宅ネットワーク環境

変更前のネット環境


変更前のネット環境はNTTさんのフレッツ光でした。
私のネットの用途は、毎日の開発とネットサーフィンです。テレビを所持していないので、ライフラインでもあります。
フレッツ光は、現在の住居に引っ越してきてからずっと利用してきました。
月々の支出はビッグローブさんのプロバイダー料金込で7,100円
今の時代だと高額です。もっと金額を下げないといけません。

ネットワーク条件


  • 仕事とプライベートの両方でストレスなく使えること。
  • アップロードもダウンロードも頻繁におこなう。なので、今より回線が遅くなるのは嫌。
  • 自宅ではスマホも基本wifiで使用している。月々の使用量は3Gほど。通話はほとんどしない。

調査と結論


調査の結果、U-next光のサービスに変更することにしました。理由は以下の通りです。

  • 現在のフレッツ光をそのまま利用可能。
  • 現状の速度、品質はそのままで設定や工事をすることがなく乗り換えが可能。
  • 乗り換え事務手数料が無料
  • 銀行引き落としの契約も現行のまま利用可能

問題なさそうなので、変更手続きとヒアリングを実施しました。

変更手続きとヒアリング


変更の手続きと疑問点に関するヒアリングはWEBでなく、電話で直接やり取りしました。
こういった無知な事柄に対する場合、webより対面のほうが深く理解できるので、私は電話を利用します。
WEBの上は情報が五月雨で理解し難いので。
実際、このブログを参考に変更される方は、このブログ情報を参考にするだけでなく、実際に電話して詳しく聞くと良いと思います。

サービスプランの変更確定とサービス情報


説明を聞いて5分で即断しました。
U-next光を契約するデメリットは以下の通りです。

  • 契約は二年縛り。途中解約の違約金は15,000円。引越しなどが発生した場合、引っ越し先でもサービスを継続すれば違約金は発生しない。
  • NTT東日本のフレッツ光メンバーズクラブのポイントは継続できない。

個人的には何も問題ありませんでした。

変更後の料金


プロバイダー料金込みで3,950円。以前より3,150円の月額固定費の削減になります。
一年間で約36,000円。十年なら360,000円の削減額です。チリも積もればなんとやらです。

手続き詳細


初日

  • サービスを電話で確認。サービス移行の決定。

2日目

  • 朝の9時にNTT窓口(0120-140-202)に電話。転用手続きの実施。
  • 現在のオプションを聞く。不要なオプションは削除。
  • 転用番号をメモ。U-next光に用番号を知らせる。

数日後

  • 書類の送付を確認
  • ビックローブプロバイダーのサービスを解約

まとめ


日々通信環境を取り巻く環境は変化しています。
放置しておくと、無駄なお金を搾取されてしまいます。とはいえ、ネットワーク通信なしには生活することは難しい世の中です。
情報をキャッチし、自分の生活にあった環境を整えることが重要だとつくづく思いました。

以上

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月17日水曜日

react.jsのtutorialのまとめ

記事の概要


プロジェクトのフロントにreact.jsを利用するべきかどうかを判断するために、調査しています。その結果のまとめ記事です。まっさらな状態のOSでの導入から検証しています。

環境

  • centos6.5

開発環境の準備


vagrantでcentos6.5を立ち上げます。その後 公式サイトからチュートリアルファイル一式をダウンロード。


// ホストと共有していないフォルダに移動
cd /home/vagrant

// チュートリアルファイルダウンロード
git clone https://github.com/reactjs/react-tutorial

// プロジェクト配下へ移動
cd react-tutorial

node server.js
-bash: node: command not found

nodeがない場合はinstallする必要があります。


// epelリポジトリを追加
sudo rpm -ivh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

// nodejsとnpmをインストール
sudo yum -y install nodejs npm --enablerepo=epel

node -v
v0.10.36

cd react-tutorial

// サーバー起動
node server.js

Server started: http://localhost:3000/

ブラウザで『http://localhost:3000/』を叩けば、reactで出力されたHTMLが表示されます。

次は、簡単な実装をしていきます。

以上

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月15日月曜日

elasticsearchのデータ登録方法

記事概要


elasticsearchのデータ登録方法のまとめ

環境

  • vagrant centOS6.5
  • elasticsearch 1.5.2

Bulk API


elasticsearchでデータを大量に登録する場合は、Bulk APIを利用すると効率的です。
jsonファイルを用意し、以下のようにjsonを記述します。


 { "index": { "_index": "kuromoji_sample", "_type": "mountain", "_id": "1" }  }{ "id": "1", "name": "富士山",   "name_kana": "フジサン", "summary": "日本一の山だよ" }{ "index": { "_index": "kuromoji_sample", "_type": "mountain", "_id": "2" } }{ "id": "2", "name": "高尾山",    "name_kana": "タカオサン", "summary": "世界一登山客が多い山だよ。" }

このjsonを記載したファイルを『bulk.json』と名前をつけてデータ投入してみましょう。


#curl -XPOST http://localhost:9200/_bulk --data-binary @bulk.json >/dev/null

{"error":"JsonParseException[Unexpected end-of-input: expected close marker for OBJECT (from [Source: [B@664a3a13; line: 1, column: 0])\n at [Source: [B@664a3a13; line: 1, column: 4]]","status":500}

上記のエラーが発生しました。調べると、jsonに記述する形式は以下のようにする必要があるようです。


{インデックス},
{データ},
{インデックス},
{データ}

jsonファイルではなく、jsonでデータを記載したファイルです。
インデックスとデータを改行で分離する必要があります。

ファイルを修正してもう一度コマンドを叩きます。


curl -XPOST http://localhost:9200/_bulk --data-binary @bulk.json >/dev/null

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  123k  100 10960  100  113k   5071  53640  0:00:02  0:00:02 --:--:-- 53744

エラーなく上手くいきました。

登録したサンプルデータを検索


inquisitorを利用します。
urlに『http://localhost:9200/_plugin/inquisitor/#/』を入力してelasticsearch-inquisitorを立ち上げます。


{
  "query": {
    "query_string": {
      "query": "富士"
    }
  }
}

Elapsed Time: 15ms Total Hits: 2 Max Score: 1

上手く登録できているのが確認できました。
上記の例はクエリー検索です。
inquisitorを利用すると、GUIで色々な検索パターンを試せます。
検索方法についてはまた別記事でまとめて説明します。

登録したサンプルデータを全て削除


curl -XDELETE 'http://localhost:9200/*'
{"acknowledged":true}

本番環境で使ってはいけないコマンドです。
一応載せておきます。

以上。

参考サイト


elasticsearch オススメ書籍


elasticsearchをがっつりと使うなら側においておきたい一冊です。
というより、日本語の本はこれしかありません。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月14日日曜日

陣馬山(じんばさん)から高尾山(たかおさん)まで縦走してみた -人生初の縦走- その3

  • 公開日:2015年06月14日
  • 最終更新日:2015年06月21日

その1その2の続きです。

日時

  • 2015/06/07

タイムライン(赤字が今回の記事内容)


  • 06:40 JR新宿駅出発(中央線)
  • 07:50 JR高尾駅到着
  • 08:45 陣馬高原下バス停到着
  • 09:45 陣馬山(じんばさん)山頂到着
  • 10:00 陣馬山(じんばさん)出発
  • 11:30 景信山(かげのぶやま)山頂到着
  • 12:40 高尾山(たかおさん)山頂到着
  • 13:40 京王線高尾山口(たかおさんぐちえき)駅到着
  • 14:30 京王新宿駅到着

陣馬山山頂 - 景信山


陣馬山山頂から景信山までは、一般的には3時間ほど道のりと言われています。
この日は私は体調がよく、天気にも恵まれ、半分の1時間半ほどで景信山に到着出来ました。

景信山は標高は低いですが、途中に目を瞠るようなスポットが幾つもあります。

景信山に到着したのは昼時で、多くの人で賑わっていました。

周りは、小仏峠から景信山に来ている人が多いようようでした。陣馬山から高尾山まで縦走するのは、やはり少数派のようです。
しかし、この時点で11時半。体力にも余裕があり、天気にも恵まれていたので、ここで私は高尾山まで縦走することに決めました。

景信山 - 城山(小仏城山)山頂


この辺りから周りに人が増えてきました。高尾山に近づけば近づくほど人が増えていきます。

小仏峠(こぼとけとうげ)。標高は548m。もともとここまで来るつもりはなく、事前情報がなかったので新鮮で楽しかったです。
たぬきかわいいですね。

城山(小仏城山)に到着したのは12時頃でした。この時間は食事をする人で溢れていました。
写真は天狗の像でしょうか?そういえば高尾山でも天狗を祭ってますね。
茶屋でちょっと休憩しようか考えましたが、高尾山まで一気に突っ走ることにしました。

城山(小仏城山)山頂 - 高尾山


城山から高尾山までの山道は完璧に整備されています。さすが世界一の登山客を誇る高尾山です。多くの人が集まるだけに、しっかりとした整備は必須なのでしょう。

きっちりと整備された道が続きます。
とはいえ、登山道にこれだけ人の手が加わることは、意見がわかれるところだと思います。
ちなみに僕は賛成派です。こういう山が幾つかはあっても良いのではないのでしょうか。
それで山に興味を持って登山好きな人が増えるのは良いことだと思います。

もみじ台。終わりの見えぬ長い階段が続きます。陣馬山からの長い道のりもこれでラストです。
それにしてもこの長さは、

ドラゴンボールの悟空とクリリンの亀仙人の修行を思い出しました。

ゴールの高尾山です。
この日は家族連れよりカップルが多かったです。
自分はズタボロになっての登山フル装備の格好だったので、ちょっと恥ずかしかったです。

まとめ


はじめて陣馬山から高尾山へ縦走しました。
結果は、

陣馬山山頂 - 高尾山山頂まで約2時間40分

ということになりました。

時間だけ見ると凄く早いような気がしますが、トレイルラン等をしている人達にガンガン抜かれていたので、設定時間の5時間というのは大げさな時間かもしれません。

それにしても、久しぶりに充実した休日の時間を過ごせた気がします。
最近は登山にいっても「ああ、もう終わりか」と思うことも多かったのですが、この日はしっかりと満足できました。

また時間を置いてから挑戦したいと思います。夏はきつそうだから、次は秋ですかね。

都内近辺に住んでいて、体力があって自然好きな人は是非是非、陣馬山から高尾山までの縦走に挑戦してみてはどうでしょうか。
とっても楽しいかったですよ。オススメです。

でわ

Instagramに登山写真をアップしました。
Instagram
マウンテンチャンネルに詳細な登山情報をアップしました。
山に関する関連記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月13日土曜日

Gitの導入 centosで最新のgitをインストールする

  • 公開日:2015年06月13日

記事概要


centosでgitをインストールすると1.7.1という非常に古いバージョンになってしまう(もしくは最初から導入されている)ので、最新版に変更する方法をまとめました。

環境

  • centos6.5(vagrant)

Git最新版のインストール



// verssionの確認
git --version
git version 1.7.1

// 削除
sudo yum -y remove git

git --version
-bash: /usr/bin/git: No such file or directory

// yumをintsall 
sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker wget
// source install
wget https://www.kernel.org/pub/software/scm/git/git-2.4.3.tar.gz
// 解凍
tar -zxf git-2.4.3.tar.gz

cd git-2.4.3
make prefix=/usr/local all
sudo make prefix=/usr/local install

// git version check
git --version
git version 2.4.3

以上

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

Google Analyticsのスパム対応 Google AnalyticsでFilterを設定する

  • 公開日:2015年06月13日
  • 最終更新日:2015年06月13日

記事概要


Google Analyticsのスパムボット対策フィルター設定の方法を説明します。
webサーバーの対策方法はこちらの記事を参照してください。

Google Analyticsのリファラスパムボットフィルターの仕様について


Google Analyticsのフィルターの仕様は以下になります。

  • 「.」は「\.」で置き換える
  • 「|」区切りで偽装しているドメインを続けて入力する

フィルタデータの作成


Google Analyticsのフィルタのデータは以下のようになります。


# spam filter 01
4webmasters\.org|76brighton\.co\.uk|7makemoneyonline\.com|7secretsearch\.com|acads\.net|adcash\.com|addons\.mozilla\.org|adsensewatchdog\.com|adviceforum\.info|aliexpress\.com|amanda-porn\.ga|anal-acrobats\.hol\.es|anticrawler\.org|b4\.arcadecandy\.com

# spam filter 02
b4\.arcadeyum\.com|b4\.epicplay\.com|b4\.rivalgaming\.com|best-seo-offer\.com|best-seo-solution\.com|bestwebsitesawards\.com|biggestplayer\.cachefly\.net|blackhatworth\.com|blogs\.forum69\.info|box10\.com|brakehawk\.com|buttons-for-website\.com

# spam filter 03
buttons-for-your-website\.com|buy-cheap-online\.info|buysellsignals\.net|c\.brightcove\.com|cenokos\.ru|cenoval\.ru|cityadspix\.com|cookinggames\.com|curvefever\.com|cyprusbuyproperties\.com|darodar\.com|depositfiles-porn\.ga|descargar-musica-gratis\.net

# spam filter 04
econom\.co|econom\.com|edakgfvwql\.ru|etc\.com|europages\.com\.ru|event-tracking\.com|filmhill\.com|flipline\.com|forum20\.smailik\.org|forum69\.info|free-share-buttons\.com|free-social-buttons\.com|freeinvaders\.org|friv10000000\.com|games2win\.com

# spam filter 05
generalporn\.org|Get-Free-Traffic-Now\.com|girlgames\.com|gobongo\.info|gogy\.com|googlsucks\.com|guardlink\.org|hulfingtonpost\.com|humanorightswatch\.org|iloveitaly\.ro|ilovevitaly\.co|ilovevitaly\.com|ilovevitaly\.ru|imasdk\.googleapis\.com

# spam filter 06
iminent\.com|iskalko\.ru|kabbalah-red-bracelets\.com|kallery\.net|kambasoft\.com|Lomb\.co|Lombia\.co|lumb\.co|luxup\.ru|makemoneyonline\.com|masterseek\.com|meendo-free-traffic\.ga|morgansindall\.coins\.int|myftpupload\.com|o-o-6-o-o\.com|o-o-6-o-o\.ru

# spam filter 07
o-o-8-o-o\.com|o-o-8-o-o\.ru|ok\.ru|ourmeets\.com|paparazzistudios\.com\.au|player\.pureplay\.com|pogo\.com|pornhub-forum\.ga|pornhub-forum\.uni\.me|powitania\.pl|priceg\.com|prodvigator\.ua|r-e-f-e-r-e-r\.com|ranksignals\.com|Ranksonic\.info

# spam filter 08
ranksonic\.org|rapidgator-porn\.ga|resellerclub\.com|roblox\.com|s\.click\.aliexpress\.com|s3\.misterwhat\.com|savetubevideo\.com|screentoolkit\.com|search3\.openobjects\.com|see-your-website-here\.com|semalt\.com|seoanalyses\.com|seoexperimenty\.ru

# spam filter 09
sexyteens\.hol\.es|shahid\.mbc\.net|sharebutton\.net|sharebutton\.org|simple-share-buttons\.com|site3\.free-share-buttons\.com|site5\.free-share-buttons\.com|slftsdybbg\.ru|social-buttons\.com|socialseet\.ru|srecorder\.com|star61\.de|static\.cmptch\.com

# spam filter 10
static1\.dmcdn\.net|superiends\.org|tasteidea\.com|tetrisfriends\.com|textelle\.ee|theguardlan\.com|ticimax\.com|topblogstories\.com|torontoplumbinggroup\.com|torture\.ml|totaljerkface\.com|uglystat\.com|vampirestat\.com|vds\.rightster\.com

# spam filter 11
villainstat\.com|vodkoved\.ru|waterfallscanopy\.com|web\.roblox\.com|webmaster-traffic\.com|websocial\.me|windstream\.net|inbox\.com|ykecwqlixx\.ru|youporn-forum\.ga|zombiestat\.com|100dollars-seo\.com

手入力でデータを作成するのは無謀なので、プログラムかexcelの関数で作成するとよいでしょう。

上記のスパムフィルタデータは、このサイトで常時更新していきたいと思います。

Google Analyticsにフィルタを設定する


フィルタデータを作成したら、Google Analyticsに設定します。
方法は以下の手順になります。

  1. Google Analyticsにアクセスしてログイン
  2. 画面上部の『アナリティクス設定』をクリック
  3. フィルタを設定したいアカウントを選択して、『全てのフィルタ』をクリック
  4. 『新しいフィルタ』をクリック
  1. フィルタ名を入力
  2. フィルタの種類に『カスタム』を選択
  3. フィルタフィールドに『キャンペーンのソース』を選択
  4. フィルタパターンを入力
  5. 保存をクリックして適用

以上でフィルタが有効になります。

以上

関連記事
参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月11日木曜日

Google Analyticsのスパム対応 nginxのスパムボットアドレス対応ファイル

  • 公開日:2015年06月11日
  • 最終更新日:2015年06月11日

記事概要


nginx用のスパムボット対策ファイル『spambot.conf』を用意しました。
最初はgithubに置くことも考えましたが、直接コードをpreタグの中に記載して公開します。コピペしてご利用ください。
また、対応スパムボットを増やした場合は、逐次更新していきます。
より詳細を理解したい人は、こちらの記事を参考にしてください。

『/etc/nginx/conf.d/spambot.conf』



# リファラスパムボットのアクセスでない場合は「0」を維持する
set $spambot 0;
 
# リファラスパムボットそれぞれの判定
if ($http_referer ~* (4webmasters.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (76brighton.co.uk) ) {
  set $spambot 1;
}
if ($http_referer ~* (7makemoneyonline.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (7secretsearch.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (acads.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (adcash.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (addons.mozilla.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (adsensewatchdog.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (adviceforum.info) ) {
  set $spambot 1;
}
if ($http_referer ~* (aliexpress.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (amanda-porn.ga) ) {
  set $spambot 1;
}
if ($http_referer ~* (anal-acrobats.hol.es) ) {
  set $spambot 1;
}
if ($http_referer ~* (anticrawler.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (b4.arcadecandy.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (b4.arcadeyum.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (b4.epicplay.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (b4.rivalgaming.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (best-seo-offer.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (best-seo-solution.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (bestwebsitesawards.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (biggestplayer.cachefly.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (blackhatworth.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (blogs.forum69.info) ) {
  set $spambot 1;
}
if ($http_referer ~* (box10.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (brakehawk.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (buttons-for-website.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (buttons-for-your-website.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (buy-cheap-online.info) ) {
  set $spambot 1;
}
if ($http_referer ~* (buysellsignals.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (c.brightcove.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (cenokos.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (cenoval.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (cityadspix.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (cookinggames.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (curvefever.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (cyprusbuyproperties.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (darodar.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (depositfiles-porn.ga) ) {
  set $spambot 1;
}
if ($http_referer ~* (descargar-musica-gratis.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (econom.co) ) {
  set $spambot 1;
}
if ($http_referer ~* (econom.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (edakgfvwql.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (etc.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (europages.com.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (event-tracking.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (filmhill.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (flipline.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (forum20.smailik.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (forum69.info) ) {
  set $spambot 1;
}
if ($http_referer ~* (free-share-buttons.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (free-social-buttons.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (freeinvaders.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (friv10000000.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (games2win.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (generalporn.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (Get-Free-Traffic-Now.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (girlgames.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (gobongo.info) ) {
  set $spambot 1;
}
if ($http_referer ~* (gogy.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (googlsucks.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (guardlink.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (hulfingtonpost.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (humanorightswatch.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (iloveitaly.ro) ) {
  set $spambot 1;
}
if ($http_referer ~* (ilovevitaly.co) ) {
  set $spambot 1;
}
if ($http_referer ~* (ilovevitaly.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (ilovevitaly.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (imasdk.googleapis.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (iminent.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (iskalko.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (kabbalah-red-bracelets.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (kallery.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (kambasoft.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (Lomb.co) ) {
  set $spambot 1;
}
if ($http_referer ~* (Lombia.co) ) {
  set $spambot 1;
}
if ($http_referer ~* (lumb.co) ) {
  set $spambot 1;
}
if ($http_referer ~* (luxup.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (makemoneyonline.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (masterseek.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (meendo-free-traffic.ga) ) {
  set $spambot 1;
}
if ($http_referer ~* (morgansindall.coins.int) ) {
  set $spambot 1;
}
if ($http_referer ~* (myftpupload.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (o-o-6-o-o.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (o-o-6-o-o.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (o-o-8-o-o.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (o-o-8-o-o.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (ok.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (ourmeets.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (paparazzistudios.com.au) ) {
  set $spambot 1;
}
if ($http_referer ~* (player.pureplay.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (pogo.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (pornhub-forum.ga) ) {
  set $spambot 1;
}
if ($http_referer ~* (pornhub-forum.uni.me) ) {
  set $spambot 1;
}
if ($http_referer ~* (powitania.pl) ) {
  set $spambot 1;
}
if ($http_referer ~* (priceg.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (prodvigator.ua) ) {
  set $spambot 1;
}
if ($http_referer ~* (r-e-f-e-r-e-r.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (ranksignals.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (Ranksonic.info) ) {
  set $spambot 1;
}
if ($http_referer ~* (ranksonic.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (rapidgator-porn.ga) ) {
  set $spambot 1;
}
if ($http_referer ~* (resellerclub.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (roblox.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (s.click.aliexpress.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (s3.misterwhat.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (savetubevideo.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (screentoolkit.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (search3.openobjects.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (see-your-website-here.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (semalt.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (seoanalyses.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (seoexperimenty.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (sexyteens.hol.es) ) {
  set $spambot 1;
}
if ($http_referer ~* (shahid.mbc.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (sharebutton.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (sharebutton.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (simple-share-buttons.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (site3.free-share-buttons.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (site5.free-share-buttons.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (slftsdybbg.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (social-buttons.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (socialseet.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (srecorder.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (star61.de) ) {
  set $spambot 1;
}
if ($http_referer ~* (static.cmptch.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (static1.dmcdn.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (superiends.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (tasteidea.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (tetrisfriends.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (textelle.ee) ) {
  set $spambot 1;
}
if ($http_referer ~* (theguardlan.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (ticimax.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (topblogstories.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (torontoplumbinggroup.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (torture.ml) ) {
  set $spambot 1;
}
if ($http_referer ~* (totaljerkface.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (uglystat.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (vampirestat.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (vds.rightster.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (villainstat.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (vodkoved.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (waterfallscanopy.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (web.roblox.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (webmaster-traffic.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (websocial.me) ) {
  set $spambot 1;
}
if ($http_referer ~* (windstream.net) ) {
  set $spambot 1;
}
if ($http_referer ~* (inbox.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (ykecwqlixx.ru) ) {
  set $spambot 1;
}
if ($http_referer ~* (youporn-forum.ga) ) {
  set $spambot 1;
}
if ($http_referer ~* (zombiestat.com) ) {
  set $spambot 1;
}
if ($http_referer ~* (100dollars-seo.com) ) {
  set $spambot 1;
}


# 最後に403を返すif文を追加する
if ($spambot = 1) {
  return 403;
  break;
}


以上

関連記事
参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

Google Analyticsのスパム対応 nginxを使ったrailsアプリでスパムボットに対応する

  • 公開日:2015年06月11日
  • 最終更新日:2015年06月11日

記事概要


マウンテンチャンネル」のwebアプリを公開して二か月が経過しました。
そろそろサイトのグロースハックを開始しようとGoogle Analyticsを起動したところ、流入元にスパムボットアドレスがずらりと並んでいました。
これでは解析をするのが大変です。というわけで、スパムボットの対策をすることにしました。

スパムボットの対策方法


スパムボットの対策方法は以下の二通りです。

  • Google Analyticsでフィルターの設定をする
  • ウェブサーバで除外する

Google Analyticsでフィルターを設定するのは、性質の悪いスパムボッドが存在するからです。
それは、Google AnalyticsのUA-XXXXXXXX-XのトラッキングIDを拾って、直接Google Analyticsのセッションを偽装しにやってくるスパムボッドです。

なので、万全を期すためにGoogle Analyticsとウェブサーバの両方の対策をしておくべきです。

今回はウェブサーバ(nginx)を使ってリファラスパムボットを除外する対策方法説明します。


環境

  • centos6.5(vagrant)
  • nginx1.6.1
  • ruby2.2.2, rails4.2.1

リファラスパムボットの調査


アナリティクスを利用したところ、以下のリファラスパムボットを発見しました。


free-social-buttons.com
best-seo-offer.com
buttons-for-your-website.com
www4.free-social-buttons.com
www2.free-social-buttons.com
100dollars-seo.com

上位10件中6件がスパムとか、何も分析できませんね...。

『/etc/nginx/conf.d/spambot.conf』の生成


リファラスパムボットを除外するspambot.confを用意します。


# リファラスパムボットのアクセスでない場合は「0」を維持する
set $spambot 0;
 
# リファラスパムボットそれぞれの判定
if ($http_referer ~* (4webmasters.org) ) {
  set $spambot 1;
}
if ($http_referer ~* (76brighton.co.uk) ) {
  set $spambot 1;
}

# 中略

# 最後に403を返すif文を追加する
if ($spambot = 1) {
  return 403;
  break;
}

リファラスパムボットはこちらのサイトの一覧を利用させていただきました。
『100dollars-seo.com』だけは存在しなかったので追加しました。

また、せっかくなのでこの記事にspambot.confの全コードを記載しました。
こちらは私がリファラスパムボットを増やす対応をしたときに、逐一更新していきます。

『/etc/nginx/conf.d/spambot.conf』の読み込み


nginx.confのロケーション部で読み込むように設定します。



    # Load config files from the /etc/nginx/conf.d directory
    # The default server is in conf.d/default.conf
    include /etc/nginx/conf.d/*.conf;

if文があるので、ディレクティブの中にファイルを置きます。上記のサンプルではhttpディレクティブの中でファイルを読み込ませています。

nginxの再起動


上記の設定を終えたら、nginxの再起動をして設定を反映させます。


sudo nginx -s reload

エラーなしで再起動に成功すれば設定は成功です。
また、スパムボット対策は基本イタチごっこなので、なるべくchefを使って自動化することをおすすめします。
chefなら以下のように設定します。


template "spambot.conf" do
  path "/etc/nginx/conf.d/spambot.conf"
  source "spambot.conf.erb"
  notifies :reload, "service[nginx]"
end

以上

次はGoogle Analyticsの設定方法を記載します。

関連記事
参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月10日水曜日

redmineの導入 redmineの移行作業

記事概要


既存のredmineのデータを、新規のredmineに移行する手順についてまとめました。

redmineのインストール記事はこちら
redmineの環境構築記事はこちら

環境

  • centos6.6
  • nginx, unicorn, redmine2.2.3

データ移行に必要なデータ


redmineの移行に必要なデータは以下の二つになります。

  • Redmineのインストールディレクトリ直下のfilesディレクトリ
  • データベースのバックアップ

移行作業を行う前に、上記のデータを取得しておいてください。

データ移行環境の注意点


移行前のredmineのバージョンと移行後のredmineのバージョンは一致させる必要があります
もし、移行後のredmineのバージョンを最新にあげたい場合は、

  1. 同じredmineのバージョンでデータ移行を実施
  2. データ移行したredmineを最新にバージョンアップ

という手順を踏む必要があります。

では、次から詳細なやり方を示していきます。

filesディレクトリのリカバリ


移行するバックアップのfilesディレクトリを用意し、パスを確認します。


/home/{username}/before_redmine/files

移行先のredmineのfilesディレクトリのパスを確認します。


/var/www/rails/redmine/files

移行先へファイルをコピーします。


cp -ar /home/{username}/before_redmine/files/* /var/www/rails/redmine/files

// ファイルが移行していることを確認する
ls -l /var/www/rails/redmine/files

ファイル移行が終了した後は、データベースのバックアップを行います。

データベース(mysql)のリカバリ


データベースのバックアップファイルがあるフォルダに移動します


cd /home/{username}/before_redmine/

ls -l

// 受け取ったmysqlのdump
redmine.gz

// 解凍
gunzip redmine.gz

データベースのバックアップファイルの解凍を行わないでリストアコマンドを叩くと、以下のようなエラーが発生することがあります。


Warning: Using a password on the command line interface can be insecure.
ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: '
                                               '.

上記のエラーを防ぐためにもgunzipで解凍をしておきましょう。

続いて、データベースをリストアします。


mysql -u root -proot_test redmine < redmine
Warning: Using a password on the command line interface can be insecure.
                                               '.

エラーがおきなければ成功です。
unicornとnginxを再起動して、ブラウザでURLを入力すれば移行したデータが反映されたredmineが利用できます。

以上

関連記事
参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月9日火曜日

陣馬山(じんばさん)から高尾山(たかおさん)まで縦走してみた -人生初の縦走 その2-

  • 公開日:2015年06月09日
  • 最終更新日:2015年06月21日

その1の続きです。

日時

  • 2015/06/07

タイムライン(赤字が今回の記事内容)


  • 06:40 JR新宿駅出発(中央線)
  • 07:50 JR高尾駅到着
  • 08:45 陣馬高原下バス停到着
  • 09:45 陣馬山(じんばさん)山頂到着
  • 10:00 陣馬山(じんばさん)出発
  • 11:30 景信山(かげのぶやま)山頂到着
  • 12:40 高尾山(たかおさん)山頂到着
  • 13:40 京王線高尾山口(たかおさんぐちえき)駅到着
  • 14:30 京王新宿駅到着

JR高尾駅 - 陣馬高原下バス停


JR高尾駅を北口から出ると、バス停があります。
バス停には『北高尾行き』、『小仏行き』、『陣馬高原下行き』等への行き先のバスが出ています。
沢山の登山客がいますが、乗るバスによって行く先が違うので注意が必要です。

この日は休日で人が多く、どこに並んだら良いかわからなかったので、バス停近くにいるバス会社の人に聞きました。
『陣馬高原下行き』のバスはあまり多くの本数は出ていないようです。

また、JR高尾駅から陣馬山近くの陣馬高原下バス停までは40分くらいかかりました。
私はたまたま運よく座ることができましたが、座れないのが前提と思っておいたほうが良いでしょう。

陣馬高原下バス停 - 陣馬山山頂


陣馬高原下バス停を降りると、コンクリートの道を進んでいきます。
しばらく歩くと、新ハイキングコースの標識があるので、そこから山の中に入っていきます。

山道を一時間も歩くと、頂上に到着します。頂上には有名な馬のモニュメントがあります。

陣馬山山頂からの眺望は素晴らしいの一言。何度でも来たくなる場所です。

私が山頂に到着したのは午前十時前だったのですが、せっかくなので『陣馬そば』を頼んで食しました。
食欲のない体でもすんなりと体に入ってくる優しい食感でした。

当初の予定ではここで下山して、早めに自宅に帰ってゆっくり休むつもりでした。
しかし、あまりに天気が良く、気持ちの良い日だったので、景信山(かげのぶやま)まで足を伸ばすことにしました。
まだこの時は高尾山まで縦走する気はなく、小仏峠(こぼとけとうげ)を下ってバスで帰ればいいやと思っていたんですけどね(笑)。

続きます。は陣馬山 - 高尾山頂上まで一気に紹介します。

Instagramに登山写真をアップしました。
Instagram
マウンテンチャンネルに詳細な登山情報をアップしました。
山に関する関連記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月7日日曜日

陣馬山(じんばさん)から高尾山(たかおさん)まで縦走してみた -人生初の縦走 その1-

  • 公開日:2015年06月07日
  • 最終更新日:2015年06月14日

日時

  • 2015/06/07

タイムライン


  • 06:40 JR新宿駅出発(中央線)
  • 07:50 JR高尾駅到着
  • 08:45 陣馬高原下バス停到着
  • 09:45 陣馬山(じんばさん)山頂到着
  • 10:00 陣馬山(じんばさん)出発
  • 11:30 景信山(かげのぶやま)山頂到着
  • 12:40 高尾山(たかおさん)山頂到着
  • 13:40 京王線高尾山口(たかおさんぐちえき)駅到着
  • 14:30 京王新宿駅到着

登山概要


今回は陣馬山(じんばさん)から高尾山(たかおさん)まで縦走してきました。

当初は陣馬山(じんばさん)にのみ登る予定で、名物の「陣馬そば」を食べたらピストン【山頂などを同一コースで往復すること。】で帰宅するつもりでしした。

しかし、この日は晴天に恵まれ、体の調子も良く、連日の深夜までの残業続きでストレスが蓄積していたこともあり…。

東京と神奈川を駆け抜けたい衝動を抑えられませんでした。

というわけで最終的に、陣馬山(じんばさん)から高尾山(たかおさん)まで縦走してしまいました。
結果的にこの日は、

最高の気分になれました。

もやもやとしたストレスを吹き飛ばす、とても素敵な気晴らしになりました。

体力的な懸念について


陣馬山(じんばさん)から高尾山(たかおさん)までは約5時間ほどの長い道のりになります。
しかし、陣馬山(じんばさん)から高尾山(たかおさん)までの縦走は、ネットや雑誌で言われているほど体力は必要ないと感じました。
というのも、急な登り下りが少なく、おまけに標高も低いので、体力を失う速度がゆっくりだからです。
なので、朝早く陣馬山(じんばさん)を出れば、なんとか縦走できてしまう人は多いと思います。もちろん、登山初心者が挑戦するような距離でないことも確かです。

ただ、私も山によく登っているとはいえ、普段はデスク仕事に従事していますし、平日の運動は、最近は柔軟くらいしかしていせん。
それでも高尾山下山後でも結構余力がある状態でした。

さて、前置きが長くなってしまいました。
というわけで、は陣馬山(じんばさん)から高尾山(たかおさん)の詳細な縦走記を書いていきます。

Instagramに登山写真をアップしました。
Instagram
マウンテンチャンネルに詳細な登山情報をアップしました。
山に関する関連記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月5日金曜日

初めてのインフレ経験から学んだこと

最近、あらゆる場面で物価の上昇を感じるようになってきました。
これまでは物価上昇のニュースがあっても、実感したことはほとんどありませんでした。
基本的には、社会に出てからずっとデフレ経済しか経験していなかったので、インフレ経済を体験するというのは、大きな経験になっています。
そこで、今日はインフレから学んだことを記述していきたいと思います。

インフレの脅威


私が投資を始めたのは、7,8年前になります。
その間に、様々な投資本を読んできました。

その中で『敗者のゲーム』という本を読んだ時に、印象的だった内容に

「インフレの脅威」

というものがありました。

「インフレの脅威」とは、世の中は基本的にインフレで物価の値段はどんどん上昇する。なので、銀行に預けていてもお金は目減りしてしまう。だから株式投資をすることは重要である。株式投資は資産を維持するために必要なことで、投資しないとお金は実質どんどん減ってしまう。ということです。

説明されていることは、頭では納得できる内容ですが、日本で生活しているとあまり実感がありませんでした。
しかし、いざ実社会でインフレを経験すると、お金というものは物価を購入するツールに過ぎず、必要以上に銀行に預けていてもほとんど意味がないということが理解できました。

投資は机上よりも経験から学ぶことが多く、若い時からこれまで投資の経験を積んでこれたのは幸運で、本当に良かったと実感しています。
老後には○○円必要とか、子供を産むと××円かかる等の記事をよく目にしますが、所詮は今の物価と社会常識からの視点に過ぎません。
もっと大切なのはその時その時の世の中のルールを知って対応することなのだと、経験をもって理解することができました。

仕事をリタイアしてはいけない


私はあまり考えたことがないのですが、資本を貯めたら仕事を辞めてゆっくりしたいとか、老後は趣味に興じたいという人は意外に多いですよね。

ただ、今回のインフレを経験して思ったのは、『仕事をリタイアしてはいけない』ということです。
インフレとかデフレとかに関係なく、仕事は可能な限り続けるべきです。

もちろん多くの資本があって、投資の配当だけで生活できれば働く必要はないかもしれまん。
でも、そういった人はごく一部の少数派でしょう。
それになにより、資本主義の恩恵に預かって生きているのですから、働けるうちは働くべきではないかと思います。

そして、多くの資本のない大部分の人には、投資や貯金より、労働して対価を得ることが一番のインフレ対策です。

お金について学習し考えるようになった


今回のインフレで一番良かったことは、お金に対して以前よりまじめに考えるようになったことです。
やはり人間は自分で経験することで、学習するし、勉強するようになります。
今はいい時代で、ちょっと調べれば歴史を知れるし、対策を学ぶことができます。

今回のアベノミクスを発端とするインフレも、過去のインフレと対策は同じです。
国の制度でも、個人の確定拠出年金、ふるさと納税、NISAなど、色々な新制度が生まれています。

どんな世界だって学ぶことができるし、楽しむこともできるし、問題の解決だってできる。
僕が今回のインフレで学んだ一番の収穫は、過去の人達の知恵の素晴らしさです。

まだまだ私は未熟者。
過去の経験に学びながら、新しい世界を作っていけたらいいなと思っています。

以上

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月4日木曜日

elasticsearch Mapping

  • 公開日:2015年06月04日
  • 最終更新日:2015年06月06日

elasticsearchのmappingの学習メモ

環境

  • vagrant centOS6.5
  • elasticsearch 1.5.2

Mappingとは


リレーショナルDBでいうところのテーブル定義に相当します。
ただし、データを格納する為のフィールドを用意して、型を設定するだけのリレーショナルDBとは異なります。
elasticsearchではフィールドの型の他に、言語解析処理などのドキュメントを検索可能にする為の各種設定をすることができます。

Mappingの例


mappingの例を以下に記載します。


  "mappings": {
    "mountain": {
      "_source": {
        "enabled": true
      },
      "_all": {
        "enabled": true,
        "analyzer": "my_analyzer"
      },
      "properties": {
        "id": {
          "type": "integer",
          "index": "not_analyzed"
        },
        "name": {
          "type": "string",
          "index": "analyzed",
          "analyzer": "my_analyzer"
        },
        "name_kana": {
          "type": "string",
          "index": "analyzed",
          "analyzer": "my_analyzer"
        },
        "summary": {
          "type": "string",
          "index": "analyzed",
          "analyzer": "my_analyzer"
        }
      }
    }
  }

データの説明

  • id - integer型, 分割しない。つまり10を1とか0でヒットさせない。
  • 他 - String型。日本語が入り、『富士山』などの単位でヒットさせる。

サンプルなのでシンプルに作成してあります。フィールドに言語解析処理が色々と設定しているのが特徴です。
上記で設定しているanalyzerの『my_analyzer』はこの記事で作成したデータを利用しています。

Mappingの登録


上記のmappingを参考にし、index『kuromoji_sample』、type『mountain』のMappingデータを登録してみましょう。


curl -XPUT 'http://localhost:9200/kuromoji_sample/' -d'
{
    "settings": {
        "index":{
            "analysis":{
                "tokenizer" : {
                    "kuromoji_user_dict" : {
                       "type" : "kuromoji_tokenizer",
                       "mode" : "extended",
                       "discard_punctuation" : "false",
                       "user_dictionary" : "userdict_ja.txt"
                    }
                },
                "analyzer" : {
                    "my_analyzer" : {
                        "type" : "custom",
                        "tokenizer" : "kuromoji_user_dict"
                    }
                }

            }
        }
    },  
    "mappings": {
      "mountain": {
        "_source": {
          "enabled": true
        },
        "_all": {
          "enabled": true,
          "analyzer": "my_analyzer"
        },
        "properties": {
          "id": {
            "type": "integer",
            "index": "not_analyzed"
          },
          "name": {
            "type": "string",
            "index": "analyzed",
            "analyzer": "my_analyzer"
          },
          "name_kana": {
            "type": "string",
            "index": "analyzed",
            "analyzer": "my_analyzer"
          },
          "summary": {
            "type": "string",
            "index": "analyzed",
            "analyzer": "my_analyzer"
          }
        }
      }
    }
}
'

{"acknowledged":true}

{"acknowledged":true}が出力されれば登録は成功です。

Mappingの確認


mappingを確認にするために、
『http://localhost:9200/kuromoji_sample/_mapping/mountain?pretty=true』
にアクセスします。
urlの『_mapping/mountain』がポイントです。
pretty=trueはjsonを整形して表示したい場合に利用する引数です。


{
  "kuromoji_sample" : {
    "mappings" : {
      "mountain" : {
        "_all" : {
          "enabled" : true,
          "analyzer" : "my_analyzer"
        },
        "properties" : {
          "id" : {
            "type" : "integer"
          },
          "name" : {
            "type" : "string",
            "analyzer" : "my_analyzer"
          },
          "name_kana" : {
            "type" : "string",
            "analyzer" : "my_analyzer"
          },
          "summary" : {
            "type" : "string",
            "analyzer" : "my_analyzer"
          }
        }
      }
    }
  }
}

きちんと登録されています。


サンプルデータの登録


curl -XPOST 'http://localhost:9200/kuromoji_sample/mountain/_bulk' -d \
'
 { "index": { "_index": "kuromoji_sample", "_type": "mountain", "_id": "1" }  }
 { "id": "1", "name": "富士山",   "name_kana": "フジサン", "summary": "日本一の山だよ" }
 { "index": { "_index": "kuromoji_sample", "_type": "mountain", "_id": "2" } }
 { "id": "2", "name": "高尾山",    "name_kana": "タカオサン", "summary": "世界一登山客が多い山だよ。" }
'

大量のデータを投入する場合は、jsonファイルを使うと便利です。

登録したサンプルデータを検索


inquisitorを利用します。
urlに『http://localhost:9200/_plugin/inquisitor/#/』を入力してelasticsearch-inquisitorを立ち上げます。


{
  "query": {
    "query_string": {
      "query": "富士"
    }
  }
}

上記の例はクエリー検索です。
このように、ここで色々な検索パターンを試せます。
検索方法についてはまた別記事でまとめて説明します。

以上。

参考サイト


elasticsearch オススメ書籍


elasticsearchをがっつりと使うなら側においておきたい一冊です。
というより、日本語の本はこれしかありません。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月3日水曜日

ドローンを購入して二ヶ月の感想

ドローンを購入して二ヶ月が経過しました。
世間ではすっかり「ドローン == 悪」の意識が国民に埋め込まれてしまいましたが、これからも堂々とドローンの練習をしていきたいと思います。

さて、二ヶ月もドローンと戯れていると、さすがに基本的な操作には慣れてきました。
なので、そろそろ本格的に空撮の練習をしていきたいと考えています。

空撮への興味

みなさんは写真を撮るのが好きですか?
実は、私はそれほど写真を撮ることに興味はありません。
最近でこそ、山登りをして風景を楽しんだり撮影するようになりましたが、

それまではほとんど写真を自分で撮ることはありませんでした。 ましてや動画の撮影など全く興味ありませんでした。

経験したことのない視点

しかし、写真撮影にほとんど興味のない私でも、空からの撮影は不思議と楽しいのです。
もちろんドローンの操縦が楽しいというのもあるのですが、今まで見たことのない視点で世界を見れることの楽しさは格別です。
これは、素晴らしい技術や音楽、他のエンターテイメント等に触れた時の感覚に似ています。自分の世界が広がる感覚とでもいうのでしょうか。
この感覚を抱くとき、僕は世の中って楽しいなあ、やっぱ面白いなあと思います。
そして今の世界を生きていられることに感謝し、自分も世界の役に立ちたいと強く思うのです。

映像コンテンツ

この感動を伝えるのに必要なのは、空撮の技術はもちろん、映像の編集技術でしょう。
Youtubeなどのコンテンツを見るときも、「ああ、よく出来ているなあ」という視点で最近は見るようになってきました。
これから、少しずつ学習していきたいと思います。

今後

今後は空撮の技術を磨いていきたいと思います。もちろん、人には迷惑をかけないように気をつけたいと思います。今は時期が時期なので、特に気をつけたいと思います。

オリジナルのドローンも作成したいのですが、まだ時期尚早かなと思っています。
今、力を入れるべきは、ドローンに触れる時間を増やすこと。そして、ドローンで出来ることを試行錯誤してドローンの可能性をきっちりと見極めていくことだと思います。
自作はそれからはじめようと考えています。

最後に

マスコミのドローンバッシングは激しさを増し、人気取りのための国の施策で、日本のドローン市場はさらに停滞しそうな雰囲気です。
とはいえ、ここで愚痴をこぼしていても仕方ないので、少しでもドローンの良さを広めていけるような活動をしたいと思います。

そのうち、このブログでIT技術とおなじくらいドローンの技術や情報を提供していければいいなと考えています。
あまり期待せずに、気長に待っていてください。
でわ。

他の記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月2日火曜日

Tomcat – java.lang.OutOfMemoryError: PermGen space

上記のエラーが発生したので修正方法を記載します。

環境

  • windows7

『java.lang.OutOfMemoryError: PermGen space』とは

tomcatのメモリが不足時に発生するエラーです。

修正方法

メモリを増やしてtomcatを起動します。

修正方法詳細


C:\tomcat\binに移動

setenv.batを作成する

setenv.bat内容記載


set JAVA_OPTS=-Dfile.encoding=UTF-8 -Xms128m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=256m

setenv.batに上記の内容を記述し、再びtomcatを立ちあげればメモリの使用量は改善します。上記でもまだメモリが不足する場合は、環境に応じて増やしていきましょう。

以上

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2015年6月1日月曜日

elasticsearch Kuromoji

elasticsearchにKuromojiを導入したので、学習メモ

環境

  • vagrant(centOS6.5)

Kuromojiとは

Javaで書かれているオープンソースの日本語形態素解析エンジンです。
メールサーバーを構築したことがある人は、Mecabをイメージするとよいと思います。
solrを利用したことがある人は、solrのkuromojiと全く同じなので学習の必要はありません。

インストール

こちらの記事に手順を記載しています。chefで導入しています。

サンプルの作成

まずは簡単なサンプルを作成していきましょう。ここではindex名『kuromoji_sample』でデータを作成します。
indexってなにそれ?の場合は、この記事で基礎から学習してください。

user_dictionaryを作成

まずはユーザ辞書を作成します。

ファイル名『userdict_ja.txt』を作成します。
ファイルの保存先は『/usr/local/etc/elasticsearch』になります。
公式サイトの説明だと{home}/config配下と記載されていますが、間違いです。(少なくともcentosの場合は)


// elasticsearch homeへ移動
cd /usr/local/etc/elasticsearch

sudo touch userdict_ja.txt

chmod 777 elasticsearch:elasticsearch userdict_ja.txt

userdict_ja.txtを作成します。文字コードはutf-8です。


富士,富士,フジ,カスタム名詞
高尾,高尾,タカオ,カスタム名詞

elasticsearchを再起動します。


sudo service elasticsearch restart

インデックスの作成

次はインデックスを作成します。

『kuromoji_user_dict』というユーザ辞書指定をしたtokenizerと、それを使う『my_analyzer』というanalyzerを登録したindexを作成します。


curl -XPUT 'http://localhost:9200/kuromoji_sample/' -d'
{
    "settings": {
        "index":{
            "analysis":{
                "tokenizer" : {
                    "kuromoji_user_dict" : {
                       "type" : "kuromoji_tokenizer",
                       "mode" : "extended",
                       "discard_punctuation" : "false",
                       "user_dictionary" : "userdict_ja.txt"
                    }
                },
                "analyzer" : {
                    "my_analyzer" : {
                        "type" : "custom",
                        "tokenizer" : "kuromoji_user_dict"
                    }
                }

            }
        }
    }
}
'
{"acknowledged":true}

上記のindexが登録されたことを確認します。


http://localhost:9200/_aliases?pretty

{
  "kuromoji_sample" : {
    "aliases" : { }
  }
}

きちんと登録されていますね。

解析

最後に、解析ができるかをチェックします。


curl -XGET 'http://localhost:9200/kuromoji_sample/_analyze?analyzer=my_analyzer&pretty' -d '富士山'

{
  "tokens" : [ {
    "token" : "富士",
    "start_offset" : 0,
    "end_offset" : 2,
    "type" : "word",
    "position" : 1
  }, {
    "token" : "山",
    "start_offset" : 2,
    "end_offset" : 3,
    "type" : "word",
    "position" : 2
  } ]
}

成功です。

以上。

参考サイト
elasticsearch オススメ書籍

elasticsearchを使うなら側においておきたい一冊です。
うまくまとまっていて、辞書代わりにも利用できます。今のところ日本語の本を使うならこの本一択ですね。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加
Related Posts Plugin for WordPress, Blogger...