2010-01-01から1年間の記事一覧

javascriptのInt32Arrayのパフォーマンス: 書き込みはArrayより5〜8倍速いが、読み込みは変わらない?

WebGL系の情報を読んでるとInt32Array( https://developer.mozilla.org/en/JavaScript_typed_arrays/Uint32Array )という固定値配列を見つけて、滅茶苦茶速そうなので計測してみた。 Firefox4.0b8、Chrome10.0.612.3 devで動くことを確認。safari/opera/ieは…

WebSocketの遅延を計測して比較してみた

ゲーム作るのに遅延がどの程度なのか把握するため、計測をしてみた。 環境 Node.js v0.2.5 SocketIO npm, 0.6.1 websocket-server npm, 1.4.01 Firefox Firefox3.5/4は特定のアドインがあると遅くなるため、アドイン無効のセーフモードで実行している Firefo…

iPhone / iPod touch OS4.2をPCブラウザの加速度コントローラーとして使ってみた

加速度センサーはwiiリモコンなどについているけど、wiiリモコンをPCのブラウザと繋げるのは、利用者側の準備が大きすぎる。 AndroidやiPhoneを簡単に加速度センサー付きのコントローラーとして利用できるなら、結構手軽に加速度コントローラーを利用したゲ…

ブラウザでの加速度センサー付きコントローラー利用方法の選択

加速度センサー付きコントローラーを利用したゲームを作るためのメモ 一覧 動作未確認。 Wiiリモコン(Wiimote) Firefox拡張のWiiRemoCom WiiリモコンとFirefoxをjavascriptでつなげるWiiRemoCom Firefox3対応版 - bits and bytes ブラウザ: Firefox2 or 3。…

Node.jsとWebSocketとWebGLを使ってネットワーク3D対戦アクションゲームを作ってみた(試作)

とりあえず試作として下記で作った奴を3D化してみた。上下移動がないしアクションが地味なのでWebGLのデモに向かないけど。 http://d.hatena.ne.jp/ndruger/20101123/1290493871 デモ http://syspri.org/test/websocket_tile_3d/client/src/websocket_tile_3…

画像にcanvasで走査線入れると陵辱かNTRっぽくなるGreasemonkey

エロゲの画像に走査線入れると陵辱かNTRっぽくなる - ゴールデンタイムズ http://blog.livedoor.jp/goldennews/archives/51570606.html 上記にインスパイアされてGreasemonkeyで作ってみた。 200x200以上の画像の上にcanvasをのっけて走査線を描いている。画…

Node.jsとWebSocketを使ってボンバーマン系のゲーム作ってみた

まだ技術デモで、まともに遊べるレベルじゃないけど。 デモ http://syspri.org/test/websocket_tile_nosocketio/src/tile.htmキャラクターが接続しているブラウザの数(+ダミープレイヤーが1人)だけ表示されます 動作は全てのブラウザに反映されます。複数の…

LearnBoost-Socket.IO-nodeのプロファイリング失敗

http://d.hatena.ne.jp/ndruger/20101107/1289114972 でLearnBoost-Socket.IO-nodeを試してみたが、websocketを利用しても妙にレスポンスが遅くなっている。 wiresharkで見ると、1つのTCPのパケットに複数のsend()の内容が入っている。Socket.ioのコードでま…

touchイベントを利用した外部iframeの強制クリック方法 flying iframe(相手は死ぬ)ってのを考えてみた

少し前に透明のiframeをクリックさせるクリックジャッキングってセキュリティ問題が有名になったね。 要はユーザーに意図させずにログイン中の外部ページのボタンなどを押させるのが問題なわけだ。 で、iPhoneやAndroidやFirefoxの開発版はDOMのtouchイベン…

WebSocketとNode.jsで試しにピンポンゲームを作ってみた

WebSocketを使えば、これまでFlashで作られていたユーザー対戦のあるアクションゲームをhtml + javascriptで作れるようになると思っていたけど、実際に現実的かどうか試してみた。テストなので、とりあえずゲームとして遊べるようには作ってない。 デモ 接続…

mod_pagespeed所感

http://code.google.com/intl/ja/speed/page-speed/docs/filters.html Extend Cache キャッシュは効果的だけど、更新時にフォルダ名 or ファイル名を変えるのが面倒・・・。 -> キャッシュヘッダーの自動付加に加えて、ファイル名も更新を発見して自動で変え…

node.jsでwebsoketを試した

環境 OS: windows XP http server: apache ビルド環境: cygwin 手順 Node.jsのインストールとテスト 1. http://nodejs.org/ からダウンロードしてきて、cygwinでconfigure & make & make install 2. httpのテスト サイトにある例 var http = require('http')…

SNSアプリの実行タイプの整理

SNS

SNSアプリの実装タイプ 組み合わせが可能。 Proxied Contentを利用する 未理解 更にiframeを作ってsrcにアプリサーバーを指定 この場合、アプリサーバーはOpenSocial REST APIを利用。アプリサーバーの認可はどうするんだろう? アプリサーバーのFlashを呼ぶ…

orkutでproxied contentが動かない

SNS

下記の例のアプリサーバーのURLだけ変えて動かすと、iframe内が空のbodyになっている。アプリサーバーにリクエストが来てるか見とくか。 http://wiki.opensocial.org/index.php?title=Proxied_Content

orkutでOpenSocialを試した

SNS

1. orkutとorkut sandboxへ登録 2. Google Gadget Editorで編集。デフォルトの場所の奴はなぜかプレビューができないので下記の場所のを使う。 http://code.google.com/intl/ja/apis/gadgets/docs/legacy/gs.html#Scratchpad とりあえず下記のサンプルのコー…

c++におけるコンストラクタとデストラクタの例外

c++

コード例 #include <iostream> using namespace std; class Base { public: Base() { cout << "Base Constructor" << endl; } ~Base() { cout << "Base Destructor" << endl; } private: }; class Sub : public Base { public: Sub() { cout << "Sub Constructor" << e</iostream>…

メモリ不足時の挙動まとめ

言語 C malloc()がNULLポインタを返す C++ malloc()がNULLを返す newはbad_alloc例外を投げる。nothrowを指定するとNULLを返す MFCの場合はCMemoryException例外 Java OutOfMemoryException例外が投げられる C# OutOfMemoryException例外が投げられる JavaSc…

javascript + htmlでのWebアプリ開発に関する技術整理(未完成)

UIの共通化 ライブラリ jQuery Mobile, SproutCore, Sencha touchなど ARIA 端末の機能利用 広義のHTML5 BONDAI アプリ連携 ? AndroidはMIME Typeによる連携で、iOSはカスタムURL Schemeなので、だいぶ利用法が異なる。共通化は難しいか。特定のカスタムURL …

The Future Of JavaScript & jQuery 2010のメモ

http://vimeo.com/15909549 data events 要素に持たせたデータの変更時に呼ばれるよ data linking Form等の要素の情報の変更を、javascriptのオブジェクトと同期できるよ。いちいち手動で同期させる必要ないよ。 下記みたいな感じ? http://jquery-values.go…

ディスクコピーでなくパーティションのコピーでSSDを導入する

目的 SSDをシステムパーティションにする。OSの再インストールは面倒なので現在のc:をコピーして利用する。 ただ、現在のシステムパーティションのあるHDDはSSDの容量より大きいため、ディスクコピーではなくパーティションコピーで移行を行う。 構成 OS: Wi…

ツイートボタン、googleサイトのガジェット、mixiアプリ等でiframeを生成する理由

javascriptを呼び出し元のドメインで動かさせない 呼び出し元のDOMを触らさせない 名前空間の衝突回避 上記の制限に加えて、iframeはクリックジャギング対策やフォーカスの振る舞いなどで少し特殊な振る舞いをする。 提供するサービスが独立しているならば上…

googleサイトでツイートボタンを表示する

googleサイトではjavascriptを直書きできないので、ガジェットとして登録し、ガジェットをページに挿入する必要がある。 ただ、googleサイトはサイドバーにガジェットを挿入できないへっぽこ仕様なので、ページごとにガジェットを追加する必要がある模様。 …

コピー禁止のCDをmp3に変換する

cd2waveではコピー禁止のCDをmp3に変換できないが、windows media playerでmp3に変換できる。 ただCDDBを利用してないのでファイル名が自動でつかない問題がある。

最も単純なsetInterval()の指定回数実行

(function(){ var timer_id; var i = 0; timer_id = setInterval((function(){ console.log(i); i++; if (i == 10) { clearInterval(timer_id); } }), 1000); })(); 結論としては、ライブラリの物を使うのがいい。

iPodによるモバイル環境

ガラケーとは大違い。PCとの同期が取れて楽しい。 ネット接続方法 Portable wi-fi DWR-PGを使ってmoperaで接続 予定 デフォルトのカレレダーとgoogle calendarを連携 メール デフォルトのメーラーとgmailを連携 ニュースリーダー google readerでまとめてbyl…

タグ付けの難しさ(フォークソノミーで起こる問題)

問題点: Youtube, ニコニコにて、タグだけでは自分の見たい動画かどうかが分からない 例1) SMの2種類のSに関して 1. 可愛い子を困らせて、いじめられる方が快感になる相手の場合の動画 2. 可愛い子をいじめたい, 可愛い子の反撃に激怒する動画 下記のA,Bを合…

mmm-mode

下記を参考に導入 Meadow/Emacs memo: いろいろなモード 計算機とその周辺: mmm-mode (xhtml + css + javascript)

top100サイトのhtml集め

alexaから取ってきた"top-1m.csv.zip"から100個抜き出して"top100.txt"にして、下記を実行。 逐次処理だと遅いので6個まで並列処理をしておく。 #/bin/bash for i in `cat top100.txt | perl -pe 's/\r\n/ /g'` do site=`echo $i | perl -pe 's/^\d+\,//g'` …

wiki選び

要件 pukiwiki/はてな記法に近い文法 必要な機能 目次 特定ページ以下の一覧 部分編集 5段までのリスト・見出し バックアップが簡単 google analyticsに対応可能 参考 無料Wiki比較/Kooss 候補 pukiwiki + プロバイダ 現在使っているが、部分編集などの機能…

"人間の手がまだ触れない", "残酷な方程式", "虐殺器官"を読了

"人間の手がまだ触れない", "残酷な方程式" 人間・人間社会の問題点を題材にした系のSF 短編と言うこともあるが、発想が凡庸であり、題材に対する深い踏み込みがなく、意外性もなく、つまらない。 "虐殺器官" 良心や罪に関する話。倫理に関することに興味が…