2015-05

2015年5月16日
シェルプログラミング実用テクニック

2015-05-16 11.02.34

書籍「シェルプログラミング実用テクニック」(技術評論社刊)。著者の上田隆一さんから献本いただきました。上田さんは前職の同僚でして、私がマーケティング担当、上田さんが技術担当という感じで、ともに戦場の最前線で砲弾をかいくぐりながら生き延びた仲でございます(私は途中で弾に当たって倒れ、戦線を離脱しましたが…)。

ソフトウェアデザイン誌で連載されていた「開眼シェルスクリプト」の書籍化です。大幅に書き直しがされていてかなり使い勝手がよい本になっています。

本書では、UNIX的な考え方をベースとして、シェルスクリプトで業務を効率化するときに知っておきたいことが体系的に解説されています。ワンライナーによる基本的なテキスト処理から、テキストベースのRDB作成、大量データの処理、excel芸、システム操作まで、CLIを使ってできることが網羅されており、プログラミングの初心者でも面白く読み進めることができるのではないでしょうか。
個人的には6章、特にオフィススイートとの連携を面白く読みました。普通の事務仕事をしていると、否応なくWordやExcelと向き合わなければならないわけですが(あとPower Pointも)、これらも基本はテキストの塊であって、シェルで書き換え・操作が可能ということが示されています。きっちり読みこなせば仕事の生産性が上がること間違いなしなので、2,980円はお買い得すぎと感じました。

私は前職でなぜか1年ほど開発現場でSEのマネゴトをしていた黒歴史な時期があって、インターネットにつながりにくい環境で、先達のシェルスクリプトを写経・修正することにより、血反吐を吐きながらシェルプログラミングを身に付けたのですが(大げさ)、その現場にこの本があったらどれだけ救われていたことか…。

上田さんが前書きで「当方の営業不足によってマウスやExcel方眼紙を使っている人にまで、UNIX的なものやCLIによるプログラミング、データ操作の啓蒙ができていない」というようなことを書かれていましたが(すごくおおざっぱな翻訳ですみません)、私自身がまさに今そのターゲット層の渦中におりますので、そちらに向けた営業活動をしていきたいな、と勝手に思っております。(UNIX的な考え方が体に染み込むと、生産性が著しく向上すると感じております)。

売れたら上田さんから焼肉でもおごってもらえるに違いないと楽しみにしている次第です。

シェルでWEBアプリを作る本。

こちらもおすすめ。名著。

2015年5月6日
メールの日本語タイトルを文字化けしないようにする

メールの配信ツールを作成しています(Shellで)。

ところが、日本語の件名が文字化けしてしまって小一時間はまりました…。
備忘録を兼ねてメモします。

・/usr/sbin/sendmailでメールを送る際に、日本語のSubjectを使う場合は、MIMEエンコードをしなければならない
・日本語の件名を、nkfを通して、メールのヘッダーに、Subject:(エンコードした文字列)として貼りこめばよい

具体的には以下のようにします。

以下のようなメールを送りたい場合

From:hoge@foo.com
To:fuga@foo.com
Subject:日本語のタイトル
—ここから本文—

文字列そのものをnkfにぶちこみましょう。

echo "日本語のタイトル" | nkf -W -M -j
=?ISO-2022-JP?B?GyRCRnxLXDhsJE4lPyUkJUglaxsoQg==?=

ここで出力された文字列を貼りつけます。

From:hoge@foo.com
To:fuga@foo.com
Subject:=?ISO-2022-JP?B?GyRCRnxLXDhsJE4lPyUkJUglaxsoQg==?=
—ここから本文—

これで受信側は文字化けせず読めるようです。Gmailだと自動的にエンコードされているようなのですが、他のメーラでは文字化けしてしまっていました。

(いまいち文字コードのことは理解しきれていないのだけれども…)

以下のページを参考にさせていただきました。ありがとうございます。

http://d.hatena.ne.jp/hogem/20100122/1264169093

http://qiita.com/gologo13/items/7e83aa15b9269758e4af