「Software Design」2014年8月号
技術評論社 (2014-07-18)
このエントリーを書いている2日後には9月号が発売されるんだけど、これは7月に発売された8月号。ようやく通読したのでメモ。
第1特集が「ログを読む技術」。第1〜4章が、ログの基本とWebサーバー(Apache httpd、nginx)のログ、MYSQLのログ、ログローテーションとログウォッチの基礎編。第5章が「MSP直伝・プロがやっているログ監視」で、ログから障害原因を絞り込んだり、ログ監視の負荷を抑えたりといったTipsが集まっている。第6章が、スモールスタートのログ管理としてFlouentdを使う話を、Rettyでの例をまじえて語っている。
第2特集が「Linuxカーネルのしくみを探る」。forkとexecからプロセスが立ちあがる仕組みを、仮想メモリ管理やvDSOなどを含めて細かく解説。最後に、Linuxカーネルのソースコードを読むガイドも。
特別記事「OpenSSLの脆弱性“Heartbleed”の教訓」の後編も掲載。実際のソースコードでの問題点や、その修正の問題なども解説されている。
単発記事で「使ってみようtcpdump」。HTTPのプロトコルをtcpdumpで覗く例や、tcpdumpの出力をWiresharkで解析する例など。
新連載で、サーバーワークス代表取締役の大石良氏による「サーバーワークスの瑞雲吉兆仕事術」が登場。第1回は、前半でスマートフォンとクラウドが登場したことによる仕事のやりかた変化を語りつつ、後半でSIerのエンジニア、ユーザー企業のエンジニア、Web系エンジニアのネガティブな部分を取り上げるというちょっと挑発的な話に。
おなじく新連載で、USP研究所の鎌田広子氏によるほろ酔いインタビュー「かまぷの部屋」も登場。第1回は、JPNICの奥谷泉氏。
「Linuxカーネル観光ガイド」連載がLinux 3.15の機能で、ページキャッシュで捨てられてはまた乗るようなケースでうまくキャッシュする変更と、パフォーマンスのために電源管理(Cステート管理)を制限するPM QoS。「ハイパーバイザの作り方」連載が、仮想シリアルポートの実装。
RHELの「.SPECs」連載が、何気にRHEL 7の新機能・変更点の話。「Debian Hot Topics」連載が、Hurdの状況、glibcへ戻った話、Squeeze LTSのための協力者が必要という話、ファイルからパッケージを探す話、OSC 2014 Hokkdaido出展レポート。「レッドハット恵比寿通信」連載が、平初氏によるFedora Project/Fedora JP Projectの話と、アップストリームファーストの話。「Ubuntu Monthly Report」連載が、SoftEther VPSのサーバー側とクライアント側をUbuntuで動かす話。FreeBSDの「チャーリー・ルートからの手紙」連載が、gccからClangへ、さらにIntelコンパイラへの移行の話。
Android開発連載が、Google I/O 2014で出たAndroidとその周辺の新技術の紹介。Emacs超入門連載が、日本語入力のSKKと拡張ローマ字入力のAZIKの紹介。AWS入門連載が、環境構築の後編で、MFA(多要素認証)の導入。
結城浩氏連載が「Tradeoff」の技術的意味とその原因、日常生活での意味。enchant連載が、現場に戻る話から、Gemini、Skylab。はんだづけカフェ連載がmbedにBLEチップを付けてiOSで試す話。Digital Gadget連載が、展示に使う技術。Hack For Japan連載が、宮城県の離島である浦戸諸島でのハッカソンのレポートで、特にハッカソン終了後に持続するようにした話。温故知新連載が、カセットテープ。マンガ「ひみつのLinux通信」が、ejectネタ。
「日経Linux」2014年9月号
この号の執筆に参加したので報告と宣伝。
特集1「最新カーネルことはじめ」のPart 2を書きました。Part 1がマンガによる会社の比喩でカーネルを説明するパートで、Part 2はそこで出た仕組みを初学者が実際にLinux上で見てみる(/procを覗いたりとかそういう)という入門パートです。
Part 3からが本格的な話になって、Part 4がUbuntuで最新のカーネル3.15を動かして機能を試す話、Part 6がそのビルド方法。で、Part 4が著名カーネルハッカーの巻で、亀澤寛之氏によるzram・zswapの解説と、青田直大氏によるbtrfsの解説。ちなみに、巻末のカーネルハッカー連載も、亀澤寛之氏から青田直大氏にバトンタッチしていて、今回はext2の解説。
もう1本、巻頭のレポート記事で、AdobeとGoogleによるSource Han Sans(Noto Sans CJK)フォントについて1ページ書きました。
自分関係はそのぐらいにして、以下、通読メモ。
特集2が、小さいLinuxマイコン。Part 1が出たばかりのRaspberry Pi B+のレポートとownCloud化。Part 2が、Raspberry PiにSPI接続のカラーLCDをつないでXを表示する話。でPart 3では、jig.jpの福野泰介氏が開発した1500円マイコン「IhcigoJam」が登場。510バイト 制限ぎりぎりのゲームを動かしたり、ボクシングロボットを操作したりしていた。
特集3が「イチからわかるLinuxで復活PC超入門」。Windows XPマシンを想定した旧式PCのLinux化の話で、Ubuntuコース、Lubuntuコース、Puppy Linuxコースの3種類を解説。
特別企画として、ついに登場したCentOS 7の記事も。インストールやコマンドの違いの説明のあと、LAMP環境をインストールして簡単なプログラムを動かしていた。なお、巻頭レポートにもCentOS 7の話が。
中井悦司氏による新連載「Dockerを支える技術」が登場。第1回は、Linuxコンテナーについて説明したあと、libvirtから操作してみて、面倒な部分を洗い出すところ。
まつもとゆきひろ氏の「作りながら学ぶプログラミング言語」連載が、「言語の型デザイン(その1)」。静的型と動的型の比較に始まり、静的型+オブジェクト指向のC++やJavaのアプローチ、そのための型パラメータ、その後のC#やGo、TypeScriptのアプローチなど。
「systemdを超マスター」連載2回目は、いよいよsystemdの概要から、独自の制御の概念などのあたりを解説。
「Linuxカーネルの仕組み」連載は、デバイスについて。デバイスドライバ、デバイスの種類、割り込み、仮想デバイスなど。
「Ubuntuでやってみよう! これから始めるLinux超入門」連載が、複数のPCを相互接続する話。共有フォルダー、リモートデスクトップ、Synergyによる操作など。
Raspberry Piプログラミング連載が、デジタルフォトフレーム。WordPressで画像を管理し、Pythonで全画面表示アプリを作ってRaspberry Piで表示するというもの。
ほか、LPIC連載が、シェルスクリプト入門。復活PC連載が、3台のPCを使ってHadoopで分散処理する話。巻頭レポートで、Android Lのレポート。巻頭フリーソフトコーナーが、FPSのAssaultCubeとスクロール型シューティングのKobo Deluxe。美女Linux連載が、grep、wc、uniqあたり。コミュニティ訪問連載が、Hadoopユーザー会と、Hadoop Conference Japan 2014の様子。
そうそう、人気マンガ「#!シス管系女子 Season 2」は、findでのandやorによる条件の組み合わせについて。
「偉人は死ぬのも楽じゃない」「人間臨終図巻」「死因百科」
第20代米国大統領ジェームズ・A・ガーフィールドは、拳銃で背中を撃たれたあと、消毒の概念がない時代の医者が何日も傷口に手を入れて銃弾を探しまわり、結局絶命した。銃弾は重要な臓器をかすめておらず、医者が手を入れていなければ命を落すこともなかっただろうという。
「偉人は死ぬのも楽じゃない」は、こうした歴史上の人物が亡くなるときの騒ぎを紹介する本。ツタンカーメンに始まり、ユリウス・カエサル、クレオパトラ、クリストファー・コロンブス、モーツァルト、ベートーヴェン、アインシュタインまで19人の死が取り上げられている。
特に重点を置かれているのが、医学の未発達による乱暴な治療だ。重体の人間に瀉血を施したり、乱切器で傷をつけたり、腹に穴をあけて縫合せずに布を詰めたり。読んでいるほうでも身がすくむ感じだ。前書きにも「血なまぐさい話が苦手なら、この本を読んではいけない」と。
本書はもともと10代向けの読み物として書かれた本で、各章末にはその人物や病気などに関連する豆知識も置かれている。前述のガーフィールドの場合は「ガーフィールドには間に合わなかった医学の進歩」なんてネタも。
徳間書店 (2011-11-02)
売り上げランキング: 24,656
著名人を主にその死に絞って取り上げている本といえば、山田風太郎の「人間臨終図巻」だろう。享年順という機械的な順序で、短く淡々としながら機知の効いた文章で人々の臨終の様子を描く名作。
改めて読んでみると、谷崎潤一郎の項で引用されている谷崎の言葉にあるように、青年時代と年をとってからとで、「死」に感じるものが違うのだなと感じる。
「人間臨終図巻」のように機械的な順で多数の死に方を並べた本に「死因百科」がある。こちらは無名の人を中心に、「アイスクリーム」「車」「伝染病」「春休み」など死因となったものを辞書順に並べ、多数のエピソードを挙げている。「結婚式」の項では、新郎新婦が小型飛行機で飛び立つときに、有人がその前に立って尻を出して轢かれた、なんて話も。そんな、変わった死からありふれた死まで、さまざまな死因が、まさに事典的に網羅されている。
とにかく取り上げられた事例が細かく、帯にいわく「アメリカでは年間に、3人がワニく食われて、30人がスカイダイビングで、40人がサソリに刺されて、143人が落雷で、1795人が救急車の事故で、3761人がマスターベーションで、この世を去っている」。
また、昔の死因から現代的な死因(「たまごっち」の項もある)までカバーすることで、米国の発展の歴史のようなものが見えてくる。「戦争」「西部開拓」という項もあるし。
以上、「偉人は死ぬのも楽じゃない」を読んだ機会に3点を並べてみたけど、ちょっと悪趣味だったかな。まあ、お盆シーズンということで。
「リバースエッジ 大川端探偵社」1〜5巻
狩撫麻礼(ひじかた憂峰)の漫画原作は、アウトサイダーな世界を描きながら、どこかある種のメルヘン的なものを感じる。その最たるのが、いくつかの作品で登場する落魄したサーカス団のイメージだろう。
TVドラマ化もされた「リバースエッジ 大川端探偵社」では、レギュラーである大川端探偵社の3人が、あくまで狂言回しに徹し、依頼されて人物や事柄を調査する。それに加えて短編読み切りなこともあって、いつもの狩撫節語りが控え目になっている。
そのぶん、そのメルヘン的な面が前に出ているように感じる。いわば、「都会の民話集」。たなか亜希夫の絵も、真の主人公である登場人物たちを描き分けている。
「デスペナ」3巻
押川雲太朗原作による、生命をかけたギャンブル対決マンガが全3巻で完結。押川雲太朗氏のブログによると打ち切りだそうだけど。人が一人ずつ消えていく勝負、3巻で結末はつくのか!?
今回は、オビにあるように女 vs. 女の遺恨をまじえた対決。5スタッドポーカーで、イカサマをまじえた心理戦が繰り広げられる。
「第12回本当は怖くないシェル芸勉強会」の問題を試してみた
TODO山積みなんですが、なんか現実逃避で「【問題だけ】第12回本当は怖くないシェル芸勉強会 | 上田ブログ」の問題を試してみました。
環境はLinux + bash。とりあえずawkやそれより高機能なツールは使わない方針でやってみました。しかし、なんかスマートじゃない。
Q1
$ for i in {10..0} {1..10}; do printf '%*s%*s%*s\n' $((10-i)) '' -$i x $((i+1)) x; done | sed -e 's/xx/x/' x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
Q2
$ echo 'たけやぶ' | (read x; echo -n ${x:0:-1}; rev<<<$x) たけやぶやけた $ while read x; do echo -n ${x:0:-1}; rev<<<$x; done < kaibun たけやぶやけた わたしまけましたわ
追記:全部sedでやると、こうか。
$ echo 'たけやぶ' | sed -e 'h;s/.$/:/;:a;s/^\([^:]\)\(.*\):/\2:\1/;t a;x;G;s/[\n:]//g' たけやぶやけた
Q3
パス。というかこの問題があったの、今気がつきました。
Q4
$ curl -s http://elze.tanosii.net/d/kenmei.htm | nkf -wd | sed -ne '/^ <TD>/{s///;s/(.*//;p}' | grep -f pref 青森県 群馬県 大阪府 鹿児島県
Q5
$ while read x; do (sed -e 's/ .*//'<<<$x; sed -e 's/^..//'<<<$x | tr ' ' '\n' | sort -nr) | tr '\n' ' '; echo; done < input A 1234 31 4 -42 B 94 31.1 10 -34
Q6
$ while read n; do printf '%2d ' $n; printf '%*s\n' $n '' | tr ' ' '*'; done < num 5 ***** 3 *** 4 **** 10 ********** 2 **
追記:pure bashだとこうか。
$ while read n; do printf '%2d ' $n; printf -v b '%*s' $n ''; echo "${b// /*}"; done < num 5 ***** 3 *** 4 **** 10 ********** 2 **
Q7
パス。
Q8
$ while read x y; do if (($(eval echo "\$(($y))") > 0)); then echo $x; else rev<<<$x; fi; done < result > /tmp/r $ (sed -e 's/-.*//' < /tmp/r ; echo -e "A\nB\nC") | sort | uniq -c > /tmp/r1 $ (sed -e 's/.*-//' < /tmp/r ; echo -e "A\nB\nC") | sort | uniq -c > /tmp/r2 $ join -j 2 -a 1 -a 2 /tmp/r1 /tmp/r2 | while read t k m; do echo $t $((k - 1)) $((m - 1)); done A 0 3 B 3 1 C 2 1
ちと苦しい。
追記:解答例の出力フォーマットを見ると、これでもよさそう。あいかわらず苦しい感じですが。
$ while read x y; do if (($(eval echo "\$(($y))") > 0)); then echo $x; else rev<<<$x; fi; done < result > /tmp/r $ (cut -d - -f 1 /tmp/r | sort | uniq -c | sed 's/ *\(.\) \(.\)/\2 \1勝/'; cut -d - -f 2 /tmp/r | sort | uniq -c | sed 's/ *\(.\) \(.\)/\2 \1負/') | sort A 3負 B 1負 B 3勝 C 1負 C 2勝
第112回カーネル読書会に参加
Linuxカーネルとその周辺関する勉強会の第111回カーネル読書会に参加してきました。
今回は、よしおかさんのOSCONのレポートと、楽天の方によるOpenStackの話でした。
LT(組み込みの人さん)
飛び入りLT。ハンドル名どおり組み込み屋の人がDockerの話を聞いて、chrootみたいなものだろうと思っていたけど、実際に触ってみたら手軽で便利だったという話でした。
「OSCON 2014, trip report」(よしおかさん)
オライリーのイベント「OSCON」に参加した報告。参加者が3,000〜4,000人ぐらいで、日曜〜木曜の5日間。最初の2日間がチュートリアル中心で、残りの3日がそれぞれのセッションだったそうです。年齢層は幅広く、中学生によるキーノートもあったとか。
技術ハンズオンからコミュニティ運営までいろいろなセッションが紹介されたほか、スライドが15秒間隔で自動的に送られるLTイベント「Ignite」とか、ジョギング大会とかのレポートもありました。
ちなみに、開催地のポートランドなどオレゴン州はUSAの地ビールの名産地だそうで、会場近くの公園でもビール祭をやっていたとのことでした。
「OpenStack, Hacking, Community」(Sasakiさん、Makigakiさん)
楽天のSasakiさんとMakigakiさんによる、OpenStackの話。Sasakiさんが、楽天で使うためにソースをいじった話、MakigakiさんがOpenStack開発コミュニティの紹介でした。
まずSasakiさんの話。楽天では、Hadoopや一部データベースを除いてほとんどのサーバーが仮想化されているとのこと。現在VMware vSphereベースで独自のクラウド管理基盤を使っていて、それをOpenStackに移行する予定。2月ぐらいからOpenStackを検討して、まだ開発環境のみだが、11個のデータセンターに順次OpenStackを入れていくとのことでした。
いろいろ問題があってソースをいじった中でも、「すでに動いているVMを無停止でOpenStackで管理できるようにする」という要請にいかに応えるかの話が語られました。管理情報を直接移すのはうまくいかなかったので、OpenStackのNova(コンピュートノード)に手を入れて、VMを立ち上げるかわりにvSphereからinstance_id(UUID)をSELECTして、あたかもNovaが起動したVMであるかのように騙すという方法をとったとか。これは、もともとNovaのvCenterプラグインは特殊で、操作をvCenterに丸投げしているのでうまくいくそうです。
Makigakiさんの話はOpenStack開発コミュニティの紹介。スポンサーとTechnical CommiteeからBoardに人を出す運営方式で、Linux Foundationに似ているようでも違うようでもあるとのこと。あと、「Linusみたいにキレる人はいない」とw
コミュニケーションはIRC中心。GitHubにgitミラーがあるがあくまでミラーで、そちらのプルリクなどは無視されるとのこと。イシュー管理はLaunchpad、コードレビューはGerrit、CIのテストはJenkins。
コードがマージされるまでは、まずGerritでレビューを受け、すべてのテストが通り、コアレビュアーのレビューを通り、コアデベロッパーがapproveするという過程を経るそうです。Gerritのcommunity reviewでは、アカウントを持っている人は誰でも+1/-1を付けられるとか。
OpenStack Summitではコントリビューター入門講座の「Upstream Training」というのも開かれていて、Makigakiさんも参加したそうです。事前審査に合格すると無料で参加でき、ツールの使い方から、開発コミュニティに参加する心がけまで2日間で学ぶとのこと。また、レゴを使ったアジャイル研修もあったそうです。