WEB+DB PRESS Vol.111

特集1 : 詳解 Rails 6

Rails は、スタートアップが素早く Web アプリケーションを作るためのフレームワークから、規模の大きな Web アプリケーションでも実用に耐えられるフレームワークに進化していってるな、という印象。

Rails 使わなくなって久しいけど、マルチデータベースまわりで苦労した記憶があるので、マルチデータベースを Rails 本体側がサポートしてくれたのは、現在の利用者にとって喜ばしいことだろうな。

特集2 : はじめての Julia

Julia は Podcast のエピソードで名前を聞いたことがあるくらいで、どんなコードを書けるのか全く知らなかった。 そのエピソードは機械学習の回だったので、アカデミック向けに特化した言語と思い込んでいたけど、汎用的に使える言語だったとは。

Ruby から Python の資産を使うためのライブラリ PyCall があるけど、その Julia 版とも言うべき PyCall.jl が作られていたというのは意外だった。 やはりエコシステムは Python に敵わないということなのか。

特集3 : 見える化大作戦

見える化するぞ、となるとツールの導入を考えがちだった。いつからデジタルでないといけないと錯覚していた?

アナログでの見える化なら始めやすいし、やめやすい。チームに1つホワイトボードを導入することを提案してみてもいいかもな。

Elm 入門

Redux が参考にしたというくらいしか Elm については知らなかったので、 The Elm Archtecture のところで「これ Redux で見たやつだ」ってなった。 群雄割拠だった AltJS 界隈も TypeScript の勝利で終わりそうで、自分が業務で Elm を採用することは今のところ無いかなぁ。

at the front【第5回】OSSを職とし、今後のWebの基盤を作る

H2O を引っさげて Fastly に転職した奥一穂氏。そこにシビれる!あこがれるゥ!フルタイム OSS コミッターは、ソフトウェアエンジニアとして理想のロールモデルの一つだと思う。

WEB+DB PRESS Vol.111

WEB+DB PRESS Vol.111

  • 作者: 松田明,y-yagi,佐藤建太,夜道,村田賢太,伊藤英明,見川孝太,新井剛,関陽介,海老原圭吾,長田洸明,大原壯太,藤原俊一郎,松本宏太,末永恭正,久保田祐史,牧大輔,笹田耕一,竹馬光太郎,池田拓司,はまちや2,竹原
  • 出版社/メーカー: 技術評論社
  • 発売日: 2019/06/24
  • メディア: 単行本
  • この商品を含むブログを見る

王様達のヴァイキング(18)

是枝と坂井ら特研チームは、いよいよ魔王・蘇芳との最終決戦に突入。 蘇芳を失脚させるのに十分なネタを手に入れたから、あとはどう直接対決するのかと思ってたら、坂井がまさかの強行手段に出るとは驚いたな。 坂井のことだから、自身が犯罪者にならないように予防線張ってると思うけど。

次の19巻でついに物語は完結。蘇芳を倒し、是枝と坂井は航海の果てにどこへたどり着くんだろうか。当初言っていた世界征服はどんな形で実現されるんだろうか。期待で胸が膨らむばかりだ。

王様達のヴァイキング(18) (ビッグコミックス)

王様達のヴァイキング(18) (ビッグコミックス)

アオアシ(17)

阿久津は代表に招集されたものの出場機会を得ることができずウジウジしていたが、エスペリオンユースの仲間の檄で吹っ切れたのか、一皮向けることができたかもしれない。葦人に対する態度にも変化が見られるようだし、二人の共闘に期待。

葦人の方は、絶好調なのは分かるが、非常に危うい感じで、このまま船橋戦でも上手くいくとは思えないな。葦人の危うさが福田と重なるみたいで、まさか怪我したりしないよなと心配になる。相手はフィジカルゴリゴリみたいだし、接触プレーで数試合出場できない程度の負傷とかありそう。怖いけど続きが気になる。

彼方のアストラ(1)〜(5)

Rebuild.fm でオススメされていて、「マンガ大賞 2019」で大賞を獲得した「彼方のアストラ」をようやく読むことができた。

惑星キャンプで惑星マクバを訪れた ケアード高校の 9 人が、 謎の光の球体に飲み込まれて 5012 光年離れた宇宙に飛ばされてしまう。 飛ばされた先で偶然にも宇宙船を拾い、 力を合わせて帰還するという物語。

宇宙で遭難したという状況からして、 メンバー間の衝突は不可避というギスギスしがちな題材なのに、 スペースコメディかと思うような明るい雰囲気を作り上げている。

それは 9 人の魅力によるところが大きい。 リーダーのカナタは行動力と決断力もさることながら、 特に明るさが他のメンバーに好影響を与えていた。 明るさといったらアリエスの天然なところもか。 というか、みんな良いキャラクター。 最初は人間的に未熟な部分を抱えているけど、 様々な試練を乗り越えて成長していく。 9 人みんなキャラが立っていて魅力的だった。

5012 光年飛ばされた光の玉の謎に始まり、刺客の発覚、9 人の命が狙われた理由、世界の秘密と、次々と伏線が張られていき、伏線を回収したと思ったら さらに大きな伏線が張られる怒涛の展開。

それらの伏線を全て回収し、作中の謎も全て明らかにし、広げた風呂敷を見事に畳んだ。 5 巻という冊数に凝縮されていて、余計なところが見当たらない。

「いつからそうだと錯覚していた?」と思う場面が何度もあり、正直「作者にしてやられた!」という思いだ。 時折ちゃんとシリアスもあり、 手に汗握る熱い展開もありと、 あっという間に読み終えてしまった。 ホントに無駄が無くて見事な構成。 名作だと思う。

Docker で Windows コンテナのプロセス分離を使って世界に挨拶してみた

はじめに

October 2018 Update から、 Windows 10 Professional 以上で、 開発・テスト用に Windows コンテナが使えるようになっていた。 どうやって使えばいいのか調べたら Docker から使うのか。 独自のインタフェースを提供するより、既にデファクトスタンダードに乗っかる選択をしたのは賢明だな。

Docker のインストール

Docker Desktop for Windows は下記の URL でインストーラーを入手してインストール。

https://hub.docker.com/editions/community/docker-ce-desktop-windows

Docker のトレイメニューで [Switch to Windows containers...] をクリックして、Docker が使うコンテナの種類を Windows コンテナに切り替えられた。

コンテナイメージのダウンロード

早速、Windows Server のコンテナイメージをダウンロードしてみた。

> docker pull mcr.microsoft.com/windows/nanoserver:1809

f:id:griefworker:20190619110102p:plain

ちゃんとダウンロードできたことを確認。

> docker images

f:id:griefworker:20190619110206p:plain

プロセス分離モードでコンテナ起動

プロセス分離モードで実行するには、--isolation process の指定が必要。 「Hello World!」をテキストファイルに出力してコンテナを終了するところまでやってみた。

> docker run -it --isolation process mcr.microsoft.com/windows/nanoserver:1809 cmd.exe
> echo "Hello World!" > Hello.txt
> exit

f:id:griefworker:20190619110233p:plain

コンテナが停止されていることを確認。

> docker ps -a

f:id:griefworker:20190619110300p:plain

ステータスが Exited になっている。

新しいコンテナイメージを作成

変更したコンテナから新しいコンテナイメージを作成してみた。

> docker commit <コンテナID> helloworld

f:id:griefworker:20190619110326p:plain

コンテナイメージに helloworld が追加されていることを確認しておく。

> docker images

f:id:griefworker:20190619110336p:plain

作成したコンテナイメージを使ってコンテナを起動

helloworld コンテナイメージを使って、コンテナを起動してみた。 もちろんプロセス分離モードで。 今回は、テキストファイルの中身を表示したら即コンテナを停止させている。

> docker run --rm --isolation process helloworld cmd.exe /s /c type Hello.txt

f:id:griefworker:20190619110345p:plain

おわりに

--isolation process を指定するだけで、Docker から Windows コンテナをプロセス分離モードで起動できるのは、 Docker 頑張ったなという印象。 いや、頑張ったのはMicrosoft か?

Docker で使うコンテナは Linux コンテナが多いと思うけど、 本業で開発しているアプリは Windows の資産がほとんどなので、 しばらくは Windows コンテナと仲良くすることになりそうだ。

令和最初の誕生日

36 歳になった。35 歳がプログラマーの定年だとするなら、36 歳はプログラマー再雇用から 1 年経過といったところか。今でも相変わらずコードを書いている。

本業では技術基盤チームみたいな仕事をしているから、仕事内容に不満はあまりない。仕事内容はね。まぁ、稀に超つまらない仕事が来て、そいつをやっている間は転職を考えたりすることもあったけど、最近は考えることがだいぶ減った。

というのも、自分がしたいのは、転職ではなくアーリーリタイアだってことに気付いたから。あ〜 5000 兆円欲しい。転職して給料が上がったところで、アーリーリタイアにはほど遠い。それよりは、個人開発に力を入れて、アプリやサービスで副収入を得る方が、アーリーリタイアの可能性が僅かにある、と思う。理想は Twilog のロプロス氏。

そういった思惑があり、今年の抱負に個人開発を掲げたわけだけど、予想通り現実は厳しい。副収入を得るどころか、まだ今年になってプロダクトをリリースしていない。解決したい問題ではなく、つい作りたいもののアイデアを出しがちなのは、ソフトウェアエンジニアの Saga なのか。

もう今年の前半が終わる。後半巻き返さなければ。

アイアムアデータベーススペシャリスト

平成31年度春期のデータベーススペシャリスト試験の合格発表があり、なんとか合格できた。今回は結構しっかり準備して挑んだんだけど、午後Iと午後Ⅱが過去問とは毛色が違っていて敗色濃厚かなぁと思っていたんで、マジで嬉しい。

過去問を解いていたら3年おきくらいにハズレ、じゃなくて苦手な問題が出る年があって、ちょうど今回がその年に該当してしまったかぁ、と試験後に絶望的な気持ちになっていた。一応解答欄は埋めたけど自信は無かった。

f:id:griefworker:20190621141857p:plain

奇跡的に受かるとしたら、午後Ⅱがギリギリだろうなと思いきや、午後Iの方がギリギリだった。危ねえ。でもまぁ、ギリギリでも合格には違いない。

テキストは技術評論社が出している「データベーススペシャリスト合格教本」を選んだが失敗だったな。解説は丁寧だったけど、解答テクニックをもっと教えてほしかった。その点では「情報処理教科書データベーススペシャリスト」の評判が良いみたいだったので、そっちにしておけばよかったと後悔している。

平成31年度データベーススペシャリスト合格教本

平成31年度データベーススペシャリスト合格教本

情報処理教科書 データベーススペシャリスト 2019年版

情報処理教科書 データベーススペシャリスト 2019年版

今度違う高度試験を受けるときは、評判をよく調べてからテキストを選ぶようにしよう。それだけが反省点。