スライド『図解 Blockchainの仕組み』を公開しました

2016.8.3

blockchain

今年に入って1月頃にBlockchain技術に関してプレゼンする機会があった。
発表後スライドが眠ったままだったのだけど、そうこうしているうちに世の中でFintechやらBitcoinやらのキーワードが瞬く間に広がり始めたので、そのまま眠らせておくより公開した方が社会全体の利益になるだろうという判断で公開することに決めた。

皆様のBlockchain周りの知識の習得に際して少しでもお役に立てれば幸いです。
また、もし間違いや誤解を招く表現などございましたら教えていただけましたら幸いです。
( もし間違った情報を正しい情報として発信しているとしたら社会の利益どころか悪になってしまいかねない… )

(続きを読む…)

【Git入門者向け】イメージで理解するGitコマンド事始め

2015.1.14

ご無沙汰です。連載企画を書き進めると豪語しておきながら かなり経過してしまいました。連載企画の方は時間を見つけつつ少しずつ書き進めていければと思います、申し訳ございません。
さて、最近周囲の方にGitの解説をする機会が増えてきたため、今回はGitの基本コマンドに関連する説明をします。

対象読者

・何らかの理由でGitを使う事になったが、コマンドが多くてよくわからない方。
・コマンドごとの意味は何となく理解しているけど、イマイチピンと来ない方。
(※「そもそも何故Gitを使う必要があるのか」「バージョン管理とは何か」といった点については ノンプログラマ向けの連載企画として後日記載させていただければ幸いです)

解説するコマンド

git init, git add, git commit, git status, git log, git branch, git checkout, git merge, git clone, git pull, git push, git fetch

他にも remote, cherry-pick, rebase, reset 等 色々ありますが 本記事ではまず 最もよく使うであろう上記コマンドに絞って解説します。
(続きを読む…)

「コードの写経」のパフォーマンスを高める1つのポイント

2014.9.10

Land of Lispでコードの写経をしていた時のこと。
写経していて なんとなーくぼんやりと内容が分かってきた。
とはいえ、いざ自分で全部できるかっていうと、あまり自信が無い。
それでもって、「自信の無い範囲はあとで自分で何かつくってみるなりして繰り返せばいいだろう」なんて考えて後回しにしていたのだけど、結果的にわからない部分がどんどん積み上がって行って、いつの間にか巨大なモンスター(エイリアン?)になった。
そこでちょっとやり方を変えてみた所、それまでぼんやりしていたコードの山が割とすんなりと頭に入るようになった。
(続きを読む…)

SICP 第5章 Exercise 難易度リスト ( 5.1 ~ 5.38 )

2014.8.16

最終更新: 8/19 ( ~ 5.52 )

せっかくだからざっくりでも難易度書いていった方が 後から勉強する人が勉強しやすそうなので 今後問題解くと同時に難易度も書き残していくことにする。

< ご注意 >
・難易度に関しては完全に個人の主観となります。
参考までに僕個人のスペックを記載しておくと、高校2年の数2Bまで終わってるくらいのレベル感です。アカデミックな数学はパッパラパーです。
・また、各Exerciseの難易度に関しては そのExerciseの所まで勉強した時点でのスキルセット・理解度を想定した難易度を書くようにしています( つまり、既に後の章も勉強して記述に慣れた状態での難易度ではないので、前の章の★3つと後の章の★3つのレベル感が大きく異なります )。

第1章 難易度リスト
第2章 難易度リスト
第3章 難易度リスト
第4章 難易度リスト
第5章 難易度リスト

(続きを読む…)

SICP 第4章 Exercise 難易度リスト ( 4.1 ~ 4.79 )

2014.7.24

最終更新: 8/10 ( ~ 4.79 )

せっかくだからざっくりでも難易度書いていった方が 後から勉強する人が勉強しやすそうなので 今後問題解くと同時に難易度も書き残していくことにする。

< ご注意 >
・難易度に関しては完全に個人の主観となります。
参考までに僕個人のスペックを記載しておくと、高校2年の数2Bまで終わってるくらいのレベル感です。アカデミックな数学はパッパラパーです。
ただ、4章の難易度をつける上で明記しておくべき点として、C言語で簡単なコンパイラ・インタプリタを実装したことがあります(「再帰下降構文解析」などのメンタルモデルをイメージとしてぼんやり持っているため、もしかしたらコンパイラ・インタプリタ周りを学んでいるのと学んでいないのとで若干体感難易度に差が出てくるかもしれないです)。なお、コンパイラ・インタプリタの実装に関して参考にした文献は以下の通りです。

・また、各Exerciseの難易度に関しては そのExerciseの所まで勉強した時点でのスキルセット・理解度を想定した難易度を書くようにしています( つまり、既に後の章も勉強して記述に慣れた状態での難易度ではないので、前の章の★3つと後の章の★3つのレベル感が大きく異なります )。

第1章 難易度リスト
第2章 難易度リスト
第3章 難易度リスト
第4章 難易度リスト
第5章 難易度リスト
(続きを読む…)