楽しいと感じれば、学ぶチャンス。答えが見つからなければ、考えるチャンス。
ISSN 2187-9664

UNIXネイティブの

電子工作塾

石黒浩先生

に訊く、技術者哲学

TechLION 再録

1月生まれのエンジニアたち好評連載

IT美女図鑑 太田智美
USP 友の会に1 ページくれ^H^H ください

From Editor
春ですね。
最近の春の便りはまず花粉からだったりして困りものですが、でもだいぶ日も長くなり、暖かくなってきました。
そして日本の春は新年度の始まり、新しいことへのチャレンジの季節でもあります。
3 年目に突入した本誌も今回、チャレンジづくしの号です。
前号の制作を終えてすぐ、大阪大学の石黒浩先生の取材にチャレンジ。
自分そっくりのアンドロイド「ジェミノイド」の製作で世界的に有名な先生ですが、その石黒先生の本「生きるってなんやろか？」を読み、一度でいいからお話を伺いたいと思いました。
インタビューの冒頭、自分がいかにキレイ事という名の鎧をまとって生きているかを見透かされ、苦い思いをすることに。本を読んだ時から、そうなるのではないかと恐れていたゆえのチャレンジでしたが、まさに「無知の知」を得ました。
そんな哲学的体験をロボットのお話とからめながら少しでも紹介できたらと思います。
そして、本誌を手にした方ならもうお気づきのはず。
表紙のかわいいマスコット「ちんじゅうちゃん」がケーブルを持っていますよね。
彼（彼女？）は今、なにかのスイッチを入れようとしています。
中小企業手作り IT 化奮戦記でいつもチャレンジをしている菅さんの連載は、UPS がテーマ。
巻頭２０ページの特集では、電子工作にチャレンジ！
一見、電子工作とシェルスクリプトは別物に見えるかもしれませんが、実はとても関係が深いのですよ。
機械、組織、ルール、といった色々な物や事を眺めていると、たまに「あ、あれ、なんかシェルスクリプトっ
ぽい！」と感じるようになりました。ソフトウェアであるシェルスクリプトとは似ても似つかぬ代物なはずなのに。でもきっと、奥底には同じ思想が息づいているのだと思います。
そんなシェルスクリプトっぽい、シェルスクリプトではない何かを、これからもいろいろ見つけていけたら面白いなと思います。

USP MAGAZINE 編集部

Contents
特集

UNIX ネイティブの電子工作塾（一部抜粋）… …………………………………………… 3

ユニケージエンジニアの作法
今私たちは何を学ぶべきか
TechLION 再録
漢の UNIX

第 6 回… …………………………………………………………………………… 第8回

大岩元… ……………………………………………………………………… -1 月生まれのエンジニアたち… ………………………………………………………………… -第 3.5 回後藤大地

… …………………………………………………………………………………… -石黒浩先生に訊く、技術者哲学 …………………………………………………………………………………… I T 美女図鑑 ―― 太田智美 … ………………………………………………………………………………………………… USP 友の会に 1 ページくれ ^H^H ください

会長………………………………………………………………… -中小企業手作り I T 化奮闘記

第6回

うにっくすなやつら

長谷川猛… …………………………………………………………………………… -第3回

シェルスクリプト大喜利

菅雄一……………………………………………………………………… -第 8 回… ……………………………………………………………………………… 54

Tech 数独 … ……………………………………………………………………………………………………………………………… 天地概況 奈須蛍路 ／ 編集後記… ……………………………………………………………………………………………………… ※ 薄字の記事はよりぬき版には収録されていません。是非正式版をお求めください。

2

USP MAGAZINE 2013 winter特 集

UNIXネイティブの

電子工作塾
Gadget Colloquia for UNIX Natives

大野浩之
Hiroyuki O h n o

高嶋健人

Take to Ta k a sh i m a
AND

USP MAGAZINE 編集部

昨年、電子工作の分野に一つの大きな出来事が起こった。僅か 3000 円程のワンボードマイコンが、UNIXを携えるようになったのである。
UNIX、組み込み機器、それぞれの知見だけでは成し得なかった業が、これから次々と生み出されるであろう。
そんな時代の旗手となる人材を養成すべく、この塾を
開講する。
目次：

O 先生のレクチャー… ……………………………… 4
コラム “Raspberry Jam Session” #1… ……………………… 9

T 君のノート… …………………………………… 10
コラム “Raspberry Jam Session” #2… …………………… 18

スペシャルインタビュー… ……………………… 19

The Lecture of Professor O.
UNIX ネイティブで、電子工作巧者の O 先生。そんな O 先生には
T 君という教え子がいた。彼は先生が止めるのを聞かずに Web エ
ンジニアとして独り立ちしたのだが、最近電子工作に興味を持ち、二月某日、ある雪の日の夜、再び先生の元を訪れた。※このレクチャーの補講はこちら☞ QR404

QR404

O 先生：最近流行りの電子工作だよ。

18:07 久々の対面

T 君：もしかして、そO 先生：……そうかそうか。Web エン

ラズベリー･パイ

れがこの間おっしゃっていた Raspberry

ジニアとして頑張っているみたいだね。 Pi というヤツなんですか？

T 君：え、じゃあどれが Raspberry Pi なんですか。もしかしてモニタの裏にくっ

僕はそのへん得意じゃないから今度教えO 先生：いや、これは違う。Raspberryてくれよ。

Pi はこっちだ。Linux も動かせるんだよ。 O 先生：そうだよ。厳密にはこの箱の中ついている赤い箱ですか。

T 君：先生こそ何か面白い話は無いですに入っているボードのことだ。で、このか？

ピンク色の箱はオマケだ。

O 先生：よーし、これを見た

T 君：ちっちゃいんですねー。これ、どまえ！☞ QR406

うやって買うんですか？

QR406

O 先生：ネットショップで買うのさ。生産体制が整ってきたこともあって発売当初に比べれば大分入手し易くなったけ
ど、海外への注文だと数週間かかるだ

T 君：な、何なんですか、それはぁ！！！

T 君：話には聞いてたんですが……、ころうし……。よし！ここにあるのを一れですか。テレビも付いてるんですね！

台譲ってあげよう。値段はそうだなぁ、

O 先生：いや、違う違う。モニタは自分一万円でいいや。

でくっつけたんだよ。

T 君：え！これ Linux マシンですよね？

ＵＮＩＸネイティブの電子工作塾へようこそ
この記事は、紙面上の各セクション、さらには Web ページ上に用意した関連情報が、密接にリンクする、ハイパーメディア記事です。本記事を深く堪能するには、各メディア上の文書を横断的に読み進めることが不可欠であり、記事内には次のようにリンクを示す表記が散りばめられています。

☞

2-3 こ れ は、 後 半 の セ ク☞ QR314 これは、その番号の併記された QR コードをスキャンし、中に埋め込まれション「T 君のノート」

た URL にアクセスしてページを参照せよという意味です。QR コードをスの当該章節を参照せよ

キャンできない場合でも、その番号 ( この例では “314”) を、本記事連携サという意味です。

イーアーク

QR314

イトε -ARK プロジェクト (http://e-ark.jp/) で検索することで辿り着きます。

ぜひ、スマートフォンで QR コードをスキャンしながらお読みください。スマートフォンで QR コードを読むには、ご自身でアプリをインストールする必要があります。ただし QR コードを読み取るアプリの性能には大きな差があり、容易に読み取れるもの、そうでないものがあります。いろいろ試してみてください。※ QR コードの使い方 ☞ QR420

4USP MAGAZINE 2013 spring

QR420

特集― UNIX ネイティブ の電子工作塾
そんなに安く譲っていただいていいんでO 先生：いやいや、とっても簡単だ。ま応のモニタで、アナログ方式の VGA は

すか？

ずは SDHC カードが要るな。4GB でもダメだ。でも HDMI 対応モニタなんて今O 先生：今回だけの特別だからな。感謝

足りるけど、8GB にしておこうか。よし、 どき家庭にもたくさんあるからね。地デしたまえ。

これも一枚安く譲ろう。

ジ対応テレビとか。だから帰宅したら、

T 君：ありがとうございます！！☞次頁

T 君：ありがとうございます。

何なら家のテレビにつなげばいいよ。テ

ミニコラム #1

O 先生：自分で買う時はあんまり安物は

レビは家にあるよね？

選ばないようにな。

T 君：はい、去年買いました。

T 君：なぜですか？

※ VGA や DVI な人は☞ QR410

O 先生：使い方にもよるが頻繁に書き込

O 先生：じゃあいいね。後はみが起これば寿命を削るから安物だと壊USB キーボードと、GUI で使うなら USB

れやすいようだし、しかも安物は読み書

マウスも必要だけど、それくらいはさす

きが遅いからね。

がにあるよな。まあ、今はこれも貸して

T 君：なるほど。それで、最初はどうすおくけど。

るんですか？

T 君：はい、大丈夫です。

T 君：これが有線 LAN、隣にあるのがO 先生：何種類か OS があってどれを選

O 先生：私も使ってるが、一個の USB

USB で……、こっちはオーディオとビ

ぶかにもよるが（☞コラム “Raspberry

コネクターに両方ついてるやつがお勧め

デオ、こっちはもしかして HDMI ？こっJam Session” #1）、ここでは誰でもやるだよ。2 個しかない USB ポートを塞ぐ

ちにはマイクロ USB がありますね？

であろう Raspbian をインストールしよのは勿体なかろう。

O 先生：実はそっちのマイクロ USB ポー

う。Debian Linux の Raspberry Pi 版 だ。 T 君：家で使っているのも確かそういうトはただの電源供給用で、USB として公式サイトにあるディスクイメージを一やつだったような気がします。

の機能はないんだよ。

度君の PC にダウンロードしたまえ。

O 先生：マウスとキーボードの選択は意

T 君：他にもいくつかありますね。

T 君：はい、終わりました。

外に重要だぞ。電源容量の問題で動かなO 先生：このピンヘッダは何だかわかる

O 先生：君のパソコンは Mac だったね。 くなることがあるからな。さあ、それかい？

だったらターミナルを起動して dd コマ

T 君：何でしょう？

ラズビアン

ンドを叩きなさい。※☞

ジーピーアイオー

2-3

QR410

じゃ一通り繋いだところで電源ケーブル（マイクロ USB）を繋ぎたまえ。

O 先生：GPIO という名のピンヘッダで、 T 君：え、/bin にある、あの dd コマン※デバイス選定のポイントは

実はこれがとても重要なんだよ。L チカ

ドですか？

☞ QR412

したい時にもこれを使うんだ。

O 先生：SD 等のディスクデバイスにディ

T 君：L チカって何でしたっけ？

スクイメージを直接書き込む時に重宝す

O 先生：「LED をチカチカ点滅させるこるコマンドだよ。使い方を解説するからと」の略だよ。

19:21

QR412

インストールと
初期設定

ノートを取りたまえ。

T 君：起動始まりました。綺麗ですね。

T 君：先生が大好きな Arduino と大きさ

T 君：dd コマンド終わりました。それ

O 先生：しばらくすると初回起動時のみ似てますね。

にしても長かったですね。5 分か 10 分

raspi-config のメニュー画面が表示されアルドゥイーノ

O 先生：でも全然違うんだよ。32bitCPU

くらい掛かったような……。

るはずだ。どうだい？

1-2

O 先 生：2GB の デ ィ ス ク イ メ ー ジ を

T 君：はい、なんかそれらしい画面に。

T 君：そういえば Linux にセンサや LED

数 MB/sec の 速 さ の SD に 書 き 込 む のを付けるって話はあまり聞かないです

だ か ら 計 算 す れ ば 明 ら か だ ろ う。 さが、どうやるんですかね。

て そ れ じ ゃ、 書 き 込 み 終 わ っ た SD を

O 先生：じゃあ、やってみようか。

Raspberry Pi に差し込んで、とにかく一を搭載した Linux マシンだし。☞

18:37

Raspberry Piとの対面

度起動してごらん。
T 君：え、電源繋ぐだけですか？
O 先生：ああ、そうか。モニタが無かっ

T 君：先生、インストールって大変です

たね。それじゃ今はモニタも貸してあげ

O 先生：じゃあまずは、キーボードの設か？

よ う。 使 え る の は HDMI ま た は DVI 対定からだ。今貸してるのは米国式の英語5配列キーボードだが、世界中には色々なインストールしよう。なあに、Debian

キーボード配列がある。一口に英語配列

系 OS だから必要な時に必要なだけ apt-といっても英国配列と米国配列があってget するだけだ。もちろん apt-get の前

両者は微妙に違うし、それぞれの国にはに sudo を付けるの忘れないこと。それ

更に何種類もの微妙に違う配列があるあじゃ今から具体的な手順を言うからこれる。そしてこれは英国や米国だけの状況もノートに取るように。☞

じゃない。それも説明するからノートしT 君：終わりました。メニューが日本語

たまえ。☞

2-4

2-5

になりました。

T 君：設定できました。最初のメニュー

T 君：X Window に 来 ま し た！ 画 面 左に戻ってきて、他にもいろいろありますにいろいろアイコンが並んでますけど、 を整えよう。まずは、テキストエディタ

が後は何を設定すればいいですか？

へぇー Scratch も入ってるんですね。

と git と開発言語。Ruby や Python は欲O 先 生： そ う だ な。 時 間 帯 を 決 め る

O 先生：そう、Raspberry Pi は元々教育しいね。おっと Tukubai も忘れちゃいchange_timezone と、GUI 起 動 か CUI

用コンピューターだからね。よし、じゃかんな。あとはそれら各スクリプト言語

起動かを決める boot_behaviour。それ

あそのアイコンの中にある内蔵ブラウザのライブラリも入れて、Raspberry Pi のから expand_rootfs も重要だ。これをし“Midori” を立ち上げて私の Web ページ

GPIO インターフェースを使うためのドないとせっかく 8GB の SD を使ってい （http://e-ark.jp/）にアクセスしたまえ。

ライバ・ライブラリも入れて、それからるのに 2GB までしか認識してくれない。 T 君：無事アクセスできました、これで音声が出せるようにオーディオドライバ

あ と 忘 れ ち ゃ な ら な い の が change_

初期設定は終わりですよね。ところで先も入れたいところだな。あとは VNC あpass（パスワードの設定）だ。これも今生、このホームページ、こんなに作ってたりかな……。これらもさっきと同じから詳しく説明するからノートに書くよ

ご自分で管理されてるんですか？

く殆ど apt-get で出来るから簡単だ。こO 先生：なーに言ってるんだ、これかられもノートに書いておいた方がいいぞ。

T 君：はい、全部やりました。

君が管理者になるんだよ。

☞

O 先生：よし、メニューを終了 (Finish)

T 先生：えー！？

T 君：意外とあっという間でしたね。

うに。☞

2-4

2-5

O 先生：読者の皆さん。ここまでインして再起動してごらん。おっとその前に……、LAN ケーブル挿してあったよね？

O 先生：さて、じゃあ本格的に開発環境

20:45 開発環境構築

T 君：はい、大丈夫です。

ストールをしたイメージを、さっきのWeb サイトで公開してますからどんどO 先 生：Raspbian は 起 動 時 に、DHCP

T 君：先生、これで L チカができるようんダウンロードしてくださいね。あと私で IP アドレスと DNS の設定をして、更になったわけですか？

のオススメパッケージもどっさり詰めに NTP で時計合わせするようになってO 先生：まあまあ落ち着きたまえ。出来込んだマニアック版も公開しいるんだ。Raspberry Pi には電源を切っないことはないが、先に開発環境構築をちゃおうかな。☞ QR414ていても動く時計が無いから NTP は重やっておくべきだ。L チカやっておしま

T 君： 先 生？ そ こ に 誰 か 居 る

要なんだ。

いでは意味無かろう？

んですか？

T 君：じゃあ、再起動してみます。

T 君：そうですね。まず何からやれば。

O 先生：あーいや、何でもない。ごめんO 先生：そしてもう一回ログインするんO 先生：日本語環境の整備じゃないか？

ごめん。終わったらちょっと晩御飯にでだ。まあ、GUI 起動設定で且つパスワー

Web ブラウザひとつとっても日本語がも行こうか。

ド未設定なら勝手にログインしてしまう

書けないと不便だからね。だからまず日

T 君：はーい。

がな。

本語フォントや日本語入力システムを

22:32

ミニコラム#1: Raspberry Piの本当の値段
あらら、T 君は O 先生にまんまとぼったくられてしまいました。実は T 君が 1 万

USP MAGAZINE 2013 spring

O 先生：この時期は外に出るのも一苦労だな。車出す前に雪かきが必要だし。
かきしても、この時期は厳しいですよね。

ン (http://jp.rs-online.com/)や ModMyPi(http://www.modmypi.com/)といっ

6

ソフトウェアでHello, WorldT 君：はい、いくらママさんダンプで雪円で譲り受けた Raspberry Pi Model B は、2013年2月現在、RSオンライ
たネット通 販サイトで、35 ドルで買えるんですよ。※より詳しく☞QR408

QR414

QR408

O 先生：そのうち車載ガジェットのネタ

特集― UNIX ネイティブ の電子工作塾などもやりたいな……。さて、食事休憩

らツイートできるんですね。

+5V、0V=GND) と信号線。この信号線もしたところで、Hello, World しようか。 O 先生：そうそう。じゃあいよいよ L チ

こ そ GPIO な の だ。General Purpose I/

T 君： そ れ は つ ま り、L チ カ で す ね？

O という名前からもわかるようにどれも

Raspberry Pi 的には。
O 先生：それは最後のおたのしみ。まずは本当にソフトウェアで Hello, World だ

カやろうか。

汎用的に使え、信号の入力にも出力にハードウェアで23:10
Hello, World

アイスクエアシー

エスピーアイも使えるのだけど、一部には I2C や SPI、
ユーアート

UART といったシリアル通信の機能を割よ。食事もしたし、じっくりやろう。じゃT 君：いよいよ L チカやるんですね。

り当てられるピンがあるんだ。つまりそあ最初は C 言語で元祖 “hello, world” だO 先生：いやぁ、そうしたいんだけどれらに対応した電子回路も簡単に繋がるな。君なら簡単だろ？ gcc あるから書ね ー。 そ の 前 に レ ク チ ャ ー が 必 要 だ。 ということだよ。

いたらコンパイルして実行するだけだ。

Raspberry Pi の GPIO というピンヘッダ

T 君：RS-232C にも対応していますか？

について。ここ試験に出るからちゃんと

O 先生：RS-232C 準拠の装置と接続する

ノート取っておくように。☞

4-2-2

T 君：え、試験するんですか？

にはロジックレベルの変換が必要だが、それさえ行えばもちろんできる。自作のO 先 生： も ち ろ ん 冗 談 だ。 そ れ で な、 プログラムから GPIO ポートの制御が可
Raspberry Pi の SD カードスロットの隣、 能なのだが、L チカ程度ならシェルスク
マイクロ USB 端子と反対側の角に 26 本

リプトから簡単にできる。というわけで、のピンがあるだろう？ここに GPIO ポー

シェルスクリプトで L チカするぞ。

トがある。

T 君：ワクワクしますね！

T 君：はい、できました。

T 君：ここに LED を繋げるんですか？

O 先生：まずは回路を組もう。だんだん

O 先生：次は、君の得意な Web で Hello

O 先生：そのとおり。でももちろんどこ

電子工作っぽくなってきただろう？

, World かな。ブラウザで HTML ファイに繋いでもいいわけじゃない。各々の端T 君：半田ごて使うんですね？

ル開くだけだし簡単だろ？

子には役割があるんだ。

O 先生：いや、今日は使わないから大丈T 君：HTML 書いて……、ブラウザで開T 君：どんな役割が？

夫。お手軽だろう？

いて……、はい、できました。えぇと、T 君：確かに手軽ですね。ちょっと残念

大体このくらいですかね。

ですが。

O 先 生： 最 後 に、『 今 ど き 』 の Hello,

O 先生：今日は機材を貸すが物品リスト

World をやってみよう。

を教えるから後日買っておいてくれよ。

T 君：今どきというのは……？？？

T 君：はい、ノートにメモします。でもO 先生：Raspberry Pi で Hello, World とこれ、秋葉原に行って買うんですか？

ツイートするんだ。実はこれは凄く大きO 先生：大丈夫、全部ネット通販で買えな意味を持っていて、電子工作で作ったるよ。はい、じゃあ今から言うように組

ガジェットが Twitter で喋りだす時代っみ立てて。後でできるようにノートも忘

てことなんだよ。例えばドアセンサを付れずに。☞

けたら、そのドアセンサが「ドアが開いたなう」ってネットでつぶやくわけ。
T 君：画期的ですね！
O 先生：それじゃやってみよう。そのためにはツイートをしてくれるコマンドが必要になるんだけど、今回は橋本商会さん（☞次頁ミニコラム #2）のサイトにある tw というコマンドを使わせてもらおう。はい、ノート取ってね。☞

4-2-1

T 君：僕のアカウントが Hello, World ってつぶやきました。へぇー、コマンドか

＋3.3V

１

２

＋5V

GPIO0(SDA)

３

４

＋5V

GPIO1(SCL)５６

GND(0V)GPIO4(GPCLK0)７

８

GPIO14(TxD)

GND(0V)

９

10

GPIO15(RxD)

GPIO1711

12

GPIO18(PCM̲CLK)

GPIO21(PCM̲DOUT)

13

14

GND(0V)GPIO2215

16

GPIO23

+3.3V

17

18

GPIO24

GPIO10(MOSI)

19

20

GND(0V)GPIO9(MISO)

21

22

GPIO25GPIO8(SCLK)

23

24

GPIO8(CE0)

GND(0V)

25

26

GPIO7(CE1)

4-2-2

T 君：回路できました。
O 先生：よし、じゃあシェルスクリプ
ト 書 い て。GPIO の 制 御 は、/sys/class/gpio 内のファイルを echo でいじればいいだけだ。ファイルの詳しい使い方は今から教えるから……
T 君：「ノートに書くように」ですね。
☞

4-2-2

O 先生：さてどうだい？
T 君：あれれ？点滅しません。

O 先 生： 大 別 す る と、 電 源 (+3.3V、 O 先生：うーん、プログラムを間違えて7

るせいか、配線を間違えてるせいか、どっ

まったな。まあ、最初はそんなもんだよ。 T 君：あれ、点かないなぁ。あ、この配線！

ちの可能性もあるからよく確認して。

T 君：ノート取りながらですからね……

正しくはこっちですね、ノートノート。

O 先生：じゃあ今度はこれで L チカしてO 先生：T 君ダメだ！今はノートを取っみたまえ。

てはいかん。
T 君：？
O 先生：高電圧を掛けたまま作業を中断
しちゃ絶対にいけないんだ。うまくいかないからといって、一旦休憩するなんてのももってのほか。まず安全な状態にすべくコンセントから抜くこと！

T 君：あ！チカチカしました！配線ミス

T 君：はい、肝に銘じます。

が原因だったみたいです。

O 先生：さてどうだい？

O 先生：おめでとう。じゃあ次はスイッ

T 君：え、それは電球じゃないですか！

チの ON/OFF を読み取って L チカしてみ

O 先生：そうだよ。電球は Light だろ？

よう。L チカだけだと、GPIO は出力としこれだって L チカじゃないか。

てしか使わないが、スイッチを読み取る

T 君：なるほど……。でも、こんな電球には入力としても使わなきゃならないかまで制御できるんですか。スゴいですね。

らね。これも教えるから、さあ配線してO 先生：そうだろう。でもな、これは今4-2-2まで以上の緊張感で臨まなければならな

T 君：……先生、なかなか手こずっちゃい。100V の回路を扱うんだから、一歩いましたができました。スイッチ ON の

間違えば感電したり火事になる。Ctrl+C

T 君： 先 生 で き ま し た。 こ れ

時だけホラ点いてますよね。

で無かったことにできるソフトウェアのスゴいですね！☞ QR416

プログラムして、あとノート！☞

O先生：合格！じゃあ、
Hello, Worldやろう。 世界とは大違いだ！心するように。それ

O 先 生： そ う だ ね、L チ カ と

T 君：え、L チカ =Hello world ってこと

じゃ、回路の組み方を説明するぞ。

いっても電球でやる人はあまりいないか

だったんじゃないんですか？

T 君：はい。

らね。お疲れさん。

O 先生：なーに言ってるんだ！ちゃんとO 先生：配線終ったかい？

モールス信号で Hello, World を表現する

T 君：はい、OK です。

んだよ。モールス信号の点滅ルールも教O 先生：まあ大丈夫そうだな。それじゃえるからプログラムを組んでみたまえ。

電球側についている電源プラグをコンセ

O 先生：いやぁ、よくやったね。おめでT 君：こ、こうですかねぇ……。

ントに挿して。

とう。さてと、こうやって Raspberry Pi

O 先 生：H･E･L･L･O･,･W･O･R･L･D。 よT 君：挿しました。

の実力が垣間見えたところで、もっと詳し合格。やっとできたか。1 時過ぎてしO 先生：プログラム実行して。

しく教えてあげよう。Wi-Fi や第二の有

1:29

QR416

O 先生冴える !

線 LAN を繋ぐ話や、IPv6 の話なんかも

ミニコラム#2:Adafruit社と橋本商会さん

O 先生：じゃあ今日は概要だけにしてお2 つご紹介します。※より詳しく☞ QR418

QR418が公開しているサイトでチュートリアル記事が豊富で、Python を利用したコードのサンプルがたくさんあります。
◆「橋本商会」◆
さん(http://shokai.org/blog/)は、Raspberry Pi の応用例やノウハウが8

君、ノートの準備はいいか？
T 君：せ、先生～、眠気が。

Raspberry Pi にユーザ環境を構築する際にとても参考になるサイトと◆Adafruit◆
Learning System(http://learn.adafruit.com/) は、Adafruit 社

重要だ。よーし、今夜は特別講義だ！ T

こう。詳しくはまた次回にな。
T 君：でも講義はやるんですね ( 汗O 先生：読者の皆さん！参考文献やサイトをまとめておいたので、ぜひ読んでく

豊富にあり、特に Ruby を利用したサンプルが多いのが特徴です。記事中で紹ださいね～。☞ QR522

介したターミナルで使う Twitter クライアント tw も橋本商会さんが Ruby で開T 君： 先 生。 ま た、 一 体 誰 と発されたものです。何より日本語で書かれているのでとても読みやすいです！ :-)会話を……

USP MAGAZINE 2013 spring

QR522

特集― UNIX ネイティブ の電子工作塾

スペシャルインタビュー

小さなガジェットに息づくUNIXの思想
小学生の頃にはすでに、真空管などの部品を組み合わせ、ラジオやオーディオの周辺機器を自作していたという大野浩之先生。大学時代には村井純先生の手ほどきを受け、UNIX に目覚め常に UNIX ととも生きてきた生粋の UNIX 使い、すなわち UNIX ネイティブである。「僕は、UNIX 屋であり、電子工作屋。2つの世界の壁を取り払い、両者を橋渡しする機が熟したと思う」。まさに世の中では電子工作熱が高まってきており、そしてパーソナルファブリケーションという言葉が注目されつつある。満を持しての USP
MAGAZINE への寄稿に際して、大野先生の思いを語ってもらった。

（聞き手：松浦智之、まとめ：柏崎吉一）

Project（ イ ー ア ー ク・ プ ロ ジ ェ ク ト ）去年の Maker Faire Tokyo 2012 で、Tを推進中で、今後も緊急時・非常時に役君こと高嶋君に、貴社を紹介してもらっ立つものを形にしたいと考えています。

たのが縁でした。もとより、USP 研究所

秘密のメニューをそろそろ出してもいいと思ったの経営方針やユニケージ開発手法の考え方、実際に企業の業務システムや大学で活用される実績、所長さんの思想、編集――現在のお仕事や研究には表立って長さんの情熱に深く感銘を受けていたた「電子工作」の文字が出てきませんが。

め、今回の記事の執筆は二つ返事で引き

電子工作は私にとって、子供の頃から受けさせていただきました。

の趣味でした。趣味が昂じていつでも研――ところで、USP 研究所、および本究できるレベルには到達していました

誌のコンセプトは、1976 年に米国で出が、あえてそれを研究テーマに選びませ版された “Software Tools”（邦題：ソフんでした。レストランでいうと、お客さ

トウェア作法）に由来します。この本をんに出せばウケることは分かっていたけ

日本語に翻訳した木村泉先生の研究室のセキュリティ確保にも尽力。現在、金沢大学 総合

れど、裏メニューにしていたんです。

助手を大野先生がされていたというのも――大野先生のご経歴を伺いたいと思いた時、ライバルが現れて研究競争に競り同書で感銘を受けたのは、非常にシン

ますが、まず現在、大学で取り組まれて負けた時に気持ちを維持するための最終

プルな物を組み合わせてできるシステム

いることから教えてください。

おおのひろゆき●東京工業大学大学院講師の後、情報通信研究機構 (NICT) で非常時情報通信の研究を主導しつつ内閣官房に併任となり政府の情報メディア基盤センター 情報基盤部門長・教授。

いま思うと、メインの研究で行き詰っ

何か縁を感じますね。

手段（笑）。「俺にはこの秘密のメニューの美しさです。そして適材適所で多様な

現在は、金沢大学 総合メディア基盤があるぞ」と。研究者というのは孤高で道具を活用することの重要性を語っていセンターの情報基盤部門という部署に所あるほど、そういうものが必要です。

ます。多様性があればこそ、適材適所も属し、学生や教職員が利用する学内の情

ただ、自分の人生も折り返したし、世可能になる。この概念は、多様性のるつ

報通信ネットワークインフラを構築・運間では電子工作に対する追い風も吹いてぼでなければならない大学のあるべき姿

用する仕事をしています。金沢大学に赴いる。そろそろ表に出してもいいんじゃに通じていると思います。

任したのは、2006 年 4 月で、それまでないかと思い始めました。それで、かつSoftware Tools の考え方が、いままたは東京が仕事と生活の拠点でした。

ては電子工作関係の人が集まるカンファ

脚光を浴びているそうですが、世の中で一方、研究者として危機管理や情報通

レンスやイベントに参加する際は個人名機が熟してきたのだと思います。たと信、情報セキュリティなどを専門に研究で出ていたのですが、いまは堂々と大学

えば今回取り上げた Raspberry Pi（以降しています。たとえば、大規模災害が起の名を出して参加しています。

RPi） で は、LED を 点 灯 さ せ る の に、Cきた際に情報通信を可能にする新しいデ――USP MAGAZINE への寄稿が決まっで書く方法もあるし、シェル上でコマン

バイスの開発やスマートフォンで通信た背景には、大野先生と私が意気統合しドを打ち込む方法もある。いくつもの方を中継する仕組みを研究する、ε -ARKた経緯がありましたよね。

法をとりあげながら、どれがよいかを議

19

ドはその時々で違いますけ
ど、アダプターとか、通信モ
ジュールなどを必要に応じて作るという感じで、いつもものづくりをしていましたね。

じる考え方の面白さに目覚めました。

村井純先生に出会い、そしてインターネットと共に生きてきた――恐ろしい小学生ですね。

ただし、パタッと工作しな

周りの友達は、野球とかやっているのくなった時期も時々ありましに、自分だけ、違う方向に自転車で走った。そうなると「ハンダゴテ、 ていました。

▲中学生の頃、初めて自分自身で設計し、実装したという電子工作品。音声としてテープに記録されているモールス信号を元に実際のモールス信号を送出するという。

どこに行ったっけ？」という

ただ、振り返ると作っていたのは殆どような具合で。自分の中の電周辺機器なんです。無線機本体はつくら

子工作のブームにはだいたいないけど、周辺機器は作る。後の PC い

5 年～ 10 年くらいの周期がじりでも、マザーボードを買って、クロッ

あって。今また再燃していまクアップして、水冷して、といった表舞論するスタイルで、みなさんと一緒にそす。そのため、電子工作用の CPU でい台を歩かずに裏道ばっかり歩いているの思想を実践していきたいと思います。

うと Z80 から、いきなり AVR に飛びま （笑）。人生もそうです。米国にもさんざした。ちょうど 3 年前に脳内の電子工ん行きましたが、40 回以上行ったサン

作スイッチが ON になってから、ずっとフランシスコやサンノゼの裏道は詳しいそのままですね。

がのに、NY に行ったことがない。不思――ところで、大野先生と電子工作との――子供の頃は部品を買う資金をどう

議と路地裏と相性がよい人生（笑）。秋

出会いはかなり早いとか。

やって捻出していたのですか。

葉原もメインストリートの一本裏通りの電子回路でシェルスクリプトに通じる面白さに目覚めた

秋 葉 原 デ ビ ュ ー は 8 歳 の と き で す。

もらったお年玉とかひたすら貯め、と部品屋街を歩いているほうが、面白いも今年でもう 45 周年ですね。最初は、ラにかく安い店を探しました。近所の廃品のに出会えたりします。しかもメインス

ジオ少年でした。「ラジオの製作」、「子回収業者の店も通いました。この部品、 トリームを先取りしている。

供の科学」、「初歩のラジオ」といった雑もらっていい？と言って。真空管はソ大学の時は、ほとんど電子関係の授業

誌が教科書でした。その頃には回路図はケットから外しやすかったんです。たまには出席せず、単位を取るだけ。ただ、

だいたい読めました。ラジオのデッドコ

たま、良質な業者が家から自転車でいけ

東工大の修士１年の時に、村井純先生がピーとかしていましたから（笑）。

る距離にあって、その店の 20 代くらい助手で着任して来られたんです。修士 1のお兄ちゃんが「坊や、何作るの？」と

年の 1 月くらいに、初めて非公式にア

いって親切に教えてくれたんです。

カウントを作ってもらい、UNIX デビュー

中学生の頃はアマチュア無線。すでに大学 2 年生くらいの知識がありましたね。アマチュア無線用トランシーバーにその頃、オーディオ機器も弄りました。 しました。VT-100 という端末装置でメー自作した機器を取りつけるのがマイブー

プリアンプにイコライザーをつないで、 ルを送ったのが最初ですね。それ以来、ムでした。効率良く短波通信するためのエフェクターをかけてからメ

音声コンプレッサーとか、モールス通信

インアンプにつなぐとか。つを自動化する装置とか。CQ 誌やトラン

まり当時から、コマンドをパ

ジスタ技術という雑誌にいろいろ出ていイプでつなぐようなことをて、それをアレンジして組み込む、といやっていたんです。A、B、C

うのをやっていました。いまから思えばというコマンドがあるけど、かなりあやしい設計もありました（笑）。 そのつなぎ方だとうまく通ら高校に入ると、初期のマイコンが出ない。こっちの出力をここに始めました。定番ですが、私も NEC の入 れ る の が い い よ、 と。 真TK-80 に心をワシづかみにされた一人空管回路を組み立てる中で、で す。 後 は、PC-8001、8801 、9801、 「パーツを組み合わせて、新DOS/V 機、というパソコン時代の流れ

しいシステムを作る」という、にそのまま乗ってきました。扱うハー

いまのシェルスクリプトに通20 USP MAGAZINE 2013 spring▲市販の A6 プリンターを Rapberry Pi で制御。ドライ
バは主にシェルスクリプトで書き起こしている。連載
が続けばこういったものも紹介してきたいという。

特集― UNIX ネイティブ の電子工作塾
村井先生とのお付き合いがかれこれ四半連携もコマンドひとつで簡単にできる。

世紀続いて、UNIX とインターネットのArduino のライブラリーとの完全な互換発展と共に生きてきた、という感じです。 性は無いけれど、この小さなガジェット

Arduino には無かった
Raspberry Pi の新たな魅力に息づく UNIX の思想には深く共鳴できるのです。
RPi は、それ一台あればソースコード――今回の記事では、ハードウェアおよを編集してコンパイルでき、ライブラリ

びソフトウェアは、明示的な場合を除

もブログも、ソースコードと連携した形

き、大野先生が自ら設計し実装したもの

でネット上に置けます。ある機能を提供ばかりです。その中でワンボードマイコするライブラリーが欲しい、と思ったら、ン RPi が出てきますが、その魅力とは何

ネット経由のインポートも簡単にできでしょうか。

る。そういう部分を見ると、電子工作の注文した RPi が私の手元に届いたの新しいプラットフォームになりえます。

は、2012 年 11 月 頃 で す。 手 に し て す

たとえば、ロボコン大会では開発系でぐ私の工作魂に火がつきました。こいつプログラムを組んでから、それをロボッ

はすごいや、楽しいや、という感覚は、 ト本体に書き込んでいます。でも RPi を
Arduino などで過去にも味わったことが使えば、開発も競技もこれ一台で済むありましたが、RPi は、尋常ではなかっし、成果をリアルタイムにまとめたサイた。これをみんなに伝えなきゃ、という

トも同じ RPi 上に作って直ちに公開でき

使命感のようなものまで湧いてきたのはます。

人生初です。それから編集長さんに会っ▲ Arduino に接続するシールドと呼ばれる拡張ボード（あるだけ重ねていただいた）と、
Arduino 本体（一番下）。Rapberry Pi 登場
までは、こうして Arduino を堪能していた。
※ これは撮影のために重ねただけであり、実際は、こんなに重ねては使いません。

イピングに使えます。私も、先程述べた

実は、電子工作を楽しんでいる人は、 自身の研究テーマε -ARK Project に大て、USP MAGAZINE への記事掲載へとUNIX に興味がない人が多い。彼らにとっいに活用していきたいです。非常時に求話が決まって。

て重要な CAD のようなソフトウェアがめられる情報通信サービスを、Software

RPi は、一歩前の Arduino に感じた魅Windows でしか動かないという現実がTools の思想のもとに RPi で実現する。

力を全部持っていて、なおかつそれを全あったからです。でも RPi を使えば、シェ

低コストで、パワフルで、オープンな、

面的に加速した感じです。Arduino は、 ルスクリプトでデータを生成し、SSH でこんな標準プラットフォームの登場をシールドと呼ばれる標準化された小さな他のサーバーに飛ばし、処理した結果をずっと待っていたんですよ。

ボードを組み合わせることで、いろんな受け取って、次の処理に渡す、というク――しかも SD カードに環境が収められことができます。ある場合には、モーター

ラウド連携でさえコマンドライン一発でる点が優れてますよね。

を駆動する、センサになる、通信をする、 できます。これは画期的だと思います。

自 分 が 作 っ た 環 境 を SD カ ー ド に イ

PC と連携する。Arduino 本体には手を――UNIX 系の組込系プラットフォーム

メージ化し、他の人がその SD カードを出せないが、シールドを使えばいろいろに は、 既 に OpenBlocks、BeagleBoard

RPi に差し込めばいい。RPi 本体には何できます。

等もありますが、RPi と違うのは、そのも書き込まないから誰かが使っても元の値段でしょう。わずか 35 ドルでここま環境に戻すことを考える必要がなく次のでできるのは本当にすごい。

人がすぐ使える。

しかし、Arduino にも限界が見えてきました。CPU は 8 ビットでメインメモ
リは 2KB。1500Byte のイーサーネット

これは決定的だと思います。35 ドル

パケットをひとつ受け取ると、たちまちといえばランチ 3 回分。これだけの機

メモリが不足してしまう。GR-SAKURA

能を備えていながらも、同じだけの機能

や Arduino Due と い っ た 32 ビ ッ ト のをシールドで補った Arduino より大幅――ところで、この記事の意味とは。こ

ボードにも魅力を感じるのですが、そんに安価。だったら、UNIX ネイティブ向の記事では、教材や製品のプロトタイプ

な中で、UNIX が動く RPi と出会ってしけの電子工作塾を始めようと。RPi は、 を作るということでしょうか。

まった。Arduino 的な使い方もできるし、 学習教材として生まれてきましたが、研今、記事を通して伝えたいもの大学でのコロキウム（colloquium, 複

パソコン的に C でもシェルスクリプト

究用としても優れています。もちろん、 数形 colloquia）やゼミナール、さらにでもプログラムを書ける。クラウドとのプロフェッショナルにとってもプロトタ

は NHK の白熱教室などのノリで、若い21

メインテーマ

ら面白いのではないでしょうか。

トピックス――本誌読者へのメッセージを聞かせて
ください。

■＃１
Raspberry Pi 事始め● Raspberry Pi の可能性を広げる

・開発環境構築
・“Ｌチカ” (LED など点滅 )インターフェースのはなし（GPIO, I2 C, SPI…）■＃２
計測・制御・ネットワークを操る● 電子工作をネットの脅威から守る・Ｌチカの次は「モーターぐるぐる」・夏休み電子工作のすすめ■＃３
Ｏ先生 &Ｔ君の作品発表！

セキュリティーのはなし● e-Gadget「電子小物」を自作するはなし■＃４Internet of Things (IoT) 時代を切り拓く

・IoT とクラウドの密接な関係
・数々のネットワーク技術を駆使し、電子機器にクラウドへの道をひらくと簡単さ、美しさを伝え、これをきっかけに、日頃から UNIX に親しんでいる多くの読者のみなさんに電子工作に興味を持ってもらえればと思います。
UNIX 屋さんと電子工作屋さんの間には、これまでお互いに踏み込まなかった領域があります。例えば UNIX 屋さんに

● 電子工作時代の IPv6 と・こんな作品つくったよ・イベント出展レポート

UNIX ネイティブ流電子工作の楽しさ

下層レイヤー (ZigBee, PLC, etc)のはなし

とってみれは、制御したい電子機器をイ

本連載は、インターネットとリ

ターフェース回路を手作りするという対アルな紙面とを結ぶ新たな試み
でもあります。次号

応は、一般的ではありませんでした。対して電子工作屋さんにとってみると、い予告を含む最新情報
はこちら☞QR314

ンターネットに繋ぐために新たにイン

QR314▲ 大野先生が構想する今後の展開（内容は予告無く変更される可能性があります）

くつもの独立した計測や制御を同時に行う「並列処理」は慎重かつ正確に実装しなければならず、UNIX というリアルタ
イム性のない OS 上のシェルスクリプト

T 君が O 先生と自由闊達にやりとりしな

ユーザーは 100 万人ではなく 1 億人以で行おうなどという発想はなかったと思

がら、技術を身につけていくストーリー上になるかもしれないのです。

います。しかし RPi の登場で、こうしを考えています。

今後、機会があれば寄稿し続けたいとて互いにとって敷居の高かった問題が、ところで、かつてワークステーショ

思いますが、その場合、日頃 UNIX に親簡単に美しく解決できるようになりまンと言われていた UNIX システムが、一しんでいる方であれば小学生から年配のす。

式 300 万円くらいしたという 1990 年頃

方までどなたにも楽しんでいただける内

今後の寄稿では、互いの分野の作法もに、それを使いこなしたいシステム管理

容にしたいと思います。RPi なら、電源伝えてゆきたいです。UNIX 屋さんはよ

者のための手引きのような記事を、スーアダプタと HDMI ケーブルを用意すれ

くコーヒーを飲みながら作業をします

パーアスキーという雑誌に連載していば、テレビの画面に、「ハッピーバース

が、電子工作をする時は考えものです。

ました。「root 1/1000000」（世界に 100

デー、○○ちゃん」と表示できます。こ

機器の破損、さらには感電のリスクがあ

万 人 い る で あ ろ う UNIX 管 理 者 ＝ root

れだけでもお子様向けのとてもすてきなるからです。一方、電気工作屋さんも、ユーザーのうちの一人という意味を込め

プレゼントになると思います。もともと

電子工作した機器をクラウドに接続するた）というタイトルで、T 君が O 先生

児童や生徒の利用も想定されているのとなったらインターネットのセキュリと交わしたような会話を通して T 君でで、Scratch という、小学生でも使える

ティ上の脅威から自分が作った機器を守はなく K 君が育っていく、という話でように考えられたコンピュータ言語もるために、覚えなければならない作法がした。UNIX システムの面白いところは、 入っています。RPi は、決して専門家だあります。もしも、ネットワークを通じ時を経ても根本が変わらないので、いまて自分が作った機器が制御するヒーター

けのものではありません。

読み返しても結構通用することです。そこ の 記 事 を き っ か け に、 読 者 の みの連載の最終回で「またいつかどこかでなさんにはぜひ何か新しい RPi 作品を再会しよう」と書いたのですが、それかが不正に遠隔操作されようものなら火事を起こしかねません。

発 表 し て い た だ き、 作 品 の 所 在 地 を

USP MAGAZINE を通じて、UNIX 屋さら 20 数年経って御誌で実現した形です。 GoogleMap のようなクラウド上の地図

んと電子工作屋さんそれぞれが持っていし か も、1 台 35 ド ル の RPi は 当 時 300に集めて共有できるようにしたいと思いる技術、作法、美学といったものを共有

万円くらいしたワークステーションとます。その結果、「ラズベリー栽培」がし、お互いに見えなかった領域の広がり

機能的にそれほど変わらないので、root

活発な地域が一目でわかるようになったを見せていけたらいいですね。

22 USP MAGAZINE 2013 spring特集― UNIX ネイティブ の電子工作塾
rry
RaspbeJam#1s
Se sionRaspberry Piで使えるOS
金沢大学大学院電子情報科学専攻

大西和鷹

より詳しく
☞ QR524

はじめに
最 近 ス マ ー ト フ ォ ン 業 界 で は iOS・Android に 加 え、Firefox OS、Tizen、Ubuntu Phone など新たな OS が次々と発表されています。その昔、「コンピュータ
ば

ソフト無けれただの箱」という言葉があったそうですが、コンピュータを使う上で OS が欠かせないというのは今も昔も変わりません。Raspberry Pi も立派なコンピュータですので、何をするにもまずは OS の用意が必要です。
公 式 で 提 供 さ れ て い る Raspbian は Debian を ベ ー ス と▲ Firefox OS を Raspberry Pi で動かしているところしており、Linux 用に提供されている様々なソフトウェア
がそのまま動きます。HDMI やコンポジットなどの映像出力、USB、イーサネットに GPIO まで付いたコンピュータがRaspberry Pi は向いていません。
◆◆Android

3000 円弱で買えてしまうというのも Raspberry Pi の魅力の言わずと知れたスマートフォン向け OS です。ただし

1 つだと思います。

正確には提供されているのは Android に改造を加えた

もちろん、スペックは値段相応ですからサーバーとしCyanogenMod という OS です。（ベースになっているのてバリバリ働いてもらうのは難しいところですが、例えは Android 4.0）そのため Play ストアからアプリをイン

ば Apache をインストールし、他のマシンからブラウザでストールして使うことはできません。また、Raspberry

Raspberry Pi にアクセスして GPIO を操作する……といったPi のスペックでは力不足で、非常に動作は遅く、はっ事が簡単に出来てしまいます。これだけでも様々な応用が考えられますね。

きり言って使い物にはなりません。
◆◆OpenELEC

Raspberry pi で使える OS は Raspbian だけではありませ

動画や音楽などのメディアを再生する用途に特化したん。公式サイトで提供されている Raspbian 以外にもいくつ

OS です。起動すると HDD レコーダーのように動画や音か提供されています。

楽の再生を行うことができます。Raspberry Pi は MPEG

インストールRaspberry Pi の OS は主にインストール済みのディスクのハードウェアエンコーダーを搭載しており、フル HD の動画でもコマ落ちせずに再生することができます。録画
サーバーで撮りためた番組を TV に繋いだ Raspberry Pi

イメージとして提供されており、これをダウンロードして ddで観る、なんて使い方が出来そうです。

コマンドを使って SD カードに書き込むことで起動します。

ベ ー ス と し て Embeded Linux と い う 組 み 込 み 用 のLinux を使用しているため、動作が非常に安定しているOSという特徴もあります。

◆◆Raspbian◆◆Firefox OS

Raspberry Pi 用 に 開 発 さ れ た OS で す。 と り あ え ず

未だ日本では搭載した機種が発売されていないスマート

Raspberry Pi を動かしたいだけならこれで十分でしょ

フォン用 OS の Firefox OS も Raspberry Pi で試すことう。 ち な み に Raspberry Pi は 元 々 子 供 の 学 習 用 コ ン

ができます。正確には OS としての機能は含まれておらピュータとして開発されており、Scratch などの学習用ソフトがデフォルトでインストールされています。
◆◆FreeBSD

ず、Raspbian などの他の Linux 上で起動させます。
◆◆Chromium OS

機能はブラウザだけというクラウド専用 OS「Google

歴史ある安定性とセキュリティ重視のサーバー用 OS で

Chrome OS」のオープンソース版です。Raspberry Pi です。ただ上記の通り安定性を求める用途にはそもそも動くイメージは近日公開（？）とのこと。

9

＜ PR ＞

ユニケージ開発手法
教育講座のご案内########################################################## ユニケージ開発手法は、#UNIX 系 OS とテキストとシェルスクリプトを利用し、#「安く、早く、やわらかく」情報システムを構築できる、#
手離れのよい、” 日本発の ” ソフトウェア開発手法です。
#########################################################
この手法は、２００８年、IPA（独立行政法人情報処理推進機構）主催の「ソフトウェア・プロダクト・オブ・ザ・イヤー 2008 基盤ソフトウェア部門」を受賞しました。

////////////////////////////////////////////////////////////////////////////////■ 手法の特徴 ■① UNIX 系 (Linux, BSD..) のベーシックな機能・OSS を利用。

> ほとんどの Unix 環境で動作② ユニケージコマンド（usp Tukubai）を使用したシェルスクリプトで記述する。

> 古くて斬新なアプリケーション③ RDB を使わず、テキストファイルを整理整頓する。

> テキセツなデータ管理④データを整理整頓するシステムを構築してから、アプリケーションを開発する。
> 本来の開発順序⑤ 業務特化したサーバー同士のファイルのやり取りで全体のシステムを実現する。
> 効率的なサーバー配置⑥ システム内部は自由度が高く、外部とのやり取りは強固にガードする。

> 自由度の高いセキュリティポリシー

⑦ 開発の為のドキュメントは少なく、運用理解の為のドキュメントは充実している。
> 活用されるドキュメント//////////////////
44 USP MAGAZINE 2013 spring///////////////////////////////////////////////////////////////////////////////////「ユニケージ開発手法の教育講座は、
私に UNIX の始め方を教えてくれた。」～$

S1(UNIX 入門編）を受講したＡさんに、教育講座のエピソードを伺いました。～

episode 1 - 頭ではなく手で覚える
テキストには豊富な TRY（例題）があり、ともかく「手で覚える」ことを要求されました。つまり、ひたすら入力し、実行し、結果を確かめるという作業を繰り返すのです。
最初はよく理解できなかったのですが、とにかく例題を ” 入力 ”、” 実行 ” しているうちに、イメージがはっきりしてきて、” 理解 ” できました。さらに、パラメータを少しアレンジしたり、入力データを変えたりして試すと、動作が非常によくわかってきました。

$

episode 2 - UNIX の素晴らしさ
OS の役割や端末の意味の学習から入るのですが、自分はもともとは Windows 上でアプリケーションソフト開発を行っていたので、UNIX と Windows の違いがよくわかりました。コマンドを入力するオペレーション自体は、MS-DOS とそれほど違和感はありませんでした。
また、さまざまなコマンドの汎用性の高さに驚きました。ほとんどのデータがテキストでできているからこそですが、システムの様々な情報を、実際に自分で grep を使って拾い出してみたときには、正直 " 感動 " しました。また、セキュリティ
は大丈夫なのかなとも思っていましたが、パーミッションについて学習すると、どこを隠してどこを見せるかがちゃんと考えられていて、「あぁ、頭がいい」と、また感動してしまいました。

$

episode 3 - vi（Vim）
最初は起動しても何も入力できないし、「AA」と入力すると「A」とだけ表示…あれ？という具合に、今まで使っていたエディタと比べて非常に取っ付きにくかったのですが、講義中は vi 以外は禁止。でもそのおかげで、短時間で慣れることができました。
コマンドを覚えていなかったときは、ファイルの先頭に戻るのに「kkkkkkkkkkkkkkk…」とやっていましたよ。「h j k l」だ
けで移動は時間がかかっていたのですが、「^ 0 $」や「G gg」さらには「w W b B e E 」など、豊富にある移動コマンドを覚えると、カーソル移動が高速に行えるようになり、今では最初とは逆に、自分にとって超便利なエディタになっています。

■ ここをチェック！ ■①ユニケージエンジニアサイト
https://uec.usp-lab.com/

UEC（usp engineer's community）②教育講座の日程のご案内

http://www.usp-lab.com/LECTURE/CGI/LECTURE.CGI//////////////////////////////////////////////////////////////////////////
45ɔȊɐȊɔȊɐȊɔȊɐȊɔȊɐȊɔȊɐȊɔ

シェルスクリプト大喜利 第八回

皆様こんにちは。三か月のご無沙汰、シェルスクリプ
ト大喜利（略して sh 大喜利）のコーナーです。

₻₏₷₏₻ɔȊɐȊɔȊɐȊɔȊɐȊɔȊɐȊɔȊɐȊɔংٛȇȸ̽͂͜଑̩ȹ༎ਬಿȆ͙̥ͭ

ٝ
లส

₻₏₷₏₻

ΏͿσΑ·ςίΠఱ‫ܔ‬၌őŦųŭ ͞ œŶţźȂ őźŵũŰů ͉̈́̓ঀ̻̽͝Θιです。
そもそも JM にも載っていません。逆にシェルスク

このコーナーも八回目。三か月おきに開催してるので、リプトにとって不可欠な awk や sed 等は OK です。

もう丸二年経ちました。よくこんなおちゃらけコーナー

JM にもありますし。でも、よっぽど面白ければ、なが続いてきたなぁ。……と思っていたら、回を重ねる度

きにしもあらず？

盛り上がり、何と投稿数過去最高！ SoftwareDesign 誌

ࡼȂġOpen usp Tukubai(iuuq;00vfd/vtq.mbc/dpn0) も 使

等では Unix シェルの魅力を訴えたり、USP 友の会もΏͿ

用 OK ！但し、使う意義がそれなりに感じられないσࠝと名付けたクイズ大会（いゃ勉強会）を仕掛けたりと採用はキビシいですよ〜。

で盛り上がる中、őŰŸŦųŔũŦŭŭ ̤́ఴͅಯ͚༷まで現

ルールもおさらいしたところで、今日も始めましょう。

れたり、最近の動向に少々コーフン気味のアタクシです。

ུ๔‫ٳ‬ই

よーし、
sh 大喜利も盛り上げていくぞー。というわけで、毎度お馴染み、まずは本コーナーのシステムをご説明！

ΏͿσΑ·ςίΠఱ‫ܔ‬၌͉͂ΏͿσΑ·ςίΠఱ‫ܔ‬၌අခ͈σȜσɃల֚࿚Ʉ
Ĳ ȡ ů Ȫů ͉֨ତ́ঐ೰ȫ ͈ুடତ͈ಎͅంह̳ͥ ȸ႑઺ତȹ
ͬ஠̀‫ͥ͛ݥ‬ΏͿσΑ·ςίΠͬ੥̞̩̺̯̞̀ȃ

またまた数列問題ですよ。投稿がたくさん来るからって調子に乗り過ぎよね。それはさておき、累乗数というy֚Ȃġsh 大喜利はクイズやテストではありませぬ。なのでのは何かの x (x,y は自然数で y は 2 以上 ) と書き表せる

決まった答えというものはないのです。あえて言う

自然数のこと。例えば 9 は 2 だからこれも累乗数の一なら面白いスクリプトが正解！

種。これを判定するには 1 個 1 個試していくしかないඵȂġ面白いスクリプトとは例えば、こんなもの。
ͼȂġ人が考えつかない意外性がある

3と思うんだけど、どういうふうに試すかが腕の見せ所。
さて、どんな投稿が来ましたかな。

υȂġ美しい or 芸術的 or 記述がシンプル・短い or 高速ɝ̤ਈ‫ؚ͈̯ͭ‬ٜ൞ΧȂġアイデア・こだわりが光る

2!$"0cjo0cbti
3!
4!fdip!%2!!!!!!!!!!!!!!!!!!!!!!!}
5!bxl!(CFHJO|qsjou!2~|6!!!!!!!!!gps)y>3<jou)y_3*=>%2<y,,*|7!!!!!!!!!!!!!!!!!gps)o>3<y_o=>%2<o,,*|qsjou!y_o~
8!!!!!!!!!~
9!~(!!!!!!!!!!!!!!!!!!!!!!!!!!!!}:!tpsu!.l2-2o!!!!!!!!!!!!!!!!!!!}
21!vojrΣȂġネタになるようなバカバカしさ、
くだらなさがあるなど。でも最後のは段位強制返還の恐れありよ。:-)
२Ȃġス ク リ プ ト 動 作 環 境 は Linux と し ま す。 そ し て、
特 に 断 り な き 場 合 は、Linux JM(iuuq;00mjovykn/
tpvsdfgpshf/kq0) に記載されているコマンド及び機能のみ使用可能とします。これは多くの人が楽しめるよ
うにするためなのです。
（JM にあるので、C シェル系
での解答も OK ！̜͂ষ̥ٝͣ ŬŴũ ͜ ŻŴũ ͜ ŐŌĢĢĢ）
অȂġsh 大喜利はシェルスクリプトを披露する場なので、

なんと、USP の教育講座 ( ☞ 44 ページ ) を受けてくださった方からの投稿です。ありがとうございます。
22,23,…,32,33,…,42,43……と、2 乗以上の計算を、引数

MAGAZIN 2013013
3 spring
sprin
54 USP MAGAZINE

Ogiri8.indd 54

2013/03/12 12:17:27

徹底仕事術！
仕事術！
C U I 徹底仕ΏͿσΑ·ςίΠఱ‫ܔ‬၌
n の値を超えるまで順番にやったそうです。ただし１はɝŌ ̯͈ٜͭ൞

特別扱いするという「反則技」を使ったとコメント。

与えると正しく動かず、ボツになった投稿もありまして。

2!!$"0cjo0ti
3!
4!xijmf!sfbe!mjof<!ep
5!!!fdip!.o!%)fdip!%mjof!}!gpme!.x!2!}!tpsu!}!us!.e!(]o(*
6!!!fdip!#!#%mjof
7!epof

確かにそれは解答の美しさでは一歩劣りますね。しか第二問は実はいっぱい解答が寄せられたんですが、一し、お酒屋さんの投稿は今回の投稿中で計算が最速だっ番すっきりしているなと思ってまずこれを採用！素直でたのです。そこに敬意を表してඵ౲਎ဓだ！

分かり易いじゃないですか。

反則技とまでは言いませんが、今回の投稿は最も小さ
い累乗数である 1 を計算によって求めず、既知の累乗数として表示するものが多かったのですよ。また、1 をɝŨŰųŪįŴũ ̯͈ٜͭ൞

シンプルイズベスト、シンプルイズビューリフォー！

2!$"0cjo0ti
3!ed!.f!%2(ett2td2q\\qmd+emt"=b^tbmd2,etde+emt"=bmdmt"=c^etcy(!}!tpsu!.voというわけで一段授与。只今四段。
このお題に対する解法は概二つに分かれ、一つは前述

これはまたマニアック！なんと dc コマンド使って解のような各行毎にループさせるもの、もう一つはパイプいてますよ。しかし何だろねぇ、マニアックすぎて呪を使い、実質一行野郎なものでした。こちらは「元の行文にしか見えないぞ。一生懸命意味を解読してみると、番号を付けながら 1 文字 1 行化して、ソートして、元dc の処理はお酒屋さんとどうやら同じようで、やはりに戻して行番号削除」という流れですな。

1 は特別扱いしているみたいですよ。でも、こんな風に書けるとは面白いねぇ。よし、֚౲਎ဓ。今六段ね。
そして一人だけ、1 を特別扱いしていない投稿も……。

というわけで以降の解答はそのパイプ方式のもの。

ɝŵĶŵŮź ̯͈ٜͭ൞

あとこの解答は累乗数を求めるアプローチが先の投稿

2!$"0cjo0ti
3!dbu!.o!.!}4!bxl!(|qsjou!%2#=#%3#?#~(!}
5!tfe!.f!(q<t0_/+=00<t0?00<t0])/]*0]2]
6!0h(!}
7!bxl!(|jg!)%2!!0=/+?0*!|U>%2~!fmtf!|!qsjou!U%2~~(!}
8!tpsu!.o!}9!tfe!.f!(t0_/+=0=0<t0_/+?])/]*0]20(!}:!us!(]o(!(;(!}
21!tfe!.f!(t0;=0]
22!=0h<t0;00h(!}
23!tfe!.f!(t0_=])/+]*?])/+]*%0]3!]20(とは逆で、手当たり次第に累乗値を計算してから整理す

この投稿（シバンは入れさせて貰いました）も概ねそるのではなく、この数は累乗数かどうかを判定してます

うなってるわけで、そうそうまさにこんな感じですよ。

ね。速度比べをすると前者の方が圧倒的に速かったです。

初参加ありがとう ! ੝౲਎ဓ。

ɝͼΗυȜ̯͈ٜͭ൞
2!$"0cjo0ti
3!tfr!2!%2}bxl!(|y>2<ep|jg)%2&y>>1*|z>y<ep|z+>y<jg)z>>%2*|qsjou<ofyu~~xijmf)z=%2''y?2*~y,,~xijmf)y=%2*~(

アタクシが USP 友の会ブログ上に、その点に言及したお題解説を書いたのを読んだそうです。あ、どうもありがとうございます。

特別扱いしない美しい解答ありがとう！ブログ見てくれたし、一人だけだったしඵ౲਎ဓ。これで三段だ。
◇◇◇

しかし元の行番号を付けつつ 1 行 1 文字化とかその逆の操作といえば、Tukubai の得意技。そんな投稿も来ないかなーと思っていたらちゃんと来ました。

では第二問！

ɝ̤ਈ‫ؚ͈̯ͭ‬ٜ൞Ƀలඵ࿚Ʉ

2!$"0cjo0ti
3!bxl!(|
4!!!!!!!!!gps)j>2<j=>mfohui)%2*<j,,*|5!!!!!!!!!!!!!!!!!qsjou!OS-%2-tvctus)%2-j-2*
6!!!!!!!!!~
7!~(!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
8!tpsu!.l2-2o!.l4-4!!!!!!!!!!!!!}
9!zbss!ovn>3!!!!!!!!!!!!!!!!!!!!}:!bxl!(|
21!!!!!!!!!gps)j>4<j=>OG<j,,*|qsjoug!%j~<22!!!!!!!!!|qsjou!#!#-%3~23!~(‫࣐ͅڎ‬໼͐‫ם‬ౙࢊ͈ͺσέ͹αΛΠ͈ΕȜΠࠫ‫ͬض‬ड੝͈Ⴅͅ
ொව̳ͥΏͿσΑ·ςίΠͬै̩̺̯̞̽̀ȃ

分かりにくいので具体例を解説します。“stop” と書かれている行があったら、それをソートした “opst” という語を先頭に付け足して “opst stop” という行を出力せよという意味です。本誌前号にて、この作業を Perl で軽くこなしてる記事があり、悔しかったので読者の皆さんに解答を求めたというものでした。さてどうでしょう。

1 文字 1 行化されたものを戻すのに yarr コマンドを

55
5
5

Ogiri8.indd 55

2013/03/12 12:17:38

使ってますね。欲を言えば 1 行 1 文字化している最初ɝࣞ‫͈̯ͭמޘ‬ٜ൞

の AWK のところで tarr を使ってもらえたら……。

2!$"0cjo0cbti
3!
4!j>2<!\!.o!#%2#!^!''!j>%2
5!qbtuf!.e!#!#!]
6!!!=)qsjoug!#&13e]o#!%)fdip!%))222222222+%j**!}!]
7!!!!!dvu!..pvuqvu.efmjnjufs>%(]o(!.c%)tfr!.t-!2!:**!
}!]
8!!!!!om!.t#+#!.x3!.o!s{!.!}!]
9!!!!!ybsht!.o!2!.J(|~(!ti!.d!#fdip!.o!|~><fdip!|~!}!
cd!}!tfe!(t0_/%01'0(#*!]:!!!=)\!%j!.mu!:!^!''!%1!%)),,j***

でも、もちろん OK。使うことは手段であり、目的ではありませんからね。再度ありがとう。更に֚౲਎ဓして、これで三段。
最後に、ループともパイプとも違う第三の解法が寄せられたので紹介しましょう。

ɝ൐‫ ނ‬ŢŸŬŦų ̯͈ٜͭ൞
2!$"0cjo0cbti
3!bxl!(CFHJO!|gps)j>1<j=63<j,,*|o3b\j^>tqsjoug)#&d#)j&3>>1*@76,jou)j03*;:8,jou)j03**~~|gps)j>1<j=63<j,,*|ujnft\o3b\j^^>2~gps)j>2<j=>mfohui)%1*<j,,*|ujn
ft\tvctus)%1-j-2*^,,~gps)j>1<j=63<j,,*|t>tqsjoug)#&1#!ujnft\o3b\j^^!#e#-1*<t>tvctus)t-3*<htvc)010-o3b\j^-t*<qsjoug)#&t#-t*~qsjou!#!#!%1~(

1 個の AWK でまとめてますよ。なんでこんなふうに「Tail recursion にしてみました」ということでつまり、再帰的に処理することでループの二重化を回避してます。一重目のループは seq コマンドで回避。
なるほど、再帰的処理か。アタクシにはその発想がありませんでしたよ。素晴らしい。੝౲਎ဓ。
同様にして再帰的処理派の解答をもう一つ採用。

したのかと、本人のコメントを見ると「1 文字ずつ切っɝŁţŴťũŢŤŬ ̯͈ٜͭ൞

たテキスト全体に対して sort コマンドを掛けるとそこなるほど、確かに単語数が膨大になると sort コマン

2!$"0cjo0ti
3!dpmt)*4!|
5!!!!!qsjoug!#&13e+&13e>&13e!!#!%2!%3!afyqs!%2!]+!%3a6!!!!!uftu!%3!.mu!:!''!dpmt!%2!afyqs!%3!,!2a!}}!fdip
7!~
8!uftu!%|2;.2~!.mu!21!''!dpmt!%|2;.2~!%|3;.2~!''!%|1~!
afyqs!%|2;.2~!,!2a!%|3;.2~

ドの工程で並列化が阻害されてしまうか。もともとソー

こちらは再帰をコマンド再帰呼び出しではなく、シェトは同一行内だけで済ませればいいのであるから全体にル関数で実装してます。しかも seq すら使ってないと掛ける必要はないが、かといって一行毎に sort コマン

いう……。これまたスゴい、
お見事！ඵ౲਎ဓして六段。

ドを呼び出すのも効率が悪い、と。よく考えたなぁ〜。

そして、これ以降はアタクシも予想していた解法が続でパイプが目詰まりしてしまい、綺麗な流れ作業ではなくなってしまいます。なのでソートアルゴリズムを独自に実装しました」とのこと。

よし！ඵ౲਎ဓ。これで、おぉ六段だ。
◇◇◇

さーて、それじゃ次、三問目行きます。いつも三問目きます。ループに相当する効果のあるコマンド (seq など ) にループ処理を任せてしまうやり方です。そのやり方も皆さん実に多彩で、こんなにいろんなやり方があるはちょっと風変わりなものを用意するつもりではいますのか！とアタクシ感心しましたよ。

が、今回はそこそこヒットしましたか、たくさんの投稿ɝŵůŢŻŶŬŢ ̯͈ٜͭ൞

をいただきました。

2!zft!#%)zft!}!bxl!(|qsjou!OS~(!}!ifbe!.:!}!us!(]o(!(!(*#!}!ifbe!.:!}!tfe!(t0])\1.:^]|2-]~]*0y]20h(!}!bx
l!(|htvc)#y#-OS!#-#-!%1*<qsjou~(!}!us!(!(!(]o(!}!bx
l!.G-!(|qsjoug)#&13ey&13e>&13e]o#-%2-%3-%2+%3*~(!}!
tfe!(t011y11>110A0(!}!us!(]o(!(!(!}!us!(A(!(]o(!}!tfe!(t0_!00(!}!tfe!(t0!%00(!}!hsfq!.w!(_%(Ƀల२࿚ɄŧŰų ໲͞ ŸũŪŭŦ ໲֚ͬ୨ঀ̴ͩͅȂ ষͅা̳̠̈́͢߇߇͈
ນͬ୆଼̱̩̺̯̞̀ȃȁȁȁȁȁȁȁȁıĲīıĲľıĲġıĲīıĳľıĳġġȤġġıĲīıĺľıĺ
ȁȁȁȁȁȁȁȁıĳīıĲľıĳġıĳīıĳľıĵġġȤġġıĳīıĺľĲĹ

「seq は古い UNIX には無いので使わないで頑張りまȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁȁĻ

した」とのこと。seq を使った投稿が多い中、これは考ȁȁȁȁȁȁȁȁıĺīıĲľıĺġıĺīıĳľĲĹġġȤġġıĺīıĺľĹĲ

えたねぇ。それにしても yes コマンドか〜。久しぶりに

これ、for とか while とか使えば楽でしょうが、ダメ見たよ。第一回の大喜利のお題への解答としても通用すなんです。if と goto は？……でも Bourne シェルにはるねコレは。いいね！よし、֚౲਎ဓ。これで二段だ。

goto 文相当ありませんよ。C シェルにはありますが。( だɝઐᚧඵ჊̯͈ٜͭ൞

から C シェル投稿も歓迎ですよ〜 )2!tfr!21!::}tfe!(010|{<i~<t0])/]*])/]*0qsjoug!1]2+1]3>&13e!afyqs!]2!]]+!]3a0f<I<0:>0|h<t0]o0!0h<t0!!00q~<e(というわけでどうやってその制約を乗り越えてくるか !? 早速見ていきましょう。

ちょっと補足しときますと、これは GNU sed かつバー

MAGA INE 2013
MAGAZIN013
3 spring
sprin
56 USP MAGAZINE

Ogiri8.indd 56

2013/03/12 12:17:39

徹底仕事術！
仕事術！
C U I 徹底仕ΏͿσΑ·ςίΠఱ‫ܔ‬၌
ジョン 4.2 以降で動かしてください。4.2 未満の場合は、これにて本日の大喜利はお開き！読者の皆さん、投稿

コード中の “z” の部分を “s/.*//” に置き換えれば OK です。

してくれた皆さん、今回もまたありがとうございました。

さて、一行野郎ですな。こりゃまた sed を高度に使っൎࣂఱ༡ਬ

たもんだ……。さすがに計算結果を求めるのとそれを x
× y=z という書式にハメ込む部分は外部コマンドを頼っষ͈̤ٝఴているけど、9 個目で改行を入れるというところを含め、残りは全部一個の sed でこなしているという。
うーむ、松澤さんは確か第四回でも sed でお題を鮮やかに解いてたけど、今回も見事ですな。これはඵ౲਎ဓだな！これで三段。

֚Ȃġ1 〜 n （n は引数で指定）までの自然数の中に存在する今度は「Γ·ΏȜளତ」のペアを列挙（1 行に 1 ペア）するシェルスクリプトを書いてください。
ඵȂġHTML テキストを与えると、タグのツリーを返すシェ

ところで「Tukubai を使った解答も来ないかな〜」とルスクリプトを書いてください。ただし問題を単純思っていたらそれも来ましたよ。

化するために HTML は次の仕様とします。

ɝĴĳĲĶĲķ ̯͈ٜͭ൞

ͼȂġ全てのタグは属性を持たない

2!tfr!2!:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
3!us!(]o(!(!(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
4!tfe!(t0_])/+]*%0]2`]2`]2`]2`]2`]2`]2`]2`]20(!!!!!!!!!}
5!us!`!(]o(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
6!sbol!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
7!ubss!ovn>2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
8!bxl!(|qsjoug)#&e!&13ey&13e>&13e]o#-%2-%2-%3-%2+%3*~(!}
9!zbss!ovn>2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}:!efmg!2υȂġ<br>、<br/>、<!DOCTYPE> の よ う な 終 了 タ グ

いつも Tukubai コマンドを使った投稿をくれる常連२Ȃġヘンな名前のファイルができていて消すのに苦労しさんですね。ありがとうございます。

の無いタグを持たない\੄ႁ႕^!=iunm?=cpezm?!!!!!!!!!!!!!!!!!!iunm!!!!!!!!!ઢ̞୊αΑΠ4!!!!!!!!!!!!!!!!!!!!cpez!!!!!!!!!=pm?=mj?ઢ=0mj?=mj?x=0mj?!!!!!!!!!!pm!!!!!!!!!=mj?͉͉ͩ=0mj?=pm?=0cpez?!!ɨ!!!!!!!mj!!!!!!!!!=0iunm?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!mj!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!mj

た、というような思い出はありませんか？そこで、「そおぉ 4 つも使ってる。そうそう、5,6 行目の rank&tarr

んな名前のファイル作んなよ〜」と思ってしまうファと 8 行目は yarr はウマい使い方ですな。3 行目の sed

イル名のファイルを作るシェルスクリプトを書いても面白いね。しかしホント皆さん、いろいろなやり方でください。そのファイル名がどうしてヘンのか理由

解いてきますなぁ……。おっと段位の授与忘れるとこも添えて……。

だった。はい、֚౲਎ဓ。これで四段だ。

ൎࣂ͈̱̥̹

そして最後に。第三のパターンというか、一番驚いたのがこの解答！

!

お題への解答は、お名前（ペンネーム）、解答したいɝŨŰųŪįŴũ ̯͈ٜͭ൞

お題番号、解答スクリプト、簡単な補足の四点セットで2!tfr!22!::!}!tfe!.os!(t0)\2.:^*)\2.:^*0]2eo\+^Q]3eo\>^Q+q0q(!}!ed!}!zbss!.:

下記の宛先へ！一人何問でも何個でも解答可です。尚、またきた！ dc コマンド。しかも Tukubai を使ってい

次回締め切りは ˑ࠮ˎ˓඾ Ȫ࠮ȫ ࡿஜ ı শとします。
しかもその間は何度でも解答の修正を受け付けます。

るとはいえ、今回投稿された中でコードが一番短い！

̤ఴ̱̱̓̓͜௣̩̺̯̽̀Ȝ̞

また呪文のような dc コマンドのコードを解読すると、
つ ま り awk '{printf("%d*%d=%d\n",$1,$2,$1*$2})' に 相当することをやらせているみたいなのですよ。
表示する書式を指定するなんてことまで dc コマンド

お題の投稿も大募集。こっちは締め切りなしでずーっと募集してます。そして、考えてくれた方にも段位を授与します。自分で出題して解答するのも、OK ！

できるとは、アタクシは知らなかったよ！うーん、二段

ൎࣂ୶

授与と行きたいところなんだけど、列が揃っていないのが減点ポイント。最後にせめて keta -- とか付けて欲し
かったなぁ。ということで֚౲਎ဓ。これで、おぉ七段。
◇◇◇

どちらも投稿先は、です。面白ければ（ワリと）何でもあり！じゃんじゃん投稿待って
ます !

57
5
7

Ogiri8.indd 57

2013/03/12 12:17:40

TA LK LIVETechLION vol.1２

こ

が い

だ

ん

MC : 法林浩之、馮富久
TalkGuests : 小飼弾、松崎吉伸、奥谷泉、
ショウジヨシオリ、ショウジユウコ

201３.４.1８ Thursday

Place : 六本木 SuperDeluxe

Start 19:30 ～ Close 22:00（予定）

Ticket : 前売り・予約

主催：ユニバーサル・シェル・プログラミング研究所

協賛：技術評論社、オライリー、LPI-Japan、ハートビーツ、クラウドワークス、他

2700 円、当日 3200 円（1ドリンク込）

後援：日本 UNIX ユーザ会、EMZERO、キャリアデザインセンター「エンジニア Type」

おもしろエンジニアトークライブ 「TechLION（てっくらいおん）」 詳細は WEB で！

TechLION

会員募集中

シェルでつながる技術の輪！基礎から、プロのライブコーディング・ライブまで、いろいろやっています。おもいっきり真面目に、時に面白く、心から楽しめます。
会費は無料です。勉強会や定例会の参加費は営利目的ではない為、良心的です。

UNIX/Linux/ シェルスクリプトの可能性を極限まで追求します！
詳しくはhttp://www.usptomo.com にアクセス！
約 400 名の会員が定例会や勉強会で活発に交流をしています。

@usptomo

USP 友の会

USP MAGAZINE バックナンバー 好評発売中 !
vol.0 2011 spring~vol.3 2012 wintervol.4 2012 spring

vol.5 2012 summer vol.6 2012 autumn vol.7 2013 winter

なさい
在庫終了
です。

USP MAGAZINE は、
世界初のシェルスクリプト技術情報誌。
でもご存知のとおり、シェルスクリプトはグルー言語。
OS 深層から様々な言語・アプリの話まで、さらには技術の先にいるエンジニア達にもスポットを当てます。
目指すは、シェルスクリプト力とエンジニア達の地位向上！

定期購読又はバックナンバーをお申込みいただくと、PDF 版が無料で手に入ります。
ご購入、お申込みはこちらから⇒

USP 出版

定価 500 円（本体価格 476 円）

ごめん

自炊不要

発行人 當仲寛哲
発行・発売 有限会社ユニバーサル・シェル・プログラミング研究所〒105-0003 東京都港区西新橋 3-4-2 SS ビル 3 階 電話 03-3432-1174 発行日 2013 年 3 月 20 日

USP 友の会

USP MAGAZINE 2013 spring Vol.8

THURSDAY 1８ APRIL