Powered by WordPress Username or Email Address Password Remember Me ← Back to Openstratus
SpiderMonkey で JavaScript のインタラクティブシェル JavaScript のコードをインタラクティブに動かせるツール (Ruby における irb のようなもの) が欲しいと以前から思っていたのですが、今日になってようやく SpiderMonkey のインタラクティブシェルをインストールしました。 Debian GNU/Linux なら sudo apt-get install spidermonkey-bin を実行するだけでインストールできます。インストール後、 js コマンドを実行するとインタラクティブシェルが立ち上がります。 式を入力すると値が表示されます。 readline ライブラリがリンクされているので、コマンドライン編集は bash と同様にできます。 js> a = [1,2,3] 1,2,3 js> a.push(4) // 末尾に 4 を追加
皆の衆、こんにちは。 ナマズスキーじゃよ。 ワシね、「最近の地震リスト」モジュールを作ったのじゃよ。 それはね、こんなのじゃよ。 こんなの このリストは、気象庁のデータと連動していて、リアルタイムに情報が更新されるのじゃよ。 そして、右端の*印は、気象庁の詳細情報へとリンクしているのじゃよ。 このモジュールは、自分のホームページに簡単に貼り込めるので、 地震ホームページをお持ちのナマズの衆はぜひご利用くだされ。 使い方は、次のような一行を、HTMLファイルに書き込めばOKなのじゃよ。 <script type="text/javascript" src="http://www.guragura.net/eqlist/3_05_l_s.js"></script> そうすると、以下のような一覧が表示されるのじゃね。 で、このファイル名の「3_05_l_s.js」という部分を変えること
Summary 最速インターフェース研究会の「実践JavaScriptリファクタリング」に触発されてDateクラスに手を加えてみた. IEとMozilla系でgetYear(),setYear()の仕様が異なるため, getFullYear(),setFullYear()を使うことで,年の扱いを4ケタで統一. Source /* 連想配列を返す return Array */ Date.prototype.toHashArray = function(){ var dateArray = new Object(); dateArray["year"] = this.getFullYear(); dateArray["month"] = this.getMonth(); dateArray["date"] = this.getDate(); dateArray["day"] = this.g
年の暮れだからこそ、今年の技術的なトレンドへ乗り遅れないように復習をしたいもの。 Web2.0が脚光を浴びた2005年。とりあえずこの5つの分野から苦手分野をきっちり潰していきたいと思います。(多分にぼくの偏見と苦手分野の重視が影響している点はご了承ください。) Ajax Ruby on Rails HTML/CSS Javascript 正規表現 ということで、おすすめの書籍やサイトを総括。 Ajax 2005年はこれしかないでしょう。猫も杓子もAjaxと連呼した年でした。 Ajax: Web アプリケーション開発の新しいアプローチ http://antipop.gs/docs/translations/ajax.html これがなくちゃ始まらないですから。 Ajaxの本質、「非同期メッセージ型ウェブ・アプリケーション」のススメ http://satoshi.blogs.com/life
ある程度の規模のJavaScriptプログラミングでは、モジュール毎に、複数のファイルに分割してプログラミングするのが普通である。これは、ファイルの大きさが適度な方が編集作業が容易なのと、モジュールの別プロジェクトへの再利用性を高めるためである。 しかし、ブラウザ・アプリケーションでは、複数ファイルを1つのファイルに結合する方が望ましい。なぜならば、複数ファイルへの分割は、サーバへの多数のHTTPコネクションの発生を意味し、応答性が低下する。そのため、例えば、Google Mapsでは、多数のコードが100kbを超える1つのJavaScriptファイルにまとめられている。 また、ユーザの利便性を高める意味では、JavaScriptファイルの圧縮も重要である。JavaScriptの文法的な意味は保存したまま、ファイルサイズを圧縮することにより、ダウンロード時間を短くできる。また、圧縮により、
Java等のオブジェクト指向はクラスベースのオブジェクト指向と呼ばれる。一方、JavaScriptはプロトタイプベース、あるいはインスタンスベースオブジェクト指向と呼ばれる。 クラスベースは、まずクラスを定義し、クラスを型とするインスタンスを作成することでプログラミングする。プロトタイプベースによるオブジェクト指向では、クラスの定義は必須ではなく場合によってはクラスという概念自体が存在しない。既存のオブジェクトのクローンとして新しいオブジェクトを作成し、そのオブジェクトに独自の性質を付加してプログラミングする。 JavaScriptのオブジェクトの性質は動的に変更可能。Java等では一度決定したオブジェクトの振る舞いは変更できないが、JavaScriptでは実行中の任意の場所でメソッドの動作を変更したり、新しく追加したり、削除したりすることができる。
JavaScriptで少し大きなアプリケーションを作っていると、処理速度がどんどん遅くなってしまうことがある。処理速度を向上させるには、ボトルネックとなっている処理を見つけて、その部分のパフォーマンスを改善するのが一般的である。そこで、ボトルネックを見つけるのに便利なプロファイラを作ってみた。 コードはこちら。 var Profiler = Class.create(); Profiler.prototype.extend({ initialize: function(){ this.keys = []; this.records = {}; }, observe: function(object, name){ name = name || "Method"; for (property in object) { if(typeof object[property] == "functi
昨日に引き続きJavaScriptねたです。 ページを表示した時点でJavaScriptを実行したい場合、 window.onload=function(){ alert('called when window is loaded.'); } のようにwindowオブジェクトのonloadイベントに実行したいfunctionをセットしてやればいいのですが、これだと、オンロード時にひとつのfunctionしか実行できません。 そこで、オンロード時に複数のfunctionを実行できるようなスクリプトを書いてみました。今回のコードはnaoyaさんのprototype.js でデザインパターン - IteratorのエントリにあるIteratorパターンのコードをそのまま借りたリスペクト指向プログラミングになってますw //multiple_onload.js var OnloadFunction
配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)
続きまして「コピーしてインスタンスを作る」Prototype パターンです。デザパタ本では6章にあたります。 var Main = Class.create(); Main.prototype = { initialize : function () {}, main : function() { var manager = new Manager(); var upen = new UnderlinePen('~'); var mbox = new MessageBox('*'); var sbox = new MessageBox('/'); manager.register("strong message", upen); manager.register("warning box", mbox); manager.register("slash box", sbox); docum
次は「たった1つのインスタンス」Singleton パターンです。あるクラスがあって、そのクラスのインスタンスは実行アプリケーションのライフサイクルを通じて唯一に制限したい、何回生成しても同じインスタンスである、というものです。 var Main = Class.create(); Main.prototype = { initialize : function() {}, main : function() { document.writeln('Start.<br>'); var obj1 = Singleton.getInstance(); var obj2 = Singleton.getInstance(); if (obj1 == obj2) { document.writeln('obj1 と obj2 は同じインスタンスです。<br>'); } else { document
次は「具体的な処理をサブクラスにまかせる」Template Method パターン。定番ですね。 var Main = Class.create(); Main.prototype = { initialize : function () {}, main : function () { var d1 = new CharDisplay('H'); var d2 = new StringDisplay('Hello, world.'); var d3 = new StringDisplay('Oh! JavaScript'); d1.display(); d2.display(); d3.display(); } } みたいなクライアントがあります。出力結果として、 [[HHHHH]] +-------------+ |Hello, world.| |Hello, world.| |Hel
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
http://www.000webhost.com provides free web hosting. Our hosting service is powered by cPanel control panel. Register now and get 1500 MB of disk space, 100 GB bandwidth, enjoy unrestricted PHP with MySQL, host unlimited domains, your own domain, 500 website templates, website builder, fantastico autoinstaller, ability to use Free POP3 Email, Webmail access and many more. No ads of any kin
Advantages Verified casino Over 1000 games Fast payouts First deposit bonus 24/7 player support Know more Casinonic Review - Games, Bonus and Sign-in Form Casinonic is a representative of the Australian gambling industry. Recently Australian casinos have become popular among gamblers. They guarantee a fair gambling experience and a great variety of gambling options. It appeared in 2019 and has
今日の帰り道、小腹すいたなぁ…なんだか分からないけどむしょーにカップラーメンが食べたい!!と思った時には、自宅から一番近いコンビニを通り過ぎていて、戻るのもめんどくさかったので新たなコンビニを探す旅に出ました。 駅から自宅に向かう道を、自宅を通り過ぎて探しに行く事に。いつもは駅方面しか行かないので新しいコンビニができてるかも!?と思って自転車を走らせるとそこには… 130戸のマンションとか、やたらゴージャスな家とか、綺麗な家とか山ほど見知らぬ景色が広がってました!おいおい、自宅から徒歩3分の所がこんなになってたのか!反対方向見るとまだ畑が広がっているというのに、高級っぽい住宅街ができてました。 これなら知らないコンビニがあってもおかしくない!ということでズンズン自転車をこぐと…一瞬で田舎に戻ったorz。開発されてる!と思った地域はほんのちょっとで、少し離れたら見知った景色が広がりだしました
Iterator に続きまして、「一皮かぶせて再利用」な Adapter パターンです。クライアントは var Main = Class.create(); Main.prototype = { initialize : function() {}, main : function () { var p = new PrintBanner("Hello, World"); p.printWeak(); document.writeln('<br>'); p.printStrong(); } } といった感じ。PrintBanner クラスは別のレガシーなクラスのアダプタで、インタフェースを肩代わりしてやっていると。 実行結果は (Hello, World) *Hello, World*となります。 今回もやっぱり interface に相当するものは作らずにやってみます。(Adapter
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く