ぱいぱいにっき

Pythonが好きすぎるけれど、今からPerlを好きになりますにっき

2016年個人的振り返り

皆さん良いお年をという感じです。以下個人向けにあとから振り返るためにとりとめのない駄文が続いています。

来年の抱負: アウトプットとインプット

「人間はインプットした量以上のアウトプットはできない」というポリシーでやっていて、日々勉強という日々ですが、今年はアウトプット量過多な風味がしている。ので来年はアウトプット量そのままでそれに見合ったインプットをしていこうかなと思った。

やったトーク

エンジニアサポートCROSS 2016

2016.cross-party.com

闇な話ということでその時やっていた仕事のi18n対応とかAPI納品業でIDLを使っていくという話をやっていった。

しかしi18nもIDLも巷では普通の話というのが最近やっとわかってきていて、価値のあるトークなのかみたいな悩みもあった。Javaのみなさんにとっては一周したあとの話かもしれない。

まあやっていくしかないよなーと思いつつ、みなさんどうやっているんですかみたいなのを期待しているのもある。

スライドは闇なのでアップしていなかった。

Shibuya.go #1

shibuyago.connpass.com

kuiperbeltというWebSocketのセッション管理をしてくれる君のプラグイン機構について喋った。

speakerdeck.com

ただ、今のところマージはしていなくて、しかもその後に入れたチューニングとかとコンフリクトしてすぐに入れられない状態になっている。

使っている人が居るのは知っていて、テストがそこそこあるんだけれどそれでも壊れるのが怖くて入れられていない。このあたりは勇気という自信なんだろうなあ。

あとプラグイン機構に関してはGo1.8で入ってくるんだけれど、それでもLinuxぐらいしかうごかないっぽいし、何よりセッション持ってる君はセッションぶった切らないために再起動したくないというのがあって、プラグイン側でクラッシュした時の影響が本体に波及しないようにするためにプロセス分離するというのはまあいいなと思いました。ただしプロセス間通信があるのでパフォーマンスは出ないなあ。

そういうわけでkuiperbeltはGoでアプリ本体を書いた場合でもイケるぞと政治をしていく所存です。

YAP(achimon)C::Asia Hachioji 2016 mid Shinagawa

八王子って言ってるのに品川でやった愉快なイベント。

yapcasia8oji-2016mid.hachiojipm.org

3Dプリンタの話をしました。

speakerdeck.com

今年の一番のトークを選ぶとしたらこれかなあと思いました。お客さんの反応とかも含めて。

ドローンと違って3Dプリンタは今でもやっているし今でも使えているので便利です。

あれから3Dプリンタでどうのこうのという話が振られるかと言われたら……ドローンのほうが未だに多いですね。やっぱ空を飛ぶインパクトのほうがでかい。

あのあとの記事も書いています。

mackee.hatenablog.com

builderscon tokyo 2016

YAPCではずっとハードの話ばっかしていたけれど、buildersconではどうすっかなーと思ったけれど結局仕事にある程度関連のあるGoの話をしました。

builderscon.io

このトークに関しては完全に時間不足というのが反省点で、15分だともう少し削れるなと思ったし、会場にGopherがそこそこいた(mattnさんもいたし)ので前提に関しては結構削れたのかなという印象。

さて僕はGoでほぼほぼ初めてコード生成をやるわけでコード生成に関する沼は知らないわけです。トークは観測気球であるとも僕は思っているので「いや違うやろ!」「それはやってはいかん!!!」みたいなのを求めております。皆様。

書いたコード

仕事

Perl + Goのプロジェクトから純粋なPerlのプロダクトに戻ってきて、2回ぐらいアーキテクチャに手を入れる改革に関わらせてもらった。

仕事で言える範囲ではGoのコードは書いてなくてずっとPerlと日本語を書いている感じですね。来年もその傾向は変わらなさそう。

とはいえ僕はPerlも好きだし、とある勉強会の懇親会で言われた「Perlの進化が鈍いというのなら自分で起こせばいいんですよ」と言われたことを思い出しつつ、隙をみてやっていこうかなと思っています。

OSS

kuiperbelt

github.com

前述のWebSocketのセッションを保持してくれる君。fujiwaraさんからPRもらったりしてメモリ使用量がだいぶ軽くなったりエラーを握りつぶしていたところがログにちゃんと吐くようになったり、監視用のAPIが生えたりと実用的な改良をしていただいたという感じです。

来年はプラグイン対応突っ込むのとgRPCとかでRPC出来るようにするとか上り対応とかそのへんかなあ。まずはマニュアルですが。

sqlla

github.com

型安全クエリビルダー + ORM(型安全とかうかつに言うと型方面の人からマサカリ飛んできそうでビクビクしている)。

去年から書いていたものを今年にORMっぽい機能をくっつけた。

qiita.com

来年の抱負としては、実際に使っていくというのとJOINとかの機能をくっつけるとかですかねー。あとマニュアル(2回目)

seyfert

github.com

Goのコード生成のためのテンプレートエンジン。

まぁPoCです。

qiita.com

渡されたパラメータに応じて生成するコードを変えるifみたいな制御構造が無いなと気づいているのでそれに関しては別のアプローチを行うという感じですかね。

あとgorenameが遅いので自前で一気にやるようにするかなあ。

App::Prove::Plugin::MySQLPool

github.com

ここに来てPerl

と言っても書いたコードはなくて、僕はshipitしただけで内容としてはTest::mysqldが複数mysqld起動に対応したのでそれを利用するコードをid:shogo82148が送ってくれたのでマージしただけです。ありがとうございます。

経緯などはこちら。

www.songmu.jp

その他ELVMのPerl5バックエンドとかgenddlとかあるけれどまあいいや。

来年のインプットとアウトプット

妄想レベルでやってみたいことを書いてみる。やるとは限らない……!

  • 一個言語覚えたい。まあRustかなあ。
  • kuiperbeltのプラグイン機構の安定化と実際にアプリケーションを作ってみる
  • マニュアルちゃんと書くお
    • そのために英語をちゃんと読み書きできるようにならないと
  • 仕事はまあやっていくという感じで。まあやっていく。。。
  • ゲーム業界の人間というのもあり、ある程度ゲームを消化していきたい。FF15やっているのでトリコやってGravity Daze 2やってニーアオートマタやってエースコンバットやって……という感じ?
  • アニメ見る。。。nasne復活させた。
  • 文フリに継続して出していく。shogo82148からリクエストされているお題もあるし。
  • 体重は……産業医から太ると強制トレーニングに突入らしいので現状維持を目標にやっていく
  • 勢いでHTC Viveを買ってしまったので活用していく。主に位置トラッキング周りのハードウェアを作ってみたい。

まあそんな感じでゆるくやっていきます。高望みはしない。