タグ

ブックマーク / nanto.asablo.jp (7)

  • 本気でやるなら黙読は避けて朗読すべき: Days on the Moon

    読書百遍義自ら見る」という言葉があります。難解な書物であっても 100 回も読めば自然と意味がわかるようになるという、熟読の大切さを説いた句です。しかし、これは当のことなのでしょうか? 2000 年もたてば社会も常識もまったく変わってきます。昔の人の言ったことが今も正しいとは限りません。 疑問があれば解明したくなるのが人の性というもの。実際に「読書百遍義自ら見る」は正しいか、確かめて紀要にまとめてくださった方がいます。それによると、女子大生にデカルトの「方法序説」を 30 回読んでもらったところ、ほとんどが内容を理解するにいたったとのこと。この言葉の正しさが見事に証明されたのです。 ただし、一点注意することがあり、それは黙読ではなく朗読するということ。人間は活字を使いだしたのはたかだかこの5千年程度のことであるが、音声を使った情報のやりとりは動物の時代から行ってきたことであるという由緒

  • Kanasan.JS #2 レポート & 資料: Days on the Moon

    関西での JavaScript 勉強会、Kanasan.JS #2 に行ってきました。今回は 9 時から 21 時という長丁場で、内容は前回に引き続き Prototype.js のコードリーディング。ただし、前回はバージョン 1.5.1.1 だったのが今回からは 1.6.0 を使用ということで、コードリーディングに先駆けて 1.6.0 での変更点に関するプレゼンテーションをやらせていただきました。他の参加者の方々のレポートなどは Kanasan さんの記事経由で読めるかと思います。 フリートーク 午前中はフリートーク及びプレゼンテーションということで、自己紹介の後雑多な話題に。 リファレンス どんな参考文書を利用しているかという話題。とりあえずググって出てきたページという方が結構いるようです。私も検索エンジンを使ったりもしますが、特定のサイトだとこんな感じです。 コア言語 ECMAScri

  • userChrome.js 用スクリプト: Days on the Moon

    userChrome.js にずいぶんお世話になっていると書いたので、現時点で私が使っている userChrome.js 用スクリプトを公開。必要最低限の機能に絞り込める、細かいところに手が届くのがいいところ。 UCJS Loader Sub-Script Loader の改良版。UTF-8 マルチバイト文字、JavaScript 1.7 の機能が使用可能に。Build ID 20070109 以降の Trunk では Bug 364692 修正の影響で (?) 動作しなくなっているようです。Sub-Script Loader なら問題はありませんが、日語文字をそのまま使いたいといった場合にはバグ対応版をどうぞ。(少々トリッキーな手段でバグを回避しているので、最新の Trunk を使っている人以外は通常版を使ってください。) 原因となっていた (?) バグはすでに修正されており、バグ対応

  • Firefox 2 へ移行: Days on the Moon

    Firefox 2.0.0.1 が出たので常用のブラウザを Firefox 1.5 系統から 2 系統へと移しました。それに伴い、ブックマークと拡張機能の整理を決行。userChrome.js のおかげで拡張の数を大幅に減らすことができました。以下移行に伴い削除した拡張の一覧。 Copy URL + Launchy Paste and Go 2 Right Encoding TabScroller Tabs Open Relative Zone Identifier Extension userChrome.js で代替。 Link Alert userContent.css で代替。 Sage livedoor Reader とはてなアンテナに移行。 undoclosetab 体にて実装。 Link Alert の代替としたスタイルシート (Windows 用) は以下のとおりです。新

  • 100 までの素数を列挙 in JavaScript: Days on the Moon

    「キミならどう書く 2.0 - ROUND 1 - ― Lightweight Language Ring」より。せっかくなので JavaScript 1.7 の新機能である Generator を使って書いてみる。 function countUp(n) { n = n || 0; while (true) yield n++; } function filter(iterator, callback, thisObject) { for (var i in iterator) if (callback.call(thisObject, i)) yield i; } function takeWhile(iterator, callback, thisObject) { var result = []; for (var i in iterator) { if (callback.cal

  • JavaScript でブロックスコープを実現する: Days on the Moon

    JavaScript には基的にブロックスコープというものが存在しない。どうしてもブロックスコープを扱いたいときは function 式を使ったりする。 var a = 10; { var a = 20; print(a); // 20 } print(a); // 20 var a = 10; (function () { var a = 20; print(a); // 20 })(); print(a); // 10 だがやはりブロックスコープがあったほうが便利ということで JavaScript 1.7 では let 式、let 文、let 宣言が導入される。 var a = 10; let (a = 20) { print(a); // 20 } print(a); // 10 しかしこれでは対応するブラウザが Firefox 2 以降などに限られる。ところが、with 文とオブ

  • JavaScript 1.7 の新機能: Days on the Moon

    Firefox 2 の新機能の一つに JavaScript 1.7 への対応がある。Firefox 2 Beta 2 のリリースも近づき JavaScript 1.7 の新機能もほとんどが実装されてきたのでここにまとめてみる。といっても New in JavaScript 1.7 に大体はまとまっているので補足的な部分など。 識別子の扱い ブロックスコープ 分割代入 イテレータ ジェネレータ 配列内包 参考 なお、ブラウザ上でスクリプトを実行する場合は、JavaScript のバージョンを明記しないと let 、yield がキーワードとして認識されない (Bug 351515) 。 <script type="text/javascript; version=1.7"> JavaScript shell を使う場合は起動時にバージョンを指定するか version 関数を使う。 $ js

  • 1