プログラマでありたい

おっさんになっても、プログラマでありつづけたい

はてなダイアリーから、はてなブログ(独自ドメイン)に移行したらこうなった

 全部俺AdventCalendarの2日目です。
今年の4月に、はてなダイアリーからはてなブログ(独自ドメイン)に移行しました。その顛末というか困っているところです。まずは、アクセス数の推移のグラフを見てください。

f:id:dkfj:20141203232356p:plain

はい。だだ下がりです。

アクセスが下がった要因



 アクセス数が減った直接的な原因としては、Googleからのオーガニック検索が減ったことが一番大きいです。1日1,000アクセスくらいあった検索が、1/3くらいになっています。
f:id:dkfj:20141203232956p:plain

Googleからの検索結果の流入が減った要因



 移行前から、アクセス数は7〜8割くらいになるかと思っていました。しかし、現状だと半減以上となかなか厳しい状況です。原因は幾つか考えられるのですが、予想よりひどくてよく解からんという状況です。幾つか考えている要因としては、次の3つくらいです。

  1. 評価の低いドメインの使用
  2. 301リダイレクトによる被リンク効果の減少
  3. はてなブログの独自ドメインの仕様の問題?

 1つ目の評価の低いドメインの使用については、新たに取得したドメインなので覚悟していました。いわゆるドメインエイジが若く、Googleからの評価が低いことは解っていました。しかし、その影響がどれくらいなのか解りません。
 2つ目は、301リダイレクトのよる被リンク効果の減少です。これは、Googleの検索担当の人がインタビューで言及しています。301リダイレクトで評価は引き継ぐが、10の評価を全て引き継ぐわけではなく、7〜8くらいだと。これを根拠に、アクセス数は7割くらいになるかと思っていました。
 3つ目の「はてなブログの独自ドメインの仕様の問題?」については、単なる邪推だと思っています。はてなブログの独自ドメイン割り当てについては、CNAME方式です。なので、関係ないだろうと思っています。ただし、稀に変なリダイレクトしているのではと思うこともあるので、その辺りが関係しているのか、少しだけ疑っています。

何故、独自ドメインにしたのか?



 そもそもアクセス減が予想されるのに、何故移行したのかという理由です。直接的な理由としては、JavaScriptへの自由度を上げたかったり、Google WebMasterツールを使いたかったというのがあります。もっと根源的なところだと、本も出版することもあり個人としてのレピュテーションをあげていこうと考えていました。その一環で、ついでに覚えやすい独自ドメインにしようかと考えました。正直なところ、余り意味はなかったのかもしれません。

感想



 SEOに詳しい人、誰か助けてください!!
ブコメでもTwitterでも何でも良いので、アドバイス頂ければありがたいです。
一方で、色々な施策の効果を検証しやすいので、面白い実験材料が出来たかなとも思います。

See Also:
AWS Route53を使って、はてなダイアリーから、はてなブログに独自ドメインを設定した話
クローラー/スクレイピング Advent Calendar 2014
プログラマになりたい Advent Calendar 2014

スクレイピングのお仕事について

 今年一番のトピックスは、クローラー本の出版でした。ちょうど、昨年の今頃に企画が舞い込んできて、2月〜7月くらいでせっせと書いていました。企画から執筆中まで、一貫してクローラー本の需要があるのか半信半疑でした。半信半疑というより、売れないだろうと思いながら書いていました。しかし、蓋を開けてみたら思いのほか好調で、既に増刷も2回繰り返しています。Amazonの順位の方も順調で、4ヶ月程ほぼ3,000位以内をキープしています。

f:id:dkfj:20141202231546p:plain

 これが不思議で仕方がないので、どんな人がクローラーやスクレイピングを必要としているのか、ちょっと考えてみます。考える材料としては、クラウドソーシングサイトで「スクレイピング」や「クローラー」、「データ収集」といったキーワードで検索してみます。対象のサイトとしては、以下の2サイトです。
Lancers
CrowdWorks

クラウドソーシングでの求人の分類



 人間系の収集&まとめですが、下記のような求人にまとめられます。

主な求人内容
  • 特定サイトからのデータ抽出(サイト非公開)
  • 求人サイトからのデータ抽出
  • ヤフオクからの出品情報の抽出
  • ECサイトから商品データ抽出
  • アダルト動画&画像の抽出とブログへの投稿
  • 2chからデータ抽出とブログへの投稿
報酬帯
  • 5,000〜50,000円 8割程度
  • 50,000〜100,000円 2割程度

 目立つのは、抽出&ブログへの自動投稿系の求人です。複数の依頼者から定期的に求人依頼があるようです。半ばスパムの世界なので、効率重視なのでしょうね。いかに安い原価で大量のサイトを作ることを突き詰めた結果でしょう。
 また次に目に付くのは、特定サイトからのデータ抽出です。抽出先は非公開で、クローズドな形でやり取りして提案まで行き着くパターンのようです。
 あとは安定して多いのが、Amazonからのデータ抽出です。これは検索条件を変えれば幾らでも出てきそうな勢いでした。

 報酬帯は、5,000〜50,000円が多いですが、私にはそもそもクラウドソーシング系の報酬の相場が解らないので、この報酬が相場なのか安いのかは解りません。ただ、内容を見ている限りは難易度が低く類似の案件が多いので、稼ぎやすいのかもしれません。

感想



 考える材料にしようとクラウドソーシングサイトを見ていたのですが、登録されている案件が興味深すぎて、それどころではなかったです。クローリング対象のデータとして、クラウドソーシングサイトが魅力的すぎるので、どこかで調査してみたいですね。求人のカテゴリの推移や相場をデータ化すると、いろいろな考察の元ネタになるはずです。


See Also:
クローラーとAWSが出会ったら?第3回Webスクレイピング勉強会@東京
RubyでWebスクレイピングの話をしてきました。第1回Webスクレイピング勉強会@東京
「第2回Webスクレイピング勉強会@東京」に参加&発表してきました
『Rubyによるクローラー開発技法』を書きました
Rubyによるクローラー開発技法の目次


参照:
クローラー/スクレイピング Advent Calendar 2014
プログラマになりたい Advent Calendar 2014

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

S3のイベント通知機能(S3 Event Notifications)に対するユースケースを考える

 日本のAWS関係者がre:Inventの発表で盛り上がっているなか、風邪ひいて寝込んでました。季節の変わり目には、気をつけましょう。
 さて、そんな感じで全然追いつけていませんが、特に面白いなぁと思ったのが、S3 Event NotificationsとAWS Lambdaです。Lambdaについてはまだ触っていないので何ともいえない部分がありますが、発表内容を見る限りインフラの在り方を変えるような存在かもしれません。そして、S3のEvent Notifications。これ、めちゃくちゃ便利です。S3のイベント(現在は、putとpushとcopy)が発生したら、SNSやSQSに通知を送れるという機能です。何が便利かというと、ファイルのアップロードをトリガーに処理を書けるということです。頭に浮かんだユースケースを1つ書いてみます。

S3 Event Notificationsを使ったクローラーのユースケース



 最近、クローラー開発のステマばかりしているので、今回もそのケースで説明してみます。処理の流れとしては、下記のようなものを想定します。

  1. データをダウンロードする
  2. ダウンロードしたデータを生データとしてS3に保存する
  3. S3の未処理の生データを取得して、加工処理をおこなう

 この処理の中で、3の部分が少し曲者になります。未処理のデータが何かというのを特定する方法が必要になるからです。今までの対処方法としては、次のような方法が考えられます。

  • 処理前/済みのデータを管理するデータベース等を用意する
  • 処理前と処理済みでディレクトリをわけて、処理が終わったら移動させる
  • 2の保存と同時に、SQSに登録する

 一手間があって面倒くさいというのが実情でした。また、処理サーバを複数にすると排他制御の仕組みが必要になり、複雑になります。3の処理が一番楽なのですが、S3に直接データだけアップしたいというようなケースには対応できません。

 S3 Event Notificationsを使えばどうなるのでしょうか?
下に簡単な図を載せていますが、クローラーはただデータを集めて保存するだけに徹すればよいことになります。その後のS3⇒SQS⇒(EC2上での)処理は、良きに計らえという状態になります。疎結合なアーキテクチャになりますよね。また処理サーバをキューの数に応じたAutoScaleにしておいたら、処理が溜まったら自動的に増強してくれます。

f:id:dkfj:20141115131937p:plain

S3 Event Notificationsをユースケースの妄想



 この他にも、いろいろな使い道が考えられます。みなさん、いろいろ妄想してみてください。

  • ElasticTranscodeと連携して、アップロードしたら動画変換
  • サーバーレスで、SNSを発行するトリガー
  • (Getイベントに対応したら)メッセージを読んだら自動的に削除
  • (Getイベントに対応したら)メッセージを読んだら自動的に爆発

S3 Event Notificationsの使い方



 未来有望なS3 Event Notificationsです。妄想するだけでなく、実際に使ってみましょう。通知を送るだけであればAWSマネージメントコンソールだけで簡潔できます。

手順としては、次の通りです。

  1. SQS(SNS)を作成し、パーミッションの設定をする
  2. 新規もしくは既存のS3バケットに、Event設定をする
  3. ファイルをアップロードする
  4. SQS(SNS)を確認する

 まず1つ目ですが、今回はSQSの例を紹介します。ポイントは、パーミッション設定です。
対象のバケットからの通知を許可します。具体的には、SourceARNでStringLikeの条件をつけます。

f:id:dkfj:20141115133107p:plain

 2つ目のS3バケットへの設定は、簡単です。
バケットのPropertyの、Eventの項目を設定します。

f:id:dkfj:20141115133258p:plain

 先ほどの権限設定がうまくいっていないと、下記のようなエラーがでます。

Unable to validate the following destination configurations :Permissions on the destination queue to not allow S3 to push notifications from this bucket

 ファイルをアップロードすると、設定が上手くいっていればSQSの画面からキューが登録されているのを確認できます。
f:id:dkfj:20141115133536p:plain
f:id:dkfj:20141115133604p:plain

感想



 とっても便利です。システムの肝は、疎結合&シンプルだと思います。それを実現するために、さらに便利な機能が追加されたと言えるでしょう。更にAWS Lambdaと組み合わせれば、いろいろな事が出来そうです。楽しみ!!

ヤフー「つぶやき感情分析」で、衆議院議員の人気度を見る

 ネットを見てると、面白いサービスが出ていました。

 ヤフー株式会社は12日、ソーシャルメディア上の投稿を検索できるYahoo!検索の「リアルタイム検索」において、「つぶやき感情分析」の正式版を公開した。

 つぶやき感情分析は、Twitter上の投稿を分析し、検索したキーワードについてユーザーがどのような感情を持っているかを、「ポジティブ」「ネガティブ」の割合でグラフ表示する機能。2013年9月にベータ版として提供を開始し、今回、正式版として公開した。

ヤフー「つぶやき感情分析」、Twitter上の感情を「ポジ/ネガ」で判定 -INTERNET Watch

 Twitterの情報をもとに、感情分析をするというサービスです。簡単にいうと、入力されたキーワードに対して、世間は好きか嫌いかを出すというサービスです。こういったことをやりたいなぁと思って、Twitterのデータを大量に収集したり、そのデータを分析したりしたことがあります。
 こういった感情分析があれば何が出来るのか、いろいろ妄想がはかどります。今回は旬なテーマとして、衆議院議員に対する世間の反応をみてみましょう。

「つぶやき感情分析」を使ってやったこと



 

  • 衆議院サイトの議員一覧から、全議員の名前を収集する
  • 議員一人一人に対して、Capybara+Seleniumを使って「つぶやき感情分析」をする
  • 結果を一覧化する

その結果は、次の通りです。

名前 ポジティブ(%) ネガティブ(%) 備考
逢沢一郎 0 0  
青木愛 35 7  
青柳陽一郎 0 0  
青山周平 61 0 同名のオートレーサーがいる
赤枝恒雄 0 0  
赤澤亮正 0 0  
赤羽一嘉 0 0  
あかま二郎 0 0  
赤松広隆 0 0  
赤嶺政賢 0 0  
秋葉賢也 0 0  
秋元司 0 0  
秋本真利 0 0  
浅尾慶一郎 0 0  
安住淳 0 0  
麻生太郎 10 14  
足立康史 0 0  
穴見陽一 0 0  
阿部寿一 0 0  
安倍晋三 0 22  
あべ俊子 0 0  
阿部知子 0 26  
甘利明 0 32  
荒井聰 0 0  
安藤裕 0 0  
池田道孝 - -  
池田佳隆 0 0  
伊佐進一 0 0  
井坂信彦 0 0  
石井啓一 0 0  
石川昭政 0 0  
石崎徹 0 0  
石関貴史 0 0  
石田祝稔 0 0  
石田真敏 0 0  
石破茂 0 28  
石原慎太郎 34 9  
石原伸晃 0 18  
石原宏高 0 0  
泉原保二 - -  
泉健太 0 0  
井出庸生 0 0  
伊藤信太郎 0 0  
伊藤忠彦 0 0  
伊藤達也 0 0  
伊東信久 0 0  
伊東良孝 0 0  
伊藤渉 0 0  
稲田朋美 0 3  
稲津久 0 0  
井野俊郎 0 0  
井上信治 0 0  
井上貴博 0 0  
井上英孝 0 0  
井上義久 0 0  
井林辰憲 0 0  
伊吹文明 0 0  
今井雅人 0 62  
今枝宗一郎 0 0  
今津寛 0 0  
今村洋史 0 0  
今村雅弘 0 0  
岩田和親 0 0  
岩永裕貴 0 0  
岩屋毅 0 0  
上杉光弘 0 0  
上田勇 0 0  
上西小百合 0 0  
うえの賢一郎 - -  
上野ひろし 0 0  
浮島智子 0 0  
生方幸夫 0 0  
浦野靖人 0 0  
漆原良夫 0 0  
江崎鐵磨 - -  
江田憲司 0 28  
江田康幸 0 0  
枝野幸男 3 17  
江渡聡徳 0 0  
衛藤征士郎 0 0  
江藤拓 0 6  
遠藤敬 0 0  
遠藤利明 0 0  
大岡敏孝 0 0  
大串博志 0 0  
大串正樹 0 0  
大口善徳 0 0  
大久保三代 0 0  
大熊利昭 0 0  
大島敦 0 0  
大島理森 0 0  
太田昭宏 0 0  
大塚高司 0 0  
大塚拓 0 0  
大西健介 0 0  
大西英男 0 0  
大野敬太郎 0 0  
大畠章宏 0 0  
大見正 0 0  
岡田克也 0 27  
岡本三成 0 0  
小川淳也 0 0  
奥野信亮 0 0  
奥野総一郎 0 0  
小熊慎司 0 0  
小倉將信 0 0  
小此木八郎 0 0  
小里泰弘 0 0  
小沢一郎 1 33  
小沢鋭仁 0 18  
小田原潔 0 0  
越智隆雄 0 0  
鬼木誠 0 0  
小野寺五典 31 0  
小渕優子 3 40  

実装について



 チョロチョロっと書いたので、手抜きの極みです。Gistを貼り付けておくので、マサカリ歓迎です。

衆議院議員一覧から名前を抜き出して、ヤフー「つぶやき感情分析」で好悪を調べる


 実装に際して、名簿を集めるのは単一ページに対してNokogiriを使ってスクレイピングするだけなので苦労はなかったです。しかし、「つぶやき感情分析」の検索結果を取得するのが悩みどころです。結果を画像で表示していて、その画像はJavaScriptで取得して描画しているようです。ちょっとその辺りを解析するのが面倒くさかったので、Seleniumで画面キャプチャしてその結果を手で起こしました。ビバ手作業!!ちなみにNokogiriやSeleniumを使ってスクレイピングする方法は、Rubyによるクローラー開発技法に書いている模様ですw

感想



 取得対象者が少ないなぁと思ったら、取得ページが分割されていて"あ行"しか取っていませんでした。面倒くさいので、そのまま放置しています。今回は半自動でしたが、全て手作業でするより10倍くらいは早かったと思います。全部自動化とかすると逆に大変な場合もあるので、ケースバイケースで使い分けるのもありなのではないでしょうか?
 ちなみに結果を眺めてたのですが、「つぶやき感情分析」はネガティブに傾きすぎる傾向があります。政治絡みの単語そのものがネガティブな得点与えられているのかなと思います。今度、別分野で試してみます。(結果取得の部分も、暇見つけて自動化考えてみます。)
 また、あまり呟かれていない、阿部知子さんとか小沢鋭仁さんなどもネガティブな評価が高くなっています。恐らく苗字と名前でもそれぞれ評価をして、総合的に判断するといった処理をしているのではないでしょうか。(それで、何故評価が下がるかは、リストの前後をみてください)
 誤解のないように言っておくと、この呟きの評価と選挙の当落は全く相関はないと思います。マイナスの投票が出来ない分、より嫌われている方が存在感が大きさを示している可能性があります。ここで大事になるのは、一定の基準で毎日の推移が見えることによって、何らかの指標に使えるという可能性があるということです。

See Also:
RubyでWebスクレイピングの話をしてきました。第1回Webスクレイピング勉強会@東京
「第2回Webスクレイピング勉強会@東京」に参加&発表してきました
『Rubyによるクローラー開発技法』を書きました
Rubyによるクローラー開発技法の目次

参照:
Yahoo!検索(リアルタイム)
ヤフー「つぶやき感情分析」、Twitter上の感情を「ポジ/ネガ」で判定 -INTERNET Watch

今どきのサーバ/インフラの構築の仕方。"サーバ/インフラ徹底攻略 (WEB+DB PRESS plus) "

f:id:dkfj:20141028062740j:plain

 10/30発売の「サーバ/インフラ徹底攻略 (WEB+DB PRESS plus) 」を、@imai_factoryさんに献本頂きました。ありがとうございます。まだパラパラめくっている状態ですが、最近のサーバ/インフラの構築・運用方法の潮流について、これ1冊で解る内容になっていて面白いです。

サーバ/インフラ徹底攻略とは?



 WEB+DB PRESSに掲載されたサーバ/インフラ関連記事を再編集したものです。2013年後半から2014年の記事が中心となっているので、取り扱うトピックスとしてもホットなものが多いです。かつ、ある程度時間が経っていることもあり、数ある類似の技術の中で定着しつつあるものが選ばれている印象です。

章ごとの感想


[入門]コードによるインフラ構築

 入門Chef SoloによってInfrastructure as Codeの概念を一気に普及させた@naoya_itoさんによるコードによるインフラ管理の話です。ChefとVagrant、Serverspecを利用して、実践例を解説しています。適度な難度のものを丁寧に説明されてるので、初めての人にちょうど良いと思います。私も、入門Chef Solo片手に動かしながら覚えました。
 ちなみに、この本は章ごとに技評の本の宣伝がされています。この章の末の紹介書籍は、この2冊です。納得です。

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

Amazon Web Services最新活用

 この章は、Amazonが誇るソリューションエンジニア(SA)陣による、AWSの紹介です。25ページ程の枠の中で、AWSのサービスの概要と概念、主要なサービスの紹介をポイント抑えて説明しているところは流石です。あらには、構築自動化という本書のテーマに沿って、CloudFormationとChefの組み合わせなど実践的な内容まで載っています。これからAWSをやってみようという人には、30分くらいでだいたい解るという内容になっています。流石です。
 章末の紹介書籍は、下記の2冊です。クラウドを支える技術は、Googleのクラウドの話なので苦渋の選択だったのではと思います。意外なことに、技術評論社さんからAWS関係の書籍でてないっぽいですね。

クラウドを支える技術 ―データセンターサイズのマシン設計法入門 (WEB+DB PRESS plus)

クラウドを支える技術 ―データセンターサイズのマシン設計法入門 (WEB+DB PRESS plus)

  • 作者: ルイス・アンドレ・バロッソ(Luiz André Barroso),ジミー・クライダラス(Jimmy Clidaras),ウルス・ヘルツル(Urs Holzle),Hisa Ando
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/09/26
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (1件) を見る
コンピュータアーキテクチャ技術入門 ~高速化の追求×消費電力の壁 (WEB+DB PRESS plus)

コンピュータアーキテクチャ技術入門 ~高速化の追求×消費電力の壁 (WEB+DB PRESS plus)

 ちなみに最近のAWSのお勧め本は、「Amazon Web Services 基礎からのネットワーク&サーバー構築」です。同じくAmazonのSA陣による執筆で、AWSのみならずネットワークやサーバ構築の考え方が解る1冊になっています。

Amazon Web Services 基礎からのネットワーク&サーバー構築

Amazon Web Services 基礎からのネットワーク&サーバー構築


テスト駆動インフラ&CI最前線

 この章は、ServerSpecの宮下さんによるテスト駆動開発とCIの話です。インフラのテスト自動化は構築の自動化とセットで、もしくはテスト自動化の方こそ先に導入すべきと考えています。その中で、ServerSpecは一番よい感じのテスト自動化ツールです。振る舞いをチェックするだけなので、ChefやPuppetまたは手作業で作ったサーバにも中立的にテストできます。
 あとGitHub Flowをベースとしたワークフロー変革の話もよいです。「バージョン管理は開発者のしつけ」から「バージョン管理ツールは開発者のコミュニケーションの中心」に変わりつつあるように思えます。その流れの中で、ワークフローどうするのというのが色々なところで議論されています。その中でGitHub Flowは、GitHubを中心としたワークフローのベストプラクティスの一つです。いちど読んでおいたほうがよいですよ。
 
 章末の紹介書籍は、下記の2冊です。GitHub実践入門をこちらにもってきた方が良かったのでは?

フロントエンド開発徹底攻略 (WEB+DB PRESS plus)

フロントエンド開発徹底攻略 (WEB+DB PRESS plus)

  • 作者: cho45(さとう),五十嵐啓人,伊野亘輝,須藤耕平,片山育美,池田拓司,高津戸壮,石本光司,竹迫良範,伊藤直也,若原祥正,沢渡真雪
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/07/16
  • メディア: 大型本
  • この商品を含むブログを見る
Ruby徹底攻略 (WEB+DB PRESS plus)

Ruby徹底攻略 (WEB+DB PRESS plus)

  • 作者: 角征典,成瀬ゆい,そらは(福森匠大),田中哲,笹田耕一,村田賢太,まつもとゆきひろ,松田明,後藤大輔,浦嶌啓太,高橋健一,柴田博志,近藤宇智朗,大和田純,白土慧,原悠(yhara),伊藤直也,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/06/12
  • メディア: 大型本
  • この商品を含むブログ (1件) を見る

実践Immutable Infrastructure

 はてなのCTOの田中さんによるImmutable Infrastructureの話です。2013年くらいから話題になってきたImmutable Infrastructureですが、クラウドの台頭で大量のサーバを増減させながら運用するようになって、サーバがどうあるべきかという姿の話だと思います。サーバを上げたり下げたりしていると、ステートレスにしておかないと面倒くさいことこの上ないんですね。10台規模くらいだったら手動でも何とかなるけど、数百台規模になると仕組みから考えないといけないという世界なのだと思います。Blue-green Deploymentなど、最近のデプロイ方法の実例など面白いです。

データベース徹底攻略 (WEB+DB PRESS plus)

データベース徹底攻略 (WEB+DB PRESS plus)

  • 作者: 松信嘉範,羽生章洋,ミック,奥野幹也,松下雅和,桑野章弘,青木峰郎,ひろせまさあき,小林篤,島田慶樹,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/03/15
  • メディア: 大型本
  • この商品を含むブログ (2件) を見る
Webサービス開発徹底攻略 (WEB+DB PRESS plus)

Webサービス開発徹底攻略 (WEB+DB PRESS plus)

  • 作者: 勝間亮,石田忠司,杉谷保幸,江口滋,上谷隆宏,青木俊介,久保達彦,池邉智洋,谷口公一,田淵純一,伊野友紀,西岡拓人,吉田俊明,古旗雅史,木野瀬友人,かなだまさかつ,牧本慎平,成田一生,舘野祐一,濱崎健吾,鈴木慎之介,齊藤宏多,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/01/26
  • メディア: 大型本
  • 購入: 6人 クリック: 65回
  • この商品を含むブログ (3件) を見る

[詳解]nginx

 本全体の流れの中で、少し唐突感があるのがnginxの特集です。ただ、最近Apacheとnginxの使い分けが増えてきたので、さらっと抑えておくには良い特集です。未だに字面をみてnginx(エンジンエックス)の読み方が解らなくなります。どこをどうやったら、この読み方になるのでしょうか?

Web開発の基礎徹底攻略 (WEB+DB PRESS plus)

Web開発の基礎徹底攻略 (WEB+DB PRESS plus)

  • 作者: 小飼弾,田籠聡,近藤宇智朗,並河祐貴,赤松祐希,井上誠一郎,ミック,天尋左石,和田裕介,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/07/23
  • メディア: 大型本
  • この商品を含むブログ (6件) を見る
JavaScript徹底攻略 (WEB+DB PRESS plus)

JavaScript徹底攻略 (WEB+DB PRESS plus)

  • 作者: 沖林正紀,吾郷協,高橋征義,名村卓,桜井雅史,縣俊貴,太田昌吾,天野祐介,飯塚直,佐藤鉄平,冨田慎一,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/01/26
  • メディア: 大型本
  • 購入: 7人 クリック: 69回
  • この商品を含むブログ (6件) を見る

メンテナンス本格入門

 いちばん面白いなぁと思ったのが、この章です。サーバーエージェントの技術者陣によって、運用や障害対応など実際の現場での対応方法が紹介されています。こういった情報は勉強会でたまに聞くことが出来ますが、本で読める機会というのは中々ないです。そういった意味で、かなり貴重な資料でしょう。読んでいるとあるあるが多すぎて、いろいろ苦労してきてインフラを支えているのだなと想像でき、胃が痛くなってきます。運用を踏まえての設計は、先人の知恵の結晶です。是非、先人の屍を乗り越えていきましょう。

全体の感想



 この本読んで、WEB+DBの連載陣のレベルの高さは凄いなと思います。毎月読んでたら、だいたいのトレンドは抑えられます。といっても、雑誌なのでテーマカットで掲載するのは難しいので、こういった総集編は良い切り口だなと思います。個々の内容については入り口のところまでの紹介なので、そんなに時間が掛けずに目が通せるので一度読んでおくと良いのではないでしょうか。

サーバ/インフラ徹底攻略 (WEB+DB PRESS plus)

サーバ/インフラ徹底攻略 (WEB+DB PRESS plus)

  • 作者: 伊藤直也,片山暁雄,平山毅,舟崎健治,吉荒祐一,今井雄太,八木橋徹平,安川健太,宮下剛輔,田中慎司,久保達彦,道井俊介,飯田祐基,桑野章弘,松浦隼人,中村俊之,福永亘,杉山仁則,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/10/30
  • メディア: 大型本
  • この商品を含むブログ (2件) を見る

サーバ/インフラ徹底攻略の目次



 念のため、目次つけておきます。

巻頭企画
[入門]コードによるインフラ構築
サーバ構成管理の自動化を実現するる……伊藤 直也
第1章 ChefとVagrantによるインフラのコード化
設定の一元管理で作業を省力化する
第2章 Serverspecによるテスト駆動インフラ構築
設定変更の反映を確実なものにする
特集1
Amazon Web Services最新活用
レイヤ別比較,構築の定石,構成管理の自動化る
第1章 Amazon Web Servicesレイヤ別比較
各サービスの特徴を理解し,うまく使い分ける……片山 暁雄,平山 毅
第2章 EC2とVPCによるシステム構築
セキュアで可用性を高めたインフラの作り方……舟崎 健治,吉荒 祐一
第3章 RDSによるデータベースの活用
作成,デプロイ,バックアップ……今井 雄太,八木橋 徹平
第4章 CloudFormationによる構築の自動化
テンプレートの作成からミドルウェア構築設定まで……安川 健太
特集2
テスト駆動インフラ&CI最前線
Infrastructure as Codeがもたらすワークフローの刷新る……宮下 剛輔
第1章 インフラのテストとその重要性
「インフラのコード化」による開発手法の応用
第2章 テスト駆動インフラの実践
VirtualBox,Vagrant,Puppet,Serverspecによるテスト自動化
第3章 インフラCIの実践
GitHub,Wercker,DigitalOceanによる継続的テスト
第4章 インフラの継続的改善の実践
GitHub Flowをベースとしたワークフロー変革
特集3
実践Immutable Infrastructure
使い捨てサーバによる運用の変革る……田中 慎司
第1章 Immutable Infrastructureとは何か
不変なサーバ,Blue-green Deploymentとそれらの利点
第2章 Immutable Infrastructureで利用するツール/サービス
比較・整理と,システム全体での組み合わせ
第3章 コンテナ型仮想化とクラウドによる実践
Docker+HAProxy,Amazon EC2+ELB
第4章 クラスタ管理ツールによる実践
Apache Mesosでリソース管理の自動化
特集4
[詳解]nginx
設定の柔軟性と優れたスケーラビリティ
第1章 nginxの世界へようこそ
アーキテクチャ,用途,メリット,デメリット……久保 達彦
第2章 はじめてのnginx
インストール,起動と終了,基本設定……道井 俊介
第3章 一般的なWebサーバの構築
バーチャルホスト,アクセス制御,SSL通信,基本認証……飯田 祐基
第4章 実践的なWebアプリケーションサーバの構築
Unicorn/RailsやPHP-FPMと連携させる……道井 俊介
第5章 大規模コンテンツ配信システムの構築
キャッシュ,ロードバランシングを活用する……飯田 祐基
第6章 拡張モジュールのしくみと作り方
nginxを自由にカスタマイズするための基礎知識……久保 達彦
特集5
メンテナンス本格入門
緊急対応,計画停止,メンテフリー化
第1章 メンテナンスとは
種類と手法を整理する……桑野 章弘
第2章 計画メンテナンスの流れ
事前準備,作業のチェック,振り返り……松浦 隼人
第3章 緊急メンテナンスの流れ
普段から備えるべきこと,障害時の対応……松浦 隼人
第4章 メンテフリーへのアプローチ【インフラ編】
省力運用を実現するインフラ,データベース設計と障害検知……松浦 隼人,中村 俊之
第5章 メンテフリーへのアプローチ【アプリケーション編】
ダウンタイムを減らすリリース手法とアプリケーション設計……福永 亘,中村 俊之,松浦 隼人
第6章 ガールフレンド(仮)とアメーバピグの事例
現場でどう実践し,どう障害を切り抜けたか……福永 亘,杉山 仁則
一般記事
Dockerで軽量な仮想環境
Linuxコンテナでインフラを瞬時に構築する……伊藤 直也

See Also:
Statelessなサーバについて 〜クラウド時代のサーバの在り方
何故、fluentdなのか?
Immutable InfrastructureとChefと冪等性の話
手動でサーバの設定をすることを禁ずる。入門Chef Solo

クローラーとAWSが出会ったら?第3回Webスクレイピング勉強会@東京

 2014/10/26に開催された第3回Webスクレイピング勉強会@東京に参加して、発表してきました。今回は、スクレイピングと少し離れてAWSを使ってクローリングするという話です。クローラー/スクレイピングとAWSは相性が良いというのは、昔から思っていたのでテーマとして扱うことは早めに決めていました。しかし、話の構成を、具体的なテクニックの話にするか、概念的な話にするか、少し悩みました。なるべき多くの人に伝わるように、概念的な話をしたつもりです。具体的な部分についてはRubyによるクローラー開発技法を読んで頂ければと思いますw

発表資料



Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス

 資料の構成としては、クローリングする際の悩みをあげた上で、AWSを使えばどう解決できるのかという構成にしています。AWSのサービスの簡単な紹介と、クローラーを作成する上で便利なサービスを3つ挙げています。EC2とS3,SQSです。前の2つのサービスについては納得すると思いますが、SQSについては何故と思う方もいるかもしれません。その辺りを構成含めて、簡単に紹介しています。
 

他の方の発表資料



 今回は、オープニングを含めて7人の発表がありました。どれも面白く、参考になりました。

Webスクレイピング勉強会@東京 オープニングトーク (第3版) #東京スクラッパー


クローリングしにくいものに挑戦 公開用
 @luminさんは、本職でスクレイピングしているプロとあって非常に濃い内容でした。スクレイピングの上級編は、プロトコル解析から始まるとのことです。なかなか到達できない世界ですね。


ソーシャル・スクレイピング(2014年10月Webスクレイピング勉強会資料)
 @YuzoAkakuraさんは、マスコミで働いているシステムエンジニアとのことです。データジャーナリズムという未知の分野を垣間見せて頂けました。データジャーナリズムとは、「データからニュースを発見し、わかりやすく伝える手段」とのことです。凄く合点がいきました。


第3回Webスクレイピング勉強会@東京 happyou.info

 @shogookamotoさんは、自作のスクレイピングサービスの紹介でした。上場企業や政府機関をスクレイピングしてRSSで配信するという素敵なサービスです。紹介としては1行でさらっと言えるないようですが、取得対象を解析して、それぞれに対応するというのは並大抵の労力ではなかったと思います。凄いサービスです。

20141022 リサーチ向け・ブラウザだけでスクレイピング(浅野)
 @hirosuke_asanoさんは、コピペで出来るスクレイピングを紹介しています。これも規模によっては、よくやります。スクレイピングは手段にすぎないので、用途や個人のスキルに応じて、適切なものを選べばよいのですよね。

実践Excelスクレイピング
 @h_sinoharaはネタっぽく語られていましたが、非常に共感がいく内容でした。Perlで苦労した話とか、Excelでスクレイピングするとか、いろいろ通った道ですね。特にExcelスクレイピングについては、もっと多くの人に知って貰えればと思います。web::queryは必殺技

Togetter



 Togetterのまとめも作っています。ハッシュタグ #東京スクラッパー から抽出しています。

第3回Webスクレイピング勉強会@東京のまとめ - Togetterまとめ


感想



 どれも見応えのある内容で、非常に楽しかったです。私の発表については、AWSの便利さが伝わったようです。ただ、懇親会等で話を聞いていると、まだまだクラウド破産を恐れる人が沢山いるということが解りました。これは、長年使っていると、全く気にならなくなります。ただ、外から見るとそのような恐れがあるというは、改めて認識できるようになりました。同じカテゴリーの人と話していては気がつかないことですね。ありがたいです。
 また、Pythonのクローラー本に対するリクエストが多かったです。しばらく動けそうにないので、誰かやりたい人がいたらご連絡くださいw

PR
anemoneの解説を含めて、Rubyによるクローラー開発の本を書きました。
クローラーの概念から実際の構築・運用手順を網羅しています。


See Also:
RubyでWebスクレイピングの話をしてきました。第1回Webスクレイピング勉強会@東京
「第2回Webスクレイピング勉強会@東京」に参加&発表してきました
『Rubyによるクローラー開発技法』を書きました
Rubyによるクローラー開発技法の目次
個人ブログの存在感は、自分が思っているより大きいのかもしれない。或いは書籍の流通の話
『Rubyによるクローラー開発技法』の増刷決定しました
本を書く前に準備したこと、執筆中にしていたこと


参照:
第3回Webスクレイピング勉強会@東京(最終回)

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

『Rubyによるクローラー開発技法』関連書評・イベントまとめ

 Rubyによるクローラー開発技法の発売から2ヶ月くらいが経ちました。ニッチすぎるとの予想を覆し、かなり好調な売れ行きです。既に2回目の増刷を迎えております。筆者としては、ありがたい限りです。最近、いろいろな方が書評を書いてくれています。自分用の整理を兼ねて、ピックアップしてみました。是非、ご覧ください。

書評


 
 沢山の書評ブログを頂いています。どれも参考になります。抜けているものも多数あると思うので、指摘して頂ければ幸いです。

書評:Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例 - Togetterまとめ

 @k5okadaさんによるTweetのToggeterまとめ。学ぶべきことの定義がきっちりとされていて、それに沿って行くと効率が良いとのお言葉頂きました。執筆の際に編集者さんに、何に対しての説明なのか常に意識して書けと、繰り返し指摘されていました。この書評を読んで、その部分が読み手に伝わったようでありがたい限りです。

[review] 『Rubyによるクローラー開発技法』 KeN's GNU/Linux Diary(2014-10-14)

 Windowsのライブラリをちゃんと取り上げていることを評価して頂きました。執筆中はWindowsのRuby環境に四苦八苦しながら、発狂しそうになっていたので、報われた思いです。また、まったく関係ないのですが、短いながら非常に重厚感漂う文章で、凄い文章力だと思いました。

クローラー開発技法のPython版 #Python #Ruby #クローリング - 或阿呆のブログ

 クローラーに関する熱い思いと、Python版に対する言及です。個人的には、自然言語処理とか分析系についてはPythonが優勢なので、クローラーもPythonでという流れになるのではと考えています。誰かPython版で書いてくれないかなぁ。

Rubyによるクローラー開発技法を読んだ - エロサイトの作り方

 クローラー作成経験者からみた、本書の感想です。概念的なところの整理が出来たとのことです。ありがたいです。余談ですが、エロ系サービスとクローラーの相性は、おそらく抜群です。需要高いだろうなぁと思いつつ、そのものずばりを題材にする鉄の心臓は持っておりませんでした。

Rubyによるクローラー開発技法 読了 - rochefort's blog

 上級Rubyistによる感想です。丁寧に読んで頂いて、個別に本文中のコードの誤りなども指摘頂きました。ありがとうございます。まさかり投げられないように、精進します。ちなみに、コードの改行等は、編集段階で意図しないところで変わったりするんですね。よくチェックしとけば良かったです。(改定のタイミングで直せるところは、直していきます。)

Webサービスのプログラミングに必要なことのだいたいは、スクレイピングに学んだ - Line 1: Error: Invalid Blog('by Esehara' )

 直接の書評ではないのですが、スクレイピングとは何なのか、簡潔に解りやすく説明されています。いろいろな技術要素があるし、面白いので、勉強するには良い題材だと思います。使いこなせば、楽できますしね。

Amazonのレビュー


Amazon.co.jp: カスタマーレビュー: Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
 Amazonにも沢山のレビューを頂いています。2014/10/24時点で、24個のレビューで平均4.5と非常に高い評価を頂いています。また、指摘事項も参考になることが多く、読者がどういった視点で読むか、非常に参考になります。技術書を書く場合は、Amazonのレビューを事前に沢山読んで、評価のポイントを把握しておくと良いかもしれませんね。

実践編&連載中



 読んで触ってみての感想も多数頂いています。試行錯誤の過程がみえるのは、非常に参考になります。また解りにくい場所も洗い出せて、助かります。

278日目-「Rubyによるクローラー開発技法」を読み始める - 17826日間Webをがんばる日記

 ほぼ毎日クローラー本を読みながら、その進捗や感想をあげて頂いています。著者としては、読み手がどのように受け止めるのか、どこの部分で詰まるのか、直接知る機会があって非常にありがたいです。訂正すべきところは増刷の際に修正をはかりますし、さらには今後の執筆に活かしたいと思います。
 ちなみに新婚旅行まで持って行ったそうですが、間違いなく怒られると思うのでほどほどが良いと思います(笑)

rubyのクローラー本買いました - 死狂い

amazonランキングクローラー作り1日目
 Amazonのランキングを収集して、グラフ等で可視化するサイトを構築中の模様です。私も前回、Amazonランキングの不思議というエントリーを書いて、データを収集して分析してみたいと思っていたところです。最終的にどのようなものなのか、楽しみです。

Twitterのテキストマイニングによるゴールデンボンバー『ローラの傷だらけ』の「ギャルエンタリズム」 - 5日と20日は歌詞と遊ぼう。

 自然言語処理・テキストマイニングを利用して、歌詞の分析をしようというテーマです。データ収集の部分に、クローラー本を参考にして頂いたようです。この発想は非常に面白いなと思います。あとがきにも書きましたが、クローラーでデータを収集する部分は、何かをするための準備段階です。是非、集めたデータに統計処理や可視化をして、次の一歩につなげて欲しいです。自然言語処理のさわりの部分も書いてるので、興味を持つ人が増えればと願っています。

イベント関係


読書会

9月27日 Rubyによるクローラー開発技法 読書会 第1回(兵庫県)
11月1日 Rubyによるクローラー開発技法 読書会 第2回(兵庫県)
 Amagasaki.rbの方々による読書会が開催中です。おそらく全部で3回。初回に参加させて頂きましたが、Rubyのスペシャリストたちによんで頂けるので、いろいろ指摘事項があり大変勉強になります。出版する前に、レビューしてもらう機会があればなぁと思いました。コミュニティ巻き込んで、出版前の先行読書会というのもありなのかもしれませんね。

 ちなみに、テーマが合いそうな勉強会などありましたら、発表していきたいと思います。直近では、10/26の第3回Webスクレイピング勉強会@東京(最終回)で発表予定です。この勉強会は、第1回、第2回と全て発表の機会を頂きました。よい場を作って頂いて、ありがたい限りです。

感想



 沢山の人に読んでいただき、非常に嬉しいです。またブログやTwitterなどのお陰で、感想をダイレクトに受けられて、非常に参考になります。今、次回作の執筆を開始した所なので、今回得られたフィードバックを盛り込んでいこうと思います。(内容は、クローラー関係ではありません。)
 また、ほぼ毎日TwitterやGoogleで書名をキーワードに検索しています。何か疑問点あれば、気軽に呟いてください。

See Also:
『Rubyによるクローラー開発技法』を書きました
Rubyによるクローラー開発技法の目次
個人ブログの存在感は、自分が思っているより大きいのかもしれない。或いは書籍の流通の話
『Rubyによるクローラー開発技法』の増刷決定しました
本を書く前に準備したこと、執筆中にしていたこと

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例