とりあえずspreadsheetを作って、Publicにし、webに公開とかやる。そうすると誰でも見れるようになる。こんな感じ。そしたら以下の感じで取ってこれる。 https://spreadsheets.google.com/pub?key=[YOUR-KEY]&output=html HTMLで出す。iframeで出すときに便利https://spreadsheets.google.com/pub?key=[YOUR-KEY]&output=csv CSVで出す。パースして使いたい時に便利https://spreadsheets.google.com/feeds/cells/[YOUR-KEY]/[SHEET-ID]/public/values GData/Atom フォーマット。JSでいじったりXML欲しい時はコレ ここで書いてある[YOUR-KEY]というのは、スプレッドシートのi
モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲームの歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS
最近 Web 開発とかクロスブラウザ対応みたいなことから遠のいているので今更感ありそうだけれど、AutoPagerize の siteinfo を気まぐれに書いてたら $x で XPath セレクタ使えるのが定番化してたのを今知った。調べたのは Windows 7 のみ。 Firefox 13.01 Webコンソール ○ Firebug ○ Opera 12.00 Dragonfly ○ Google Chrom 19 デベロッパーツール ○ Internet Explorer 9 開発者ツール × 対応状況は上のような感じだった。Safari はめんどいので入れてないけど多分使えるんじゃないですかね。調べてみたものの、XPath セレクタは Web 開発にそんな大事というわけでもない(どうなんでしょう)と思うし、色々なブラウザのデバッグツールで使えるといってもその利点も特に大きくなさそう
http://www.meteor.com/ で公開された Meteor.js を少し触ってみました。TechCrunch なんかでも話題になっていましたね。 Meteor.js は JavaScript によるウェブアプリケーションフレームワークですが、クライアントサイドでもサーバーサイドでもない、"Isomorphic" なフレームワークです。 コンセプトとしていくつか特徴があるのですが、その最たるものは "Reactive Programming" で、モデルやセッションなどのストレージを更新するとその更新内容がリアルタイムに、そのアプリケーションを開いている全クライアントに伝わるようなアプリケーションを簡単に作ることができます。 この辺は実例を見るのが早いです。 http://www.meteor.com/examples/leaderboard ここにある動画では、あるブラウザで
IE9は、IE8までのIEで採用しているJavaScriptゲッターメソッド__defineGetter__およびセッターメソッド__defineSetter__をサポートせずに、ECMAScript 5仕様で定められているゲッターメソッドおよびセッターメソッドの表記のみをサポートすることになった。ブラウザごとに若干動作が異なる従来の記述をサポートすることは、将来の互換性に禍根を残すというのがその理由だ。 IE9、JavaScript仕様と現実の落としどころ IE9、IE8、IE7 - クロスブラウザコーディングテクニック たとえばIE8では次のようにコーディングしていたものは myObject.__defineGetter__("p", function() {/* getter function body */}); myObject.__defineSetter__("p", fun
Getter,Setterを利用すると、「<オブジェクト>.<プロパティ>」でプロパティにアクセスした際に、指定した関数が実行されるようになります。注意:ただし、IEでは動作しません。 function Kitten( name ) { this._name = name; } // Getter, Setterの設定 // プロパティ名と関数を指定する。 Kitten.prototype.__defineSetter__( "name", function(name) { document.getElementById("stdout").innerHTML += "set name<br/>"; this._name = name; // this.name = name; とすると無限ループにはまるので注意 } ); Kitten.prototype.__defineGetter__
Extensible Code Editor CodeMirror is a code editor component for the web. It can be used in websites to implement a text input field with support for many editing features, and has a rich programming interface to allow further extension. This is a CodeMirror field, configured for editing JavaScript code. Features Accessibility Works well with screen readers and keyboard-only users. Mobile Support
私は2001年からJavaScriptを専門にして実装をしており、かなり長い間JavaScriptを使い続けてきました。ExGameをはじめとして、異常なほどにJavaScriptを使い倒したプロジェクトを何個か完遂させています。前の会社「ブロードテイル」がDeNAに買収されたのは、JavaScriptのプロダクトだけでなく、私たちのJavaScriptのスキルを生かしたいという側面も大きくあったと感じています。 そんな私ですが、正直に言うとJSXの開発にはほとんど関わっていません。JSXは基本的に一穂さんが主導し、gfxがフォローし、a_bickyがドッグフードを食べる(自分たちのプロダクトをまず自分たちで率先して使う)という形で進んできました。私が強くかかわったのは、主に3月の言語仕様を決めるときの議論程度です。なのでJSXについてそこまで詳しい訳ではないのですが、そばで開発を見てきた
なぜ「速い」のか、について JSX 開発者の立場から。 たとえば、シューティングゲームで一番重たい処理は何か。言うまでもなく衝突判定。多数の弾や敵機の衝突判定を毎フレームごとに行う必要があり、この演算が重たい。 JSX に同梱されている web/example/shooting.jsx には衝突判定のコードが複数あるが、一番重たいのは Bullet#update 関数で、その処理は以下のようになっている*1。 for (var rockKey in st.rocks) { var rock = st.rocks[rockKey]; if (this.detectCollision(rock)) { if (rock.hp == 0) return false; inDisplay = false; if (--rock.hp == 0) { st.score = Math.min(st.s
JavaScript Advent Calendar 2010 8日目担当のid:os0xです。 JavaScriptネタは案外範囲が広くて色んなネタがあるので、毎回が楽しみですね。 さて、私はデバッグをネタにしたいと思います。テストではなくデバッグです。誰かが書いたコードをメンテナンスしなきゃー、とか。jQueryプラグイン導入しようとしたけど、なんかうまく動かないーみたいなケースのおはなしです。 JavaScriptのデバッグは大変なので、多くの方が日々苦労されていると思います。なぜJavaScriptのデバッグが大変なのか少し整理してみましょう。 ブラウザ依存 まず、なんといってもJavaScriptはウェブブラウザ上で実行されるので、環境が一定ではありません。特定の環境だけを対象にJavaScriptを書くことは滅多にありません。PC向けではIE、Firefox、Chrome、Sa
この記事が対応するCoffeeScriptのバージョンは1.7です。 基本的には本家サイトCoffeeScriptの内容と同じです。わかりやすいように色々と私が勝手に再構築、追加してはありますが。(日本語訳と紹介されるとちょっと心外ですな(´Д⊂ヽ ) なお、JavaScriptの基礎知識を前提とし、JavaScriptから引き継ぎ重複する内容は解説されません。 あ。後、この記事の文章、CoffeeScriptコード、JavaScriptコードに関する著作権は放棄しています。パブリックドメインと言うそうです。文章、コード自由に引用改変公開しても問題ありません。 最終更新日:2014/1/29 追加: 文字列 演算子など はじめに:CoffeeScriptのメリットとデメリット 一般に言われているCoffeeScriptを使うメリットデメリットを載せておきます。 ま、こんな論争気にせず、使っ
JavaScript でアニメーションを作る アニメーションとは何? ビューを少しずつ回転、拡大縮小、移動、変色などを行い、連続的な動きを作る こんな感じ <div id="view">hoge</div> <script> var el = document.getElementById('view'); el.style.opacity = 1; setInterval(function() { el.style.opacity -= 0.01; }, 10); </script> なんで、あんな感じの書き方になるの? setInterval の意味が分からない こんな感じで書けないの? <div id="view">hoge</div> <script> var el = document.getElementById('view'); el.style.opacity = 1; w
ニコニコ動画Zeroの視聴ページ(/watch)で読み込まれているスクリプトファイルhttp://res.nimg.jp/js/watch/watch.js。 常に読み込まれるこのファイルには膨大な情報が収納されていた。 そもそも、ニコニコ動画Zeroは動画再生部分にしかフラッシュを使っておらず情報の大半をjavascript上で処理している。 そこでjsの調査を進めていたのだが、jsから直接動画プレイヤーを叩ける情報を手に入れ、調査が進んだ。 動画の長さを取得するには WatchApp.namespace.model.player.NicoPlayerConnector.getVideoLength(); とコンソールで叩けば出てくる。 この処理は可読化したwatch.jsの WatchApp.namespace("model.player", function () { //中略
js.jsはJavaScriptによるJavaScript実装です。サードパーティのJavaScriptをサンドボックス化し安全に実行します。 最近ブログパーツやシェアボタンをはじめとして外部サービスのJavaScriptコードを埋め込んで動作させたりすることが増えています。しかし外部のサービスにセキュリティ上の問題がある可能性もあります。そこで作られているのがJavaScriptによるJavaScript実装であるjs.jsです。 デモです。 コードです。"1 + 1"を実行しています。 他の計算処理を行っているデモです。 Tweetボタンを表示するデモです。Twitterから送られるものをそのまま実行する訳ではないのが肝です。 js.jsは文字列のJavaScriptコードを評価し、安全に実行できます。サンドボックス状態で実行するのでセキュアです。ただし完全に独立する訳ではなく、コール
Firefox と Opera, IE ではコンテンツ・スコープにアクセスする何らかの方法があるのだが、Google Chrome ではどうやってもダメだった。汎用的かつ直接的なアクセス方法はないといえる。 変数の変更と関数の呼出 この問題をトリッキーに(ある程度)解決するのが、ロケーション・ハックと呼ばれる方法だ。 はじめに具体例を出してみよう。例えば、コンテンツ・スコープで定義されている変数 x に 234 を代入する場合には次のようにする。 location.href = "javascript: void(x = 234);"; location.href に入れた URI がコンテンツ・スコープで評価されることを利用した裏技である。location を利用した裏技であるから「ロケーション・ハック」と呼ばれる。 上の例では、void(x = 234) がコンテンツ・スコープで評価さ
node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre
jQueryで「ある要素をクリックしたらform要素を動的に生成してsubmitを実行」という処理をして、画面遷移させようとしました。 $('#hoge').click(function() { $('<form></form>') .attr('method', 'post') .attr('action', '/hoge') .submit(); }); 簡単に書くとこんな感じ。 これをChromeで実行するときちんと動作します。なのでこれでいいや、と思っていたのですが、しかしこれをFirefoxで実行させるとsubmitが動作しません。ついでにIEでも動作しません。 何もコードは間違えてないはずなのにな・・・と思いつつ、少し考え、おもむろにform要素をbody要素に追加してみたところ、FirefoxとIEでもきちんと動作するようになりました。 $('#hoge').click(fu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く