家のなかを森にしたい、という欲望 今年はなんだか観葉植物の観察が楽しい。本日は植物についての記事ですが、土や根っこなどの画像もあるので苦手な方は避けてくださいね。 フィカス・ウンベラータ うちのメイン的存在はフィカス・ウンベラータ。ウンベ殿が我が家にやってきたのは2020年5月。コロナ禍初…
家のなかを森にしたい、という欲望 今年はなんだか観葉植物の観察が楽しい。本日は植物についての記事ですが、土や根っこなどの画像もあるので苦手な方は避けてくださいね。 フィカス・ウンベラータ うちのメイン的存在はフィカス・ウンベラータ。ウンベ殿が我が家にやってきたのは2020年5月。コロナ禍初…
最近、プロトタイプ的継承の話しが盛り上がっています。 http://blog.livedoor.jp/dankogai/archives/50662064.html http://labs.cybozu.co.jp/blog/kazuho/archives/2006/10/javascript_string.php http://blog.livedoor.jp/dankogai/archives/50662606.html 最終形がやたら複雑になっています でも、実際はあそこまで複雑に書かなくても、できると思います ^^; そう思う理由 P 関数は object 関数の中でローカルのものである。コンストラクタとして使える必要はない。なので、 Atomic な場合でも P は function(){} でいい。 method 関数では P.prototype のプロパティに関数が代入されて
2006年10月18日09:20 カテゴリLightweight Languages javascript - プロトタイプ的継承 がーん。この感動はY combinatorを見たときに匹敵する。 Prototypal Inheritance function object(o) { function F() {} F.prototype = o; return new F(); } なぜこれがそれほど感動的かというと.... これを使えば、ArrayやObjectといったBuilt-Inからも難なく継承できるから。 継承のやり方としてはPrivate Members in JavaScriptが圧倒的に有名で、日本でもbrazilさんによる邦訳、Collection & Copy - JavaScriptにおける古典的継承もよく知られていると思うけど、この三行を目の前にしては霞む。でもp
翻訳 原文:Classical Inheritance in JavaScript著者:Douglas Crockford ※原文のコード内に誤りがあり、このまま記述しても動作しません。著者のコメント及び補足情報は翻訳メモを参照下さい。 君は自分が利口で階級にも属さず 自由だなんて思い込んでる―John LennonJavaScriptは、クラスという概念に囚われていない言語です。JavaScriptでは、古典的な継承の代わりにプロタイプ的な継承を使用します。これはC++やJavaのような旧来のオブジェクト指向言語に長けたプログラマを当惑させるかもしれません。JavaScriptのプロトタイプ的継承が、古典的継承に比べていかに表現力が優れているかを、これから見ていきましょう。 JavaJavaScript強い型付け弱い型付け静的動的古典的プロトタイプ的クラス関数コンストラクタ関数メソッド関
Webアプリケーションのファンクションテストを行うツールとして注目されている「Selenium」のバージョン1.0が6月20日にリリースされました。安定性が向上するとともに、Firefox 3.0、3.5(Selenium IDEは1.0.2から、Firefox 3.5に対応)や、Internat Explorer(以下、IE) 8などの最新のWebブラウザにも対応しました。 本稿では、Selenium 1.0をベースとしたSelenium IDEとSelenium RCを利用した効果的なSeleniumの利用方法を紹介します。 Webアプリのテストで誰もがイラつく大きな課題 Webアプリケーションテストを手で行うと、非常に煩雑です。Selenium登場以前の従来のやり方では、次のような問題がありました。 回帰テストに時間がかかる バグ修正や仕様変更などで、Webアプリケーションを変更した
Google AJAX API について Google AJAX API では、リッチでダイナミックなウェブサイトを JavaScript と HTML だけで実装できます。JavaScript コードを数行追加するだけで、ご自身のサイトに地図や動的な検索ボックスを追加したり、フィードをダウンロードできます。
警告: E4X は非推奨です。E4X は content に対して Firefox 16 からデフォルトで無効に、chrome に対して Firefox 17 からデフォルトで無効に、そして Firefox 18 で削除される予定です。代替として、DOMParser/DOMSerializer または 非ネイティブの JXON アルゴリズムを使用してください。 警告: この記事の内容は古くなっている可能性があります。 最終更新日は 2010 年 11 月 12 日です。英語版の最新の内容も合わせてご覧下さい。 JavaScript 1.6 で初めて導入された E4X により、JavaScript 言語にネイティブ XML オブジェクトが導入され、さらに XML 文書リテラルを JavaScript コードに埋め込むための構文も追加されています。 E4X の完全な定義は Ecma-357 仕
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
2008-10-21 追記 この日記は、こんな流れで修正やら追記がされてます。 Firefox3で動いていたコードがFirefox3.1β1で動かないんが → 3.1でどっか変わった? 「ちがくね?」と指摘を受ける 検証し直してみると、実は createContextualFragmentは一部のブラウザ(Opera,IE)以外なら実用的だった ← 俺的新発見 記事修正。おわり uupaa.js(ver0.6)では、HTML文字列をノード化するために、 uu.node.insert = function(html, context) { var node = document.createRange().createContextualFragment(html); var rv = node.firstChild; context.appendChild(node); return rv
この文書は ECMA-357 ECMAScript for XML (E4X) Specification 2nd edition を訳者 (nanto_vi) が私的に訳したものであり、Ecma International またはその他の関連団体・個人とは一切関係ありません。 この文書は正規の仕様ではありません。正規の仕様に関しては Ecma International から PDF で公開されています。 翻訳の内容については保障しません。この文書の利用によって発生したいかなる損害についても訳者は責任を負いません。 翻訳上の誤りなどがあれば訳者 (ブログまたはメール <nanto (at) moon.email.ne.jp>) までご連絡ください。 Standard ECMA-357 2nd Edition / December 2005 序文 2002 年 6 月 13 日、BEA S
MAKE, LEARN… PLAY! APPS CRAFTED WITH Draw, create & share with this online drawing application. Free for all since 2008. Fun for all ages 🦄! Sketchpad Learn music theory essentials, and visualize amazing composers with this interactive color piano 🎵. Color Piano Where mindfulness meets creativity in a purr-fectly designed app for journaling and personal growth 😸✨. Be Here Meow Learn color harmo
現在のルール ノードは0.0〜1.0のランダムな2つの実数を特徴量(ノードID)として起動する(ノードの色はこれを表している)。また各ノードは最大100件保存できるノードDBを持っている。 起動時には、初期ノード情報としてネットワーク内のランダムな2ノードをノードDBへ追加する。 各ノードは、最大3つの能動的な接続行う。このときノードDBの中から自ノードと特徴量の距離が近く自ノードより特徴空間の中心に近いノードを選択して接続する。 各ノードは接続を最大4つまで受け付ける。 接続を受けたノードは、自分の持っているノードDBの中から接続相手にオススメのノード情報を20個送信する。また接続を維持している間、定期的にオススメノード情報を交換する。 オススメされたノード情報はノードDBに保存する。ノードDBがいっぱいの場合は接続優先度が低いほうから削除する。 各接続はある程度時間がたつと切断する。基
追記:ベンチマークをコメントを元に修正 文字列から要素を作りたい場合、 var temp = document.createElement('div'); temp.innerHTML = '<span>foo bar fizz buzz!</span>'; とやることが多い。 だが、不要なdiv要素ができて気持ち悪いし、for文でchildNodesをひとつずつ処理する必要があって、不便。 divの中にhead要素を入れることはできないので、innerHTML=''としても、要素は作られない。 RangeのcreateContxtualFragmentを使うと、こういった問題を避けることができる。 例えば、上のコードをcreateContextualFragmentを使って書き直すと、 var range = document.createRange(); range.createCon
Text URL Linker という Greasemonkey Script を CodeRepos (と Text URL Linker for Greasemonkey) にあげました。Firefox の Greasemonkey, Opera(9.50以降) の UserJavaScript, Safari の GreaseKit, Google Chrome の Greasemetal, Chromium の Greasemonkey で動作します。 はてなダイアリーのコメント欄など、リンクになっていないURL (一応 ttp://hoge のようなURLにも対応) を新規タブで開くリンク(通常のリンクと区別するため overline 入りカーソルをhelp) にする Script です。Firefox の人には Piro さんの Text Link でお馴染みのあれです。同種の
Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 Webに言語は数あれど、特に玉石混淆の激しいJavascriptの書き方について纏めてみた。間違い指摘大歓迎! 発端はYahoo!の Eric Miraglia による、YUI 式モジュールの作り方をまとめた記事。ざっくりまとめると、以下の手順になる。 YAHOO.myProject.myModule = function () { //"private" variables: var myPrivateVar = "I can be accessed only from within YAHOO.myProject.myModule."; //"private" m
Demo Area A small list of things you can do with this library. 1. Tabs The most important UI widget on the web Minimal setup for tabs Naming the tabs 3 different skins with CSS Loading tab contents with AJAX Handling browsers back button AJAX:ed tabs with History support Using mouseover to switch tabs Making Wizards with the Tabs Making Accordions with the Tabs Customizing the Accordion e
NortificationBoxみたいに最初からwindowから要素自体を取得することができないので、openDialogで作るしかない。 ただ、openDialogの第一引数はURIであり(本来ならここに、自分の作ったxulファイルへのURIを入れるが、今回はJSだけで何とかできないか模索)、簡単に空のDialog要素を取得することが難しい。 // utility functions var XUL_NAMESPACE = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" var HTML_NAMESPACE = "http://www.w3.org/1999/xhtml" var Cc = Components.classes; var Ci = Components.interfaces; // 現在のwi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く