思考錯誤

すべてはどうでもよくなる

WEB+DB PRESS のペアプロ・モブプロ特集を読んだ

ペアプロについて

なぜやるのか?

情報の伝達効率を最大化するため

何が良いのか?

  • 集中力が向上する
    • 簡単にフロー状態に持っていける
    • 疲れるのでやりすぎないこと(!)
  • 作業の質が向上する
    • ヌケモレなどのミスが圧倒的に減る
      • なぜなら2人分の脳と目を使うから
      • 英語では Four Eyes と呼ばれる
    • 声に出して相手に伝えることで頭の中が整理される
      • 一人で声に出しながらコーディングすることはなかなかできない(デスクにアヒルちゃんがいるなら別だが・・・)
    • コードの属人性が減る
      • 特定の人しか触れないようなコードが減って進捗がブロックされづらくなる
    • 相手に説明しようとするとき(コードを書き始める前(!))に間違いに気づくことが増える
  • 情報伝達効率が上がる
    • 即時フィードバックを受けれる
      • 細かいニュアンスまで伝えられる
    • 可読性や保守性への指摘といったする側受ける側も心理的な負担になることをその場でフィードバックできる
  • 高い教育効果が得られる
    • 結果だけではなくコミットとコミットの間のプロセスを共有することができる
      • 個人的にはこれが最大のメリットなのではと思う
    • コードを自分ごととしてとらえるようになる
    • 暗黙知の共有ができる
      • 熟練者が暗黙的に行っている通常共有がしづらいことの共有
      • たとえば判断の勘所など
    • ベテランにとっては、不要な技術やツールを手放すアンラーニングの機会になる
  • 楽しい
  • 技術的負債の返済にも有効
続きを読む

集中のコントロール(リファクタリング・ウェットウェア第7章)を読んだ

優れた質問は「答え」を求めるたぐいのものではない。それは種子なのである。 - ジョン・アンソニー・チャルディ

知りたいこと

  1. 集中力はどうすればコントロールできるの?
  2. リラックスした高度な集中状態を作るにはどうすればよいの?
続きを読む

「PEAK PERFORMANCE 最強の成長術」を読んだ(SQ3R)

約2年ぶりの更新。

新しめの学習術関連の科学の知見をインプットしたかったので、「PEAK PERFORMANCE 最強の成長術」という比較的新しい学習科学系のビジネス書を読んでみた。そしてその感想(備忘録)を書いた。

PEAK PERFORMANCE 最強の成長術

PEAK PERFORMANCE 最強の成長術

どうも最近、読書をしても頭に残らなかったり途中から読むのが苦痛になったり、読書が苦行と化してしまうことが多かった。

そこで「リファクタリング・ウェットウェア」の「5章 意識的な学び」で紹介されていた SQ3R(それぞれ Survey, Question, Read, Recite, Review)という、読書を効果的に行う手法に則って読み進めてみた。

続きを読む

「プログラミングの基礎」読みほぐし⑤

今回は 4.6 関数定義に対するデザインレシピについて見ていきます。
難しい内容(少なくともぼくにとっては)のため、今回はこの節のみ見ていきます。

では始めましょう。

関数定義に対するデザインレシピ

デザインレシピとはなんでしょうか。ぼくはこの言葉を初めて聞きました。
デザインレシピとは、プログラム作成時に従うべき指針となるもののことのようです。

続きを読む

「プログラミングの基礎」読みほぐし④

sotus.hatenablog.com

上記記事の続きです。

4.3 関数の型

Ocaml は強く型付けされており、プログラム中で出てくるデータのすべてにデータ型がついています。

この性質は関数にも適用されます。関数にもすべて型がついているのです。
例えば、次の関数を定義した際のインタプリタの返答を見ていきましょう。

続きを読む

「プログラミングの基礎」読みほぐし③

今日は朝から活動しました。
残業しなくなってから、めっきり寝起きが良くなりました。
夏の暑さのせいで寝苦しい夜はありますがね。

さて、始めましょうか。

第三章 関数の定義

目次

  • 4.1 関数定義の必要性
  • 4.2 関数定義の構文
  • 4.3 関数の型
  • 4.4 型推論と型チェック
  • 4.5 関数の実行方法
  • 4.6 関数定義に対するデザインレシピ
続きを読む

「プログラミングの基礎」読みほぐし②

設定を変更することによって、 Markdown 記法でブログを書くことができるようですね。早速変更してみました。
さらにリアルタイムプレビューまであーるじゃないですか。リアルタイムというにはあまりに遅すぎますがね。Atom で書きたいよー。

さて、プログラミングの学習は毎日続きます。

プログラミングの基礎 (Computer Science Library)

プログラミングの基礎 (Computer Science Library)

第三章 変数の定義

今回から目次をいれます。(今日やることねっ!)

目次

  • 3.1 変数の必要性
  • 3.2 変数定義の構文
  • 3.3 変数の実行方法
  • 3.4 ほかの言語の変数との違い
続きを読む