タグ

ブックマーク / ledsun.hatenablog.com (6)

  • 人はFat Modelを恐れサービスを求め ドメインモデルは貧血に至る - @ledsun blog

    この文章は祈りです。 主にRuby on Railsアプリケーションを想定した話です。 Ruby on Railsアプリケーションでは、Fat Model問題という問題が起きることがあります。 ドメインオブジェクトが肥大化しメンテナンスしにくくなる問題です。 Fat Model問題に対応するためにサービスレイヤーを導入することがあります。 「ドメインモデル貧血症」と呼ばれているアンチパターンです。 ドメインモデル貧血症 ドメインのロジックをドメインオブジェクトの中に入れないという設計ルールに従っているのでしょう。その代わり、すべてのドメインロジックを含むサービスオブジェクト群が存在しているのです。 Fat Modelを恐れよ Fat Modelは「単一責任原則」を満たしていないモデルです。 単一責任原則 | プログラマが知るべき97のこと 1つのサブシステムやモジュール、クラス、関数などに

    人はFat Modelを恐れサービスを求め ドメインモデルは貧血に至る - @ledsun blog
    ymm1x
    ymm1x 2022/04/09
  • Node.jsのスーパープログラマ達の今 - @ledsun blog

    僕がNode.jsを熱心に勉強していた頃に、スーパープログラマとして憧れていた人たちが、今何をやっているのか調べてみました。 github.com Express.jsなんかを作っていたtjは、Go言語がメインに書いているようです。 OSS活動自体あまりやっていなさそうです。 github.com Browserifyをつくっていたsubstackは、主にrustを書いているようです。 サーバーを書いていた人はGo言語に、CLIを書いていた人がrustに行くのかもしれません。 github.com Babelを書いていたsebmckもrustです。 github.com Rad VaggはGo言語とPythonのようです。 github.com tjfontaineはOSS活動がほとんど無くなっています。 ここからはNode.jsを去っていない人たちです。 github.com Guill

    Node.jsのスーパープログラマ達の今 - @ledsun blog
  • プログラマにできるとよさそうなこと - @ledsun blog

    十行程度のプログラムが読めること プログラミング言語の文法を知っている 分岐とループを追いかけることができる 変数の状態変化を追いかけることができる 関数呼び出しを追いかけることができる 十行程度のプログラムを複数回書いたことがある プログラムを読んでプログラムの動的な振る舞いを想像できる プログラムの主な処理の結果を想像できる 主な処理の終了条件がわかる プログラムから主な処理を読み取れる 似たようなプログラムを書いて、動かしたことがある 既知のプログラムと読んでいるプログラムの違いがわかる イディオムを知っている イディオムを書いたことがある プログラムがどう動くか知っている 重複したソースコードを関数に抽出できる 重複したソースコードがわかる 同じ入力と出力をもつコードブロックがわかる コードブロック単位で入出力を比較できる プログラムのある機能がソースコードのどの部分に依存している

    プログラマにできるとよさそうなこと - @ledsun blog
  • デザインパターン厨よ、これが黄金の回転だ - @ledsun blog

    状態管理用の変数をインスタンスに持たせるなこのタコって話 に面白い機能追加とリファクタリングの例がありました。TDDに慣れ親しんだ身からすると、 「黄金の回転のリズム」 テストを書く テストが通る最低限のコードを書く リファクタリング に比べると、リファクタリングのサイクルが大きいなと感じたので自分もやってみました。 元のクラス シンプルなmoveメソッドで移動方向に動くPlayerクラス*1 機能追加1 二倍速 2倍速で動くようにしたい 二倍速く動くなら二回 move すればよい サブクラスFastPlayerを追加して実現。 機能追加2 カニ 横は4倍速で動くんだけど縦は半分の速度で動く KaniPlayerクラスを追加してとりあえず機能を実現 class KaniPlayer < Player def move(direction) case direction when :up @

    デザインパターン厨よ、これが黄金の回転だ - @ledsun blog
  • 優秀なプログラマになるために - @ledsun blog

    みんな良いこと言うので、刺激を受けて考えたことを記録します。 生きてるだけで丸儲け ストレス対処法 撤退戦術 タスク殺すマシーン 人間に戻る儀式 運 技術力を身につける方法 車輪を再発明する 脱ゴールデンハンマー病 学習の助 優秀なプログラマとは? おまけ 生きてるだけで丸儲け 優秀なプログラマーになるためのコツ · GitHub 優秀なプログラマーに「育つ」んだし、それには時間が必要 優秀なプログラマーになるということは、上記の通り長時間を要するということも踏まえると、メンタルヘルスにリスクがある環境に長時間暴露されることが不可避である 業界で長きにわたり活躍し続けている人というのは、それだけですでにひとかどの人物 すごく良いです。 優秀なプログラマになる前に、死んでしまっては元も子もありません。 生き延びることはなにより大切です。 幸か不幸か現状のIT業界はハードなストレスにさらされや

    優秀なプログラマになるために - @ledsun blog
  • 自炊の始め方 レベル1〜レベル10 - @ledsun blog

    自炊とは自分がべるため。人にべさせるご飯の話は扱わない。 レベル1 冷凍ごはん 炊飯器 ジップロックコンテナ 惣菜を買ってべよう。牛丼よりは高くつくけど定べるよりはちょっとだけ安くなる。 レベル1.5 パスタ 鍋 ゆでるだけなら誰でも出来る。ソースはレトルトを買っても一200〜300円くらい。 ペペロンチーノを覚えておくとべるものが無いときに重宝する。唐辛子は年単位で日持ちするし。 冷凍シーフードミックスやトマト水煮の缶詰があると、とりあえずぶち込んでペペロンチーノと同じ味付けにすればそれっぽくなるので便利。 ただ、イタリア人でもない限り毎パスタとか、パスタ一品とか無理。 レシピはたくさんあるのに、使える場面に伸び代がない残念な子。 レベル2 味噌汁 だしパック ミルクパン 味噌汁の包容力は異常、カレー以上。カブ、大根、ホウレンソウ、玉ねぎ、油揚げ、きのこ そして栄養バラ

    自炊の始め方 レベル1〜レベル10 - @ledsun blog
  • 1