2019 年振り返り
2019 年も終わるので、今年 1 年を振り返る。 2018 年振り返りのときよりコミット数が増えてる。
イベント
今年の自分の中の一大イベントとか。
転職
自社サービス系企業に転職してから「元気になった」と姉に言われた。 いわく前職に勤めていたときは「老けていた」「目が死んでた」「ボロ雑巾みたい」らしい。 前職で働いていたときは気づかなかった。
こうやって人は過労死するんだろうな、というのを実感した。 真剣に自分が死ぬ恐怖を覚えた。
実際、転職してから残業時間は前職と比べてメチャクチャ減って、月10時間を超えなくなった。 きちんと6時間眠れてきちんと食事ができるようになった。 給料も上がって残業時間が減ったのでかなり嬉しい。
使ってる技術や開発体制も前職よりずっとイケていて、スピード感のある開発ができているのがとても嬉しい。
- CIがきちんと整備されていて、自動テストされる
- 自動デプロイの仕組みもある
- Goで開発できる
- Excelで設計書のメンテをする仕事がなくなった
- やりたかったCI整備の仕事とかもやらせてもらってる
前職には未だ憎しみがあるけれど、前職での経験があったおかげで今の自分があるので多少感謝してる。 前職に戻ろうとは微塵も思わないが。
肺気胸
退職日の直前に肺気胸を患った。 20〜30代の細身の男性で発症する人が多いらしい。 通院と療養で3営業日くらい休んだ気がする。
入院はせず、薬の服用で様子をみた。 ぶり返しやすいらしいので今後が怖いなぁと。
仕事のストレスが絶対関わってると思う。
VimConf 2019
去年は参加できなかったので今年はなんとしても参加したいなぁと思って行ってきた。
思っていた以上にVimConfにはたくさんの人が参加していた。 コミュニティの大きさを実感。 LTを聞いて色んな人がVimに想いを持っているのが伝わってきた。 LanguageServerProtocolはやはり重要な技術で、これの影響は大きい。
最近は自分のVim環境がほぼ安定してしまったので、あまり設定を変更しなくなった。 現状の環境で満足してしまっている。 最新のVim情報を追跡できてないなぁ、という感覚。 最新の情報を仕入れるために、VimConfには毎年参加したい。
Nim 1.0.0 リリース
個人的に推してる[プログラミング言語]の[Nim]が1.0.0リリース。 ここまで長かった。 僕がNimに初めて触ったのがたしか0.16くらいのころ。 その頃はエラーメッセージが不親切だったり。 よくわからんバグでクラッシュしたり。 英語のドキュメントすら不足していた。
1.0.0へ向けたissuesに参加したりした。
おかげでコントリビューターの一覧に僕のアイコンが載った。
日本だと全然知名度が足りない。 もっと流行ってほしいなぁ。
仕事
[Go]
Goのサーバサイドエンジニアとして働いているのでGoを書いてる。 念願のGo仕事。 API、ツール、テストなど書いている。
今は改善系のタスクを中心にやっていたので、サービスの新機能とかには参加していない。 やはり他人のGoコードは読みやすいので、仕事で使う言語としてはGoはかなり優秀。 ただしgo.modという概念には他の技術者も苦戦していたようで、プロジェクトもその負債と戦っている。 Node.jsとかは完成されたパッケージマネージャのエコシステムがあって凄いな、と。
[CI]
GitLabCI使ってます。 前職だとJenkinsとか使ってたけれど、GitLabCIには感激した。 とにかく複雑なフローが組める。 UIとの連携もしやすい。 超絶便利。 自動テストのフローを組んだり自動リリースのフローを組んだりしてる。
開発と工数
スクラム開発になった。 SIerの時は工数とスケジュールをベースに仕事をしてたのががらっと変わった。
厳密に言うとスケジュールはあるんだけれど、他のリリースの割り込みで後回しになったり。 今自分の開発は遅いのか?早いのか?遅れてるのか?進んでるのか?実感がない。 まぁまだスケジュールが決まっていない開発しかしてないのもあるが。
ヘルプ対応
顧客からの問い合わせを受けて仕様を確認したり、障害調査をしたりするのをやってる。 コレが不規則に飛んでくるのでかなり脳の切り替えに時間がかかる。
大量に問い合わせがくるとどれをどれだけやったかわからなくなったりする。 このへんマルチタスクが苦手な自分にはつらいところ。 サービスの細かい仕様の理解になるので意義は大きい。
とはいえこれが結構一日の大半の時間を使うので、最初に予定していたタスクがほとんど進まない。 いつまでやるんだろう。
個人開発
Nim
最近はGoよりもNimに関心がある。 バージョン1がリリースされたのもあって、本格的に色々作り始めた。 Qiitaに色々記事書いた。
Nim日本コミュニティに参加した。
Nimアドベントカレンダーにいっぱい記事書いた。 ピュアNimで色々コマンドやライブラリ書いて公開した。
Nim用のGitHubActionsを作った。
他人のNimリポジトリにPRだした。 Nim良い言語なので流行ってほしいなぁと思ってる。
1がリリースされるのに時間がかかりすぎてGoとRustにシェアを持ってかれた感。 Nim推しの技術者数名と知り合いになれた。
Go
Nimに触る前から色々作っていた。 最近はあんまりプライベートだと書いてない。
textimgというコマンドがチョットだけ星いっぱいついた。 2019年5月に公開。 たしか転職期間中。 たぶん主にシェル芸人から。
これもだいぶ満足しちゃってコミット停滞。
シェル芸
シェル芸勉強会へ行くようになった。 第41回に初参加して、そこからずっと参加してる。
シェル芸bot用に色々コマンドいれてもらった。 シェル芸botのインフラにsupervisorを入れてもらってbotが自動復旧するようにした。
画像系のシェルばかり最近は実行してるなぁ。
super_unko
複数のBashのバージョンで自動テストできるようにした。 カバレッジとるようにした。 静的解析を自動でするようにした。 フォーマッタに自動でかけるようにした。
いつの間にかメチャクチャコミットしてる人になっていた。
LT
シェル芸勉強会で初めて LT 発表した。
最初はめっちゃ緊張したんだけれど、酒の力を借りてなんとか発表しきった。 泥酔したが。 こういう発表は自分の理解の確認にもなるので、積極的にやっていこうと思った。
GitHub Actions
GitHub Actions が正式リリースされた。
色々試して自分のリポジトリに導入した。 仕事でGitLabCIのフローを組んだりしてるので、この辺の考え方はだいぶ分かる。
とにかくGitHubと連携しやすくて便利。 リリースもやりやすい。 誰かが作ったアクションを使い回せるのがよい。 探せばだいたいなにかある。
個人的には設定の書き方はGitLabCIやTravisCIより好み。 setup-nim-actionというNimの環境構築用のGitHubActionsをTypeScriptで自作した。
データベース設計実践Night 〜ウェブサービスのテーブル設計をしてみよう〜 振り返り
DB設計をしたことなかったので行ってきた。
最初はNimで知り合った人が参加するイベントだったので、直接合うことが目的の半分だった。 DB設計の難しさや、人によって設計は千差万別になることを身を持ってしった。 特に他人の設計を知れるのがホントよかった。
こういうイベントがあればどんどん参加したい。
Webでシェルを実行するwebshを作った
きちんと完成させて公開して運用するWebアプリを作った。 一人で設計して一人実装した初めてのWebアプリ。 このアプリはとにかく効率化・自動化に注力した。
- 前職で手動のリリースを経験した反骨精神
- リリース作業に無駄な時間を使いたくない
- 自動テスト
- 自動リリースドラフト
- 自動デプロイ
- 自動復旧
- サービス監視
- とにかく楽な運用を目指した
2018年にもWebアプリを作ったが、あの時はインフラにとにかく注力したアプリだった。
フロントエンドは無いにひとしい。 アプリと言っていいかはかなり怪しい。 あれよりはだいぶ実践的な構成になったはず。
ドキュメント系
Nimのコミットとかやってるとドキュメントが英語しか見つからないことが結構あった。 必然的に公式ドキュメントを読み漁ったりした。
割と英語読めなくてもGoogle翻訳を組み合わせればだいたい理解できることを実感した。 最近は詰まったら英語の公式ドキュメントを探しにいく習慣ができた。
- まずヘルプを引く
- manを探す
- 公式サイト
英語に対する抵抗感が減ったのは良い傾向。 どこまで正しいか自信ないけれど、英語でNimのAPIドキュメントも書いた。 きちんとした文法なのか自信がない。 大学卒業してから文法きちんと勉強してないからなぁ。
ゲーム
デレステ
masterは安定クリアできるようになった。 マスプラは無理。
- りあむかわいい
- 雪美かわいい
ミリシタ
masterは安定クリアできるようになった。 デレステよりこちらのほうが好み。
- 千早かわいい
- 瑞希かわいい
- 律子かわいい
- 琴葉かわいい
ロボトミーコーポレーション
ManjaroLinuxでも日本語で動く! でも全然やってない。
UNDERTALE
ホント好き。 RPG好きな人はみんなやってほしい。 神ゲー。
TRPG
転職期間中はアホほどオンラインセッションに参加した。 転職してからは開発熱が上がってきたのであんまりやってない。 でも好き。
個人的には探索型探索者が好き。 あと回復系の技能。 戦闘技能は基本振らない。
RPG
アルニスタの記憶やってる。 ManjaroLinuxでwine使って動かしてる。
なんとか音がなるようになったので通常通りプレイ。 コントローラーが認識しないのでキーボードでプレイ。 この辺はLinuxのつらみ。
ソーンストラーナ系のゲームは大好物なので週末にちびちび進めてる。 ガツッとゲームやる体力がなくなったのは年のせいか。
イラスト
あんまり描いてない。 今年は1人しか描いてない。 最近は描き方を忘れてきた。 落書きのしかたも忘れてきた。
もともと自作のゲームで使いたいキャラを描いていたので、ゲーム作るのをやめたら一気に熱が冷めた。 なので、似たようなポーズの絵しか描けないのが悩み。 ちゃんと人体の構造勉強しないとなぁ。
実はjiro4989-illustに公開してるイラストをいくつかゲームに使ってもらってる。
モンスターカンパニー
メインキャラに何名か起用されてる。
2018年3月リリースなので去年の振り返りに書くべきだった。 実はリリース直後からポチポチ触っていて、今も続けてる。 ちょっと課金もした。 主人公としてうちの子が動いてるのをみるとなかなか感慨深い。 主要キャラの3名がモンスター側にも採用された。 モンスターイラストは別の方がメインなのでそちらのイラストレーターに依頼したみたい。 意外と気に入ってもらえてるようでありがたや。
白と黒の境界線
2018年9月公開なので去年の振り返りに書くべきだった。 かなり昔に描いた悪魔っ子が起用。 描いた当時僕も結構気に入ってた。 ヒロインとして活躍してるのを見るととても嬉しい。 ちらほらファンアートがTwitterに流れていて嬉しい。
Block Tuner
2019年8月公開。 ブロック崩しのゲーム。 買って遊ぼうかなぁと思って買ってなかった。 僕が単純にブロック崩し下手くそなのでどこまで遊べるか問題。
アルニスタの記憶
2019年11月公開。 キャラグラフィックを自由に選べるタイプのゲーム。 Little Carnivalでメインキャラに起用されたキャラが続投。 あと会話可能な立ち絵のあるキャラの一部に何名か起用されていた。 嬉しい。
雑感
当たり前なんだけど、ゲーム作るのツクール使っても半年とか1年とかかかる。 イラストを公開して忘れた頃に報告をもらうことが結構ある。 だいたい結構前のイラストなので、描き直したい衝動にかられる。
ちなみに利用規約に「イラストを使うことの報告は任意で」と明記してる。 なので、実際どれくらい絵が使われてるのかはわからん。
報告をもらうと嬉しいが、規約に明記して使いづらくもしたくない。 ゲーム作るときの素材集めしんどいので、割と緩めの規約で公開してる。
イラストについてはブログ更新停止してるのに未だにはてなブログのほうに報告が来るのどうにかしたい。 一応Scrapboxへのリンクは貼ったんだけどなぁ。
イラスト使ってもらったゲーム一覧とか作ろうかな。 jiro4989-illust に書く内容かと言われるとううん。
私生活
- HHKB買った
- 会社用のも買って愛用している
- 机買った
- デュアルディスプレイ快適
- 時間の計測を始めた
- チョイチョイ忘れるけれど、12月からプライベートの時間を[Toggl]で計測するようにしてる
- プライベートの時間の大半を開発につぎ込んでるのがわかる
ふりかえって
この記事の先頭に貼ったコミットログみても分かるが、去年よりコミット数が激増してる。 転職して自分の時間を確保できるようになったことが関係してると思う。 転職、勉強回、カンファレンス、LT、アドベントカレンダー、CI、Webアプリの公開といろんな挑戦をした一年だった。 こうして自分のやりたいことに目一杯時間を割けていることを鑑みるとやはり転職してよかった。 このコミットを維持し続けたい。
とても今の自分の生活は充実してる。
- アプリ・インフラもできた
- [CI]や[Docker]の理解も深まった
- 運用の理解も深まった
反省
今年はAWS関連の知識の吸収をあまりできなかった感じがある。 仕事ではAWS使うし、勉強したい。
webshを運用を開始していろいろ気になる点がでてきた。 入門監視などの書籍を読まないと。 セキュリティ対策。
来年の目標
- 現状のOSSコミットを維持する
- AWSの勉強
- ソリューションアーキテクトとかは欲しい
- インフラ勉強
- 入門監視実践
- webshに実践する
- [Prometheus]+[Grafana]も試したい
- セキュリティ対策
- 入門監視実践
- イラスト描く
前の記事 新卒入社してから 2 年勤めた SIer を退職した | 次の記事 debian パッケージを作成する GitHub Actions を作った