2019年のふりかえりとか

2019年の振り返りとか

生存確認みたいになってますが、恒例の振り返り。

仕事

1月に転職してPython+Djangoを使ってWebアプリケーションを開発していました。 いい意味で開発組織があまり整っていないところで色々やらせていただいてます。 非常に優秀な同僚と仕事ができてこちらももっと頑張ろうと思う場面が多々ありました。

12月末にはDjango3にできたのがよかったです。 Rust使ってツールとか書いてたりもしました。 RustのAWS-SDKなrusotoにプルリクを送ったりもしてました。(これは仕事半分、趣味半分)

西へ東へ結構働いてた。

2020年の展望的には技術だけに閉じずにもう少しBizDev的なところも伸ばしていけたらなぁと考えています。 キャリア的にも0から何かを産み出すところにもう少し比重を置きたいなと悶々と考えております。

その他技術的な話

その他の技術関連の話題で言うと、 知り合いの会社でPython講座をやらせていただいたり、 PYTHON KANSAI #2OSSと私 というタイトルでOSS開発に関する話をさせていただいたりしたのが 自分の中では大きな出来事でしょうか。

Rust関連だと、 Rust.Tokyo 2019 に参加したり、 年末のアドベントカレンダーで記事 も書きました。 NEM とか触りつつ nem2-rs を書き始めたりもしました。

今振り返ると技術系のイベントはUmeda.goとかCloud Native Kansai #01とか割と幅広く参加してましたね。

趣味家族etc

遠出は家族で淡路島行ったくらい。

淡路島旅行のしおり

今年買ってよかったものはPixel3でした。 カメラとGooglePhotoの使い勝手がすこぶる良いですが、たまに電車移動中に4Gの通信が途切れたまま復活しなくなるのが辛かったです。 まぁ我慢できる範囲内なのでもう少し使ってみて、Pixel4の次の機種が発売されたら買い換えるかも。

その他は5年くらい使って電池がヘタってきたコードレス掃除機の 代替え機の Panasonicのコードレス掃除機 と 年末に買った HHKB HYBRID Type-S が満足度の高い買い物でした。

書籍は 世界チャンピオンの紙飛行機ブック がよかったですね。 子供と紙飛行機を作っては飛ばしてました。簡単に作れるのにめちゃくちゃ飛ぶので、テンション上がります。 これはいい買い物でした。

おわり

またぼちぼちとブログかけるといいな。 2020年もRust成分強めで行きたいと思います。

2018年のふりかえりとか

恒例のふりかえり。 昨年までのは以下にあります。

ブログ

今年は四半期ごとに振り返りしようと思って1Q、2Qまでは振り返りしたんだけど続かなかったですね。 まぁ1年に一回でいいかな。

体調

5月くらいから腹痛が続いて6月末に悪化して手術して入院してました。虫垂炎。 人生初めての手術で入院。家族やまわりの方に心配をかけてしまって申し訳なかったです。

来年はでかい病気しないようにしたいです。

というようなこともあり、体調が回復してきた10月くらいから筋トレをしています。 ジムとかは行ってないんですが、去年も右肩痛めたので生活していく中で必要な最低限の筋力はつけとかないとなぁ、というところで。 ダンベルでも割とイケるぞって感じで地道にやっていこうかと。

仕事

4月に仮想通貨取引所を運営してる会社に転職しました。 割と自由になんでもやらせてもらえる環境で、機能追加に加えてパフォーマンスチューニング、テストの整備、CIなどを中心におこなっていました。 既存のコードベースをひたすら読んで、気付いたところのバグフィックスや プルリクエストは可能な限りチェックしてクリティカルなバグを事前に潰したりとか、 とにかくなんとか品質あげれるように動いていた感じです。

ブロックチェーンなところにも関わりたいなと考えて、周辺の知識を得たり、gethparity の実装追ったり、 ENS の仕様調べてRust向けのクレート書いたりしました。

9〜11月に色々あって会社を移りまして、今に至るという感じ。 有休消化期間に入ってまして、来年からは別の会社でスタートです。 そのうちLinkedinのプロフィールも変更すると思うので気になる方はそこから見てください。

10月の終わり頃から農業+ITな会社のお手伝いをさせていただいてまして、 IoTやAI周りのR&Dをおこなったりサービスのアーキテクチャを見たりとかしています。 農業という領域は知らないことだらけで新鮮なのと、技術的な部分でもあまり触ったことがなかったところなので単純に楽しいです。

体壊さない程度に仕事していきたいところです。

OSS

立ち上げたりパッチ送ったりしたもののリストです。

Python

他にはGoとかPHPとかをちょろっと触ったくらいでしょうか。 PythonとRustな年でした。

PyCon JP

5月に開催された PyCon mini Osaka 2018 に登壇予定だったのですが、前述の体調不良で急遽欠席してしまいまして、 ご迷惑をかけてしまいました🙇

9月に開催された PyCon JP 2018 には業務で参加させていただきました。 個人では繰り上がりでトークを採択していただいて、「RustとPython」というタイトルで30分の発表をさせていただきました。 Python拡張モジュールをRustで書くという発表でした。久しぶりに沢山の人の前での発表で緊張してましたね。 発表後やブース近くでも質問していただいたりと、おもしろがっていただけたようで良かったです。

ほぼ週刊 今週のRust

インプット増やそうと思って「ほぼ週刊 今週のRust」っていう最近のRustまわりの動きをまとめる サイトみたいなのを始めてみました。

9月から始めて2週間に1回くらいのペースでやってます。12月はお休み中。

Scrapbox どんなものかなと思い使い始めてみたけどなかなか良い感じ。 ほんとは共有用のツールなので書きかけの記事とかもそのまま上げていく感じなのかと思いつつ、 ほぼ週刊Rustは手元で1回分の記事を仕上げてしまって、それをコピペして仕上げるみたいな感じにしてます。 手元で編集するときにライブプレビューしながら編集したかったので、 GoでScrapboxの記法をパースしてHTMLに変換するパッケージ( hhatto/go-scrapbox-parser )を作って、 ftcat と組み合わせて使ってたりしました。

2019年も続けられるといいなぁ、という感じ。趣味プロジェクトなので無理せずゆるくやりたい。

技術的なポートフォリオ

キーワード的にはこんな感じでしょうか。雑多ですなぁ。

  • Python/Go/Rust
  • CNCF/コンテナまわり/Kubernetes
  • 機械学習
  • IoT/センサーまわり/エッジデバイス

まとめ

ここ最近で一番色々起こった年でした。 その分濃い1年でしんどかったこともありつつ楽しかったです。

ブログはあんまり書かなくなりましたね。。。

そのうちこのブログはふりかえりしか書かなくなりそうだな😅

autopep8 version 2.0を目指して

autopep8は初版であるバージョン0.1 をリリースしてから7年程経過していて、 2018年09月現在のバージョンは1.4 である。 Pythonのオートフォーマッタ界隈は割と戦国時代で、autopep8の他にも、 非公式だがGoogle傘下のyapf 、 ここ最近急速に人気を博してきている Black なんかがある。 GitHubスター数でいくとyapfもBlackもautopep8を遥かに凌駕している。

競合分析

yapf

初期コミットは2015年頃。 autopep8にも一時期コミットしていただいてたメンバーがいて面白い。確かグーグラーのはず。すげぇ。 autopep8の動作に嫌気が差したのかもしれない。 どちらかというとPEP8にフォーマットするというより、定義したスタイルにフォーマットするという用途の模様。 yapfのREADMEを見るとgofmtっぽいとも書いている。

Black

初期コミットは2018年。 今 著作者のGitHubページ を見てみると、 燦然と輝く Python core developer の文字。 あとはPython使ったプロジェクトが多めでPythonのスペシャリストが作ってるのだなという感想。 単純にすげぇという感想。

その他の要素

yapf、Blackともにオンラインで動作を試せるページがある。autopep8は無いぞ!!

少し前には この3つのツールを比べる記事 なんかも出ていた。 記事を書いた方は今後はBlackを使うだろう、と書いていた。なんだと!!貴重なユーザーを一人失った。

というようなところをここ最近頭の中に浮かびつつ消えていっているのだが、 Blackの爆誕によりautopep8が押されている状況も勝手にだが感じていて、 改善できるところはやりたいなぁというのを最近強く感じてきた。

思想

そもそものautopep8の設計思想は、 PEP8に従うようにフォーマットするというもので、これは開発初期から変わっていない。 もっというと pycodestyle が指摘した警告をフォーマットして 指摘されないようにするということ。

現状の動きがやや思想からブレている部分もあり、その辺りも2.0に向けて改善していきたい。

実装したい機能

以下のようなものが頭の中に浮かんでいる。

  • オプション指定による想定動作が見えにくい -a, -aa, -aaa, --experimental オプションの削除
  • デフォルト設定のフォーマット結果の驚きを少なくする
  • フォーマットオプションを追加
  • プラグイン機構を導入し独自でやりたいところはユーザー自身に開発してもらう
    • autopep8本体はPEP8のチェック部分のみをメンテナンスし、その他の部分については拡張性や自由度が上がる
    • さらには開発コミュニティ(ユーザーコミュニティ)を活性化できるかも
  • オンラインでautopep8を試せるプレイグラウンド

1, 2年かかるかなーw

終わりに

マイペースに開発を進めていきたいですね。 幸いある程度使って頂けているみたいで、GitHub Issueもちょこちょこあがってくるので、 そういうのを励みにしつつ細く長く開発を続けていけたらと。

この記事に関しては、ややおもしろおかしく書いた面もあるのであまりマジメに読まないように。 特に他のツールを批判したりという意図はありません。 色々なツールがお互いを意識しつつ少し競争がある中で開発を進めたほうが良いものができると思いますし。

autopep8の著作者としての一意見でした。

2018.Q2

2018.Q1

2017年のふりかえりとか

Older Blog Posts