Kokudoriing

技術系与太話ブログ

2013-01-01から1年間の記事一覧

JSFuckから理解するECMAScriptの仕様

JSFuckとは JSFuckは任意のJavaScriptプログラムを[, ], (, ), !, +からなる6文字で置き換える試みです。 意味分かんないですね、サンプルを見てみましょう。 alert(1) 上記のJavaScriptコードと [][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+…

IndexedDBをActiveRecord風に使えるライブラリを作ってみた

タイトルまんまです。 ドキュメントやら詳しくはhttp://kokudori.github.io/gavia/まで。 インストールはbower使うと簡単です。 bower install gavia そもそもIndexedDBはそれはもう非同期非同期した何かなのです。 その上、標準ライブラリはコールバックパ…

条件式判断でリストを分割する拡張メソッド

C#

何を言ってるのかわからないかもしれませんが、いわゆる文字列のSplitのリスト版というかIEnumerable<T>版というかが欲しい。 var nums = new { 1, 2, -1, 5, 6, 8, -1, 11, 2, 4, 6, -1, 9 }; // -1を区切り数としてリストを分割したい. // {{1, 2}, {5, 6, 8}</t>…

npmとpackage.json使い方

node.jsと言えばnpmですよ。 それくらいnpm素敵です。RubyのBundlerとかvimのVundleとかみたく素敵です。 まずはnpmの作法というか、思想というか。 いや、npm含めnode.js初心者なので間違ってたらこっそり教えていただければ幸いです。。 npmはローカルイン…

Grunt0.4.xでのGruntプラグインの作り方

結構前にGrunt.jsがバージョン0.4.xになりました。 ・・・、マイナーバージョンアップというか実質メジャーバージョンアップというか。 かなり変わったのでプラグイン作成とGrunt自体の使い方について備忘録までに。 かなり大きな変更として、Grunt.js本体と…

C#でPEGパーサー

C#

PEGって何?って方はWikipediaを御覧ください。 (正直ボクもよくわかってない・・) ざっくりと、BNFよりも曖昧性のないものを扱うのが得意みたいで、Shift/Reduceコンフリクトが発生しないとのこと。 Perl6がPerl6 rulesとかで言語レベルに組み込んでるアレ…

Coding Guidelines for C# 3.0, 4.0 and 5.0を読んで

C#

Dennis Doomenさんとやら(よく知らない)がお作りになった「Coding Guidelines for C# 3.0, 4.0 and 5.0」 というC#のコーディングガイドラインがあるんですが、それが日本語翻訳されたらしいとのこと。Coding Guidelines for C# 3.0, C# 4.0 and C# 5.0 - Do…

Command/Query分離原則とreturn this

Command/Query分離原則はバーランド・メイヤー大先生のありがたいお言葉です。 内容はと言うと、 オブジェクトやシステムのインターフェイス&実装を「CommandとQueryに分けろよ」という提案。 Commandは値を持たず、副作用(つうか、主作用だけど)だけを持…