JS

Vue.jsのOpen Slack invitationテスト

slackinを使ったVuejs日本ユーザーの情報共有やdiscussionなどを行うためのオープンSlack invitation用テストページ! https://vuejs-jp-slackin.herokuapp.com/ 以下のボタンをポチりしてJOINしてみてください。

JS

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

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

JS

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です。 ビール片手にリーディングしつつ、確認程度にメモを見ていただければ。 (more…)

JS

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を使うと良い感じになりますたのでメモ。意外と記事が少なかったのでまとめておきます。 (more…)

JS

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

Backbone.jsをコードリーディングしたので、メモですー(長いので注意) 2015/06/24時点 versionは1.2.1のソースコードです。行数ではコメント込みで1873行。 社内勉強会で月1で著名なオープンソースのJavaScriptのコードを読み解く会を始めたので、その第一回としてコードリーディングとしてしばしばオススメされているBackbone.jsを選択しました。世間でオススメされる理由は、実装が割とストレートでトリッキーすぎる実装部分などが少ないからだと思います。読んでみても、意外と普通に実装してるなという感想です。 社内のリーディング会では、上からざっと読み進めていって何をやっているか言葉で簡単に説明できるようになることです。ソースコードの中で何をやっているか全然わからないところがなくなれば良いくらいのモチベーションで、debuggerで分岐や値などを実際に追うまではしていません。 以下、読みながら、気になった部分を軽くメモしていきます。 (more…)