
Twitterでこっそりと募集して、オレ標準JavaScript勉強会というイベントを開催しました。 id:edvakfさんが来日されるということで、「会いましょう→何かやりましょう→勉強会とかどうでしょう」というTwitter上の軽いノリで企画され、みんなで短いネタを披露し合う一品持ち寄りの少人数勉強会をやってみよう、ということになりました。で、そのままTwitter上で参加者を呼びかけてみたところ、半日もたたずに15名集まって、しかもそうそうたる顔ぶれに! 当日 色々と反省があったので、少し書き出しておきます。 まず、会場*1には有線LANしかないので、自前のルータで無線LANをやろうとしたんですが、設定がなかなかうまくいかず、だいぶ手間取ってしまいました。やはり、安物のLANは駄目ですね…。大人数で繋ぐと安定しないし、有線をいっぱい用意したほうが良かったです。 で、Ustreamに挑
os0x さんと企画した「オレ標準 JavaScript 勉強会」が終わりました。os0x さんには結局ほとんど全部まかせっきりになってしまって、大変おつかれさまでした。参加者の皆様も本当におつかれさまでした。自分にとっては初めての技術系勉強会だったのですが、時間は別としてけっこう上手くいったのではないでしょうか。 早速ですが、自分の発表したスライドはこちらです。 http://edvakf.github.com/orejs/opera.html http://edvakf.github.com/orejs/opera.html#coverflow ↑2つめリンクは Mac Safari でしかちゃんと動かないと思います (が、Windows の Safari 5 でも動くとか Chrome でもコマンドラインオプションで動くようになるという話も)。一応1つめのリンクは Opera/Web
はじめに 初めまして。NTTアドバンステクノロジの金城と申します。幸運にも記事を執筆させていただけることになりました。WebSocketという新しいウェブの規格についての連載を、全4回の予定でお届けします。 用語統一について WebSocketは「WebSocket」「WebSockets」、単語を切り離した「Web Socket」等、表記に揺れがあります。2009年12月22日のワーキングドラフトのタイトルは「The Web Sockets API」となっていますが、2010年4月26日のエディターズドラフトでは「The WebSocket API」となっています。この連載では、最新の仕様書に則り、用語を「WebSocket」で統一します。 HTML5とWebSocketの関係 WebSocketは、もともとHTML5の一機能として仕様の策定が進められていました。しかし、Web S
前回はSVGの概要を解説したので、今回はSVGの具体的な書き方をざっくりと見ていきます。 と、その前に前回のおさらいとして、SVGをウェブページで用いる方法を2つにまとめます。 SVGをXMLとして記述し、svgファイル(もしくはdataスキームなど)をobjectタグなどで埋め込むか、もしくはXHTMLを用いてHTMLに埋め込む(Firefox 4.0betaやIE9ppなどはHTML(XHTMLでない)に直接記述することも可能) JavaScriptから動的にSVGを作る SVGをXMLとしてあらかじめ記述しておく方法は画像フォーマットとしても利用できますし、InkScapeのようなグラフィカルなインターフェースで作成したものを表示するのに向いています。一方、JavaScriptでSVGを描画する方法は動的に図を描けるので、データを元にグラフを描くといったケースに適していますし、Rap
シングルマウスなDrag and Dropなコードを、マルチタッチ対応にしてみました。 http://jsdo.it/uupaa/MultiTouchDnD iPhoneでテストしています。 マルチタッチ初挑戦なので、色々と分かってません。 マルチタッチ対応の要点 今回は、シングルマウスのコードを流用し、マルチタッチ対応を行なっています。 Revision: r653 // 0.8/src/ui/drag.js // 初期化処理で、mousedown の代わりに touchstart をハンドリング uu.event(grip, uu.ver.touch ? "touchstart" : "mousedown", this) // 0.8/src/ui/drag.js function dragHandleEvent(evt) { uu.event.stop(evt); uu.ui.dra
JIT搭載ブラウザでは a = a; など同じ変数に対する代入を繰り返しても遅くならず、JIT非搭載ブラウザだと a = a; で遅くなります。 JIT非搭載 Browser a=a nop Firefox3 1177 666 IE8 2036 1265 IE6 4291 3406 JIT搭載 Browser a=a nop Firefox3.6 236 234 Safari5 696 702 Opera10.60 970 1028 Google Chrome6 445 451 // a = a function _a_a(idx) { var a = idx; a = a; a = a; a = a; a = a; a = a; a = a; a = a; a = a; a = a; a = a; return idx + a; } // nop function _nop(idx) {
記事リスト JavaScript Cookbookの記録 (2010-07-26) Google JavaScript Style Guideの記録 (2010-07-19) functionについて (2010-05-21) ソースコードが公開されているJavaScriptエンジン (2010-05-16) setTimeout で実行する関数に引数を渡す (2010-05-12) JavaScriptのyield (2010-05-08) userChrome.jsでDOMContentLoaded (2010-05-06) <script>タグから読み込んだjsのディレクトリを取得 (2010-04-18) アルゴリズム (2010-03-29) オブジェクトのコピーと継承 (2009-11-20) E4XとDOM (2009-11-13) Javascript 第5版 メモまとめ
http://github.com/tily/js-eeepub JavaScript で ePub を読むだけじゃなくて作成できたら面白いだろうなと思って、勉強も兼ねて jugyo さんの EeePub を JavaScript に移植してみた。 不完全なところが色々あるし、もっと便利にできそうな気がするんだけど、だいぶ飽きてきたんで一旦 github で公開してみる。 zip.js と xmlbuilder.js に依存している。あと、JSSpec でスペックを書いてみた。スペックに書いてるまんまだけど、こんな感じで使う。 var easy = new EeePub.Easy({ title:'sample', creator:'tily', identifiers:'http://example.com/book/foo', uid:'http://example.com/book/
Come creare il miglior gioco da casinò Quando si progetta un gioco da casinò, la prima cosa che devi considerare è che tipo di gioco sarà. Ci sono molti diversi tipi di giochi da casinò, dalle slot e video poker ai giochi da tavolo e giochi di carte. Dovrai decidere quale tipo di gioco si adatta meglio alle tue esigenze. Ogni tipo di gioco ha il proprio set di regole e regolamenti, quindi dovrai a
Web Workers の調べ物してました。 Web Workers は、Google Chrome 4+, Firefox3.5+ , Safari4+ で既に利用可能です。 Google Chrome5 では、Web Workers 内で Web Socket を動かすこともできます。 js の基本であり鬼門といえば this オブジェクト 各ポイントで this.toString() や self.toString() を行い、this や self が何を指しているのか調べました。 <script> var globalScope = this.toString() </script> // WebWorkers.js var workersGlobalScope = this.toString(); var self1 = self.toString(); onmessage =
JavaScript のテスティングフレームワーク QUnit から TAP 出力するための仕組みを作成し、さらに CommonJS 環境下でも動くようにしてみましたので、 github で公開します。ライセンスは QUnit に合わせて MIT と GPLv2 のデュアルライセンスです。 http://github.com/twada/qunit-tap これは何? 平たく言うと、主に画面非依存の JavaScript コードやサーバサイドで動かす JavaScript コードに対してコマンドラインからユニットテストを行うための仕組みです。 js のユニットテストというとブラウザ上で動かすものが一般的ですが、 DOM に依存しないロジックや抽象的なモジュールのテストはできればコマンドライン上で高速に実行させ、即座にフィードバックを得たいものです。 (更新) ヘッドレスブラウザ Phant
HTML Canvasでクロスドメイン画像のピクセルを加工することはできない。 クロスドメインの画像をdrawImageすることはできる。しかし、クロスドメイン画像をdrawImageしたcanvasからgetImageDataしようとするとエラーになる。 $("<img>").attr("src", "http://www.hatena.ne.jp/users/pa/paulownia/user.jpg").load(function(){ var canvas = document.createElement('canvas'); canvas.width = this.width; canvas.height = this.height; var c = canvas.getContext('2d'); c.drawImage(this, 0, 0, this.width, this
こんにちは、太田です。前回はクロスブラウザの入口として、各ブラウザの特徴をまとめつつ、実際にクロスブラウザなコードを紹介しました。今回はクロスブラウザ対策における基本である、各ブラウザ環境の構築について解説したいと思います。 前回紹介した通りブラウザにはたくさんの種類・バージョンがあります。それぞれが動作する環境を用意するだけでも、一苦労ではすみません。なるべく少ないマシンで、各バージョンをインストールして、さらにデバッグするための環境作りについて紹介します。なお、Safari以外はWindows環境を想定しています。さらに、特に断りがない限りはWindows XP SP3をベースに解説させていただきます。ご了承ください。 各ブラウザのデバッグ環境は近年目覚しいほどの進化を遂げています。統合デバッグ環境の草分けであるFirebugを筆頭に、Safari/Chrome(WebKit)のWeb
これでできる! クロスブラウザJavaScript入門の第8回は実践DOMスクリプティング#1 HTMLとテキストの操作です。 今回は今までより少し掘り下げていて、最適化とかにも少し触れています。これぐらいのほうが面白みがあって良いのかなとも思う一方、「クロスブラウザって面倒」な印象を与えてしまいかねないので難しいところです。今回の反応をみて微調整したいと思います。 記事の前半はdocument.writeに関連して非同期読み込みとかの話。直接は言及してませんが、Google Analyticsのコードがどうしてああなっているのかが大体わかるようになっていると思います。関連:t32k.com 後半はテキストをハイライトしたりするコードのサンプルです。プレーンなテキスト中の特定のワードを別のワードに置き換えたり、ハイライトしたり、リンクにしたり、といったことは結構需要としてあるけど、実際にや
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
jQueryの $(function(){ ... }) は、ページの load イベントではなく、DOMContentLoaded というイベントをトリガにして実行されます(Firefoxの場合)。このイベントはHTMLファイルがロードされDOMツリー構築が終了したときに実行されます。画像などの重いコンテンツのロードが始まる前に実行されるため体感速度が向上します。 しかし、以下のようにDOMContentLoadedをトリガにしてページ内の画像をcanvasで処理しようとすると、まだ画像が読み込まれていないためエラーになることがあります*1。 $(function(){ $("img").each(function(){ var canvas = document.createElement('canvas'); var c = canvas.getContext('2d'); c.dr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く