2016 ふりかえり

今年も残り僅かとなりました。恒例のふりかえりエントリーです。

Job

フレームワーク開発 (.NET)

前半は、昨年から継続して .NET の業務アプリフレームワーク開発。機能開発は昨年暮れまでにほぼ完了しており、年明けから結合テストの傍らリファクタリング漬けの日々 (コード凍結が中々できず・・) 。性能チューニングやメモリリークの特定と修正、アプリ開発開始に伴う追加要望対応とバグフィクス、テストドライバーの改善、アプリの結合試験環境作成や保守用ドキュメント作成・・とフル回転。怒涛のプロジェクト進行によるハードワークで何回かバーンアウトしてました。

多くのコードを設計書から自動生成し、標準で縛り、開発者がロジックを書く部分を極力限定するという、いい意味で統制のとれたアーキテクチャでした (try catch も書かせません)。

性能チューニングでは、起動処理の並列化や通信の圧縮といった通常の対応はもちろん、クラスを JIT ではなく CompilerServices でプリコンパイルしておくなど、打てる手は打ち尽くすという感じでした。RDB の1000列のテーブルの更新を数秒以内に終わらせることが求められました。そんな DB 設計を許容するということ自体がありえないと思いましたが、兎にも角にもフレームワークとしては非機能要件を満たしたのでした。

フレームワーク開発が本格化してから約10か月、採用された UI コンポーネントの品質が低かったり、仕様追加が激しかったり、コードが複雑化して保守が難しくなったりといろいろと大変でしたが、経験豊かな力量ある .NET エンジニアがフルパワーで戦ってくれたおかげでなんとか乗り切れました。

.NET による開発の知見も色々と得られました。リリースに関しても、Jenkins の .NET 系プラグインや PowerShell プラグインを駆使してかなりのオートメーションを実現できました。

6月で無事卒業。

フレームワーク開発 (Java EE)

7月からは一転 Java EE の業務アプリフレームワーク開発現場に着任。ここではプロダクトコードはメンバーに任せ、仕様調整、設計レビュー・コードレビュー、チケット管理、各種自動化をやっています。

Java だと Spring や Hibernate などデファクト技術で構築することが多いので、ド標準の Java EE (JSF / CDI / JPA) には正直馴染みが薄いです。情報も少ないですし。メンバーはライブラリの実装までみて問題解決できるレベルなので開発自体はさしたる問題もなく進んでいます。やはりうちは Java 中心の技術者集団なのだと改めて思いました。

Java 8 はお初です。Lambda / (Parallel)Stream / Optional など Functional な言語機能が取り込まれて、フレームワークのコードもかなり様変わりしてます。

blog.kondoumh.com

エンプラシステムのアーキテクチャ構築・フレームワーク開発に携わって長いんですけど、お客様の事情を理解してモノを作るというところ(要約すると要件定義)で毎回苦労してます。このプロジェクトでは、まだアプリの開発は始まっていません。先は長そうです。

Writings

業務用

会社の宣伝活動も兼ねて ITmedia エンタープライズで連載させていただきました。

blog.kondoumh.com

モデリングの話は最近少ないので、一周回って新鮮に受け止められたのではないかと思います。自分としては最終回で UI の設計プロセスについて語れたのがよかったです。

はてなブログ

はてなダイアリー時代から10年以上続けてきて、今年はアイキャッチ画像も気を使うようになりましたし、広告を消したいという動機ではてなブログ Pro にアップグレード、サブドメイン使うようにしてみました。結果、更新のモチベーションに繋がっている気がします。iPad ネタが多かったですね。今後も引き続きソフトウェアやガジェットについて書いていくんだろうと思います。

Qiita

.NET の小ネタを2件ほど投稿してました。

qiita.com

qiita.com

Personal Development

iEdit

今年は初めてリリース0回。2年近く放置したので窓の杜からも消えました・・。シナリオ作ってる人がいまだに使ってくれてるようなので Electron と d3.js あたりを使ってクロスプラットフォームアプリへと式年遷宮したい気持ちはあります。

社内アプリ

社内業務支援アプリを構想中。プロトタイプの作成に取りかかっています。

昔も稼働が空いた時、同僚と SFA アプリを作りました。しかし営業支援ツールなのに VPN でしか使えず、保守工数も取れず、定着化・改善のサイクルに持って行けませんでした。今回はモバイルファースト・クラウドファーストなアプリにして改善サイクルを回したいです。お客様に DevOps の話してる時に自分達でやってないと説得力ないですしね。運用もやるつもりです。

サーバーサイドは Java 技術者が多い社内事情を考慮して Spring Boot。DB はとりあえず H2 で良いかなと。ドメインモデルを Astah で作りました。RESTFul API の設計を Swagger 使ってやるべく環境構築。全文検索も Solr とかで実装したいところ。

UI は React / Mithril / Riot.js あたりで迷っています。いずれにしても SPA で行くつもりです。

Gadgets

持ってるものは去年とさほど変わってなくて、Android Wear の時計買ったのと iPad リニューアルぐらいです。

Moto 360 2nd gen

時計 & 活動量計 & 通知デバイスとしてすっかり生活に溶け込みました。

blog.kondoumh.com

スマートウォッチの市場はシュリンクしていて未来はないという予測も出ています。時計をつける習慣がなく、スマートウォッチだから使い始めた自分のような人も多いと思うのですが。

jp.techcrunch.com

市場のシュリンクを裏付けるかのように年末モトローラのスマートウォッチ撤退のニュースが。

forbesjapan.com

でも Google はまだやる気のようです。

www.forbes.com

Android Wear 2.0 は単独でアプリのインストールができるようです。スマホのコンパニオンデバイスではなく、独立したガジェットとして発展していくという未来はあるのでしょうか。

iPad Air 2 Cellular

3年間使った Wi-Fi 版 Air とお別れして、Cellular 版 Air 2 に乗り換えました。

blog.kondoumh.com

通勤のお供に漫画リーダー、Ingress 端末、コーディング環境と幅広く活躍してくれます。MacBook Pro を持ち歩くときのテザリング端末としても優秀。iOS の進化は引き続き見守っていこうと思っています。

Nexus 6P

Nexus 6P は引き続き愛用してます。

blog.kondoumh.com

この記事を書いた時はまだ iPad Air 2 を入手しておらず、生産活動にも活用しようとしてました。

夏に Nougat がリリースされました。目玉機能の一つであるマルチウィンドウは日頃全く使わないです。Android タブレットだったら使いそうですね。

その後 Pixel が発表され、Android 7.1.1 がリリース。UI がかなりブラッシュアップされた感じです。ホーム画面でアプリアイコンを長押しすると機能のショートカットメニューが出るようになりました。iOS の 3D Touch 的な機能ですが、これも今の所全く使ってないですねえ。

多くのサービスを Google に依存しているため利便性が高い Nexus ですが、Pixel の登場でディスコンになってしまいました。Pixel の日本発売は未定ですが、FeliCa 使える iPhone に回帰する可能性もありますね。iOS も Android も差がなくなっているし Android のフラグシップモデルと iPhone の価格差も縮まっているし。iOS で不便なのは Chrome をデフォルトブラウザにできないことぐらいなので。

MacBook Pro

13-inch Early 2015 を使い続けています。macOS Sierra は未導入です。今年のモデルチェンジ、Touch Bar はともかく USB-C オンリーとかマシンパワーがアップしてないとか信者じゃないと厳しそう。あと2年ぐらいは今のモデルでいけそうな気してます。

VR とか AI で GPU パワーが使いたいならゲーミング PC がよさそうですね。ツクモが Razer Blade 扱い始めてます。スリムなゲーミングノートよいかも。

http://getnews.jp/archives/1572518getnews.jp

VR グラス

Cardboard のヘッドセット買いました。スマホの装着がけっこう面倒 (留め金がキツめで Nexus 6P に傷がつきそう) なので数回使って埃かぶってます。

blog.kondoumh.com

Android 7.1.1 で Nexus 6P も Daydream 対応になったし日本でも発売してほしいですね。スマホの装着が楽そうでリモコンもついてるし OS がサポートしてるのは大きいと思います。

vr.google.com

Oculus Rift や PlayStation VR が発売され VR 元年と話題になりました。パーソナルコンピューティングを変えるポテンシャルを持ちつつあるようです。

SFマガジン 2016年 12 月号 [雑誌]

SFマガジン 2016年 12 月号 [雑誌]

Fire TV Stick

Amazon プライムに入りました。

MacBook や iPad でプライムビデオ観てましたが TV CM で音声認識リモコン見て買ってしまいました。Chromecast だと対応してないというのもありました。

scrapbox.io

Magic Trackpad 2

キーボードもマウスもパッドも Magic シリーズで揃えてしまいました。

blog.kondoumh.com

Software

Microsoft プロダクトの話題が多かったですね。

Bash On Ubuntu On Windows

Windows 10 Anniversary Update の目玉です。 インストールしてブログ書いただけで、本格活用には至っていません。普段はやはり macOS です。

blog.kondoumh.com

Visual Studio Code

統合ターミナルも入ってきて完成度が高くなりコードエディタの決定版になりました。

blog.kondoumh.com

Visual Studio for Mac

とうとう macOS でも使えるようになった Visual Studio (というか Xamarin Studio ですが)。

blog.kondoumh.com

今年は仕事で Xamarin にも少々関わりました。Windows の Visual Studio 2015 での Xamarin 開発は環境構築の敷居が (ハードウェア的に) 高い印象でしたが Mac 版はネイティブな Xamarin Studio ベースだけあってスムーズですね。ASP.NET Core も Java EE 並みの存在になっていくかもしれません。NET Standard の範囲でコードを書いておけばポータビリティ高そうです。

docs.microsoft.com

Emacs

25.1 にアップデート。org-mode だけは手放せない感じです。

blog.kondoumh.com

VS Code がメインになったので、不要になったパッケージや設定をダイエットしてます。

Emacs も「ソフトウェアの死」を迎えつつあるのでしょうか。

http://qiita.com/itckw/items/ff079c7572d6a1acd349qiita.com

Coda for iOS

数年前購入したきりになっていて、今年になって活用方法を発見した web 開発ツール。機能凝集性の高い IDE として VPS クライアントとして iPad で使っています。

blog.kondoumh.com

PowerShell

今まで積極的に使おうとはしてなくて今年になって愛用者になりました。Jenkins のプラグインがあるのが助かります。

blog.kondoumh.com

Windows 10 では PowerShell が標準のコマンドシェルに置き換えられるようなので、今のうちから慣れておくとよいと思います。

fossbytes.com

DOS 互換のコマンドもエイリアス定義されているから、通常の使い方ならあまり困らないと思います。それにしてもようやく cmd.exe / BAT ファイルとおさらばできるのは喜ばしいですね。あとはコマンドヒストリとかキーバインドとかフォント表示とかいろいろ改善してほしいですが。

IntelliJ IDEA

買ったきりで活用が進んでいませんでしたが、Java の検証コード作成とかで時々起動するようになりました。社内アプリのサーバーサイド開発でも使う機会が増えそうです。Ultimate では Spring Boot がサポートされてて楽ちんです。

www.jetbrains.com

Super Mario Run

年末に公開されました。やり込みがいありそうです。アプリ内課金しました。

supermariorun.com

Services

Slack

これまで使う機会がなかったのですが、遅ればせながら社内プロジェクト用にサインアップ。IRC や Lingr からの進化を目の当たりにしました。

slack.com

常駐先では Slack クローンの Mattermost を導入して朝会や業務連絡などの専用チャネル使ったり、Jenkins の自動テスト結果通知 Bot とか Excel ファイルや Redmine チケットの更新通知 Bot 作ったりと、もはやなくてはならないインフラになってます。

Mattermost

来年は、カンバセーショナル UI が来るらしいです。

medium.com

Slack の API 使って協調作業できるアプリを作りたい気持ちになっています。

ConoHa

VPS サービス。メモリ 512MB なら \630/month で VPS を維持できます。Ubuntu 16.04.1 LTS で運用中。

www.conoha.jp

Stackoverflow

US オンリーですが新サービス Documentation がいい感じです。

Moto Body

活動量計が iPhone 5s のモーションセンサーから Moto 360 に移行したため Fitbit にデータが溜まらなくなり、Moto Body アプリに移行しました。Fitbit のデータは一応ローカルにダウンロードしました。モトローラはスマートウォッチ撤退なので、サービスも間もなくシャットダウンされるでしょう。Pebble を買収した Fitbit に戻るか Google Fit にしておくか悩ましいところです。

moto body - moto 360 fitness app | Motorola US

Ingress

Ingress は今年で4周年。自分は2年と数ヶ月ぐらいやってます。年末登場した Luminarie メダルは Silver でした。野良エージェントとして細々と活動してます。現在 LV11。11月の AP 2倍キャンペーンでかなり稼いだのでメダルがあと2つ金になると12なんですがノルマがなかなか厳しい。今は、なるべくミッションやるようにしてます。

charingress.tokyo

ねこあつめ

ひたすら餌を補充して、時々ねこ画像をツイートしています。あいことば登録が日課です。

Pokémon GO

インストールして1週間ぐらいでアンインストール。自分には Ingress の方がなじみました。

Amazon Music

Google Play Music を解約して、プライムで利用できる Amazon Music に移行しました。Podcast 聴いてる時間が長いので Amazon で充分かと。昔 CD からリッピングして iTumes ライブラリで管理してた音源がバックアップもろとも消失してショックでしたが、もうあまり気にしないことにしました。音楽はストリーミングで十分かなぁ。

Kindle Unlimited

こちらはお試し期間から1か月延長して利用して解約。あまり読みたいのがなくて。

Mixlr

Rebuild.fm ライブが Mixlr で配信されるようになったのでサインアップ。リスニングオンリーです。

mixlr.com

おわりに

今年も客先でフル稼働だったので、来年はもう少し個人および社内プロジェクトへのコミット比率を上げていきたいなあ。

それではよいお年を。