oinume journal

Scratchpad of what I learned

Chapter 1 - Intruduction / A Philosophy of Software Design

A Philosophy of Software Design の第1章を読んだのでそのまとめ。

Intro

  • プログラムは機能が増えるごとに複雑さが増していく。複雑さが増えると、開発スピードが遅くなりバグが増える
  • 開発ツールは複雑性に対処するに役立つが、これには限界がある。一方、シンプルなソフトウェアのデザインはより大きくてパワフルなプログラムを導いてくれる。
  • 複雑性に対処するには2つのアプローチがある。
    • 1つ目はコードをシンプルかつ明らか(わかりやすく)すること。例えば複雑性は特殊ケースを削除することで減らすことができる。
    • 2つ目のアプローチはカプセル化でmodular design とよばれている。
      • Modular designではソフトウェアをモジュールに分割して管理して(OOPだとクラスとか)それぞれのモジュールは他のものに依存しない。
      • そのため、プログラマーはあるモジュールの開発をするときに、他のモジュールの詳細を知らなくて済む。

ウォーターフォールモデルの紹介

  • ウォーターフォールだと基本的には設計フェーズではすべてを設計し、開発のフェーズでは設計をしない。ソフトウェアは物理的なシステムより複雑で目に見えないので、特に大きなシステムであるほど全体を細部まで理解することは難しい。
  • 開発フェーズで初めて問題がわかるケースもよくあり、場合によっては設計のやり直しが発生する。ウォーターフォールモデルだとこれは大きな手戻りになってしまう。
  • この問題があるため、最近のソフトウェア開発ではアジャイルのようなインクリメンタルなアプローチが使われている。

How to use this book

ソフトウェアの設計スキルを向上させるための良い手法の一つは、"red flags"という複雑なソースコードの断片のサインを認識することである。この本ではその"red flags"を、メジャーな設計の問題を通じて説明する。

A Philosophy of Software Designを読み始めた

タイトル通りで、最近第2版が発売されたのと、いろんなところでオススメされていたのでこの本を読んでいる。やっと第6章まで読み終わったので、それぞれの章のまとめをブログにアップしていく予定。

以下は読んだ章のINDEX.

読書: 新しい文章力の教室

自分の文章力を高めたいと思ってこの本を買ってみた。仕事ではドキュメントを書いたり、プライベートではこのブログを書いている。けれども、文章を書くということをちゃんと学んだことがなかったのと、自分の書いたものを読み返してみても「文才がないなぁ」という感想しか出てこないのでブラッシュアップしたかった。

完全に自分用のメモだけどメモとして残しておく。

良い文章の定義

  • 良い文章とは完読される文章である。
  • 適切な長さで、旬の話題で、テンポがいい文章
  • レイヤーが大事。事実、ロジック、言葉遣いの順番で大切。

主眼と骨子

  • 書き始める前に主眼と骨子を固めること。主眼はテーマ。主眼が目的地なら骨子は経路。
  • テーマを決める。そしてテーマのために、何を、どれから、どのくらい話すかを決める。
  • プラモデルのように考える。
  • 書きたい内容を箇条書きにしておく。この時順番は意識しなくて良い。主眼と骨子を考えるためにもひたすら書き出す。
  • 5W1Hに当てはめて考える。抜け漏れがないかのチェックになる
    • Who, What, When, Where, Why, How
  • 書き始める前に主眼を決めること。主眼はコンセプト。切り口。自分なりの切り口を考える
  • 骨子を立てるために大事なのは要素、順番、軽重の順で決めること。
  • それぞれの話題をどれぐらいの重さで話すか、三段階で決める。

構造シート

以下のような構造シートを書いて情報を整理する。

  1. 紙の上方に大きく線を引いて、テーマ(主眼)を書く欄を作る。この段階では空欄のままでよい。
  2. 箇条書きで、書こうとする話題を列挙していく
  3. 並んだ話題を眺めながらこれから各文章の主眼を見定め、テーマ欄に書き込む
  4. どの話題から切り出していくべきか、主眼に準じるよう吟味し、項目の左横に順番を数字で書き込んでいく
  5. 紙を替え、テーマ欄に主眼を書き込み、順番通りに並べ直します。もししっくり来なければ、また順番を吟味して書き込み、紙を替えてやり直す
  6. アピールしたい優先度を、項目の右側にABCの3ランクで格付けしていく

実際の構造シートの例

完読してもらうためのテクニック

  • ベテランのライターもいきなり文章を書き始めるのではなく、瞬間的に心の中に構造シートを書き込み、その後に文章を書き始めている
  • 話題は主眼に沿って取捨選択する。完読してもらうためにはすべての材料を使わない
  • 結論から先にいう
  • 構造シートに肉付けして行く形で文章を書いて行く

書けなくなった時は?

  • スタックしてしまった部分を置いて最後まで書いてしまう。また、2000字を超える場合はパートごとに構造シートを書くと良い。
  • それでも書く手が止まってしまう場合は構造シートに問題がある場合が多い。 

完成度を高める

  • 事実とロジックがしっかりしていれば70点ぐらいにはなっている。あとは言葉遣いでブラッシュアップする。

読書感想「ルポ MOOCS革命」

ルポ MOOC革命――無料オンライン授業の衝撃

ルポ MOOC革命――無料オンライン授業の衝撃

を読んだので、メモと感想。

感想

まず「MOOCSってなに?」という状態からスタートした自分。MOOCSとはMassive Open Online Coursesのことで、有名なところだと coursera とか udacity がある。大学の講義などをオンラインの動画で見ることができて、どこにいても講義を受けられることがメリット。

この本の最初の方は、いかにMOOCSが素晴らしいか、MOOCSを使っていい教育を受けた人がいるかを述べていて、若干退屈だったけど、中盤から後半はMOOCSの仕組みとかビジネスモデルについて詳しく書かれていて良かった。あと、作者本人が取材しているので実際の生徒の生の声が書いてあるのが良かった。

2013年に出版された本なので若干情報が古いけど、作者自身シリコンバレーに行ってcouseraやudacityにヒアリングしているなど、かなり骨太なルポですごいなと思った(小並感

最初の方

  • 学び続ける母親の姿は家族にも良い影響を与える。子供も勉強するようになる。
  • コンピュータを使ったデータ解析がいいらしい。
  • 一度は教科書で学んだ内容でも、大学教授の解説を聞くと不思議なほど理解が深まった。スタンフォード大学の講座を受けた人の話。

p.40

求職中の受講生の学習履歴を見ることができる。この講義で成績トップ10の情報を知りたい、との企業からの依頼にもコーセラは応じる。

p.47 ユダシティのビジネスモデル

企業が講座の制作費をサポートし、講師が学生に教える。受講生はきちんとスキルを証明することで就職できる。企業は能力と努力を確かめて新しい人材を探せる。 プラットフォームとしてのユダシティにも運営資金が入る

p68

ムークで好成績を収める人は大学入学にも道が拓ける

p75 オープン教材について

高校の数学の授業ではなぜその公式が機能するのかを説明しないが、MITの教材では動画でそれを説明していた。

p135 サルマン・カーン

わかりやすい説明で有名になった。足し算から高度な数学や経済学、生物学、物理学、宇宙論など一人で講義動画を撮影している。日本語字幕もある 講義の中では、微分積分のコースで、マイナスとマイナスをかければプラスになる、というような細かいことも声に出す。これをありがたいと思う子供がたくさんいるらしい。カーンアカデミーの運営費は700万ドル。VCの資本は入れず、ゲイツ財団や個人の寄付から成り立っている。

p146

現在の学校教育では、教える時間が固定されていて、生徒の理解度は変数になっている。これは逆で生徒の理解度を固定するべき。特に数学は一度理解が追いつかなくなると、次の授業も理解できなくなってしまう。

p158 反転授業

講義のビデオを自宅で見て、授業では宿題や課題をやること。生徒は実践的な学習や友人との共同作業、友人の成果を評価することに取り組む。先生たちは子供たちに一対一で教えたり、助言したり、鼓舞したりできるようになる。これは先生が中心の教室から、生徒が中心の学習環境へのシフトである。

p202 日本でのオープンエデュケーション

manavee。大学受験応援サイト。 予備校に通えるのはお金がある家庭だけ。マナビーは全て無料。 動画を見ていた受験生が大学生になりボランティアで講義で教えるという好循環。

学校では教えてくれない教科でもマナビーでは講義がある。 テクノロジーで教室を再現することはできないか?hangoutとかで。

2016年に読んだ本

本当は「2016年に買ったもの」という記事を書こうと思ったけど、日用品以外で買ったものがあまりなかったので読んだ本(技術書以外)を晒してみる。

ヒューマンエラーを防ぐ知恵 ミスはなくなるか

ヒューマンエラーを防ぐ知恵 ミスはなくなるか (朝日文庫)

ヒューマンエラーを防ぐ知恵 ミスはなくなるか (朝日文庫)

仕事でケアレスミスを連発していた時期になんとかせねばと思い購入。

  • 実際の事故を分析するには、原因の分類よりも原因の結合を考えるべき。事故は人間・機械・職場の態勢などが複合して起こる。
  • 決別遷移(事故につながる状態への遷移)を全て洗い出し、この決別遷移に至らないように予防する
  • 小さな事故が大きな事故に発展しないようにする

などなど。メモを見返すと本当に参考になる。

新版 大統領にしらせますか?

新版 大統領に知らせますか? (新潮文庫)

新版 大統領に知らせますか? (新潮文庫)

昔よく読んでいたジェフリー・アーチャーの小説。知人と昔好きだった作家の話になり懐かしくてつい購入。息もつかせぬ展開でおもしろい。

学力の経済学

「学力」の経済学

「学力」の経済学

話題になっていたので読んでみた。

  • ご褒美で釣るのはいいのか悪いのか?
  • 褒めてのばすのは本当にいいのか?
  • テレビやゲームは学力に悪影響があるのか?

などなど、気になるトピックがたくさんあって今後の子育てをする上でめちゃめちゃ参考になった。

池上彰の「日本の教育」がよくわかる本

池上彰の「日本の教育」がよくわかる本 (PHP文庫)

池上彰の「日本の教育」がよくわかる本 (PHP文庫)

子供が生まれたせいか、最近教育業界が気になるので購入。日本の教育回りの仕組み(学校、教育委員会、日教組)がわかりやすくまとめられていてよかった。海外との比較もされていて、例えば、教育大国のフィンランドの給食はパンとスープだけなのに、日本の給食は栄養バランスがよく考えられていてすごいらしい。

週刊ダイヤモンド 2016年11/12号

週刊ダイヤモンド 2016年11/12号 [雑誌]

週刊ダイヤモンド 2016年11/12号 [雑誌]

「疲労の正体」という特集が気になったので購入。

  • 疲労の正体は乳酸ではなく活性酸素。人間は細胞内で酸素を燃焼させてエネルギーにするが、この時生成される副産物が活性酸素。運動などによる負荷の場合は筋肉の細胞が、ストレスなど精神的な負荷の場合は脳や神経細胞がダメージを受ける。
  • 疲れているのに眠れない、は自律神経中枢の機能の乱れ。自律神経は緊張、運動、覚醒機能を司る交感神経と、リラックス、休息、睡眠機能を司る副交感神経の二つで構成され、スイッチすることで体内のバランスを保っている。昼間は交感神経、夜には副交感神経に切り替えるが、ストレスや明るい光にさらされると副交感神経に切り替えられずに疲れているけど眠れないという状況になる。
  • 好きな趣味ややりがいのある仕事をしているときは疲れを感じない。これはやりがい、達成感、喜びを感じていると前頭葉が疲労伝達物質をかき消してしまい、疲れを感じなくなってしまう

暴露:スノーデンが私に託したファイル

暴露―スノーデンが私に託したファイル―

暴露―スノーデンが私に託したファイル―

NSAやCIAで働いていたエドワード・スノーデンが暴いたNSAによる国民監視について、膨大な資料をまとめたもの。シチズンフォーという映画を見て、とても面白かったのでこの本も読んでみた。映画は2時間という時間の制約上あまり語られていなかった監視の実態が淡々と書かれている。FacebookやGoogleやMicrosoftがNSAに協力してバックドアを仕掛けたり、自社のサーバーにNSAがアクセスできるようにしているらしい。もうインターネットが信じられなくなった。

シチズンフォー スノーデンの暴露(字幕版)

シチズンフォー スノーデンの暴露(字幕版)

  • ローラ・ポイトラス
  • ドキュメンタリー
  • ¥2000