2016年になりました。
明けましておめでとうございます。
久しぶりの更新で大変申し訳ない気持ちでいっぱいです。
前回の更新から約2ヶ月経ってしまいました。
新年早々言い訳になりますが、11月と12月は仕事が忙しく
なかなか子育てアプリの開発に専念できませんでした。
そして、なんだかんだしている間に年末年始に突入してしまい、今に至っております。
いろんな方のアプリ開発ブログを見ていると、すごく短期間でアプリを作られているので、私ももっと頑張らないとダメですね・・・。
今年は子育て情報アプリのリリースを目指して、
より一層頑張りますので
応援よろしくお願いしまーす。
子育て情報アプリを作れるように vol13 ~放浪する~
前回までで、
- サイトをクロールして
- 子育て情報を収集し、
- タグを自動生成して
- データベースに保存する
ところまで終わりました。
次は
このクローラーをherokuというサービスを利用して
定期的に実行させようと思い、
herokuの使い方について調べていました。
すると、問題発覚…
- 無料版はデータベースに10000レコードまで保存できる
- herokuではファイルを保存できない
(アイドル状態になった時に全部消える)
私のクローラーは実行する度に、
タグを自動生成させるためのファイル(parenting-tfidf.json)を更新しますので、
ファイルが消えてしまうと問題です。
また、クローラーで収集したデータはどんどんデータベースにためていくので、すぐに足りなくなりそうです。
うーん、どうしよう。
無知すぎた笑
で、この後も色々と調べたり悩んだ結果
AWSを有料で使う
事に決めました。
(どれくらいお金かかるんだろう…)
ただし、
お金がかかるので、すぐには使わずに
まずはローカルでサーバを立てて
運用し、クローラーの完成度を高めてから
AWSを使う事にします。
ということで、
今回からローカルサーバでの運用について書いて行こうと思います。
今回の目標
- Vagrantを使う
1. Vagrantを使う
(1) まずは情報収集
クローラーをサーバで、運用する方法については
クロ本の最後のChapterに書いてあります。
もはや、私の中のバイブルですね。
あと、ドットインストールというサイトでVagrant入門というのがありますので、
そちらも視聴しました。
dotinstall.com
Vagrantは仮想マシンを管理するためのツールです。これがあるとすごく便利だそうです。
仮想マシンは別途必要なので無料のVirtualBoxを使っていきます。
ちなみにVagrantの意味を調べたところ「放浪する」という意味でした。
何でだろう笑
(2) インストール
特に難しいことはありません。
VagrantもVirtualBoxも公式サイトから
Mac版をダウンロードしてきてインストールするだけでした。
(3) OSの準備
続いて、
VirtualBoxにインストールするOSを用意します。
http://www.vagrantbox.esというサイトで
色んなOSのテンプレートが配布されていますのでこちらを使っていきます。
ただし注意点があります。
このサイトは公式サイトではありません。
分かりやすく言うと
テンプレートにウィルスを埋め込まれている可能性を否定できないという事です。
なので、利用する場合は自己責任でお願いします。
今回は、
クロ本に書いてあるテンプレートなら安全だと思われるので、自己責任で使ってみたいと思います。
(4) 仮想マシンをセットアップする
まずは上記(3)で説明したOSのテンプレートを登録します。
$ vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.4.2/centos64-x86_64-20140116.box
続いて、仮想マシンを初期化します。
$ mkdir centos65-parenting-crawler $ cd centos65-parenting-crawler $ vagrant init centos65
初期化する前に仮想マシンの設定を格納するディレクトリを作ります。
今回は、作成した子育て情報クローラーを動かすためのサーバなので、
centos65-parenting-crawler
と付けます。(長い・・・)
次は起動します。
$ vagrant up
次は接続
$ vagrant ssh
ここまでで、無事に仮想マシンへの接続まで終わりました。
ちなみに、
Vagrantには他にもコマンドがありますので一覧にしておきます。
コマンド | 説明 |
---|---|
vagrant box add [name] [url] | boxの登録 |
vagrant init [name] | 仮想マシンの初期化 |
vagrant status | 仮想マシンの状態を確認 |
vagrant up | 仮想マシンの起動 |
vagrant halt | 仮想マシンの終了 |
vagrant suspend | 仮想マシンのスリープ |
vagrant resume | 仮想マシンの復帰 |
vagrant reload | 仮想マシンの再起動 |
vagrant destroy | 仮想マシンの削除 |
vagrant ssh | 仮想マシンに接続 |
vagrant box remove [name] | boxの削除 |
今回はこの辺で。
はじめは、
「Vagrantなんてよく分からない」
と作業するのをためらってましたが、
やってみたらそんなでもなかったです。
何事もとりあえずやってみるのが大事ですね。
次回は
クローラーを動かすために必要なOSの設定を行っていきます。
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
- 作者: るびきち,佐々木拓郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/08/25
- メディア: 大型本
- この商品を含むブログ (8件) を見る
子育て情報アプリを作れるように vol12 ~タグを自動生成する その2~
前回の続きになります。
前回の記事投稿後、
@dkfjさんよりご指導頂きました。ありがとうございます。
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
- 作者: るびきち,佐々木拓郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/08/25
- メディア: 大型本
- この商品を含むブログ (8件) を見る
また、テキストマイニングについて色々と調べたところ、
奥が深い
どころか
奥が深すぎて底が見えない
ことが分かりました・・・。
これらを理解すれば理想のタグが作れるかもしれません。
とても興味深い分野ではあるので、
一度書籍を購入して読んでみようと思います。
その際は、記事を書きたいと思います。
※気になった書籍は最後に書き残しておきます。
で、子育て情報アプリのタグについては
とりあえず名詞に形容詞を付けるようにだけ修正します笑
アルゴリズムは単純です。
「名詞」の一つ前の品詞が「形容詞」の場合は 文字列を連結させて一つの単語とする
です。
あとは、余計なタグはブラックリストに登録して
ひたすら取り除くことにします。
悔しいですが、とりあえずこれで様子見します。
<後で頑張って読む書籍>
- Amazon.co.jp: 言語処理のための機械学習入門 (自然言語処理シリーズ): 高村 大也, 奥村 学: 本
- わかりやすいパターン認識 | 石井 健一郎, 前田 英作, 上田 修功, 村瀬 洋 | 本 | Amazon.co.jp
- 史上最強図解 これならわかる!ベイズ統計学 | 涌井 良幸, 涌井 貞美 | 本 | Amazon.co.jp
- Amazon.co.jp: フリーソフトでつくる音声認識システム-パターン認識・機械学習の初歩から対話システムまで-: 荒木 雅弘: 本
- 図解でわかる多変量解析―データの山から本質を見抜く科学的分析ツール | 涌井 良幸, 涌井 貞美 | 本 | Amazon.co.jp
- Amazon.co.jp: はじめてのパターン認識: 平井 有三: 本
- 図解・ベイズ統計「超」入門 あいまいなデータから未来を予測する技術 (サイエンス・アイ新書) | 涌井 貞美 | 本 | Amazon.co.jp
今回はこの辺で。