2018年振り返り
https://gyazo.com/cf003f60e45dfd0bbe72a431c264ee2d
結構コミットしてたんだなぁ...(しみじみ)
仕事
AWS
EC2, RDS, VPC, ELBなど基本となるサービスは一通り仕事で触れた
VPC, Subnet, DNSなどネットワーク周りは今年だいぶ理解が深まったと思う(それでも微々たるものだけど)
Docker
ローカル開発環境としてdockerを用意した
docker, docker-composeなどを使ってローカルで何か試したり、というのが気軽にできるようになった
気軽に壊せる環境で、何度でも作り直せるからすごく便利。これからも使っていきたい
docuiというツールがすごく便利。docker-composeを使うほどでもない場合は重宝してる サーバサイド開発
go
シンプルなアプリを。Winで開発しようとするとsyslogパッケージがなくてコンパイルができないという事象に遭遇して、docker内でコンパイルして実行する、というのをやったりした よくよく考えればコンパイルだけならWindowsでも対象OSを指定すればできていたな、と今では思う
nodejs
スクレイピングアプリを書いた。自分の想像してた以上にNode.jsの世界は闇が深かった。多彩な書き方が可能すぎて他の人のコードを読むのが大変だったことをよく覚えてる
ただnpmの数は半端ないようで、探せばだいたい何でもあるというくらい豊富であることは素晴らしいと思った。とにかくすぐに開発して動かしたい、というのならありな選択肢だと思った。僕はやりたくないけれど。 bash
前述の2つのアプリをラッピングする用途で書くくらい。でもシェルは「ラッピングする用途で効果を発揮する」ということを肌で実感できたので良かった。
それと、意外とシェルは読めない人が多いということもわかった。あまり特殊な書き方をすると読めない人にはつらいだろうな、と思ったので、シンプルに書くことを意識しようと思った
以下のツールに最低限通すくらいはやっていこうと思う
インフラ整備
もともとnodejsアプリ開発要員として参加したけれど、いつの間にかインフラ側も担当するようになった
開発初期から参加できて、本番リリースにも立ち会えたので、僕の中で一番思い出深い
強いアプリエンジニアの方とも一緒に仕事ができたという点でも思い出深い
dockerを使ってなかったのでdocker導入した
Linuxのお作法にそったアプリ、ログなどの配置構成に修正した ログ設計
log4jsモジュールでアプリディレクトリ配下に出していたnodejsアプリにposixモジュールを導入してsyslog経由で/var/log配下にログ出力してlogrotateできるようにしただけ 厳密に設計を依頼されてやったわけではないが、事実上のログ設計だったと思う
リリースフローを考えたり、デプロイスクリプトを作成したり
広く万遍なくインフラに関われたので、すごくインフラ理解に繋がった。今年一番成長できた要素だと思う
インフラ勉強会
Discordのチャンネルに参加した。これを教えてもらえたのはすごく自分のためになった
社外のインフラの方はこういうことを勉強してるんだな、という刺激にもなった
一大イベント
インフラエンジニアの方の話
すでに退職されてしまいましたが、あるプロジェクトでインフラエンジニアの方と一緒に仕事をしたときの経験が自分の志向に多大な影響を与えた
アプリの開発を裏から支える、ほとんどユーザからは見えないけれど、開発者には確かに必要なインフラエンジニアとしての働き方がある、というのを間近で見られたのがすごく良かった
もともとはアプリ開発がしたくて入社したけれど、志向が完全にインフラ側にシフトしたきっかけ
おかげで現職ではインフラ系の仕事をふってもらえたりしてる
転職、退職の話
親しい間柄の方や尊敬している方が退職されたりがあった
転職、退職された方の話を聞いたりすると、他の会社はどうなのか、などがとても気になるようになった
まだ決心してるわけではないが、気持ちが揺らいでいることは確か
とはいえ、現職に後1年もいないだろうなぁとは漠然と思っている
何がきっかけになるか、だけだと思う
退職しました
OSSにコミット
すごく微々たる内容ですが、自分にとっては大きな一歩になったもの
勉強
Webアプリ構築
プライベートでAWSアカウントを取得して、1からEC2を立てて外部から接続できるようにしてWebページを表示できるようにした
単純にHTMLを取得するだけ、ではなくきちんとバックエンドのアプリがHTMLを随時更新するなど、他のミドルウェアとあえて連携するようにしたりと、いろいろ頑張った
踏み台サーバ、Webサーバを用意して、運用、リリース、セキュリティなども可能な限り意識したりと、なかなか楽しめた
セキュリティを考える必要がでてTCP/IPの勉強もしたりした
大学のときもっと真面目にやっとけばよかった...
AWSをどういうふうに使うのか?がざっくりイメージできるようになったので、やはりやってよかった
LPIC
一回受験して落とした
どうも机上の勉強は苦手で、システムアーキテクチャ周りが苦手。実務でも全然さわらないし
とはいえ、やはりインフラをやるなら取っておきたいので、諦めたわけではない
勉強放置してるけど
メインで使ってる+勉強中の言語
ちょいちょい冗長で書くのがダルイけれど、だいたい誰でもすぐ読めるようになるのが魅力で勉強中
OSSが豊富なのにも結構関係が深そう
Googleの標準パッケージのソースが読めるのも関係が深そう
CLIをつくるのが趣味なので、クロスコンパイル+1バイナリの魅力は強い たとえコードが多少冗長でも、我慢する理由になる
エディタが選べるのが嬉しい(vimmerのため)
最終的には情報量、読みやすさ、それなりの書きやすさ、ライブラリの豊富さ、実装に悩むことの少なさなどのいろんな要素でGoに戻ってきてしまう
いわゆるfilter, mapみたいなのとかはないけれど、探して公式関数がないならすぐに実装に移ろう、というスピード感はよい
あと大体悩んだことはみんな悩んでるので、実装例がすぐ見つかる
ただファイル生成関数がなかったのは驚いたが...
何がきっかけで知ったのか全く覚えてないのですが、突然勉強しはじめた
すごく抽象度の高いコードが書けて、一つの関数が色んな場面で使いまわせてと、車輪の再開発が全然発生しない
書いてて楽しい
コーディングの楽しさ的には$ clojure \gt nim \gt goという感じ
色々楽しくて触ってるけれど、JVM言語なので起動が遅いのがつらい(CLIに向かない)
Python風にかけてコンパイルできて単一バイナリが作れるのに惹かれてちょいちょい勉強中 それなりに読みやすくて書いてて楽しい
が、覚えることは多く、Goほどは読みやすくない
多彩な書き方ができるという点ではPythonよりもRubyっぽい
コード行数はかなり短くなる(Goの半分くらい?)
まだ安定版がないのが残念
そこまでまだ普及してないのが残念
ドキュメント不足感がある
公式のモジュールリファレンスにIFだけで使い方載ってないとか結構ある
クロスコンパイルできるけれど、Goほどクロスコンパイルが簡単でないのが残念
LinuxからMac向けにコンパイルするのがしんどい
エディタで実用的なのにVSCodeくらいしかないのが辛い(vimmerのため)
私生活
関東にきて2年目になる
今まで避けてた電子決済(クレカとか)とかつかいはじめた
開発熱が激減した
2019/7/23 現在再燃した
前職を退職してから再燃したので仕事が忙しかったのが原因かも
開発環境
vimの設定ファイル構成をきれいにしたり
ゲーム
どうも、ゲームをやろうという意欲が最近でない
switch買った
仕事がしんどくて衝動買い
オクトパストラベラー
オルベリク編の最初のボスを倒して満足してから触ってない(2h)
スプラトゥーン2
30分で飽きた
対人ゲームは合わない
もうほこりかぶってる
PS4買った
モンハン4
でかい島みたいな龍をしりぞけてから起動してない
作業させられてる感が強い
もうほこりかぶってる
EDF5にハマった
退職後の自由時間にアホほど遊んだ
ブログ
はてなブログ→github.io→Scrapboxと移ってきた
イラスト
十分実用できるレベルだと思う
最近はミリシタを遊ぶだけのタブレットと化した
来年の目標
ひきつづきインフラの経験を積む+学習
Goの理解をもっと深める
もっとOSS活動に挑戦する