All posts by tejitak

ブロックチェーン・ビットコイン関連書籍2冊読み終えて感想

あけましておめでとうございます。今年もタイで年越しをしました。

久しぶりの記事は本の感想。

近年注目されている革新的な技術の一つブロックチェーン・ビットコイン関連の技術を理解しておこうと、2冊ほど読んでみたので簡潔に感想です。ちなみに私はブロックチェーン関連の前提知識はほぼ0で読みました。

Continue reading ブロックチェーン・ビットコイン関連書籍2冊読み終えて感想

Mithril.js ソースコードリーディング後編〜Route/Deferred/Request編〜

前回のMithrilコードリーディングの続きです!前回はVirtual DOMのアルゴリズムの部分をメインで読んでいきました。今回はSPAのための軽量ライブラリとして活躍しているMithrilが持つrouteやDeferredの部分について解説です。コードを全部は掲載しないので、v0.2.0のコードを別で開いて読みながら参考までにコメントを見て進めていただければ。

Continue reading Mithril.js ソースコードリーディング後編〜Route/Deferred/Request編〜

Mithril.js ソースコードリーディング前編〜Virtual DOMの実装を理解する 〜

前回はBackbone.jsの社内コードリーディング会でした。今回はVirtualDOMの軽量ライブラリとして少しずつ人気が出てきている気がするMithril.jsに関して行いますので、リーディング時のメモです。

Mithril
https://lhorie.github.io/mithril/

ソースコード(執筆時点v0.2.0 2015/07/18)
https://github.com/lhorie/mithril.js/blob/master/mithril.js

Virtual DOMの実装は約300行でそこが今回のソースコードリーディングのメインとなります。
今回はそのbuild()周りを見てきます。バージョンは現時点で最新のv0.2.0です。

ビール片手にリーディングしつつ、確認程度にメモを見ていただければ。

Continue reading Mithril.js ソースコードリーディング前編〜Virtual DOMの実装を理解する 〜

npm linkが意外と便利だった

JSでライブラリを作って、そのライブラリを使うプロジェクトがあった時に、使う側がpackage.jsonのdepedenciesに依存を追加して、npm installしてbrowserifyとかでrequireしたりしています。(browserifyでのmoduleの依存解決について興味のある方は”Browserify dependencies in depth!“をご参照ください)

gitのsubmoduleなんか使うよりはnpm installだけで済むので快適なのですが、絶賛開発中にライブラリ側を更新する度に、使っている側のプロジェクトのnode_modules以下の該当ディレクトリを削除してnpm installし直したりするのは面倒ですよねー

そこでnpm linkを使うと良い感じになりますたのでメモ。意外と記事が少なかったのでまとめておきます。

Continue reading npm linkが意外と便利だった

Backbone.js 1.2.1コードリーディング徹底解体!その1

Backbone.jsをコードリーディングしたので、メモですー(長いので注意)

2015/06/24時点 versionは1.2.1のソースコードです。行数ではコメント込みで1873行。

社内勉強会で月1で著名なオープンソースのJavaScriptのコードを読み解く会を始めたので、その第一回としてコードリーディングとしてしばしばオススメされているBackbone.jsを選択しました。世間でオススメされる理由は、実装が割とストレートでトリッキーすぎる実装部分などが少ないからだと思います。読んでみても、意外と普通に実装してるなという感想です。

社内のリーディング会では、上からざっと読み進めていって何をやっているか言葉で簡単に説明できるようになることです。ソースコードの中で何をやっているか全然わからないところがなくなれば良いくらいのモチベーションで、debuggerで分岐や値などを実際に追うまではしていません。

以下、読みながら、気になった部分を軽くメモしていきます。

Continue reading Backbone.js 1.2.1コードリーディング徹底解体!その1