『WEB+DB PRESS Vol.95』を読んだ

『特集2 Goによる並行処理』が凄く為になった。Go を選ぶ大きな理由の1つに、並行処理の書きやすさがあると思う。愛用している peco にも使われている、並行処理を実装するノウハウが、この特集に凝縮されていた。 Go やるなら必読。また読み返すと思う。

『Emerging Web Technology 研究室』第21回はサーバーレスアーキテクチャ。 自分は FaaS と捉えている。 サーバーレスアーキテクチャWebサービスの全てを作り上げるイメージはまだわかない。ただ、サーバーレスアーキテクチャだと必然的にマイクロサービスになるだろうから、一部の機能をサーバーレス化することはできそう。今まで定期的にバッチ処理でやっていたことを、AWS Lambda でイベント駆動な仕組みに変えて話題になった日経の紙面ビューアーみたいにね。

WEB+DB PRESS Vol.95

WEB+DB PRESS Vol.95

勝牛

京都の牛カツ店『勝牛』が天神西通りに出店していたので行ってみた。 昼前に行ったのでスンナリ座れたけど、すぐに満席になったので、 賑わっているみたいだ。

初めてなので、オーソドックスな『牛ロースカツ膳』を注文してみた。

牛カツは表面がカラッと揚がっていて、香ばしい色をしている。

中はミディアムレア。

牛カツは周りがさっくり柔らかく、中心のレア部分は少し歯ごたえもあって、 トンカツとはまた違った食感で新鮮だった。

だし醤油・山椒塩・トンカツソース、 そして和風カレーソースで食す。 だし醤油と甘口のトンカツソースが好み。 山椒塩も捨てがたい。 和風カレーソースは、つけて食べたら完全なカツカレーだった。

麦ご飯のおかわりが無料なのはうれしい。 〆は麦ご飯にカツをのせてカレーソースをかけ、 カツカレーにするのが勝牛流とのこと。 確かに、この組み合わせは間違いないし、〆には良いかもしれないな。

関連ランキング:天ぷら・揚げ物(その他) | 西鉄福岡駅(天神)天神駅天神南駅

NeoBundle からの卒業

Vim 8.0 がリリースされて、 プラグインを管理するための Package 機能が追加されたので、 Vim をアップデートするついでに NeoBundle から移行することにした。 WindowsMac、どちらも使っているのは香り屋版。

www.kaoriya.net

github.com

試しに NERDTree でやってみる。 Package 機能でプラグインは管理できるけど、 プラグインをダウンロードすることはできないから、 自分でダウンロードしないといけない。 数が多いとかなり手間だろうな。

github.com

ダウンロードして展開したら、 NERDTree フォルダごと下記の場所に配置。 mypack のところは適当な名前でいいみたい。

# Windows の場合
%HOMEPATH%\vimfiles\pack\mypack\start

# Mac の場合
~/.vim/pack/mypack/start

プラグインGithub で公開されているなら、 start 下にリポジトリgit clone してもよさそうだ。

Vim を起動して NERDTree を表示。

f:id:griefworker:20161026093956p:plain

NERDTree を NeoBundle から Vim 標準の Package 機能に移行できた。 この調子で残りのプラグインも移行しよう。 幸いなことに、使っているプラグインは少ないから、全部スンナリ移行できそうな予感。 移行できないやつがもしあったら、そのときは、そのプラグインを使うのやめよう。

『C# プログラマーのためのデバッグの基本&応用テクニック』を読んだ

デバッグに特化した本、しかも『応用テクニック』とあるので、 元 Microsoft の筆者による超絶技巧デバッグテクニックを期待してタイトル買いしたら、 紹介されているテクニックは既に自分がやっていることばかりだった。 ある程度経験を積んだ C# プログラマーなら、普通にやっていることだと思う。

メモリダンプを解析したり、 CLRProfiler や windbg を使ったりして、 Visual Studio のデバッガを単に使うだけでは原因を見つけることが難しいようなバグをどう直すか、 といったような内容を期待していたんだけどな。 リモートデバッガが出てきたときは、いよいよかと思ったけど、 そういった機能があることの紹介だけにとどまっていた。 使い方に一切触れていないけど、 どういった読者を対象にしているんだろう。

サンプルソースは『さすがに今までこんな間違い書いたことがない』というのが多くて、 気になって理解の妨げになってしまった。 いや、バグの発見はわかりにくいものなので、むしろこれが正解なのか? よくわからなくなってきた。 実際にバグが発生した本物の製品のソースコードを抜粋できたら一番いいけど、 さすがにそういうわけにはいかないから、 サンプルの作成は苦労しただろうな。

本書に書いてある内容は C# じゃなくても使えるものばかりなので、 駆け出しの新人プログラマーが読むと得るものが多いかもしれない。 デバッグに特化した、一種の知の高速道路みたいなものだから。

『Unity5 の教科書』を読んだ

IT 業界で働く人なら、一度はゲームを開発してみたいと思ったことがあるんじゃないだろうか。 ファミコンスーファミ・プレステ・プレステ2と、 日本のゲーム業界最盛期に青春時代を過ごした人ならなおさら。

今なら Unity があるので、個人が趣味でゲームを開発するハードルは、昔と比べてかなり低くなっている。 そう思って、以前 Unity に挑戦したけど、Unity の IDE の使い方が分からなくて挫折してしまった。 ゲームを開発した経験はまったく無いので、ネットの情報だけでは難しいと判断。 『Unity5 の教科書』を購入してみた。

本書はプログラミングの経験が無い人を対象にしているので、 解説は懇切丁寧。 IDE を操作する箇所は、ほぼ全てスクリーンショット付き。 これだけ丁寧に解説してあれば、一度挫折した自分でも迷うことは無かった。

本書で扱う Unity のスクリプトC#。 開発するサンプルゲームに必要な箇所に絞って解説していた。 C# についての詳しい解説は、必要になったときに専門の本を読んでもらうという割り切り具合。

また、ところどころ挿入されている猫のキャラクターを使ったイラストが絶妙で、 理解を助けてくれるだけでなく、 ちょっとした癒しも与えてくれる。

本書を読み終えて、2D のカジュアルゲームを開発するイメージは掴むことができた。 3D のゲームを開発するのは、さすがにまだ難しい。 本書よりもつっこんだ内容の書籍を読む必要がある。 例えば、本書ではアセットストアについては触れてないし。

とにかく丁寧にわかりやすく伝えようという著者の心遣いが、 本全体から伝わってきた。 実際、非常に分かりやすかった。 Unity 入門書の定番と言って良いと思う。 Unity が 6、7 とバージョンが上がったら是非改定して欲しい。

Re:Angular

React 人気はまだ健在だけど、入力項目の多い業務アプリを実装するには辛かった。 この手の Web アプリには、双方向データバインディングがある Angular2 の方が向いてそうだ。

Angular2 が正式リリースになって、名前が Angular に変わったことだし、 本格的に触ってみることにした。

$ npm install -g angular-cli

で Angular CLI をインストールしたら、あとは

$ ng new <project-name>

を実行するだけで、プロジェクトの雛形が生成できた。

RC の頃は、全然クイックじゃないクイックスタートを見ながら、 設定をコピペしてプロジェクトを作ってたっけな。 ng new コマンド一発で、Angular だけでなく TypeScript や Webpack など、 開発に必要なパッケージも全部インストールされて楽チンだ。