2018年活動まとめ
2017年末、2018年はアウトプットを増やそうと決めた。
主にはブログによるアウトプットになったが一応1年以上継続できている。
ブログの内容を元に、今年一年行ってきたことを振り返ってみる。
英語
「どんどん話すための瞬間英作文トレーニング」がよかった - やる気がストロングZERO
IKnowで単語量をひたすら増やしている。
フレームワークのオフィシャルドキュメントは結構読めるレベルにはなった。
ただしそこそこ負荷を感じるので日本語があるならそちらを読みたくなるというレベル。
ヒアリング、スピーキングのレベルは全然あがらなかった。
英会話教室やDMM英会話もやってみたが、スケジュールが安定せずモチベーション維持が困難だった。
実践回数が少なすぎる。
Docker
Nginx -> uWSGI -> Djangoで動作するDocker Imageを作った - やる気がストロングZERO
Dockerを使うと何がいいのか?悪いのか? - やる気がストロングZERO
Dockerの便利さを理解し、開発環境ではある程度使いこなせるようになったと思う。
本番環境運用でのノウハウを得ていきたい。
DB
テーブル設計:ある項目によって保存したいデータ内容が変化する場合 - やる気がストロングZERO
SQLアンチパターン:EAV(エンティティ・アトリビュート・バリュー) - やる気がストロングZERO
トランザクション内で「重複チェック」してから「DB登録実行」しても重複が発生する場合がある - やる気がストロングZERO
トランザクション分離レベル Serializableでも同時実行でエラーがでる可能性がある - やる気がストロングZERO
本を数冊読んだ。
・達人に学ぶDB設計 徹底指南書
・SQLアンチパターン
理想形のテーブル設計の知識はある程度得られていると思う。
今後、より得ていきたい知識は、
「同時実行を意識した設計のベストプラクティス」
「既存のひどいテーブル設計に対してどうアプローチしていくのか」
という部分。
Python
Phthonの内包表記まとめ - やる気がストロングZERO
pythonパッケージをターミナルから実行する場合は[-m]オプションを使う - やる気がストロングZERO
pipenv [install, update, sync] [Pipfile, Pipfile.lock]について - やる気がストロングZERO
python3のdatetimeとtimezoneとpytzについて - やる気がストロングZERO
unittestを使ったテスト駆動開発を含めて、ある程度アプリケーションを作れるようになった。
まだまだ知らない言語仕様もあるが、必要に迫られるまではとりあえずこれで良いかなという感じ。
Django
uWSGIの使い方(Djangoと使う場合) - やる気がストロングZERO
herokuでdjangoアプリをデプロイする - やる気がストロングZERO
django 複数のformが存在するページを作りたい[Formsetsを使う] - やる気がストロングZERO
Djangoで一つサービスを作った。
現在もう一つサービスを作成中なので、ここでもっと理解度を上げていきたい。
開発手法
コードレビュー出すときに意識すること - やる気がストロングZERO
競技プログラミングでもしっかりとTDDを行うと良い - やる気がストロングZERO
初めてテスト駆動開発を行ってみて感じたこと - やる気がストロングZERO
工数見積のテクニックまとめ - やる気がストロングZERO
「テスト駆動開発」を読んでやっとテスト駆動開発ができるようになった - やる気がストロングZERO
プログラミング作業での品質の上げ方 - やる気がストロングZERO
「アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣」が良かった - やる気がストロングZERO
個人開発合宿やってみた - やる気がストロングZERO
アジャイル開発的な手法とテスト駆動開発の知識と実践を出来たのが大きい。
アジャイル開発の考え方を身に着けて、
ずっと不安として抱えていた見積もり系の問題に一応指針を持つことができた。
(とはいえ問題の起こりやすい部分なのは変わらないが。。)
テスト駆動開発の手法を身に着けてシンプルな疎結合な実装をできるようになったし、実装が迷走することも無くなった。
AWS
AWS EC2でインスタンス作成する際に理解しときたい周辺設定 - やる気がストロングZERO
AWSは無料枠で一通りの環境構築を行ってみた。
ただし実際に何かを運用してみないとわからないことが多いので、今開発中のサービスを早く運用に乗せるようにする。
シェル
awkまとめ - やる気がストロングZERO
簡単な自動化はシェルコマンドで手軽にできる - やる気がストロングZERO
使いこなせると便利なのだが、たまに必要になると書き方を忘れている。
思い出したときにブログにまとめるようにする。
来年は?
より運用方向での知識を得ていきたい。
ブログアウトプットについて
ブログに残しておくと何やってたのかが残るのが良い。
知識として定着もしやすい気がする。
また、人に「どういうエンジニアなのか?」を伝える手段としても有効であるのを最近感じている。