プログラマでありたい

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

「この一冊で全部わかるWeb技術の基本」の電子書籍版発売決定&モニタープレゼント・キャンペーン

いよいよ今週の木曜日、2017/03/16に発売を控えた「この一冊で全部わかるWeb技術の基本」ですが、幾つかお知らせがあります。

電子書籍版発売決定



 幾つか頂いた質問に、電子書籍版の発売をするかというのがあります。今回は珍しく、出版社から紙の書籍と同じ日に電子書籍版も販売するという答えを頂いています。ということで、電子書籍版販売します。
 コストの関係で、恐らく文字検索等できるタイプではなく、画像タイプになると思います。そこはご了承ください。※著者陣としてもコントロール不能な部分なので。。。

モニタープレゼント・キャンペーン



 3/21 14:00締切で、モニタープレゼント・キャンペーンが出版元のSBクリエイティブから開催されています。
抽選で5名となります。個人的にも、何度かプレゼントキャンペーンやってみましたが、一般の懸賞より当選率高めになると思いますので、興味ある方は是非ご応募ください。

SBクリエイティブ:【モニタープレゼント・キャンペーン】『イラスト図解式 この一冊で全部わかるWeb技術の基本』

本書の構成



 前回のエントリーで、どんな形式になるかの疑問が多かったです。見開き1ページで、1つの技術について解説するという形になります。が、言葉で説明するより、サンプル見てください。Amazonの書影イメージに幾つかサンプルとして公開されています。

https://images-na.ssl-images-amazon.com/images/I/71HNm5uMT1L.jpg

ジュンク堂書店池袋本店で、先行販売



 実は既に、ジュンク堂書店池袋本店で先行販売されています。3/12(日)に売っている事確認してきました。毎度のことですが、私の汚い字でポップも書かせて頂いています。是非、現物を見に行ってください。

f:id:dkfj:20170313110253j:plainf:id:dkfj:20170313110259j:plainf:id:dkfj:20170313110306j:plain

感想



 わりと一般的な本屋でも置かれることが多いと思うので、見かけたら是非手に取って読んでみてください!!


See Also:
「「この一冊で全部わかるWeb技術の基本」の監修をしました
「データを集める技術」という本を執筆しました

「この一冊で全部わかるWeb技術の基本」の監修をしました

 Facebook, Twitter等で軽く報告しておりましたが、イラスト図解式 この一冊で全部わかるWeb技術の基本の監修をしました。執筆したのは、所属するNRIネットコムの同僚2人です。どちらも、大学時代しっかり情報工学を学んで、入社してからはインフラ寄りの仕事をしている人間です。Webの仕組みを説明するにはピッタリな人間によって書かれています。

イラスト図解式 この一冊で全部わかるWeb技術の基本

イラスト図解式 この一冊で全部わかるWeb技術の基本

対象読者は?



 入門書なので、これからITエンジニアを目指す人や、なりたての人、或いはIT業界に入ったのでWebとはなんぞやと知りたい営業・企画の人など、非エンジニアでも読めるように意識して書かれています。そもそもWebと一口に言っても、現在では凄く範囲が広がっています。昔は、Webサイトと電子メールが解っていれば充分でしたが、今やスマホアプリやIoTもWebの副産物となっています。ITのニッチな分野であったWebが、今や大部分を占めるようになってきています。ということで、体系的に学ぶのに良いのではないでしょうか?新入社員の席にそっと置いておくと、感謝されること必定です。情報処理試験の勉強前に一度読んでおくと、理解が早くなるかもしれません。

コラム



 本編の内容は、Webの技術に関することを取り扱っています。そこから少しはみ出る与太話的な部分については、コラムという形で少し柔らかく追加のお話を加えています。私も2つばかり書きました。どれか当ててみてください。また2つくらいボツになったのもあるので、そのうち公開します。

「Web技術の基本」の目次


以下、目次です。全83テーマを取り扱っています。
1つのテーマにつき、見開きで図解入りで解説しています。かなり理解しやすい形なのではないでしょうか?

Chapter1 Web技術とは
1-01 Webとは
1-02 インターネットとWeb
1-03 Webのさまざまな用途
1-04 WebブラウザとHTML
1-05 WebサーバーとHTTP
1-06 Webページが表示される流れ
1-07 静的ページと動的ページ
1-08 動的処理
1-09 Webの標準化
1-10 Webの設計思想

Chapter2 Webとネットワーク技術
2-01 Webを実現するコンピューターネットワーク
2-02 インターネットの標準プロトコル
2-03 TCP/IP
2-04 IPアドレスとポート番号
2-05 URLとドメイン
2-06 DNS
2-07 HTTP

Chapter3 HTTPでやりとりする仕組み
3-01 HTTPメッセージ
3-02 HTTPリクエスト・レスポンス
3-03 HTTPメソッド
3-04 ステータスコード
3-05 メッセージヘッダー
3-06 TCPのやりとり
3-07 HTTP1.1のやりとり
3-08 HTTP2のやりとり
3-09 HTTP2での改良点
3-10 HTTPS
3-11 HTTPSのやりとり
3-12 ステートフルとステートレス
3-13 クッキー
3-14 セッション
3-15 URI

Chapter4 Webのさまざまなデータ形式
4-01 HTML
4-02 Webページで使用される画像形式
4-03 XML
4-04 CSS
4-05 スクリプト言語
4-06 DOM
4-07 JSON
4-08 フィード
4-09 マイクロフォーマット
4-10 動画配信
4-11 メディアタイプ

Chapter5 Webアプリケーションの基本
5-01 Webアプリケーションの3層構造
5-02 MVCモデル
5-03 フレームワーク
5-04 Webサーバー
5-05 Webクライアント
5-06 アプリケーションサーバー
5-07 データベース管理システム
5-08 キャッシュサーバー
5-09 Ajax
5-10 Webプログラミング
5-11 Web API
5-12 マッシュアップ
5-13 CGI
5-14 サーバー間の連携

Chapter6 Webのセキュリティと認証
6-01 Webシステムのセキュリティ
6-02 パスワードクラッキング、DoS攻撃
6-03 Webシステムの特徴を利用した攻撃
6-04 Webアプリケーションの脆弱性を狙う攻撃
6-05 Webシステムの脆弱性
6-06 ファイアウォール
6-07 IDS、IPS
6-08 WAF
6-09 暗号化
6-10 公開鍵証明書
6-11 認証
6-12 認可
6-13 CAPTCHA

Chapter7 Webシステムの構築と運用
7-01 提供するサービスの検討
7-02 利用言語、ソフトウェアの検討
7-03 ネットワーク構成の検討
7-04 サーバー構成の検討
7-05 サーバー基盤の検討
7-06 負荷分散
7-07 サーバー設計・構築
7-08 データベース設計
7-09 アプリケーション設計
7-10 バックアップ運用
7-11 ログ運用
7-12 Webサイトのパフォーマンス
7-13 脆弱性診断

感想



 AWSの本を書くより、こちらの方が読者層広くて、耐用年数も長いので長く売れそうな気がしています。著者の一人として参加しておけば良かったとちょっと思ったり、思わなかったり。

イラスト図解式 この一冊で全部わかるWeb技術の基本

イラスト図解式 この一冊で全部わかるWeb技術の基本

「データを集める技術」が増刷されました

 昨年の末頃に発売されたデータを集める技術が増刷されました。発売されて割と直ぐに決定してたのですが、忙しくてご報告が遅くなりました。

データを集める技術 最速で作るスクレイピング&クローラー (Informatics&IDEA)

データを集める技術 最速で作るスクレイピング&クローラー (Informatics&IDEA)

データを集める技術の売れ行き



 この「データを集める」ですが、Amazon上のランキングは悪くはないものの、爆発的に上位に出ることもなくという状況でした。TwitterやGoogleで評判を調べるも、あまり出てくることもなく、売れ行きを心配していました。そんな状況にも関わらずに、早々の増刷という結果です。担当の編集者に聞いてみた所、書店での売れ行きが良いとのことです。クロール/スクレイピングしてネットでの評判・情報を取得するという本に関わらず、ネットに載らないところでの評判が良かったという訳です。世の中、ネットだけ見てると解らないことは、まだまだ一杯あるなぁと実感した次第でございます。
 という訳で、巷で人気の「データを集める技術」。一冊如何でしょうか?

See Also:
「データを集める技術」という本を執筆しました
非エンジニアでも何とか出来るクローラー/Webスクレイピング術

「新春座談会 このコンピュータ書がすごい! 2017年版に参加してきた

 ジュンク堂書店池袋本店で開催された「このコンピュータ書がすごい」に参加してきました。

gihyo.jp

www.youtube.com

Youtubeで当日の動画が公開されていますが、2時間半の長丁場です。

気になった本



 一番気になって速攻でポチったのが、カルチャロミクスです。Googleが書籍3,000万冊くらいをスキャンした結果を、n-gramで解析した結果をまとめているそうです。どの言葉がいつくらいに出てきたのかとかが解るので、いろいろな分析に使えそうです。サービス自体も、Google Ngram Viewerとして公開されているようです。日本語も使えるようになるといいなぁ

 やはり読んでおかないと思ったのが、ゼロから作るDeep Learning。人気というのは聞いていたものの、時間がある時にと思っていました。紹介を聞いていると、「ライブラリを使ってDeep Learningを使うのではなく、自分で作るということで理解し易い」とのことでした。確かに、昔「集合知プログラミング」という本を読みながら自分で作ることによって、リコメンドだカテゴライズといった機械学習の理解が随分進みました。これは、読んでみないとなぁという一冊です。


 図書館が好きなので、メタデータとウェブサービス (わかる! 図書館情報学シリーズ 3)も気になりました。メタデータをどう扱うかといったことや、ウェブサービスとの関わり方など。詳細不明ですが、読んでみたいですね。

 物書きのはしくれなので、考えながら書く人のためのScrivener入門 小説・論文・レポート、長文を書きたい人へも読んで見る予定です。今年こそはKindleで自分で出版してみたいので、その為の版組とか興味もっています。まぁ環境整えるより、原稿書くのが先ですがw

 あと仕事柄、こちらも読んでみたいです。 事例に学ぶスマホアプリマーケティングの鉄則87

企画からプロモーション、分析、マネタイズまで 事例に学ぶスマホアプリマーケティングの鉄則87 (Web Professional Books)

企画からプロモーション、分析、マネタイズまで 事例に学ぶスマホアプリマーケティングの鉄則87 (Web Professional Books)

  • 作者: エキサイト株式会社池村修
  • 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
  • 発売日: 2016/01/23
  • メディア: Kindle版
  • この商品を含むブログを見る


 暇があったら読みたいのが、ハッカーの学校 鍵開けの教科書。ハッカーシリーズの続編で秘密鍵とかその辺りの話かと思ったら、何と物理的な鍵の開け方の話らしいです。逆に興味が出てきました。

自分の本


2016年3月末に出したAmazon Web Services クラウドネイティブ・アプリケーション開発技法が2016年4月の3位、5月の2位
2016年11月末に出したデータを集める技術が2016年12月の10位
あと2015年に出したAmazon Web Services パターン別構築・運用ガイド が2016年3月の8位

 割りと健闘したと思います。パターン別構築・運用ガイドとデータを集める技術は、今月増刷するので順調でなによりです。ちなみに初めて書いたRubyクローラー本は、2014年8月末に発売されたにも関わらず2014年の総合ランキングに入っていた。今考えると、凄いことだったみたいです。

感想



 「新春座談会 このコンピュータ書がすごい!」は、2時間くらいの間で数百冊の本が紹介されるという非常に密度の濃い時間です。知らない本も沢山あって、紹介している高橋さんは凄いと圧倒されます。一方で、エンジニアの数が有限の中で、これだけ本が出てると厳しい競争だなと思います。またエンジニアとしても学ばなければならないことがドンドン出てくると。生き残り続けるのは、楽しいけど大変ですね。
 あとジュンク堂さんで開催されているけど、結局技術書はKindleで買うことが多いという現実。ジュンク堂池袋店にはよく行くし、紙の本もわりと買ってる方だと思うけど、重めの本はKindleで買ってるんですよね。リアルの本屋がなくなると困るので、このあたりどうしたものか。

『Amazon Web Services パターン別構築・運用ガイド』の増刷決定しました

 AWSの分厚い本として一部有名な、『Amazon Web Services パターン別構築・運用ガイド』の増刷が決定しました。これで第5刷となります。発売から2年近くたち、かつAWS関連本が沢山出ているなかで、売れ続けていること大変ありがたいです。紙版だけでも、技術書としてのヒットの目安となる10,000部を超え、電子書籍版も結構売れ続けているとありがたい状況です。

f:id:dkfj:20170113084743p:plain

今後の展望



 このAWS本と昨年だしたAWSアプリ本で、AWSについてはやりきったと思っておりました。ところがところが、IoTだ機械学習だ、はたまた企業内でのAWS活用など、まだまだやりたいテーマが沢山でてきています。企画段階でハッキリ言えませんが、第三弾・第四弾と計画中です。終わりの無い旅ですね〜。


Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

See Also:
「Amazon Web Services パターン別構築・運用ガイド」の執筆環境
「Amazon Web Services パターン別構築・運用ガイド」の目次
AWSパターン別本の狙い。例えばAutoScalingを使えるように。「Amazon Web Services パターン別構築・運用ガイド」の裏話
『Amazon Web Services パターン別構築・運用ガイド』を書きました
『Rubyによるクローラー開発技法』を書きました
本を書く前に準備したこと、執筆中にしていたこと

2016年の振り返りと2017年の目標

 あけましておめでとうございます。今年もよろしくお願いします。今のうちに、2016年を振り返ってみます。2016年の外部に公開している活動は、出版2冊と雑誌寄稿2回、ユーザグループ等での登壇が4回です。

3,4冊目の本の出版



 まず出版ですが、3冊目の本としてAmazon Web Services クラウドネイティブ・アプリケーション開発技法を2016年4月に、4冊目としてデータを集める技術を2016年11月に出しています。

 クラウドネイティブ・アプリケーション開発技法はAWSのアプリ本として、アプリケーションエンジニアがAWSを直接使うにはというテーマで書いております。執筆メンバーもいわゆるインフラエンジニアではなく、アプリケーション開発をメインとする人間が中心になって書きました。サーバレスというキーワードが2016年にいろいろと話題になりましたが、それを先取りする1冊になれたかと思います。しかし、販売面では少し苦戦中です。発売当初は凄い勢いで売れたのですが、ある時を境にパッタリと勢いが止まりました。編集者と分析していたのですが、必要とする層に早々に行き渡ってしまったのではないかという点です。つまり想像以上に市場が狭かったということです。目標としては、ユーザ層が多いモバイル・フロントエンドのエンジニアが読む本を目指してたのですが、BaaSの牙城は強く直接AWSを扱うという流れにはなっていないようです。
 一方で、こんなAWSの使い方をやりたいのですという相談を受けることが増えて、個人的には意味があったかなぁと思います。また当初の勢いがなくなったといえ、順調なペースでは売れていっている模様です。あと反省点としては、分厚すぎる本はやっぱり駄目ですね。

 4冊目のデータを集める技術は、1冊目のRubyクローラー本のコンセプトを受け継ぎ、もう少し読者層を広げようと試みた本です。クローラー/スクレイピング手法もExcel/Googleスプレッドシートを中心にし、エンジニアじゃない人でも何とか使えるようにしています。この本はネットでは全く話題にも上がりませんが、リアル本屋さんを中心に結構売れています。一般書店で取り扱ってもらうことを意識して、Excelというキーワードを入れたことと250ページと薄くしたのが功を奏したのかもしれません。

雑誌寄稿



 本の執筆以外にも、雑誌寄稿も行いました。今年創刊した日経クラウドファーストの創刊号のAurora特集で、機能面の分析を行いました。Auroraを使う上で、必要な情報がコンパクトにまとめられているのではと思います。例によって、AWSのアップデートで、一部状況が変わっている部分がありますが。。。
 この日経クラウドファーストの執筆陣は、AWSのプレミアパートナーを中心に集められています。とっても濃いメンバーが集まっているので、(スケジュールの都合で、あまり参加できていませんが)月に1回の会議は非常に刺激を受けます。参加させて貰って良かったと思います。あと2本目も執筆していて、今月くらいに出てくるはずです。

blog.takuros.net

登壇・発表



 イベントの登壇は、4回のみでした。そのうち2回はほぼクローズな場なので、実質2回です。

www.slideshare.net
www.slideshare.net
www.slideshare.net
www.slideshare.net


 正直アウトプットとしては少なかったので反省です。2017年はいろいろ出てみようと思うので、皆さんよろしくお願いします。

ブログ



 2016年は53本書いていたようです。2014年は80本なので、30%減です。アクセス数では、2016年は168,195です。2015年は241,741だったので30%の減少です。だいぶブログの人としては終わってきました。最盛期は、年間で70〜80万アクセスくらいあったのですが、リソースの振り方とか考えると仕方がないかなぁという部分もあります。

2016年の目標に対しての採点



 2016年の目標は、これでした。

  • 本を2冊書く ⇒ ◯ 実現できた
  • Kindle本を書く ⇒ ☓ 少し手をつけたけど、後回しになって未だ出版できず
  • AWS本の英訳 ⇒ △ AWSのパターン別構築・運用ガイドが、韓国語に翻訳されたらしいです。私は何もしていないですが。
  • 資格試験 ⇒ ◯ AWSの認定資格、5種全てコンプリートしました。今年は、新3種を目指します。(日本語で出たら)
  • ワークバランス ⇒ ☓ あまり変わらずです
  • メジャーイベントへの登壇 ⇒ ☓ 2015年より後退して、引きこもり気味になりました。
  • 健康 ⇒ △ 運動はしてないですが、歩行距離で結構稼いでいます。

2017年の目標



  • 本を2冊書く ⇒ 執筆前の1冊に加えて、もう一冊書こうと思います。モバイル or IoT関係に挑戦しようかな
  • Kindle本を書く ⇒ 今年こそ
  • AWS本の英訳 ⇒ Google翻訳さんが賢くなっているので、それを使って挑戦してみようかなぁ
  • 資格試験 ⇒ 新3種とります。あとは、ワインエキスパート取りたいなぁ
  • ワークバランス ⇒ まずは計測から
  • メジャーイベントへの登壇 ⇒ Developer Summit等のメジャーイベントへの登壇。その為に、自分の強みの分野の再定義
  • 健康 ⇒ 全ての活動の基本は、やはり健康。その為の運動。これを定量的に測定する。

細かい部分や、仕事等で公開できない部分については、別途管理します。

まとめ



 何となく自分の活動量の限界が見えてきたので、その中でどう出来るかを模索しようと思います。

Pythonクローラー本の決定版か!? 『Pythonクローリング&スクレイピング』

 Pythonクローリング&スクレイピングを頂きました。ありがとうございます。まだざっとしか読んでいませんが、Pythonのクローラー本で一番バランスが良いのではないでしょうか?

Pythonクローリング&スクレイピング ―データ収集・解析のための実践開発ガイド―

Pythonクローリング&スクレイピング ―データ収集・解析のための実践開発ガイド―

本書の内容



 PythonでスクレイピングするのであればBeautiful Soup、クローラーフレームワークとしてはScrapyが定番です。この2つをしっかり抑えながら、ブラウザを操作するためのRoboBrowser、ブラウザ+JavaScriptに対処もできるSelenium+PhantomJS、PDFからのテキストの抽出など多岐に渡るテーマを扱っています。またデータ収集術だけではなく、分析を助けるためのElasticSearchやBigQueryとの連携、処理の並列化のためのキューの扱いかたなど、クローラー&スクレイピング制作を通じて色々な技術要素を学べるようになっています。終章の方には、運用の為にサーバーサイドでの扱いやAWSまで取り扱っています。
 またこのPythonクローラー本のお勧めの理由として、Python3に対応したScrapyの解説している点です。ScrapyはPythonのクローラーフレームワークの標準ですが、長らくPython2にのみ対応されていませんでした。それが2016年5月にPython3に対応されました。本書ではいち早くPython3版のScrapyに対応しており、非常に良いタイミングで出たのではないでしょうか?

Rubyクローラー本とExcelクローラー本との対比



 せっかくの機会なので、僭越ながら拙著の「Rubyによるクローラー開発技法」とExcelのクローラー本である「データを集める技術」と対比させて頂きます。Rubyのクローラー本とPython本は構成や対象としているターゲット層としては恐らく非常に似ています。説明の仕方や順番など、こういう紹介の仕方が良いなぁと思える部分が多く、結構、思考パターンが似ているなぁと思いながら読んでいました。違いとしては、クローラー本が具体例が多いのに対して、Python本は技術要素を中心にしています。本としての寿命を考えると、Python本のような構成が良かったのかと思います。
 またExcel/Googleスプレッドシートのクローラー本と較べると、想定の読者とは全く違ってきています。Excelのクローラー本は、一応技術書と銘打っておりますがノンプログラマも読者層として想定しております。その為、どちらかというと入門書となっており、スクレイピングの技巧も少ないです。Python本を読みこなせる人は、Excelクローラー本は不要だと思います。

その他



 Pythonクローリング&スクレイピングを読んだ後にググって調べると、著者の加藤さんによる下記のサイトを見つけました。こんな方法で書籍紹介するのは素敵ですね。自分でもやってみようかなと思います。いずれにせよ、クローラー愛が伝わる非常に良い本だと思います。是非、一度手にとって見てください。

scraping-book.com


See Also:
「データを集める技術」という本を執筆しました
『Rubyによるクローラー開発技法』を書きました
非エンジニアでも何とか出来るクローラー/Webスクレイピング術