幻の ECMAScript 4th 幻となった ECMAScript 4th のドラフトを眺めていたところ, p.33 に Destructuring assignment and binding (分割代入, 分割束縛) という項目を発見した. 分割代入に関しては JavaScript 1.7 (Firefox などが用いる SpiderMonkey や Rhino に実装済み) から使用が可能であるため, ご存知の方も多いのではないかと思う. 「そういえば詳しい仕様は見たことがなかったな」と軽い気持ちで読み進めていたところ, そこに述べられていることが Haskell や OCaml など関数型言語におけるパターンマッチと同等であると分かり, 驚いた. 例えば, 分割代入においては次のように deep なパターンが利用可能であると書かれている. let { x: {a, b}, y:
Loading...での発表に用いた資料です。 お役に立つかどうかは心許ないのですが、ドキュメントの一部を希望されていた方もおられましたので、slideshareで公開します。 ガラケーで楽しむオレJSの勧めView more presentations from Hiroshi Tokumaru.
今回と次回を通して、WebSocketを使ったチャットアプリケーションのサーバ側の実装を解説します。 WebSocketプロトコル サーバ側の実装を行なう前に、WebSocket APIを使うにあたり知っておいたほうが良いと思われるWebSocketプロトコルの仕様について簡単に説明します。 リビジョンについて WebSocketはプロトコルもAPIもまだ策定中の仕様であり、リビジョンの違いにより問題が起こる可能性があります。最近の例では、リビジョン75と76では互換性がありません。両方のリビジョンに対応するため、片方の仕様で接続し失敗した時に他方で接続し直すサーバや、起動時にオプションでどちらを使用するのかを変更するサーバ等の実装があります。仕様策定中は特に、クライアントや中継サーバ等がどのリビジョンに対応しているかを考慮に入れ、サーバのライブラリのバージョン変更を行なう必要があります。
フォームボタンにbackground-colorプロパティを指定すると、iPhone Safariではなぜかグラデーションがかかり、更に色が薄くなります。 デフォルトの状態 こんな感じですね。 background-colorで背景色を指定した状態 #sample { -webkit-border-radius: 4px; background-color: rgb(1,47,145); } <input type="submit" value="Submit" id="sample" /> こうすると、 グラデがかかり、色も薄くなってしまっています。 単色のgradientで指定する これを解決するには、一色のみを指定したgradientを使用します。 #sample { -webkit-border-radius: 4px; background: -webkit-gradient(l
お客さんからクローラーにメアド取られたくないという要望があったので以前のエントリ内容をWordPressのプラグイン(ショートコード)にしてみました。 [caesar-cipher komagata@gmail.com] こう書くと、 こういうJSが吐かれて、 メアドが表示される。 紀元前の人でも簡単に解読できますが、とりあえずクローラーにわからなきゃいいかなということで・・・。 更新:wordpress.orgのsubversionで管理するのが普通っぽいのでGithubの方はやめて本家に登録しておきました。 WordPress › Caesar Cipher « WordPress Plugins 関連:JSシーザー暗号でお手軽メアド隠し - komagata [p0t]
Twitter だとちょっと厳しいので、こっちでまとめ。 MobileWebKit に対応しようと思ったら、コードをなんとかして削る必要があります。 AND 演算子 で 4byte 削る(10byte → 6byte) if (a) { b(); } ↓ a && b(); OR 演算子 で 5byte 削る(11byte → 6byte) if (!a) { b(); } ↓ a || b(); ドット演算子以降を自力で Minify する JavaScriptは動的な言語なので、ドット演算子以降は基本的に minify しても圧縮されません。 document.createElement("div"); document.createElement("a"); document.createElement("p"); ↓ このままだと、minify しても縮まらない document.
localStorage.removeItem() 以外にも、localStorage.setItem(); や localStorage[key] = value; でも落ちるようです(コメント欄参照) <input id="A" type="text" value="" /><script>localStorage.removeItem(A.value)</script> 上記のコードをIE8で実行すると、タブクラッシュ → 復元 → タブクラッシュ → 復元機能停止 が発生します。 IE9pp3ではブラウザがクラッシュします。 回避するには テキストフィールドに値を入れるか、A.value を文字列型にキャストすることにより回避できます。 <input id="A" type="text" value="hoge" /><script>localStorage.removeItem(
ごきげんよう、kijima(@otoyasumi)です。 またまた今回もFlashLite1.1での携帯Flash開発tipsです。 巷ではiPhoneアプリだのAndroidだのってときに こんなレガシーなテクニック紹介で心底申し訳ない。腹を切る振りをしてお詫び申し上げます。 AS2&3との違いや、FlashLite独自のひっかかるポイントなどの紹介に比べて、 画像の最適化tipsなどは案外取り上げられないようなので、 今回は「知らないと損をするよ! 携帯Flash軽量化メモ 〜デザイン編〜」と銘打ってお送りします。 PNG8 & JPEG 画像の書き出し時に注意すること 携帯htmlの世界ではどうやらdocomoの一部機種にて PNG形式の画像が表示できないようですが、 Flash内に取り込んでしまえばそれも関係ありません。 ・透過させたい&ドット絵などをパキっと見せたい画像のときはP
第1回はSVGの基礎知識を、第2回と第3回でIE9がサポートする範囲(予定含む)を中心にSVGの書き方を解説しました。最終回となる今回はSVGを実際に活用していく上でのノウハウを解説したいと思います。 HTMLなページへのSVGの埋め込みテクニック 第1回で解説しましたが、SVGは画像フォーマットでもあり、InkScapeなどのグラフィカルなインターフェースを持ったアプリケーションで作成することができます。そのsvgファイルをページに読み込むにはobjectタグを使う方法が一般的です。しかし、この方法ではobjectタグはiframeのように親ページと子ページで独立したDOMを構築するため、SVGを動的に扱いたい場合には適しません。そういった場合、svgファイルをXMLHttpRequestで読み込む方法がオススメです。 まずはシンプルにresponseXMLを使う方法です。この方法はFi
前回は、アプリケーションを作るための手順とプロジェクトの作成方法について学びました。今回は、画面の作成方法について解説します。 これから作る画面 さっそくですが、前回の連載で紹介したBankアプリケーションの画面を作成してみましょう。まず画面の遷移を確認します(図1)。BankアプリケーションのURLを指定して呼び出すと、業務画面が表示されます。業務画面で指定すべき項目を入力し送金ボタンを押すと、正常に処理が行われた場合は、結果が同じ業務画面に表示されます。一方、処理中にデータベースのエラーなどを検出した場合はエラー画面が表示されます。 図1 Bank業務の画面遷移 業務画面の仕様を図2に示します。 図2 業務画面の仕様 業務画面の構成要素を整理すると、次の表1のようになります。 表1 業務画面の構成要素
この表では言及していませんが、Consistent Hashingやshardingによって分散させやすいというのはすべてのNoSQLデータベースが備えている特徴でしたね。 検証用サーバの準備 では実際のパフォーマンスを比較してみましょう。比較のため、10,000件のデータの書込み/読込みを行います。実行にあたり各種サーバを起動します。 リスト1 検証用サーバの起動コマンド # memcached memcached -u nobody -d # TokyoTyrant sudo ttserver -pid /var/ttserver/pid -dmn /var/ttserver/bench.tch # MongoDB mongod --dbpath ~/tmp/mongodb & # HBase sudo /etc/init.d/hadoop-0.20-namenode start su
クレイジイイイィィィィィ ナイイイイイィィィィィトゥ !:/!:::::!::::::!::ヽ:ヽ{:::\:::ヽ::::\:::\::ヽ:::::ヽ!::::}!::::l::li j/:::l:::::!:、:::!::ト、:、:ヽ:::::`ヽ{、::::::\::::\{、:::::::::i::!::l:l l:i:l::::i::i:、:l::lテ=-、:ヽ、_、::\_,≧ェュ、_、\:::::::::i::li::!:: !ハト:{:!:i:トN{、ヒ_ラヘ、{ >、{ 'イ ヒ_ラ 》\::l::!:ト!!:l::l ヽ i、ヽ:ト{、ヾ ̄"´ l!\ `" ̄"´ |::!:l::! j:ll: !::、::::i l |:::/lj/l:! ヾト、:! j!/ j|::: ヾ! ヽ ‐
プライベートなリポジトリほしいけどそれだけのためにgithubにお金払うのもアレなので自サバにリポジトリつくってみたメモ。 サーバー側。 $ mkdir -p ~/git/myproject.git $ cd ~/git/myproject.git $ git --bare init クライアント側。接続はssh。git://で接続できるようにするにはgit-daemonとかが必要らしいけど、まあそれはいらないのでsshでおk。 $ mkdir myproject $ cd myproject $ git init $ touch README $ git add README $ git commit -m "create project" $ git remote add origin username@hostname:git/myproject.git $ git push ori
The WebTiming spec — proposed by Google to the W3C — is an important step forward in measuring a Web page's round-trip time (the time between a user requesting a page and the page becoming usable). In the past, we've had to either approximate the value by putting a timer at the start of our document, or use a cookie to store the time when the previous page's onbeforeunload* event fired. Both appr
Flash,Actionscriptを使ってこういうことを実現したいんだけれど、実現方法がわからない場合がありますよね。 そんな時には、まるっと全部教えてもらうのではなく、自分のできるところまでコードを書いてみて、できないところを誰かに補足してもらうと、身につきやすいです。 wonderflを使うことで、それが可能です。(wonderflより引用) wonderflではActionScriptに関する質問をコードで投げかけることができます。やり方も簡単なのでぜひ一度お試しください。時にはギークなASerの変態コード回答をもらえるかも・・・!? さて実際に質問を投げる方法ですが、タグに「question」をつけるだけです。簡単でしょう? 回答はforkによって返ってきます。疑問が解決したらタグを「question-closed」に変更して、回答を締切りましょう。
こんにちは、お久しぶりのkijima(@otoyasumi)です。 最近はFlashLite1.1ばっかりやっているので、携帯Flash開発に便利なtipsをまとめてみました。 同時に複数の"&&"AND演算子を使わない 例えば、if( A && B && C & D & E & F & G)という条件を指定するときは、 代わりに以下のように記述しましょう。 if ( A + B + C +D + E + F + G === 7 ) FlashLiteでは"true"は1、"false"は0でもあるので、これを利用します。 A〜Gまですべて"true"なら、すべて加算すれば7になるので、 上のような記述で"&&"を使わずに実装できます。 なぜこんな面倒なことをするかというと、"&&"を使うと、やたらと容量を食うから。 実際に比較すると、上の条件の場合はこんなに差が出ます。 if( A &&
Due to lack of resources to maintain the Unicorn project, W3C stopped providing this on-line service as of 31 March 2023. See 2023-02-15 W3C Homepage news. The source code is available on GitHub under the W3C Software license. Anyone can run it for themselves, fork it. Copyright © 2023 World Wide Web Consortium. W3C® liability, trademark and permissive license rules apply.
An implementation of Conway's Game of Life using HTML 5 and its canvas element.Welcome to sixfoottallrabbit's implementation of John Conway's Game of Life, using the HTML 5 canvas element. The Game of Life is a cellular automaton, which means that it consists of a grid of cells which can be in one of a finite number of states. Given any state, there are rules that govern what the next state of th
前の記事 iPad所有者は「利己的なエリート」:調査結果 まるでサーカス、ロシアの軍事ショー(動画) 次の記事 生命シミュレーション『ライフゲーム』のHTML5版 2010年7月29日 サイエンス・テクノロジーIT コメント: トラックバック (0) フィードサイエンス・テクノロジーIT Michael Calore イギリスの数学者John Horton Conway博士が[1970年に]考案した『ライフゲーム』[生命の誕生、進化、淘汰などのプロセスを簡易的なモデルで再現したシミュレーションゲーム]がブラウザで実行されている例は、これまでいくつも目にしてきた。これは恐らく、自動生成的なシステム(『セル・オートマトン』)におけるConway博士の実践が、プログラマーたちが簡単に再現できるほど単純なだけでなく、見て美しく、人の想像力を素早く捕らえるからだろう。 [セル・オートマトンは、格子状
Rakudo.orgとPerl 6開発チームは7月29日、Perl 6ディストリビューション「Rakudo Star July 2010 Release」を公開した。アーリーアダプター向けの「使える」ディストリビューションと位置づけており、Perl 6への関心を広げる狙いだ。 Rakudo StarはPerl 6の実装で、仮想マシン「Parrot Virtual Machine 2.6」やRakudo Perl 6コンパイラ、Perl 6の各種ドキュメントを含む。Perl 6の文法や正規表現、イントロスペクション、オブジェクトモデル、ジャンクションとオートスレッドなど多くの機能が実装されている。 RakudoではRakudo Starをアーリーアダプター向けと位置づけており、Perl 6の速度がそれほど高速ではない上、バグもあり、まだ実装されていない言語仕様もあることを認めながら、Raku
Linux-based Hard Drive Data Recovery Tools: If your hard drive is unbootable due to corrupt partition tables, computer viruses, system errors, and other non-mechanical issues, you may consider using a hard drive data recovery tool to save your precious files or data from being permanently wiped out. Linux uses specialized folder structures and file systems, and different distributions can present
夏休み。学生の人たちは今ごろ宿題をやってるんだろうか。ぼくは慣れない水彩画を描かされたりしてさんざんだった記憶しかない。 ところで先日、ネットを探索していて面白い宿題を見つけた。といっても大学の建築学科の授業での課題なのだが、その内容はなんと「役に立たない機械を作りなさい」というものなのだ。 建築家が役に立たない建物を作っていたらみんな困るに違いない。いったいどういうことなのか。お話を聞いてきました。 (text by 三土たつお)
アグネス・チャン「アフリカの子供たちの為に飲食店の無料の飲料水に寄付を」…寄付金は100円以上が目安 1 名前: ゲンカイツツジ(愛知県):2009/07/15(水) 19:51:52.69 ID:sZW0WWkv● ?BRZ レストランやカフェで出される無料の飲料水に寄付をして、水や衛生事情に課題を抱える国の改善事業に役立てる活動「TAP(タップ)YOKOHAMA」が、23日から8月31日までの40日間、横浜市内の約300店で始まる。食事のひとときの幸せな気分を、少しの寄付に代えてほしいとの思いが込められている。横浜青年会議所の主催、横浜市水道局、日本ユニセフ協会の共催。国内では東京に続き2都市目。 日本ユニセフ協会によると、世界で1日に4千人の子どもたちが水や衛生環境が原因で亡くなっているという。今回、東京のプロジェクト(3月)で集まった500万円超と合わせ、1千万円を目標に、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く