2019年も終わるので1年を振り返る。
2018年のまとめで「より運用方向での知識を得ていきたい。」と言っていたのは新しい職場で経験できているので「クリアできた」ということにする。
RubyとRailsがメインになった
職場が変わって、.Net C#からRuby + Railsになった。
Railsはフレームワークとしてはすごく使いやすい気がする。(他のフレームワークをたくさん知っているわけではないけど、Djangoよりは使いやすいと個人的に思ってる)
Ruby自体についてはどうなのかよくわからないが、作者が日本人であるからなのかコミュニティまわりが活発な感じ。
みんなRubyが好きな感じがする。
個人的にはインターフェースとか型周りの機能がもう少しある言語で、Railsのようなフレームワークが使いたいという印象かも。
設計周りに興味を持った1年だった
職場が変わったが、どこもシステムはなかなか複雑化するものなのだなと感じた。 みんなどうにかしたいと思っているが、複雑化によって作業量が増え、それによって対策が打てないという悪循環に陥ってしまいがち。
開発時は良かれと思って行ったことが、後々苦しむポイントになってしまってたりする。
だから、どういうコードが辛くなるのかの知識を持たねばならないと思い、設計周りに興味を持って勉強をしたり試したりした。
その結果、今持っている指針は
- 凝ったことはしない(あとでわからなくなる)
- 依存しないさせない(単品でも動くようにする)
- 1つの事だけする関数で処理を組み立てる(処理を混ぜない。「これも依存しないさせない」の一環)
- 冗長なデータは持たない
また、シンプル化を実現するために凝った仕組みが必要になる時があるが、できるだけ既存の有名なパターンを使うようにする。
オリジナルの仕組みを盛り込まない。
有名パターンはググれば調べられるけど、オリジナルの仕組みは作った本人も忘れるので調べられない。
仕事が忙しくなった
なんやかんやでストレスがかかる状況が増えた。(業務量過多、知識が薄い部分での緊急トラブル対応等)
もともとストレスを抱えやすいタイプだったので一時期しんどかったが、常にさらされていることで少しづつ慣れてきた気もする。
外部要因はなかなか制御できないので、メンタルケアの方法なども大切だと感じた。
あと、仕事外の事が後回しになり過ぎ問題があるので、この辺りも来年はなんとかしたい。。
来年は?
- kubeを使えるようになりたい。(運用してる個人サイトをkubeで動かすのを目指す)
- もうちょっと仕事の割合を減らしたい。(あふれるタスクの捌き方とか、断り方とか??)
こんなブログ書いてた
気軽に書いてるのでそこそこ数はある。
どういうことやってたのかなんとなくわかるから面白い。
ざっくりこんな感じだった。
- 前半はDjangoとかPython
- ターミナル環境の強化
- 開発環境をUbuntuにすることを検討(結局してない)
- 問題をシュミレーションしてみたり
- 転職でRubyとRailsを使うことに
- Railsの開発環境とステージング環境をDockerを使って構築したのでメモ - やる気がストロングZERO
- 【Rails】RSpecの使い方メモ - やる気がストロングZERO
- 【Rails】 Capybaraの使い方メモ - やる気がストロングZERO
- 【rails】コード読んだメモ - やる気がストロングZERO
- Rubyのメソッド引数メモ - やる気がストロングZERO
- 【ActiveRecord】テーブルをまたいでwhere句条件を書きたい時 - やる気がストロングZERO
- 【Rails】migrationコマンド周りまとめ - やる気がストロングZERO
- 【Rails】ブラウザ実行自動テスト設定方法 - やる気がストロングZERO
- 【activerecord】joins, includes, eager_load, preloadの違い - やる気がストロングZERO
- Cypressの記法メモ - やる気がストロングZERO
- RSpecでmockを使ってテストする - やる気がストロングZERO
- Railsのセットアップ - やる気がストロングZERO
- 【rails】dockerを使ってproductionでの確認ができる環境を構築する設定ファイル郡を作った - やる気がストロングZERO
- 【Rails】autoloadについて - やる気がストロングZERO
- DBスペシャリスト受けたり
- 設計を学びたくてDDDを勉強したり、設計への愚痴とか
- ModelにApplicationが提供する機能を実装するとつらくなる - やる気がストロングZERO
- ビジネスロジック内でActiveRecordを直接つかいたくない - やる気がストロングZERO
- 【テーブル設計】売上詳細データをどう持つか - やる気がストロングZERO
- 【DDD】ドメインイベントについて学んだので自分的理解をまとめる - やる気がストロングZERO
- 配列(array)や辞書(dictionary)を関数間で受け渡しまくるとしんどい - やる気がストロングZERO
- DDDの要素についての個人的理解 - やる気がストロングZERO
- 【Rails】Active Record のコールバックは使わない方がいいと思った - やる気がストロングZERO
- インスタンス変数に計算結果を保持させたくない - やる気がストロングZERO
- 「JUDGE EYES:キムタクが如く」で学べた「抽象化」の力 - やる気がストロングZERO
- 【DB】テーブル集計結果を別テーブルに持たせたくない - やる気がストロングZERO
- 関数の引数でdictionaryを渡されてるやつがめちゃ嫌い - やる気がストロングZERO
- tableのstateカラムはアンチパターン(だと思う) - やる気がストロングZERO
- 理解しづらかったコードメモ - やる気がストロングZERO
- 【テーブル設計】利便性のために余計なデータを持たせるのはアンチパターン - やる気がストロングZERO
- その他ちょっとしたメモとか
- ネットワークの疎通デバッグ(ping, traceroute, curl, nslookup) - やる気がストロングZERO
- Twitter APIを使うために必要な作業 - やる気がストロングZERO
- 緊急対応のときの動き方を考えておく - やる気がストロングZERO
- psqlコマンド覚書 - やる気がストロングZERO
- 【rails】既存DBの初期migrationファイルの作り方 - やる気がストロングZERO
- rails command の一覧を知りたい - やる気がストロングZERO
- docker-compose execでcdしたい - やる気がストロングZERO
- railsのrake taskをcron実行する - やる気がストロングZERO
- 【RubyMine】docker-composeのコンテナ内の実行環境でラインデバッグするための設定 - やる気がストロングZERO
- https(ssl)通信設定の概要 - やる気がストロングZERO
- 【Docker】何もしないコンテナを起動しっぱなしにしたい時 - やる気がストロングZERO
- 【Docker Ceotos7】systemctlが使えるようにする - やる気がストロングZERO