6月はペースを取り戻しつつあった。終盤だけだけど。
気を抜くと全然読めてないなってなっているのでうまく自分のペースをコントロールしていきたい。
読んだ本
読み手につたわる文章 - テクニカルライティング
会社で献本されたんだけど、出社してなくて結局買って読んだ。
ページ数が少ないからシュッと読めるし、中身が濃いのでおもしろい本だった。
共感を得たり、発見があったのは以下のようなところだった。
- Chapter1 テクニカルライティングをはじめる前に
- 1.2.2 自転車を「知らない」と描けない
- 全く絵が描けないんだけど、絵も一緒なんだなと思った
- 1.2.2 自転車を「知らない」と描けない
- Chapter2 エンジニアのためのテクニカルライティング
- 2.2.3 既知から未知に繋ごう
- これは人と話す時に無意識にやっていたことな気がしていて大事だなと思った
- 意識してやっていきたい
- 2.2.4 一つの段落では一つのことだけ書こう
- 大学の英語小論文の授業受けて習った内容の一つに近かった
- 主張を一つにするの大事よな
- 2.2.5 一度に把握できることは7つまで
- 多すぎてもダメなのはイメージつくけど具体的な数はイメージできてなかった
【コラム】変わっていく語感を拾おう
- 誤解を生む表現を誤解が生まれない表現で言い換えるの大事よな
- それが誤解が生まれやすい表現かどうかを知らないと出来ないからこのコラムの気持ちは大事にしていきたい
- 2.4.3 タイトルは「概要」か「○○の概要」か
- これどっちがいいいか悩ましいよなー
- 2.2.3 既知から未知に繋ごう
- Chapter4 よいレビューの仕方とされ方
- 4.1.6 頼まれていないレビューはしない
- これはちょっとわかんないなー
- そもそも論間違ってんじゃんみたいなPull Requestのレビューをしたとき、それは頼まれてないのでレビューすべきではないみたいな話にはならないだろうと思うという点から、ほんのり違和感があるなと思った
そこにあるのが読み手 にとって取り返しのつかないような危険な間違いで、誰がどう見ても MUST FIX な ものであり、こちらから修正案も提供できる、というものでなければ、
- これに該当するとしたら、そもそも必要かどうかという点はレビューすべきものであるという考え方も出来るのかな
- 4.1.6 頼まれていないレビューはしない
- Chapter5 どうやってテクニカルライティングを学ぶか
- テクニカルライティング検定なんてあるんだ
- ちょっと気になるので試験対策本読んでみようかなと思った
- テクニカルライティング検定なんてあるんだ
技術書の読書術
チームメイトが読んでいて、ちょっと前にセールだったので積んでた本。
そこまで長くない様子だったので読んでみた。
自分がなんとなくやってた読書術は悪くない方針だったんだなってことがわかってよかった。
気になったり共感したりしたのはこのあたり。
- 第1部
- 第2部
- 「『3』の発想」 ~1つのテーマで3冊の本を読む~
- 入門書を3冊見比べる
- 図書館で無料で読めるという選択肢があるとこれがやりやすいんだよな
- 同じ内容の本を読んで同じことを言っていれば大事な内容だし、同じ内容を学んでいるので読む速度も上がるしこの方法は個人的にも好き
- 入門書を3冊見比べる
- 読書に書ける時間
- 1冊90分で読む時間制限読書法
- 90分で区切るやり方良さそう
- 技術書の飛ばし読みテクニック
- 受験の現代文でやった内容だった
- 特に「日本語の用法を取捨選択のヒントにする」の部分
- 大事な部分を抽出するのもテクニックで出来るのでそういうの大事だよな
- 逆に書く時にはそれを意識して書くことが大事でもあると思っている
- 受験の現代文でやった内容だった
- オーディオブックでインプット量を増大させる
- audibleが3ヶ月無料なのでまた試そうかなという気持ちになってきた
- Amazon.co.jp: Audibleオーディオブック
- 「『3』の発想」 ~1つのテーマで3冊の本を読む~
- 第3部
- アウトプットの大事さという話
- プログラミングと同じで知識をインプットしたらアウトプットするとさらに良いことがあるからやっていこうなという話と認識した
- アウトプットの大事さという話
現場で役立つシステム設計の原則
DDDを実際にどうやっていくかの話をまとめた本という認識。
5、6年前に読んでたけど、再度読んでみた。
- Chapter 1 小さくまとめてわかりやすくする
- 小さなクラスでわかりやすく安全にするという話
- 値を扱うための専用のクラスの値オブジェクト
- Money型とQuantity型いい例だよな
- 責務をクラスに閉じ込める
- 小さなクラスでわかりやすく安全にするという話
- Chapter2 場合分けのロジックを整理する
- ifなどの分岐ではなく、クラスに分けてinterfaceやenumを使いそれぞれに責務を分けて実装しましょうという話
- Chapter3 業務ロジックをわかりやすく整理する
- プレゼンテーション層+アプリケーション層+データソース層からさらにドメインモデルを定義する部分を用意する
- 各々の層の関心事と分離して業務ロジックのみに出来るのが良いこと
- Chapter4 ドメインモデルの考え方で設計する
- 業務分析をしっかりやろうという話
- それを元にコードの設計をしようという話
- すごくわかる
ドメインオブジェクトの設計の基本は現実の業務の中で使われている具体的な言葉の単位で業務ロジックを整理することです
ドメインモデルの設計でありがちな失敗に、業務では実際に使っていない抽象的な言葉をクラス名として使ってしまうことがあります
そういう意味の広い抽象的な名前を使ったクラスは、具体的には何も説明していません。業務の現実の詳細を的確にとらえてはいないのです。
- わかる〜〜〜〜〜〜
- ドメインモデルとデータモデルの違い
- ドメインモデル
- 年齢が業務の関心事であれば年齢クラスを作る
- 内部的には生年月日を持つ
- 計算するメソッドを持つ
- データモデル
- 生年月日のみを持つ
- テーブル設計の役割の部分がデータモデルの設計ということかと勝手に納得した
- ドメインモデル
- 全体的にドメインモデルをビジネスサイド(ドメインエキスパート)から知識を得てどう理解していくかの話だった
- 改善を続けながらドメインモデルを成長させる
- 業務分析をしっかりやろうという話
- Chapter 5 / Chapter 6 / Chapter 7
- Chapter8 アプリケーション間の連携
- マイクロサービス間のAPI連携や他社との連携が一番イメージ近そうだなと思った
- Chapter9 オブジェクト指向の開発プロセス
- Chapter10
- オブジェクト指向設計の学び方と教え方
積読(読みたい本)
人を動かす
リーダーのための!コーチングスキル
ドメイン駆動設計入門
スタッフエンジニア
チームトポロジー
まるで進まないので一旦止めてる
過去に読んだ本
arata.hatenadiary.com arata.hatenadiary.com arata.hatenadiary.com