2017年の振り返り
全体
- こんな感じの1年だった
- 大小様々だけど、1年間で4つのサービスのリリースを経験した
- 個人で1つサービスをリリースした
- メインで開発していたサービスがそれなりに評価してもらえて嬉しかった
- 今まで利益度外視のサービスを開発することが多かったので、ちゃんと利益を考えながらサービスを開発できて良かった
- 個人開発は全く進まないより、0.1歩でもいいから進んでいた方がマシだという考えで、最低1日1コミットを目標にやってきた
- GitHubに課金して、Privateリポジトリでも草が生えるようにした
学んだ技術
仕事において、二次情報の知識だとあまり意味がないので、機会があれば実際に自分で試して、サービスに組み込んで運用までやった上で一次情報として自分なりの所感を持つように心がけた
インフラ
- AWS
- AWSの基礎の基礎から
- VPC、Security Group、Subnet、NAT、ALB、EC2、EB、RDS、S3、CloudWatch、Route53
- Bastion経由の安全な環境
- 最初はAWSコンソールからポチポチして、徐々にCFnに書き換えていった
- ログ周りの設計
- 冗長化設計
- スケーリング設計
- LINE砲に耐えるためのインフラ設計
- AMIに書き出してASGでスケーリングさせた
- セルフデプロイなどのデプロイ環境を整えるのが辛くなった
- 最終的にはEBでスケーラブルな環境を構築して運用までやった
- GCP
- ちょっと触った程度
- 運用したサービスはまだない
- 2018年はGCPのGAEを試したい
- AWSはALBのスケーリング性能に限界があって、暖機運転申請しないとLINE砲に耐えられないケースが存在する
- 既にGAEを試す案件は積んである
- Docker
- Docker、Docker conposeによるローカル開発は経験したが、デプロイプロセスや本番運用は経験できなかった
- K8Sは余裕があれば、触りたい
バックエンド
- Rails
- ずっとRails使ってた
- 学生の時ぶりにRailsを触ったので、知識をアップデートできた
- Rails5系の新しい機能は早めにキャッチアップした
- デプロイやログ周りなど、運用に必要な知識
- アプリケーション書くのもAPI書くのも経験した
- 障害調査
- Go
- チュートリアルやったぐらい
- サーバレスアーキテクチャ
- 試せなかった
- サーバレス使った方が良いっていうサービスを開発する機会があれば試したい
フロントエンド
- React + Redux + flowtype
- 初めてフロントをReactで開発したサービスをリリースして、運用した
- 最低限のReact界のルールは学んだ
- 設計は常に悩みながら…
- 使い所次第な気がしている
- フロントエンドとバックエンドの開発が分かれているケースや、ElectronやReact Nativeなどでコストをかけずにネイティブアプリを展開したいケースなどには良さそう
- SPAやる必要があるか、リソースは十分に足りているか、を先に十分に検討した方が良さそう
- SSR
- React on Rails on SSR on SPA with HMR with Redux with CSS Modules みたいな環境は作ったが、本番運用までは至らなかった
- Next.jsかNuxt.jsを本番運用まで試したい
- webpack
- 2系でpost-cssでCSS書いて、svgとfontをよしなに読み込んで、es2015でjs書きながら、開発環境ではHMRしながら、本番用には圧縮された成果物をビルドできるぐらいのconfigは書けるようになった
- UIライブラリ
- Bootstrap
- 言わずもがな
- Material-UI
- ReactのプロダクトでUIコンポーネントを作る際に導入した
- betaの段階でv1を使うのはリスク取りすぎた感
- Googleのサービスに慣れていない人には、一部伝わりづらいUIがある
- Semantic UI
- 会社の既存デザインとの相性が良さそうなので導入した
- 個人的には気に入っている
- Foundation
- シンプルで良い
- Element
- Vueを使う際に試したい
- まだ試せていない
- Bootstrap
デザイン
- Sketchでベクターデータいじるくらい
- サービスのワイヤ引いたり
- Atomicデザインを試してみた
アウトプット
- Qiitaの記事を書いた
- Yarnやっていきはじめ - Qiita
- MySQLで英数字_以外を含むDBをDROPする時はバッククォートで囲む - Qiita
- Rails 5.1.0.beta1 試してみた - Qiita
- Rails 5.1でreact環境を作ってみた - Qiita
- Webpackを1系から2系に移行する - Qiita
- Railsで不正なアクセスをBANして、IPを永続化してSlackに通知する - Qiita
- Rails 5.1のencrypted secretsの運用について考える - Qiita
- react-fontawesomeなのかreact-faなのかreact-iconsなのか - Qiita
- アドベントカレンダーに初めて参加した
- LTに参加した
- rails-erdと初めてのOSSコントリビューション // Speaker Deck
- @第6回スタートアップRails勉強会 ( https://connpass.com/event/59930/ )
- Nakamyというサービスを個人開発してリリースした話 // Speaker Deck
- @第12回若手Webエンジニア交流会 ( https://wakateweb.connpass.com/event/67846/ )
- rails-erdと初めてのOSSコントリビューション // Speaker Deck
- ブログを始めた
- Webナントカ
- 2017年は26記事書いた
- Webナントカ
OSS
- 初めて活動した
- 活動の幅を広げたい
- コミットしたいと思うOSSプロジェクトを見つけて、エンハンスとかに参加できるぐらいになりたい
個人開発
- Nakamy
- アルファリリースした
- なにはともあれリリースした
- コストをなるべく下げた
- あとはいかに使ってもらえるようにブラッシュアップできるか
- マネタイズができるか
- いかに知ってもらうか
- アルファリリースした
- その他
- サービス開発をちょこっと手伝ったりしていたが、リリースまで至っていないものが多い
- 現在進行形のプロジェクトがあるので、そちらは力を入れてとりあえずリリースまでやっていきたい
仕事以外
- 友達の結婚式にたくさん参加した
2018年の抱負
- インフラはGCPを試して、負荷耐性、スケーリング性能、コスト面から、最適な選択ができるようにしたい
- Goで小さめのAPIを書いてみたい
- Cloud Firestore、Lambdaあたりを機会があれば試していきたい
- ネイティブアプリ開発をしたい
- アウトプットの量と質を増やしていきたい
- 個人開発の成果物で稼いでいきたい
- サービスをどんどんリリースしていきたい