設計のお勉強2
今週の行動、取り組みなど
設計のお勉強
WEB+DB PRESS plus これからはじめる Web開発の基礎
第二章 設計の原則
依存性、命名、抽象化
保守できるコード
保守性に優れたコードは、次の2つの性質を持っています。 人が読んで理解できる
- 可読性
- 参考書籍
- リーダブルコード、Code Complete 一部の変更が全体を壊さない
- 保守性の阻害要因 - 依存関係が複雑なこと - コード中の概念や名前が通じないこと
実践クリーンアーキテクチャ | nrslib nrslib.com
世界一わかりやすいClean Architecture - nuits.jp blog www.nuits.jp
ソフトウェアアーキテクチャの3種の神器
1. 関心の分離(SoC:Separation of Concerns)
2. 疎結合
3. 依存性逆転の原則(DIP:Dependency Inversion Principle)おさえるべき3つのこと
1. 依存性は、より上位レベルの方針にのみ向けよ
2. 制御の流れと依存方向は分離しコントロールせよ
3. 上位レベルとは相対的・再帰的であることに留意せよClean Architectureで誤解されがちな2つのこと
1. 参考図のとおりに関心を分離するのがClean Architectureであるという誤解
2. データや処理の流れを一方通行にしろという誤解Python で学ぶ実践的なドメイン駆動設計とレイヤードアーキテクチャ / DDD and Onion Architecture in Python speakerdeck.com
最高の勉強法
https://youtu.be/DDGVsAWgdYc:embed:
- (正確には先週)
- 繰り返しのインプットは微妙
- 効果が高い勉強法1 アクティブリコール(active recall)
- 効果が高い勉強法2 間隔反復(spaced repetition)
アクティブリコールでのアウトプットとして、白い紙に書き出す(僕がよく使う方法)、練習問題や過去問を解く、暗記カードを使う、ただ思い出す等色々な方法があります。僕は、書き出しながら、声に出して、さらに誰かに教えているフリをする、という、同時に複数の方法でアウトプットする方法をよく使います。記憶術に関する本はこちらが面白いです→「ごく平凡な記憶力の私が1年で全米記憶力チャンピオンになれた理由」
少しずつインプットしている書籍たち
AtCoder
- 一日二問を継続
Google Calendarに履歴
- 継続中
- 参考記事)note.com
アプリ開発
- 今週できんかったな
ゼロ秒思考法
- 継続中
英語学習
- ELSA継続
Pending中だけど、やりたいこと
今週読んだ本
bookmeter.com 「すべてがFになる」 最初から読み直してます(Audible)
bookmeter.com 「冷たい密室と博士たち」 トリックより、会話とかが面白い
bookmeter.com 「笑わない数学者」 ははは
中島さんは、プログラミングの勉強をしたことがない。元々ゲームを作りたかった。
実際に作ってみるの繰り返し
他の勉強も同じ。なんとなくで勉強しない。
極論:集中しなきゃいけないような仕事なんかするな
頼まれなくても自分からしたいかで仕事を選ぶ
やってみたかったら飛び込む
今の環境からでもそのやりたいこととの共通点を見つける
夜寝る前に明日やることのタスクリストを作る
ひとつは15分で終わる単位にする
私はタスクリストは普通にノートに書いています。@あそこんのツールやスマホのアプリだと起動に少し時間がかかるからです。毎日やるものは(ループ)は、極限まで動作のハード> ルを下げるべきです。神のノートだったらいつも手元に置いておいて、サッと開いて書けばいいだけですから長続きします。
具体的にどうするかというと、左端にチェックボックスを書き、その右に仕事の内容を書きます。ここで重要なのは、仕事は15分程度で終わる単位の仕事に分けることです。15分では> 終わらない仕事もいくつかの小さな仕事に分割します。慣れないうちは難しいで法から、まず5章の「長期の仕事は縦に切る」でお話ししたような要領で、大きな仕事をズバズバと中> くらいの規模に分割していってください。そのあとさらに小さな使途後に切り分け、そのうえで15分くらいの微細なタスクにまで落とし込んでいきます。
作業自体はたったこれだけのことです。わたしは 毎日寝る前の5分程度で書いています。しかしこれは大変重要なことです。なぜならタスクリストがあると仕事にリズムが生まれ> るからです。仕事んリズムとは、つまり一つの仕事を終えるごとにリストにチェックがついていく快感のことです。
言葉にするとあまり大したことのない感覚の様ですが、実際にやってみるとかなりの高揚感があります。
ここに書き出したタスクが明日ん作業ということになるのですが、思い出してみてください。本書の方法では、1日の仕事の大半(8割)をいつまでに終わらせるのでしたか?
そうです。あなたの仕事の大半を、明日の午前中までに終わらせるのです。
ということは、明日朝起きたら、せっせとタスクをつぶしていき、あなたは明日のお昼までに、このリストのほぼすべてにチェックをつけて終わらせるわけです。
チェックまでの時間にリズムを付けるのが重要です。1日のタスクが3つくらいだとなかなかチェックを付けられません。そうすると頑張っているのになかなか仕事が進んでいないよ> うに思えたりするので、分割することで気持ちよくなるべきです。どんどんチェックを付けられるので、午前中いっぱいたっせいかんが 持続します。
このリズムが、あなたに「仕事を追っている感覚」をもたらします。仕事に追われていた今までとは180度違う感覚です。朝の2時間半でどれだけタスクを倒せるのかが楽しくて楽し> くてしょうがなくなっていきます。午前中にほとんどの仕事を終えられた時の快感たるや、筆舌に尽くしがたいほどです。
私はそうして今、ここに立っています。明日から、あなたにもそのすべてが可能になるのです。
あなたは明日のタスクリストに何を書き込みますか?上司に「いったん2日時間をください」と、初の見積もりを申し出ることでしょうか?やりかけの仕事に、「初の10倍界王拳を> 使って取り組みだすこと」でしょうか?多くの人は、明日からどうやってロケットスタート時間術を導入していくかが、15分ごとの小刻みなタスクとしてリストアップされていくこと> でしょう。あしたが本当に待ち遠しいですね。
大切なのは、出社する前から仕事をすることです。
睡眠学習を意識する。
この本を閉じた後にあなたが作るタスクリストは、未来の地図です。それに従って進んでいけば、ここではないまったく違う新たな場所にたどり着くことができます。だからタスク> リストは「書くもの」ではなく「描くもの」です。
あなたの仕事は、仕事を終わらせることです。
そして、あなたの人生の仕事は、あなたの仕事を終わらせることではなく、人生を思いっきり楽しむことです。
私はこの本を、中学のときに作りたいと熱望していたタイムマシンの代わりとして、あなたの人生を一気にワープさせてくれるデバイスなんだと思って書きました。
あなたの人生に、少しの明かりをともすことができれば、これ以上うれしいことはありません。
一度しかない人生、思いっきり楽しもうぜ。
やりたくもないことに延々時間をとられてるなんて、もったいないぜ。
bookmeter.com 「性格4タイプ別 習慣術」 アリとキリギリス うさぎとカメ
その他雑記
- 土日も頑張る(継続)
- 仕組み仕組み