きれいなコードを書くための……

どうも、ご無沙汰しております。

先日出た本です。

きれいなコードを書くための鉄則

きれいなコードを書くための鉄則

去年一年間は、この本を書くことで休日がほぼつぶれてしまいました。やっと書き終えて、少し時間ができるようになりました。

プログラミング言語や技術を解説した本と違って、かなり時間がかかってしまいました。最初に設定した締め切りを破ってしまったのは、じつは今回が初めてです。編集者さん、ごめんなさい。

最初、私が想定したタイトルは「きれいなコードを書くためのヒント」だったのですが、「『ヒント』だと弱いんだよね〜」という出版社側の意向で『鉄則』というタイトルになりました。私としては『ヒント』のほうがいいと思うのですが、まあ、本を売るのは私ではなく出版社なので。

興味のある方は、書店で手にとって見ていただければ幸いです。また、アマゾンの「なか見!検索」も近いうちに使えるようになるはずなので、そちらで見ていただくことも可能です。

大丈夫だって

「対策が必要」だと? 大丈夫だって。だからそんなこと起きないって。

金のムダ、ムダ。いったいいくらかかるんだ、オマエの話の「対策」とやらを実行したら。

「もし、万が一起こったら」? そんなに起こってほしいのか? ええ? オマエ、起こることを期待しているわけ? 不謹慎な奴だなあ。

しつこいなあ、いい加減にしろよ。起こらないものは起こらないの。オレが保証するからそれでいいだろ? この話はこれでおしまいおしまい。

「万が一」だの「もし」だの言っても、いままでそんなこと起こったことがあるか? 無いだろう? ほら見ろ。やっぱりそんなことは起こらないんだよ。

だいたいだな、「もしかしたら起こるかも知れない事態の対策で○×△円必要なんです、ぜひともカネを出してください」なんて、オマエ、経営者サイドに言えるか? 少なくともオレは言えないね。

経営者はな、カネを出すからにはそれに見合った利益が出るものしか認めないぞ。当たり前だろ? ウチは慈善事業をやってるわけじゃないんだ。

「何の対策も無しに、もし起こってしまったら……」だと? ほー、そうかそうか。やっぱりそんなに起こって欲しいわけね、オマエとしては。アブナイ奴だなあ。

だいたい、誰もそんなこと指摘してないだろ? オマエだけだよ、そんなこという奴は。これだから協調性が無いって言われるんだよ。社会人失格だな。

はいはい、わかったわかった。そのうち上に話通しとくよ。そうだなあ、30年後くらいにな。

SQL本

もうすぐ、SQL本が出ます。

世界一わかりやすいSQLの授業

世界一わかりやすいSQLの授業

原稿自体は去年の8月にはできていたのですが、なぜか発売がずるずると遅れてしまい、今月になってしまいました。見開き2ページで1テーマ、左ページが文字とコード、右ページが図、といういつもの形態の本です。

SQLの規格はかなり膨大です。と、書くと意外に思われる人も多いかも知れませんが、SQLの規格書は、CやJavaなんかの数倍のページ数はあるのではないでしょうか。もちろん、実際によく使われる機能は限られていますが、それでも、SELECT文ひとつ取ってみてもさまざまな書き方ができますので、一般的に思われているよりも規格ははるかに複雑です。

さらに、SQLには方言が多いことでも有名です。そして、その方言を使わないとまともなSQL文が書けない、ということも珍しくはありません。私がいままで書いてきた言語の本は「規格に合致しているかどうか」をもっとも重要なよりどころとしていたのですが(まあ、Objective-Cのように公的な規格書が無い言語の場合は別ですが)、SQLでは方言を使わざるを得ないことも多く、必ずしも「規格に合致」だけをよりどころにはできません。

この本では、実行結果を示すためにはMySQLを使用しました。MySQLの独自仕様の部分もある程度解説しました。でも、他のDBMSを利用する場合のことにも配慮し、また標準規格との差異についても言及することにしました。

というわけで、興味のある方は手にとって眺めてみてください。

やらせ

どうも、ご無沙汰しておりました。半年ぶりです。
原稿を書いたりして、ばたばたしておりました(というのはもちろん言い訳です)。

で、今回は小ネタです。

「ヤフー知恵袋で“やらせ”代行業 匿名クチコミの信憑性に暗い影」

日経ビジネスONLINEというサイトの記事です。登録しないと2ページ目以降は読めません。「日経ビジネス」誌自体は、あまり購読する気は起こらない(というか職場にもあったはずですが、読んでません)のですが、このサイト自体は、結構面白い記事があるので(小田嶋氏の連載とか)、ちょくちょく見ています。

で、上記の記事は、質問サイト上の「やらせ」について取り上げています。やらせなんて昔からある(だろう)し、記事自体も「まあ、そんな商売も当然あるんだろうなあ」とそれほど新鮮味があるわけでもありません。ちなみに、「やらせ」なるものに対する私のスタンス(って何だよ)は「やるならもっとうまく、バレないようにやれよ」です。九州電力のやらせ依頼メールにしたって、この記事で取り上げられている会社の提案書の配布の仕方にしたって、「おまえら、わざとバレるようにやってる?」と思わざるを得ません。

で、まあ、そこは今回の本題ではありません。上記の記事にある提案書の内容を見てください。


同じIPからの投稿だと、アカウントが違くても同じ人が書き込んでいる=商用目的とYahooに目をつけられてしまう恐れがある。

「違くても」は無いでしょう、「違くても」は。小牧・違くての戦い……。

MS-IMEだと「ちがくて」→変換→「地学手」でした。ATOKとかほかの奴だと変換できたりするんでしょうか? そもそも、こんな提案書見せられたら、私なら速攻でボツにしますけど。もちろん、私にそんな権限はありませんが。

「アカウントが違っていても同じ人が書き込んでいる」じゃダメなんでしょうか? わざわざ、変換もできない「違くても」なんて書かなくてもいいような……謎です。

ああ、そうか。「こんな表現を使って、素人っぽく質問サイトに書き込みますよ」という一例なのかも。

実家にて

東京駅→仙台駅の高速バスを使って、いま実家にいます。バスの窓から見た仙台の街は、地震前とそう大きく変わっているようには見えませんでした。ところどころ建物の壁がはがれていたり、窓が割れていたりはしましたが。テレビ局的に「おいしい画像」(←語弊があるかも知れない言い方ですが)は撮れないためでしょう、ニュースなどで仙台の街中の画像などがほとんど出てこないのも当然なのかも知れません。

実家の付近は、水道と電気は復旧していますが、ガスはまだ出ていません。ガスで風呂を沸かしているため、当然風呂には入れません。昔は近所に銭湯などがあったのですが、いまはありません。風呂に入るのがかなり大変そうです。

幸いなことに(と言うと、大きな被害を受けた皆様には申し訳ないのですが)、実家には大きな被害はありませんでした。自室の天袋に隠していた××な××なども、飛び出して床に落ちているようなことはなく、安心しました(嘘)。

書きたいことはいろいろとあったのですが、どうもうまくまとりません。そのうち書くかも知れませんが、いまは無理そうです。

このあと、高速バスで戻ります。

お知らせ

東北(しかも震源に近い)に実家があります。この後ばたばたして書ける時間が取れるかどうかわかりませんので、少し早めですが……。

技術評論社Software Design」の2011年4月号に原稿を書かせていただきました。「エンジニア&システム管理者に役立つバイナリの読み方」という特集記事です。編集部の意向で、かなり初心者向けの記事になっています。まともに書こうと思えば本1冊分くらいの分量(もっとかも?)があるテーマですが、今回は、雑誌の特集ということで25ページにまとめてみました。雑誌の発売は3月18日だそうですので、ご興味のある方は、まずは書店で手にとってみていただければ幸いです。

Software Design (ソフトウェア デザイン) 2011年 04月号 [雑誌]

Software Design (ソフトウェア デザイン) 2011年 04月号 [雑誌]

次に、先日出ました「世界一わかりやすいObjective-Cプログラミングの授業」ですが、おかげさまで増刷されることになりました(第2刷)。お買い上げいただいた皆さま、たいへんありがとうございます。なお、第1刷の正誤表がもうすぐ出版社(ソシム)のサイトに掲載されると思います(http://www.socym.co.jp/book/4883377490.html)。

世界一わかりやすいObjective‐Cプログラミングの授業

世界一わかりやすいObjective‐Cプログラミングの授業

また、数年前に出版された「世界一わかりやすいCプログラミングの授業」も、おかげさまで定期的に増刷されています。まもなく出る増刷分で第8刷となりました。こちらも、お買い上げいただいた皆さま、ありがとうございます。

世界一わかりやすいCプログラミングの授業

世界一わかりやすいCプログラミングの授業

以上、用件のみで失礼します。

裁断済

何気なく、先日発売された私の本「世界一わかりやすいObjective-Cプログラミングの授業」で検索して(ググって)みたところ、某オークションサイトでつぎのようなものを発見しました。


世界一わかりやすいObjective-Cプログラミングの授業★裁断済

これって、やっぱりアレですか? いま流行の「自炊」とかいうやつ。まあ、たぶんここを読まれている方のほとんどはすでにご存知のことと思いますが、「自炊」とは何かを一応解説しておきますと、自分で食事を作る……あ、ウソ、ごめんなさい。いやウソじゃないけど、やっぱりウソです。すいません。

最近は「本をスキャンして電子データ(PDFなど)にすること」を「自炊」と呼ぶらしいです。どうしてその行為を「自炊」と呼ぶのかは、どこかで聞いたことがあるような気がしますが忘れました。忘れたということは、たぶん大した理由じゃなかったからだと思います。

さて、「自炊」を効率よくやるためには、せっかく製本されている本をばらばらにする必要があります。ばらしてしまえば、オートシートフィーダーの付いてるドキュメントスキャナで一気にスキャンすることができるわけですから。で「裁断済」というのは、おそらく(たぶん、きっと)、「スキャンできるようにばらした本ですよ」(というか、もうすでにそれは本とは呼べないような……)という意味なのでしょう。

私の手元には、この本の校正に使ったPDFファイルがあります。本になったものとまったく同じPDFファイルこそありませんが、それとほぼ等しい内容のものも手元にあります。聞いたところでは、いまどきは印刷所への入稿もPDFで行っているんだそうで、つまり「自炊」するということは、「PDFで入稿→印刷→製本→裁断→スキャンしてPDF」というおそろしく回りくどいことをやっていることになります。電子書籍が普及すれば(するのかなあ?)状況は変わるのでしょうけど、いまはやっぱり過渡期ということでしょうか。過渡期がいつまで続くのかはわかりませんが。

さて、著者という立場としては「本を裁断するなどという暴挙は断じて……云々」などと言わないといけなのかも知れませんが、そういう私自身、じつはかれこれ2年ほど前から「自炊」をやっていたりするわけで、先日、ドキュメントスキャナのカウンタを調べてみたら10万枚を超えていたりするわけで、それはつまり1000冊近くをスキャンしていたことになるわけで、まあ、何と言いますか、大量の本を家に置いておく場所が無いので仕方なく「自炊」の世界に足を踏み入れてしまいました。べつに颯爽とiPadを持ち歩いて、格好よく外で本を読むため、とかそういうことをしたいためではありませんでした。まあ、それ以前にiPad持ってないですし。

そうそう、裁断した本はさすがにオークションで売ったりはしていません。古紙回収に出しています。