Git Product home page Git Product logo

books's People

Contributors

masatate avatar

Stargazers

 avatar

Watchers

 avatar

books's Issues

失敗の研究

概要

失敗を軽減させ,またチャンスを増幅させるためには,「違和感」をキャッチしそれに基づいてきちんとした対策を取っておくことが重要である.

まとめ

本書では,失敗や成功の予兆として表れる「違和感」や「モヤモヤ」について,その概念や種類を説明した上で,それらに気がつくべき理由・気がつくための方法・気がついた後の対策に関してまとめている.

以下では,違和感についてまとめた上で,どう対策していくかをまとめる.

1. 本書における違和感とは

ここでの違和感とは,「なんか変だなぁ,普段とは違うなぁ」という感覚である.この感覚の先にはリスクやチャンスが眠っている場合が多いため,見逃さないようキャッチし,対策を講じるべきである.

この違和感を感じてから実際にリスク・チャンスが発生するまでの時間は,短いものから長いものまである.
それぞれ時間的スケールごとに,対策方法が変わる.それぞれについて次章以降で説明する.

2. 時間的スケールが短い場合

急な交通事故やうっかりミス,宝くじに当たる,などがこれである.これに対しては反射神経的にリスクを回避できるよう訓練したり,最新の科学技術を利用して人間には追いつかない速さの部分に対処する.

3. 時間的スケールが中くらいまたは長いもの

いつ降ってくるか分からないが,それなりにあるリスクやチャンスに関しては,事前からの準備が重要である.このようなリスクやチャンスは一瞬で通り過ぎてしまうため,日頃からこのようなチャンスが舞い込んだときにすぐにそれに乗っかれるように,ナレッジやアイデアメモを残しておくと良い.

特に,チャンスを掴み取るには自説を持っておくことが重要である.この点に関しては別章で説明する.

※ 確かに,研究テーマを決めるときなどそうである.日頃からこんなことができたら面白いとか考えていたら,ある時急に舞い込んだ研究費とか一期一会の研究者との出会いなどに活かせる気がした.

4. リスク・チャンスをものにするための仮説検証力

リスクやチャンスをきちんと察知するためには,自由な発想のもと,自説をもち仮説検証を行う力が必要である.
例えば歴史家の営みはまさにそうで,史料がたくさんある中で自分なりのストーリーに基づいて解析していき,今までになかった視点で歴史を語るものである.

理系の文脈で言えば,どういうものを作るかということについて,もっと自説を持つべきである.技術開発部分(How)だけではなく,上流(What/Why)の仮説検証もきちんと行えることが重要になる.

このような仮説検証は,後天的に向上させることは簡単にできない(やり方が解明できていない).しかしその時間的スケールには人それぞれ種類があるため,自分のタイプを見極め,それに応じた仕事を選ぶのも対策として可能である.

また,自説をノート(アイデアノート)として記録しておくことは効果的である.

達人に学ぶSQL徹底指南書

読書開始日

2022/3/20

書評

  • 初級をぎりぎり抜け出していないくらいでも(初見の関数とかがあっても)調べながら理解すれば十分本書の内容は身になる
  • CASE式の部分など即効性がある

メモ

1.CASE式のススメ

メリット

  • CASE式は読み替えができる式
  • 既存の体型を新しい体型に変換して集計できる
  • 複数の条件を一気に指定できる(整理できる)→ パフォーマンスの向上にもつながる
  • INやEXISTSのサブクエリを引数に取れる述語とともに利用して,テーブル同士をマッチングできる
  • CASEは,評価されて1つの値に定まるから,GROUP BY句にもWHERE句にもORDER BY句にも書ける!!
CASE式の書ける場所
SELECT句
WHERE句
GROUP BY句
HAVING句
ORDER BY句
PARTITION BY句
CHECK制約の中
関数の引数
述語の引数
他の式の中(CASE式自身も含む)

スローガン

  • WHERE句で条件分岐させるのは素人,プロはSELECT句で分岐させる
  • HAVING句で集約関数を使って条件分岐するのは素人,プロはSELECT句でCASE式内で集約関数を用いて分岐させる

注意点

  • ENDを忘れずに!
  • 条件を排他的に!
  • ELSEまですべて明示的に書く!

2.必ずわかるウィンドウ関数

ウィンドウ関数についてはこちらのQiitaもわかりやすい.
本章ではQiitaをわかりやすい別の言い方で説明している.

ウィンドウ関数の使い方

  • 今ではウィンドウをわざわざ別で定義しないが,ウィンドウを使いまわしたい際は名前付きウィンドウ構文がよい
  • 移動しながら集積関数を用いるときにウィンドウ関数を使うのが基本
  • 1,PARTITION BY句によるレコード集合のカット, 2.ORDER BY句によるレコードの順序付け, 3.フレーム句によるカレントレコードを中心としたサブセットの定義がウィンドウ関数の機能
  • フレーム句により,異なる行のデータを1つの行に持ってこられる様になったため,行間比較が簡単になった.

3.自己結合の使い方

順列・組み合わせ

  • = だけでなく,<や>,<>を使って結合ができる.
-- 順列を得るSQL
SELECT P1.name AS name_1, P2.name AS name_2
  FROM Productis P1 INNER JOIN Products P2
       ON P1.name <> P2.name

--組み合わせを得るSQL
SELECT P1.name AS name_1, P2.name AS name_2
  FROM Productis P1 INNER JOIN Products P2
       ON P1.name > P2.name

重複行を削除する

部分的不一致なキーの検索

まとめ

  • 自己結合は非等値結合と組み合わせて使うのが基本
  • GROUP BYと組み合わせると再帰的な集合を作ることができる
  • 本当に異なるテーブルを作っていると考えると良い
  • 物理ではなく論理の世界で考える

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.