本を読む

読書やコンピュータなどに関するメモ

「Software Design」2014年5月号

 通読したのでメモ。

 新人歓迎号のようで、第1特集が「ネットワーク技術超入門 ポートとソケットがわかればTCP/IPネットワーク技術がわかる」。ソケットとポート、IP・TCP・UDP、DNS、ICMP、pingとtracerouteといったあたりの基礎を解説。技術的に正しくかつわかりやすく説明する“あきみち”(geekpage)氏の文章に、「小悪魔女子大生のサーバエンジニア日記」のaicoさんのイラストが合わさっていて、これはためになる。作りの面でも、説明のための図がすべて、普通の図ではなくaicoさんのイラストになっているという力作。

 第2特集が「UNIX必須コマンドトレーニング」。くつなりょうすけ氏が新人エンジニア向けに、Unix系OSのコマンドライン操作の基礎を解説。コマンドラインの意味やPATH、パーミッション、標準入出力とパイプ、find・xargs・forなどを使った一括処理、ps・killall・ifconfig・lsof・telnet・curl・rsyncなどの管理系コマンド、smbclientやcadaverによるファイルサーバー接続などを扱っている。あと、unar知らなかった。

 新連載がいろいろ。短期集中連載「Rettyのサービス拡大を支えた“たたき上げ”DevOps」は、グルメ系サービスRettyのインフラをInfrastructure as Code化した体験談で、初回はVagrantをインフラのリバースエンジニアリングに使った話。

 同じく短期集中連載の「Web標準技術で行うWebアプリのパフォーマンス改善」は、html5jエンタープライズ部の川田寛氏によるW3Cの「Web Performace Working Group」のパフォーマンス改善手法の解説。

 「るびきち流Emacs超入門」は、るびきち氏によるEmacs解説連載で、第1回は、Emacsの特徴の説明。

 「.SPECS」は、Red Hat Enterprise Linuxについて、純粋に技術的とは言えない話題を扱う連載とのことで、第1回はサブスクリプションやサポートとはどういうものかについて。

 その一方で最終回もいくつか。短期集中連載「Mac as a desktop Service」の最終回は、いくつかのモデル構成の解説。Riak連載の最終回が、データをなくさないための技術のしめくくりで、レプリカの不一致や不足が起きたときにレプリカを復元する手法の解説。「サーバーマシンの測り方」の最終回が、abより強力なHTTPベンチマークツールを使ってボトルネックを探る話。

 Linuxカーネル観光ガイド連載が、Piになるとかならないとか言っていたLinux 3.14のコードネームの話と、デッドロックによるカーネルパニック時にロックの依存関係を調べるlockdepの話。ハイパーバイザ連載が、bhybveの仮想NICやTAPの実装のあたり。

 Debian連載が、SqueezeのLTSサポート(ちょうど掲載号発売ごろに決定)と、apt-lineの「ピン留め」の解説。Ubuntu連載が、AMDのAPU「Kaveri」でUbuntuを使う話で、LibreOfficeでのOpenCL利用やビルドでのベンチマークなど。BSD連載が、BSDでのBINDからUnbound+LDNSへの変更について。レッドハット恵比寿連載が、シンガポール支社やグローバルなキャリアパスについて。

 セキュリティ連載が、スノーデン事件を受けて、NSAやODNI、PRISMなどの米国政府の諜報活動についての解説。その世界では「Open Source」というのは、公開されている情報を分析するインテリジェンス活動のことなのだとか。

 Hack For Japan連載が、会津若松市内にBeaconを設置してそれを使ったアプリケーションを考える「Hack For Town in Aizu」のレポート。

 Digital Gadget連載が、夢の操作とガジェット。enchant連載が、工場の問題の対応と、ソフトウェア開発のてこ入れ、文系女子大生にenchantMOONでプログラミングを教える話。キーボード連載が、小型メカニカルキーボードいくつか。はんだづけカフェ連載が、ステッパー編後編で、A4988と励磁モード、mbed接続。

 ほか、「シェルスクリプトではじめるAWS入門」は、ローカルに簡易Web API環境を立てる話。結城浩氏連載が「Hook」。jus連載が、OSC東京での東京大会で、よしおかひろたか氏によるオープンソース話の巻。温故知新連載が、杉田正氏によるPCハードディスク接続インターフェイスの話。小飼弾氏の「SDでSF」は、J.P.ホーガンの「断絶への航海」。Linuxマンガがエラーメッセージを読めという話で、モヒカン先輩というより……(以下略)。

「リーダーにカリスマ性はいらない」

リーダーにカリスマ性はいらない
赤井 誠
KADOKAWA/中経出版
売り上げランキング: 26,033

 飲み友達が1月にビジネス書を出した。こんな惹句にあるようなエラい人だったとは(笑)。知人バイアスはあるかもしれないけど、基本的に普通に自分で買って読んだメモ。

 エンジニア上がりの著者が、日本HPで当時社長の樋口氏(現日本マイクロソフト)にいきなりLinux事業のリーダーの役割をふられ、未体験でとまどう中で自分なりにうまくやって、300億円事業に成長させた経験から教訓を語っている。

 タイトルにあるように、テンションがんがん上げて勝負していく本ではなくて、身の丈にあった方法を気負わず実践する様子が書かれている。まあ、その身の丈がずいぶん高いとは思うんだけど。ちなみに著者は、京大工学部卒でMBAでラガーマンと、スペックは恐そうだけど、わりと飄々としたキャラの人。

 というわけで、以下のような教訓が、固くない、上から目線ではない筆致で書かれている。

  • トラブルの本当の原因を考え尽すより、仮説を立てて動く
  • 新プロジェクトでは、イシュー(本質的課題)から解決するのではなく、小さな課題から解決して実績と経験を作る
  • ブレークスルーを狙うより、早いサイクルの仮説検証と、素早い軌道修正
  • 時間軸の目盛の違いをすり合わせるのがリーダーの役目
  • エグゼクティブを動かして部下を褒めてもらう
  • 協業先のノルマ達成に協力して味方につける
  • ロジカルな言い訳重要
  • 部下の異動・転職は全力で応援する
  • 自分個人のブランドより成果を重視

 あと、以下のような著者のHP Wayへの共感も語られている。社内での仕事の連絡で「コンサートツアーに出るのでしばらく連絡がとれなくなる」とメールが来て、その人は実はジョー・ペリー・プロジェクトのボーカルでもあった、というエピソードも(笑)。

  • 10ステップ
  • 仕事に支障をきたさなければ、社外の活動を認める
  • リーダーが人事部となる

「サンティアゴ」上・下

サンティアゴ―はるかなる未来の叙事詩〈上〉 (創元推理文庫)
マイク レズニック
東京創元社
売り上げランキング: 313,036
サンティアゴ―はるかなる未来の叙事詩〈下〉 (創元推理文庫)
マイク レズニック
東京創元社
売り上げランキング: 194,293

 最近は寝る前に、頭を休めるために昔読んだエンタメ小説を読み返している。そんな中で特に、マイク・レズニックの「サンティアゴ」が面白かった。

 賞金稼ぎを主人公にした宇宙西部劇。ストーリーというより、癖の強い登場人物やエピソードをつないで話が進むという、キャラもの群像劇。そうした人物たちが、(直接登場しない)吟遊詩人の詩に導かれて登場する。エンタメに徹した作風とあいまって、ちょっと日本のマンガやアニメっぽい。松本零士とかトライガンとか。

 そういえば、この小説を最初に読んだぐらいの頃、船戸与一の南米三部作も読んでいたのを思い出した。

noteのフィードを取る

 note(note.mu)では、コンテンツはHTMLではなくJSONとして送られてJavaScriptでレンダリングされる。とりあえずトップページ表示で呼んでるURLをLiveHTTPHeadersで調べて、JSONの内容をフィード(Atom)に詰め直す使い捨てスクリプトで試してみた。

 ……すみませんnoteのアカウントまだ取ってません。

「世界のエリートは大事にしないが、普通の人にはそこそこ役立つビジネス書」

 「ペリーがパワポで提案書を持ってきたら」「耳なし芳一をパワポにする」など、数々のプレゼンのパロディで鳴らした「デイリーポータルZ」(DPZ)の林雄司さんが、いかに仕事している風にみせかけるかを伝授する、意識低い系のビジネス書!

 ……かと思って読んだら(そういうネタもあるけど)、実は「林雄司さんが語る『デイリーポータルZ』のつくり方」という、ファンにはたまらない本だった。意表をつかれた。

 書き方は脱力系だし、いいことを言おうとするとすぐ脱線するんだけど、けっこうまじめに役に立ちそうなことがいろいろ書かれている。ただし、企画やコンテンツに関わる人向け。

 けっこうストイック。「笑いを全面に出さない、それをやるとバンジージャンプとか自分を追い込む方向に行きがち」とか。「PVは無視。ページビューをあげようと思ったら猫や肉料理をテーマにした記事を書けばある程度あがる。それは『デイリーポータルZ』の方針の真逆」とか。

 「おもしろくするために皮肉を書いたり安易な自虐に走らない」というのも、確かにそのへんDPZには少ないな。「皮肉や危ないことやエロいことを書こうとすると、それ自体が目的となったりステロタイプになったりする」とか。あと、「オチはなくてもいい。できすぎた話は嘘っぽい」というのもDPZらしい。

 「DPZからはネットっぽい感じを排除したい」というのは前にもインタビュー記事で読んだことがある。ネタどりも、タクシーや街、本屋などで、自分のふだん見ていないものを見る、SNSは似た趣味の人が集まるので意外性がない、とか。

 一方、素材のアレンジ方法の定番とか、得意パターンを作っておくというアドバイスとかは、ストレートに役立つ。

 かと思うと、「商談は真剣に」という話のはずが、なぜか「おしっこ金閣寺」の話になったりするので油断がならない。

 いちばん重要なこととして繰り返し出てくるのが「自分が面白いことを書く」ということ。まあそれがネタ出しで一番大変なんだけど。

 そうそう、冒頭で挙げた「ペリーがパワポで提案書を持ってきたら」「耳なし芳一をパワポにする」あたりのシリーズが、巻末にカラーで収録されている。やっぱり芸こまかい。

bashで関数に配列を渡す

 Twitterで「bashの配列って本当の配列じゃなくて、空白で区切られた文字列の並びじゃないか」という意味のツイートを見かけました。位置パラメータのことかなと思って前後のツイートを見たら、配列をシェル関数に引数で渡すときの話のようでした。

 それは配列のデータ構造のせいではなくて、関数呼び出しのインターフェイスがコマンドライン形式(Cでいうとargcとargv)に決められてるのが原因だと一瞬思いましたが、いずれにせよ使う側には同じ話だと思い直しました。

 自分だったらシェル関数に配列を渡す必要があるときはどうするかというと、たぶん変数の動的スコープを使うと思います。

$ cat a1.bash
#!/bin/bash

bar() {
    echo ${ary[1]}
}

foo() {
    declare ary=("a b" "c d")
    bar
}

foo
$ bash a1.bash
c d

 ただ、呼び出し元と呼び出し先で暗黙に変数名を決めうちしているのがキレイではないですね。これはbash 4.3だとnameref(名前参照)を使う手があります。変数名を渡してるだけなので、名前の衝突には無力ですが。

$ cat a2.bash
#!/bin/bash

bar() {
    declare -n a=$1
    echo ${a[1]}
}

foo() {
    declare ary=("a b" "c d")
    bar ary
}

foo
$ bash a2.bash
c d

「日経Linux」2014年5月号

日経Linux(リナックス) 2014年 05月号 [雑誌]
日経BP社 (2014-04-14)
売り上げランキング: 8,031

 執筆に参加したので、報告と宣伝。まず巻頭レポートでUbuntu 14.04について書きました。β2版も出ていない時期に、デイリービルド版で試して書いたので、今では変わっているところがあったらご容赦ください。GUIまわりを中心に紹介しましたが、まあLTSであることが最大の特徴だと思います。

 あと、特集1「推しワザ99」で、Part 3の執筆に参加しました。Ubuntu Oneについて書いたら、雑誌が出るまでのあいだにUbuntu One終了のアナウンスが出されたのは、ありゃりゃと。

 特集1は私のところのほかにも、GUIやアプリ、周辺機器、管理系ツールなどを紹介しています。ちなみに、Upstartで自動起動を抑止するには/etc/init/*.confに“manual”という行を入れる方法もあると思います。

 自分関連はそのぐらいにして、以下通読メモ。

 特集2が「5大ディストロ速攻マスター」。ディストリビューションというか、GUIやCLIのユーザーインターフェイスの解説。

 特集3が「自分だけの面白ガジェットを作ろう!」。Part 1として、日本Androidの会秋葉原支部アクセサリ部と文化服装学院によるファッションショーを紹介。使われたガジェットとしては「AndroidからBluetooth経由で制御して計1500個のLEDを光らせる」「ギターに付けたモールス電鍵からの指示で音楽を鳴らす」というもの。Pat 2は、IntelのGalileoをDebian化し、RTCを付け、地震速報をチェックしてLEDやブザーを鳴らすというもの。

 新連載がいくつか。「Linuxカーネルの仕組み」は、NTTデータの高田氏・伊藤氏によるもので、今回はカーネルの各役割の紹介と、straceやprocfs、sysfsでカーネルのインターフェイスを見てみるところ、CentOSのカーネルパッケージの自前ビルドまで。

 「これから始めるLinux超入門」は、水野源氏によるもので、今回はUbuntuのインストール。先にLiveセッションで各種ハードを動作チェックするところまでフォローしている。

 「Raspberry Piをプログラミングで楽しもう」はガリレオ小山氏によるもの。今回は、各種プログラミング言語を紹介したあと、Pythonで簡単なゲームを作り、さらにブレッドボードで自作したコントローラをGPIOにつなげるというのがRaspberry Pi的な感じ。あとMinecraft Piも面白そう。

 亀澤氏のカーネル連載も、リニューアルして第1回。今回は、コンテナーのツールとしてLXC・libvert-LXC・systemd-nspawn・Dockerを紹介したあと、cgroupとnamespaceの概要を解説。

 連載では、中井悦司氏のOpenStack連載が、各コンポーネントの構成を紹介したあと、実際にKeystoneで認証トークンを発行し、Glanceで仮想マシンイメージを登録し、Neutronで仮想ネットワークを確認し、Novaで仮想マシンを起動し、Cinderでブロックイメージを作成して仮想マシンに接続するまで。

 まつもとゆきひろ氏の「作りながら学ぶプログラミング言語」が、字句解析とlex、構文解析とyaccを、四則演算を例に解説。

 鶴長氏の「Linux&OSSゼロ円マスター連載」が、HP ProLiant MicroServerにNAS向けディストリビューション「OpenMediaVault」をインストールし、Webの管理コンソールからforked-daapdとReadyMedia(旧MiniDLNA)をインストールするところ。

 そっち系では単発記事で、「手のひら大PC「CuBox-i」をハック」は、CuBox-iの紹介と、Androidをインストールして使うところ、GeeXboXでメディアプレイヤー化するところ、Arch Linuxのインストール。

 LPIC連載が、パッケージ管理の応用で、PostgreSQLの公式サイト版をインストールしながらrpmの細かいオプションを学ぶ。

 今村博宣氏の「Raspberry Piで始めるモノ作り超入門」が、A/D変換器の機能やデータシートの読み方、接続。工作系では、巻頭のフリーソフト記事も、InkscapeでFritzing用のパーツを描くところ。

 巻頭レポートで、Android Wearや、JavaScriptとXMLでプログラミングするマイコンKinoma Create、F2FSのベンチマーク、CloudStack Day Japan 2014のレポート。メイドさんのAndroidアプリ開発連載が最終回で、画像のフェードや移動などのアニメーション。コミュニティー訪問が、hmlt4jエンタープライズ部。

 忘れちゃいけない、マンガ「#!シス管系女子Season 2」が、sedやvimで置換するときの後方参照(\1とかのアレ)。

「Software Design」2014年4月号

 発売から半月たっているけど、通読したのでメモ。

 第1特集が「なぜMVCモデルは誤解されるのか?」。主にWeb MVC(MVC2)を中心に、SmalltalkのMVCなどもからめて解説。第1章が、SmalltalkのMVCから、ServeletとJSPからMVC2が生まれる経緯、JavaでのMVCフレームワークなど。第2章が、JavaScriptのクライアントサイドMVCについて、単純なJavaScript処理からBackbone.jsへ、そしてAngularJSへと書き変えながらモデルを解説。第3章が、PHPのCake PHP、FuelPHP、Symfonyでのモデルの違いを解説。

 第2特集が「ロードバランサの教科書」。第1章がロードバランサの意義と種類、応用機能などの紹介。第2章が、(ソフトウェア)ロードバランサの各種方式の解説と、NginxやLVSによる実例。第3章が、「さくらのクラウド」でユーザーが設定して利用できるロードバランサーについて、利用側と実装側の解説。

 単発記事で、「今すぐ知りたいSIMのしくみ」。知っているようで知らない携帯回線のSIMの役割や歴史、技術要素などを解説している。

 新連載で「シェルスクリプトではじめるAWS入門」。今回は、AWSがAPIでできているという導入の話。

 Ubuntu連載が、ownCloudの紹介と使い方の解説。Debian連載が、Linuxでinitシステムにsystemdを採用する話と、パッケージのリポジトリを設定するapt lineの書き方の解説。Red Hat連載が、営業や事業企画部の人から見たRed Hat社内の紹介。BSD連載が、バイナリパッケージシステムのpkgと、portsとの合わせ技について。パッケージメンテナがいるLinuxディストロと、FreeBSDとの違いか。Mac OS Xの仮想/リモートデスクトップ環境連載が、sshと、Xプロトコル、ssh経由のXプロトコルについて。

 Linuxカーネル観光ガイド連載が、Linux 3.14の新機能として、Btrfsのsysfsサポートと、トレースのtriggerについて。ハイパーバイザの作り方連載が、FreeBSD 10リリース記念で、改めてbhyveの概要と使い方について。

 Riak連載が、Durabilityの話の続きで、復帰での競合を防ぐヒント付きハンドオフとShiblings、ベクタークロック、CRDTについて。セキュリティ連載が、DDoS攻撃と、世を騒がせたNTPの増幅型DDoS攻撃について。サーバーマシンの測り方連載が、abによるHTTPベンチマークと、各ボトルネック候補の調べ方。自宅ラック連載が最終回で、改めて自宅ラックの楽しみについて。

 はんだづけカフェ連載が、ステッパーの続きで、PCA9629Aによる制御。キーボード連載が、REALFORCE。iPhoneブックアプリ開発連載が最終回で、ブランディングについて。覚えてもらう方法のところ、説得力ある。Android開発連載が、3Dゲームエンジン「Esenthel Engine」を、Unityと比較しながら紹介。Digital Gadget連載が、Interaction Award 2014。

 ほか、Hack For Japan連載が、2013年の振り帰りと2014年の方針。enchant連載が、予約開始と、深センの工場との対決。結城浩氏連載が、「Immutable」と、プロジェクトやグループ。jus連載がInternet Week 2013報告。むかしばなし連載が、グラフィックアクセラレータボード。「SDでSF」が「銀河英雄伝説」。Linuxマンガが、エイリアスと、emacsに入っている謎マニュアルw

「Software Design」2014年3月号

 4月号が出て半月たっている時期だけど、積読になっていたのを一気に読んだので通読メモ。

 第1特集が「RDBとNoSQL どちらを選びますか?」で、タイトルどおりRDBとNoSQLの長所短所が正面から見えてくる構成が参考になった。第1章がRDBの意義。第2章が正規化の解説と弱点。第3章が一貫性の弱い分散DBとしてのNoSQLと、分散DBでのACIDをアプリケーションからハードまで垂直で決めうちすることで実現したGoogleのF1の例。第4章が、VoltDB採用で話題になったAKB総選挙のシステムで見るVoltDBの得意不得意と、その後PostgreSQLに移行した話。第5章がMongoDBの特性とRDBとの比較。

 第2特集が「プロキシサーバーの教科書」。CHAPTER 1が、プロキシサーバの役割と変遷で、NATや、フォワード→リバース、キャッシュなどの移り変わりについて。CHAPTER 2が、プロキシサーバーの用途いくつかの紹介と、そのVarnishやNginxによる例。CHAPTER 3が、AWSにおけるELB(Elastic Load Balancer)やRoute 53、CloudFrontの利用について。

 短期集中連載で、Mac OS Xの仮想/リモートデスクトップ環境の話が登場。今回は、システム構成と、NFSの話。

 Ubuntu連載が、LibreOffice 4.2の新機能の紹介。BSD連載が、FreeBSD 10のバイナリパッケージシステムのpkgの紹介。Red Hat連載は、アップストリームに戻さないフォークを戒める話を纐纈常務(その後3月からソフォス社長)が。

 Linuxカーネル観光ガイド連載が、Linux 3.13の新機能として、nftablesとその実際の利用方法。サーバーマシンの測り方連載が、Ivy Bridge世代CPUのパワーマネージメントやターボブースト、ハイパースレッディングの影響など。Riak連載が、RiakのDurabilityの話の第1回で、分散方法とネットワーク接続が切れたときの対応について。自宅ラック連載がBGPと人のつながり。セキュリティ連載が、SSHの弱い部分について。

 はんだづけカフェ連載が、ステッパー(ステッピングモーター)の基礎と、mbedにつなぐ基礎。iPhoneブックアプリ開発連載が、多言語対応の方法。Android連載が、HTML5でサーバーのDTMF(ダイアルトーン)を受信して、DTMFレシーバのボードでLチカする話。Digital Gadget連載がウェアラブルとIoT。キーボード連載が、左右が分割した「Kinesis Freestyle2」。

 そのほか、enchant連載が、社内説得と、表示高速化のためのJavaScriptエンジン、借り入れ。結城浩氏連載が、「Synchronous」と人間の作業の効率。Hack For Japan連載が、「ITx災害」会議の後編。むかし話連載が、ぴゅう太。「SDでSF」が「声の網」。Linuxマンガがrm -rf (w。

「Software Design」2014年2月号

 4月号が出て半月たっている時期だけど、積読になっていたのを一気に読んだので通読メモ。

 第1特集が「関数型プログラミング再入門」。Emacs LispやPython、Java、Rubyといった関数型色の強くない言語を中心に、HaskellやOcaml、Erlangをまじえて、関数型プログラミングの考え方を紹介している。

 第2特集が、「2014年 IT業界はどうなるのか?」と題して、各ジャンルの有識者の人が、「ネットワーク/インフラ技術」「ソフトウェア開発」」「OS周辺」「エンジニアの仕事のしかた」「エンジニアとしての幅」のパートごとに1ページずつ語っている。

 Ubuntu連載が、原稿フォーマットとその処理系のReVIEW(その後「Re:VIEW」に改名)の紹介と、実際に書いてみるところまで。Debian連載が、initシステムの議論と、auto-rm、64bit ARMサポート、MiniDebCOnf in Paris、FLOSS ASIA、AWSからの寄付、SteamOS、Jessie用アートワーク募集。BSD連載が、ディスクのボトルネックのケース別解説。Red Hat連載が、JBossのBRMS(ビジネスルールマネージメントシステム)。

 Linuxカーネル観光ガイド連載が、Linux 3.13の新昨日として、PowerCapサブシステムによる電力の監視と、Squashfsのマルチキュー対応。ハイパーバイザの作り方連載が、BHyVeのゲストOSローダ。「サーバーマシンの測り方」連載は、データベースのベンチマークと、ioDriveでのMySQLベンチマークの例。Riak連載が、Hadoopのデータ元としてRiakCSを使う例。セキュリティ連載が、フィッシング。自宅ラック連載が、利用方法として生活ネットワーク環境のあたり。

 はんだづけカフェ連載が、「Maker Lab Nagoya」を始めた話。iPhoneブックアプリ開発連載が、NSUserDefaultsによるデータ保存。Android開発連載が、アプリ開発入門の続きで、リリース後の施策について。キーボード連載が、机と垂直に立つキーボード。Digital Gadget連載が、SIGGRAPH ASIA 2013。

 enchant連載が、いよいよenchantMOON誕生のはじまりで、社内で反対にあう話。結城浩氏連載が、「Default」と人間関係のあたり。jus連載が、KOF2013報告。Hack For Japan連載が、「ITx災害」会議の前編。むかしばなし連載が、アナログモデム時代の話。「SDでSF」が「竜の卵」。Linuxマンガが、コマンドのスタンド化w

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad