結城浩の「コミュニケーションの心がけ」2014年2月18日 Vol.099
はじめに
おはようございます。 いつも結城メルマガをご愛読ありがとうございます。 いかがお過ごしですか?
* * *
お待たせしました!
Kindle版の『数学ガール』がようやく登場しました。
◆『数学ガール』[Kindle版](現在キャンペーン価格900円)
http://www.amazon.co.jp/exec/obidos/ASIN/B00EYXMA9I/hyuki-22/
たくさんの読者さんから「Kindle版はまだですか?」とご質問・ご要望を いただいていましたが、SBクリエイティブよりバレンタインデーの2/14に ようやく刊行の運びとなりました。
金曜日に刊行され、土日にかけてランキングが急激に上がり、 最高で「Kindle有料本ランキング」(総合)第4位まで上がりました。 これはほんとうに多くの方が本書のKindle化を待ち望んでいらしたからだと 思っています。お待たせしてすみませんでした。応援ありがとうございます!
今回Kindle化されたのは「数学ガール」シリーズ既刊5冊のうちの4冊と、 Javaやデザインパターンなどのプログラミング技術書6冊の合計10冊です。 既刊の『プログラマの数学』や『暗号技術入門』と合わせると、 これでSBクリエイティブから出ている結城のKindle本は合計12冊となりました。 少しでも読者さんの多様な要望に応えることができればうれしいです。
現在Kindle化されている書籍の一覧は以下にありますので、よろしければご参照ください。
◆Kindle化した書籍一覧 - 結城浩の日記
http://bit.ly/kindle0214
なお、上記のKindle本は固定レイアウトになっていますので、 無料サンプルでサイズ含む使用感をご自身で確かめてからご購入ください。 よろしくお願いいたします。
それにしても……総合で第4位になるとはまったく思っていなかったので、 とってもうれしい驚きでした。読者のみなさんに本当に感謝です!
ちなみに、この結城メルマガが配送されるときにどうなっているかは不明ですが、 月曜日(2月17日)現在、Kindle有料本の「数学」ジャンルのランキングは、 第1位〜第4位が数学ガールの4冊、第5位が『プログラマの数学』になっているという快挙でした。
◆Kindle本(数学)ランキング
http://bit.ly/kindlemathrank
重ねてみなさまに感謝です!
* * *
先週の金曜日はこの「数学ガールKindle化」だけではなく、 「CodeIQのフィードバック送付」と「Web連載更新」というイベントが重なったので、 たいへん忙しくもうれしい一日でした。
「CodeIQのフィードバック送付」というのは、 先月21日に公開した「王女様の宝石パターンを見つけよう!」(通称ジェムストリング問題)の 挑戦者に対して「採点結果と解説とフィードバック」を送信するというお仕事です。
今回の問題への挑戦者は結局233人もの多数になりました。 王女様が指定した宝石の並びが登場するのがいったい何日目になるか? それに対する正解はたった一つの数です。 そのたった一つの数を正確に求めることができるかどうか。
「だいたい何日目」というアバウトな話ではなく、 「きっかり何日目」というシンプルだけどシビアな問題です。 挑戦者は自分が持っている数学の力やプログラミングの技術を駆使して それに取り組むのです。
結城は例によって問題の途中にトラップを仕掛けました。 トラップといってもズルやごまかしではなく、 プログラマが注意すべき必須ポイントです。
さらに、アルゴリズムに工夫をしないとプログラムの動作に とんでもなく長い時間がかかるように設定を工夫しました。 工夫しなくてもとけるけれど大変苦労するくらい……という問題バランスです。 ある方のプログラムが数時間かかって正解にようやくたどり着く。 それに対して別の方のプログラムは一瞬で正解をたたきだす……そんな具合です。
応募数233人のうち、正解したのは173人。正解率は約74%でした。
挑戦者全員には結城が作成する解説文書(PDF)が送られます(約50ページ)。 そこには今回のジェムストリング問題の詳しい解説と、 挑戦者の一言感想が集められています。
うまくプログラムが作成できなかった人はそれを読んで学習し、 他の人の一言感想を通して自分のスキルを再確認する。 またプログラムはできたもののトラップにひっかかった人は、 自分のミスをチェックする。
今回はさらに、Togetterのまとめを使って、 ブログなどで公開された挑戦者のコードをまとめてみました。 このようにしておけば、挑戦者は他の人のコードを読んでさらに学ぶことができます。 自分の頭をふりしぼって考えた後なので、他の人のコードから多くを学ぶことができるのです。
◆《ジェムストリング問題》挑戦者コード集
http://togetter.com/li/629482
そんな具合にして、CodeIQでのジェムストリング問題は楽しく終了したのでした。
挑戦者のみなさんに感謝します。
さ、次はどんな問題を作ろうかな!
* * *
最近、WordPressで遊んでいます。
WordPressはご存じの方も多いと思いますが、 サイトを作るためのソフトウェアです。
膨大な数のテーマやプラグインなどが用意されていて、 あまりプログラムに詳しくない人でも、現代のWeb技術を活用したサイトが作れます。 たとえば、いわゆるSEO(検索エンジン最適化)や、 レスポンシブデザイン(PCでもスマートフォンでも適切なデザイン)、 それにSNSとの連携(Facebookのいいね!やTwitter)などです。
◆WordPress.org 日本語
http://ja.wordpress.org
以前から知人の編集者に「WordPressいいですよ!」と聞いていたのですが、 最近ようやく試しに使ってみることにしたのです。
ちなみに、結城は未読ですが、 その編集者さんが担当した『WordPressの教科書』という本 の人気が高いらしいのでご紹介します。
◆『本格ビジネスサイトを作りながら学ぶ WordPressの教科書』
http://www.amazon.co.jp/exec/obidos/ASIN/479736758X/hyam-22/
◆『本格ビジネスサイトを作りながら学ぶ WordPressの教科書2』
http://www.amazon.co.jp/exec/obidos/ASIN/4797370963/hyam-22/
WordPressをちょっと試してみたいという方は、 wordpress.com で無料で自分のサイトを作ることができます。
◆WordPress.com
http://ja.wordpress.com
たとえば、結城が試しに作ってみたブログが以下にあります。
◆Hiroshi Yuki' Blog
http://hyuki.wordpress.com
WordPress.comでサイトを作るだけではなく、 自分が持っているWebサーバ上にWordPressのソフトウェアをインストールする こともできます。
たとえば、結城はさくらインターネットの「さくらVPS」というサーバを使っていますが、 そこにWordPressをインストールしてみました。以下です。
◆blog.textfile.org
http://blog.textfile.org
この blog.textfile.org を動かしているソフトウェアはWordPressですが、 それにSimple MathJaxというプラグインを入れています。 このプラグインを入れると、MathJax という「Webで数式を表示する技術」を使うことができます。
ですから、以下のページに見られるように、ルート記号を出したり、 「xの2乗」の指数をきれいに出したりすることもできます。 数式を書くときにはTeXやLaTeXの記法を使います。
◆ルート記号の高さを揃える
http://blog.textfile.org/54/
◆3^2に引っかかりました
http://blog.textfile.org/33/
ソフトウェアは実際に使ってみると「ふんふんなるほど」と実感がわきますね。 改めて検索してみるとWordPressの情報の多いこと多いこと。 よく見かける有名なブログやビジネスサイトもWordPressで作られるものが多そうです。
* * *
サイト構築といえば、GitHub Pages もおもしろいなあと思って見ています。
GitHubというのは世界中のプログラマが知っているサイトで、 ソフトウェアのホスティングを行うことができる場所です。 バージョン管理ソフトウェアのgitのリポジトリ(ソフトウェアの格納・管理する場所)を置き、 世界中のプログラマとソーシャルな活動をしながら プログラミングを行い、コードを介して技術を交換することができるサイトです。
◆GitHub
http://github.com/
GitHub PagesというのはそのGitHubが運営している「静的なサイトを簡単に構築できるサイト」です。 GitHub Pagesは主に、 プログラマが自分自身のサイトや自分の開発したプロジェクトのサイトを構築するのに使われます。
GitHubではgitを使ってソフトウェアを管理できますが、 その仕組みをそのまま使ってWebサイトも管理してしまおうというのがGitHub Pagesの発想です。
◆GitHub Pages
http://pages.github.com/
特定の名前を持つリポジトリを作成し、そこにHTMLファイルやJavaScriptファイルを登録すれば、 すぐに対応するWebサイトが世界中から見られるようになるのです。
GitHubを利用する開発者にとって、 GitHub Pages非常に自然でわかりやすく、 しかも利用もしやすい仕組みだと思います。
WordPressにしろ、GitHub Pagesにしろ、 「なるほどね。確かにこれは便利!」と思うシステムはたくさん世の中にあります。 そういうものに触れるととてもわくわくします。 「あ、これを使って自分にも何かできそう!」 と思うからですね。刺激を受けるということでしょう。
たとえば「ブログで手軽に数式が書ける」と思ったら、 「あんな企画やこんな企画ができるんじゃないかな?」とアイディアがわいてきます。
たとえ、実際にその仕組みを使って何かを本格的に始めるまでに 至らなくても、そのような刺激を受けるのは無意味ではないと思っています。
* * *
さて、そろそろ結城メルマガを始めましょう。
今回は、技術評論社Software Design誌とのコラボ企画連載「再発見の発想法」を お送りします。
それから「実際にこれから書こうとしている記事を進める様子」を書く というややこしい読み物「有料メルマガについての記事を書き始める」をお送りします。
どうぞお楽しみください!
目次
- はじめに
- 再発見の発想法 - Hook(フック)
- 有料メルマガについての記事を書き始める - 文章を書く心がけ
- 次回予告