関数の誕生(ジャンプ命令)
関数の誕生
- 関数を利用=「関数にジャンプ」してから「呼び出し先の最後で呼び出し元に戻る」
- 呼び出し元に戻るのもジャンプ命令。つまりどちらもジャンプ命令
- 前者はジャンプ先は固定なので実装はシンプルだが、後者は実行毎に異なるので実装に工夫が必要。
呼び出し元への戻り方
命令アーキテクチャとマイクロアーキテクチャ
命令アーキテクチャは外側から見たインタフェースの話で、マイクロアーキテクチャは内側の話。
命令アーキテクチャ
- プロセッサがどのような命令を実行するのか,そして実行した結果がどのようになるのかなどの「プロセッサの働き」を詳細に規定したものを「命令アーキテクチャ」と呼びます。
- 命令アーキテクチャにはプロセッサはどのような命令を実行でき,その結果どうなるのかは書かれていますが,プロセッサの中身がどのように作られているかについては規定されていません。
マイクロアーキテクチャ
1月14日の学び
Kaggle実行環境の整理
- PC以降に伴い基本的に全てDockerに統一とする。
- ローカル環境のData以下のファイルをDockerにマウントする
- Dockerめっちゃ便利。技術の進化の恩恵を受けている気がする!!!
docker run -d -p 8888:8888 -v /Users/mofuneko/SoftwareDevelopment/Docker/Jupyter/Data:/home/jovyan/work --name jupyter jupyter/datascience-notebook start-notebook.sh --NotebookApp.password='sha1:498022a0e569:8d7b52f956aee890c7ecbca9427c975de02c3370'
1月6日の学び
Kaggleを行うにはjupiter notebookはデファクトスタンダードだとか。
1月4日の学び
最近はGithubに直接Haskell関連は記載するようになった。
結合法則
- 集合Sに二項演算○が定義されているとき、(a ○ b) ○ c = a ○ (b ○ c ) がSの任意の元a, b, cに対して成り立てばこの演算は結合的(結合法則を満たす)であるという。
- 加算や乗算は結合的。
左結合・右結合
左結合の例
同じ優先度の演算子に対して左から計算する演算子を左結合と呼ぶ
- 減算
- 加算
1 - 2 - 3 = (1 - 2) - 3 1 + 2 + 3 = (1 + 2) + 3
右結合の例
同じ優先度の演算子に対して右から計算する演算子を右結合と呼ぶ
a = b = c ⇒ a = (b = c)