つづきはこちらで http://akkunchoi.github.com/git-ref.html
Git
$ git init hoge # git リポジトリを作成。または...
//項目がリストに含まれているかどうか | |
assert ['神川','伊藤','山田','篠原','田口'].contains('伊藤') | |
//list内すべての項目があるかどうか調べる | |
assert [2, 5, 8, 12, 16].containsAll([2,8,12]) | |
assert [2, 5, 8, 12, 16].containsAll([2,8,13])==false | |
//リストの項目がかぶっていないか調べる | |
assert ['神川','伊藤'].disjoint(['山田','篠原','田口']) |
つづきはこちらで http://akkunchoi.github.com/git-ref.html
Git
$ git init hoge # git リポジトリを作成。または...
"^ " | |
=~ ( | |
("(").("~"^"."^"^"^(""=="")."").("^" | |
^"="^(""=="").""^")").("^"^".").("=" | |
^"~"^(""=="")."").("("^(""=="^").""^ | |
"."^"^").("("^(""=="").""^"^"^")").( | |
(" ^( " | |
== " | |
") . | |
"" ^ |
この文書は、[The Architecture of Open Source Applications Volume II: Structure, Scale, and a Few More Fearless Hacks][1]に収録されている[The Dynamic Language Runtime and the Iron Languages][2]の日本語訳です。原文と同様、日本語訳も[cc-by unported 3.0][3]によって公開されます。
Jeff Hardy (原文) / Atsushi Eno (日本語訳)
Iron言語は、IronPythonをはじめとして、"Iron"を名前に含む、各種言語実装の非公式な集合体です。これらの言語には、少なくともひとつ共通していることがあります。これらは、共通言語ランタイム(CLR)を対象とする動的言語であり、動的言語ランタイム(DLR)の上に構築されています。CLRは、むしろ.NET Frameworkとして知られているでしょう。("CLR"はより汎用的な用語です。.NET FrameworkはMicrosoftの実装であり、この他にオープンソースの実装であるMonoがあります。) DLRは、CLR上で動的言語を高度にサポートするための、CLR用ライブラリの集合体です。IronPythonとIronRubyは、何十ものクローズドソースあるいはオープンソースのプロジェクトで使用されており、いずれもアクティブに開発されています。DLRは、オープンソースプロジェクトとして始められましたが、これは.NET FrameworkとMonoの一部となっています。
アーキテクチャとしては、IronPython、IronRuby、DLRは、単純でもあり、悪魔的なまでに複雑でもあります。高水準なところでは、その設計は他の多くの言語実装に似ており、パーサ、コンパイラー、コードジェネレーターから成っています。しかし、少し近寄ってみると、その面白い詳細部分が顔を出してきます。コールサイト(call sites)、バインダー、適用的コンパイル(adaptive compilation)、その他各種技術によって、静的言語用に設計されたプラットフォーム上でも、動的言語が静的言語にほぼ匹敵するパフォーマンスを出せるようになっていま
/** | |
* Add dataset support to elements | |
* No globals, no overriding prototype with non-standard methods, | |
* handles CamelCase properly, attempts to use standard | |
* Object.defineProperty() (and Function bind()) methods, | |
* falls back to native implementation when existing | |
* Inspired by http://code.eligrey.com/html5/dataset/ | |
* (via https://github.com/adalgiso/html5-dataset/blob/master/html5-dataset.js ) | |
* Depends on Function.bind and Object.defineProperty/Object.getOwnPropertyDescriptor (polyfills below) | |
* All code below is Licensed under the X11/MIT License |
# 私が考える安全なプログラムを書くために必要なこと | |
今も昔も「入力によって挙動が大幅に変わるAPI」が世の中には多数存在していて、プログラマが本来意図した挙動と異なる動作を引き起こしている。 | |
- ファイルを開こうとしたらコマンドを実行できてしまったり | |
- CSSセレクタを書いてるつもりがHTMLタグを生成してしまったり | |
- SELECT文を発行するつもりがDELETE文を発行できてしまったり | |
こういったときに | |
- 入力値検証をしないと危険になる |