[執筆]『プロになるためのWeb技術入門』韓国語版が発売されました

先日、出版社から見本誌が届きました。おかげさまで韓国上陸です。

実物を見てみると挿絵の中など詳細に至るまで翻訳されていて、訳者の方の努力が感じ取れます。著者としては特に何もしなかったので、なおさら敬服の念を抱きます。

英語のようなグローバル言語からの翻訳では、英語のままでも通じてしまう部分があると思うのですが、日本語から韓国語では、徹底的に訳さないとダメなんでしょうね。

韓国語版のサポートサイトでは、HTTP通信の内容を確認するためのサンプルページや、ソースコードのコメントまで翻訳されたサンプルコードがダウンロードできるようです。

こちらが販売サイト。下の方に何ページかイメージが載っています。

以下、どんなことが書いてあるか興味があったので、翻訳者の序文をexcite翻訳にそのまま放り込んでみました。

1990年代だけでもインターネットは一般の人たちにまだなじみがうすい存在であった。 オンラインといえば先にパソコン通信を思い出させたし、主に電話線を利用してモデムで通信をしたので速度は非常に遅かった。 今は‘やっと’いくつかのメガバイトだが、その時は‘何と’いくつかのメガバイトであった。 その上電話料金体系に時分制が適用されるにつれ有線通信料金の負担は今とは比較もできなかった。 夜中PC通信をして電話料金が十余万ウォンずつ出てきて告知書を受けてびっくりしたお母さん(あるいはお父さん)にほうきで合ったという話をたまに聞くことができた時期だった(翻訳者もほうきで合いはしなかったが似た経験をした). このようにオンラインを通した情報交換に制約が多かった時期なのでソフトウェアはパッケージ形態で販売されるデスクトップ アプリケーションが主流をなした。 しかしADSLVDSLなど次第に超高速通信網が構築されてインターネットが一般化されながらソフトウェアの流れはデスクトップ アプリケーションでウェブ アプリケーションに越えてきている。

もうウェブ アプリケーションは私たちの生活になくてはいけない必需品だ。 私たちはGmailでも各種ポータルサイトのEメール サービスを通じてEメールをやりとりして、買いたい物があればインターネットで最低価を検索した後インターネット ショッピングモールで購入する。 私が乗ろうとするバスがどのあたり来ているのかもインターネットで確認できることになった。 全部ウェブ アプリケーションの発達で可能になった仕事だ。

この本はそのようなウェブ アプリケーションの開発に関心を持っている方のための入門書だ。 入門書なので具体的な技術を詳しく扱うことはないけれど、その代わりウェブ アプリケーションを開発するための基本的な知識と歴史、背景を親切に説明する。 書いた人がこの本で多くの重点を置いた部分はすぐにウェブ アプリケーション開発技術が今日に至るまでの歴史と背景に関する説明だ。 どんな技術が開発された理由はその技術が必要だったためだ。 また、初めから完ぺきな技術はありえないので問題点が発生するようになっていて、その問題点を解決するためにまた他の技術が誕生する。 このような歴史の中で現在のウェブ アプリケーション開発技術に発展したことであり、今後も新しい必要性により新技術が次から次へ誕生するだろう。 そのような歴史を理解するならばどんな技術をどのように利用するべきか分かるのに多くの助けになることであり、新しい技術が誕生してもその技術をもう少しはやく理解できるだろうというものが書いた人の考えだ。 そして翻訳者やはり書いた人の考えに同意する。

何かを習う時単純に内容だけを暗記するのは多いに役に立つことができない。 その土台に敷かれている背景を分かってこそ応用力ができるはずだ。 読者の皆様も学校で数学公式を暗記した経験があるだろう。 参考書に出ている公式をむやみに覚えさえすれば同じパターンの問題が出てきた時は簡単に数字だけ変えて早く解くことができるが、少しだけ問題を捻っても壁にぶつかってしまう。 しかしその公式がどんな過程を経て出たかを理解するならばパターンから抜け出した問題に会っても慌てないでこの問題をどのように解くべきかじっくり考えて解くことができるようになる。 語学で慣用表現やことわざなどを覚える時も同じだ。 その表現または、ことわざがどんな背景から出たし、時にはその中にどんな歴史が含まれているのか分かれば単純暗記する時よりはるかに理解度うまくいってよく忘れることもない。 このように歴史と背景を分かれば理解度がはるかに高まって、何よりも習うことが楽しくなる。

ただしこの本は何の知識もない状態でウェブ アプリケーション開発技術を初めから習おうとする人のための本ではない。 専門的な内容を最大限排除したとはいうが、HTMLに関する基礎知識と簡単なプログラミング知識程度は知っているという家庭で話が進行される。 しかし今から勉強を始める人も軽い気持ちで読んでみるならば今後ウェブ アプリケーション開発技術を勉強するために必要な概念を捉えるのに多くの役に立つだろうと考える。

  • 翻訳者序文(西門)中で

かなり良い精度で翻訳されますね。本書の執筆意図をきちんと汲み取った上で、序文で紹介してくれている点が非常に嬉しいです。

『プロになるためのWeb技術入門』第6刷の更新箇所を公開しました

おかげさまで、『プロになるためのWeb技術入門』6刷目の増刷となりました。今回も読者の皆様からのご質問等を元に内容を更新しました。

正誤表はこちらになります。

また、本書 LESSON3 での横取り丸・InetSpyを使用したにおけるHTTP通信の学習については、MacOS をご利用の方も読み進められるよう、サポートサイトGoogle Chromeデベロッパーツールを使用した HTTP ログ確認の方法も紹介しています。(言い訳ですが、本書の執筆当時は Chrome はまだリリースして間もない頃でして、シェアもほとんどありませんでした・・・MacOS も今ほどブレイクしていなかったなぁ)

『プロのためのLinuxシステム・10年効く技術』

プロのための Linuxシステム・10年効く技術 (Software Design plus)

プロのための Linuxシステム・10年効く技術 (Software Design plus)

「プロのためのLinuxシステム・10年効く技術」を献本いただきました。

ひとことで表すなら、「経験の隙間を埋める濃密な一冊」です。

非常に密度が濃いのできちんと読み込めていない部分はありますが、私にとっては非常にためになる一冊でした。
私自身、勉強と実益のために自宅でLinuxサーバ運用管理しており、大抵のことはわかっているつもりでした。しかし、いかんせん体系的に学んだ訳ではないので、自分では気づかないところで抜けがあったりします。

冒頭でも述べられている通り、本書は「経験ある先輩エンジニアから現場で役立つ知識を教えてもらう」といった形式で記述されています。
筆者の実体験にもとづいているので、単なる知識ではなく「現場で直面する問題に対して、知識をどう生かすか」といった視点で書かれているのが本書の大きな特徴です。
本書を読了したとき、私は著者がまるで目の前で様々な経験を話してくれ、そこから自分が知らなかったことを数多く学べた、そんな気持ちになりました。
また、随所のコラムで書かれている「学びに」対する考え方や姿勢については、私も共感するところが多くありました。

「プロのための」と銘打たれているとおり、本書の主な対象読者はある程度経験を積んだ中〜上級者になります。また、内容に網羅性があるわけでもありません。しかし、初学者の方でもパラパラと目を通しておくだけで、現場で困った時に「あっ、そういえば、あの本に似たようなことが書かれていたかも」と振り返ることができるのではないでしょうか。

以下、各章のサマリと感想を紹介します。

第1章 知らないと損するぞ! 押さえておきたいLinux内部構造

普段何気なく利用しているLinuxの裏側を紹介。ディスク管理、プロセス管理、メモリ管理といったOSの根幹を理解できます。

第2章 マシンがないとは言わせない! 仮想化でここまでできるインフラ環境構築

クラウド全盛の時代、より気軽にサーバを利用できるようになりました。しかしエンジニアたるもの、その屋台骨となっている仮想化の仕組みを押さえておきたいところです。本章ではサーバ構築・運用の「素振り環境」として、KVMを利用した「メール配信システム」や「HAクラスタシステム」の具体的な構築事例を説明しています。

第3章 10番勝負!自作スクリプトでコマンド活用

サーバ運用時に必須となるシェルスクリプト。リファレンス本や解説書は数多く出版されていますが、本章では筆者の現場経験に基づいた実用性のあるシェルスクリプトを題材として、シェルスクリプト作成のテクニックを説明しています。

第4章 最後の砦! カーネルソースを読む

Linuxカーネルソースのビルド手順に始まり、膨大な量のカーネルソースをgrepコマンドを駆使して読み込んでいくための方法が紹介されています。個人的に面白かったのは、7月1日に4年ぶりに追加される予定の「うるう秒」のLinuxにおける処理方法をテーマにしていたところです。

第5章 一歩先を行く! RHEL6新機能の総まとめ

RHEL6の新機能を紹介。RHEL6はまだ使用していなかったのですが、cronの実行方法など身近なところで大きな変更が加わっている点が新鮮です。

あわせて読みたい

プロのための Linuxシステム構築・運用技術 (Software Design plus)

プロのための Linuxシステム構築・運用技術 (Software Design plus)

プロのための Linuxシステム・ネットワーク管理技術 (Software Design plus)

プロのための Linuxシステム・ネットワーク管理技術 (Software Design plus)

『プロになるためのWeb技術入門』サンプルコードの修正版を公

サポートサイトで公開している『プロになるためのWeb技術入門』のサンプルコードについて、読者の方から一部ソースコードが含まれていないとのご指摘をいただきました。

修正版はこちらからダウンロード可能です。

ご指摘いただいた読者の方にお礼申し上げます。

『2週間でできる! スクリプト言語の作り方』を読みました

2週間でできる! スクリプト言語の作り方 (Software Design plus)

2週間でできる! スクリプト言語の作り方 (Software Design plus)

少し前ですが、ずっと待っていた本がついに発売されました。
本当はじっくり写経してから紹介を書きたかったのですが、なかなか時間がとれないので流し読みした感想を書きます。

私は情報系学科の出身ですが、大学で勉強できてよかったと思うことの一つにコンパイラ理論があります。プログラムをどのように解釈して構文木を構成し、マシン語に落としているのか。これは素人がちょっと頭をひねったくらいでは思いつきません。
本書ではそんなコンパイラの作り方を考え方から丁寧に解説しています。

類似の書籍はいままで何冊も出ていますが、肝心の字句解析や構文解析の部分はyaccANTLRといった自動生成ツールを使ったものが多く、私からすれば本当に復習したい部分が欠けていました。
かといって大学の教科書で採用されている書籍は実装例がC言語のものがほとんどでオブジェクト指向によるコンパイラの実装例は学べません。

本書では、簡単なスクリプト言語を題材にして、徐々に拡張しながら作るスタイルでコンパイラの本質が学べます。
オートマトンで真面目に実装すると大変な字句解析を正規表現で省力化したり、構文解析には内部DSLによるパーサコンビネータを利用したりしているところが、現代利用できる技術を取り入れていて実践的です。
前半では内容があまり難しくならない程度の説明になっており、15章の自習編以降で、大学でも学ぶオートマトンによる字句解析、BNFやLL構文解析ボトムアップ構文解析にもわかりやすく解説されており、本書で学習したうえで専門書でより深く学ぶと良いのではないでしょうか。

言語処理系に興味のある人には間違いなく買いの一冊でしょう。

Amazon Best Of Books 2011にランクイン

早いもので、もう年の瀬になってしまいました。
年の最後に編集さんから嬉しい連絡をいただきました。

『プロになるためのWeb技術入門』がAmazonの「Best Books Of 2011」でコンピュータ部門の13位にランクインしました!

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

おかげさまでAmazonでは継続的に売り上げておりまして、「コンピュータ・ITのベストセラー」でも、100位以内に累積500日を突破しました。

読者の皆様に、本当に感謝、感謝の1年でした。

それでは、来年もどうぞよろしくお願いいたします。

『プロになるためのWeb技術入門』第5刷の修正箇所を公開しまし

お待たせしてすみません。第5刷の詳細な修正点を公開しました。

詳細はこちらをご確認ください。
『プロになるためのWeb技術入門』正誤表

読者の方からも質問をいただいたのですが、第4刷りの在庫がまだ流通しているため、第5刷りが書店に並ぶのはもう少し先になりそうです。申し訳ございませんが、第4刷りまでをお持ちの方は、正誤表を元にご確認ください。