hagino3000's blog

平成アーカイブス (更新停止)

JavaScript

JavaScriptテクニックバイブルのレビューを手伝いました。

校正段階でレビューだけ手伝いました。若手IT勉強会の皆様による執筆。対象読者はJS中級者、2~3年目のエンジニアとの事です。JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技JSサポーターズ技術評論社売り上げランキング : 1582Amazonで詳しく見…

Struct.js ver. 0.3をリリースしました

欲しかった機能が実装できたのでタグを切りました。 hagino3000/Struct.jshttps://github.com/hagino3000/Struct.js 主な機能追加 ネストした構造のサポート nullableオプションの追加 カスタムバリデーション関数のサポート 設定で全チェックを無効化する機…

JavaScriptでRubyのmethod_missingを実装する

追記: Firefoxの実装で既に有る__noSuchMethod__に名前は合せた方が良い、というコメントを頂いたので名前を変えました。何の役に立つか不明だけど書いてみた*1。Proxyでプロパティアクセスをフックして、存在しない場合は用意しておいた関数プロキシを返す…

ChromeでECMAScript 6のProxyを有効にする

ECMAScript 6(候補)のProxyはChromeのデフォルト状態では使えない、前の記事で紹介したStruct.jsはProxyを使っているため、Chromeでチェック機構を有効にするには設定をいじる必要があります。 手順 アドレスバーからchrome://flagsを開く JavaScript の試験…

JavaScriptで厳格な型チェックを行なうライブラリを書いた

(追記) Version 0.3をリリースしました。先日のjava-ja温泉で「JavaScriptは独りでヒャッハーするのには良いけど、複数人で開発しだすと途端にカオスになって苦労する」という話になった。それに対する解の一つはClosure Compilerが採用したアノテーションに…

Node.jsのモジュールをC++で書く (ObjectとArrayを受け取るメソッド)

プリミティブな値を引数で受けとる場合よりもやや面倒。JavaScriptの仕様上どんな値や型でも受けとってしまうので、C++側のチェックコードがどんどん増えていく。動作確認用のコードがこうだとする var Test1 = require('./build/Release/Test1'); Test1.giv…

Node.jsのモジュールをC++で書く (引数と戻り値)

引き続きv8.hを読みながらNodeモジュールを書く練習をする。モジュールのメソッド定義ですが、名前の通りv8::Argumentsが引数の表現で、[]オペレータでアクセスするとv8::Value型のそれぞれの引数が得られる。型チェックはIsNumberやらIsStringといったメソ…

Node.jsのモジュールをC++で書く (Hello World編)

C++弱者ながらC++でNodeモジュールを作る事にしたのでいろいろと。まずは公式サイトの解説を参考にしてみる。 Addons Node.js v0.6.12 Manual & Documentationl http://nodejs.org/docs/latest/api/addons.html Hello World 最初にHello Worldのコードが載っ…

WebSocketでバイナリデータを送受信してみる

この記事はHTML5 Advent Calendarの8日目です。いつの間にか手元の環境(Chrome17 dev + Node 0.6.3)においてWebSocketでバイナリデータが扱える様になっていたので何か作ってみようかと。まず、NodeでWebSocketを使おうとしたらそれ用のライブラリを使う事に…

Sencha Touchのファイルサイズを150KByte小さくする方法

この記事はJavaScript advent calender 2011 Frameworkコースの4日目です。世間ではjQuery Mobileが流行っていますね、それとは関係なくここではSencha Touchのネタを書きます。対象読者は既にSencha Touchを使っている人です。*1さて、Sencha Touchはモバイ…

PhoneGAPを使ったアプリケーションのコードをオンラインパッチで修正する

仕事でPhoneGAP使い始めて1ヶ月ぐらい経った。PhoneGAPを使ったiOSアプリケーションをリリース後にちょっと直したい時、AppStoreに再申請するのは面倒くさい。なので、なんらかの方法でパッチを当ててクライアントの動作を変更するのがセオリーだと思ってい…

Jasmineで非同期処理のテスト

Jasmineの使い方を覚えるために複数のWebSocketコネクションが協調して動作する、というよくありがちなシナリオのテストケースを書いてみた。非同期テストの書き方のページを読んでもよくわからなったので、最初わりと苦戦した。 メモ waitsForは、渡した関…

node + express + jQueryでJSON-RPC

GithubでjqueryでJSON-RPCするためのライブラリを公開していたのだが、何も考えずにPull Requestを取りこんでいたら全く動かない上に、読解不能かつバグの塊の様な状態になっていた。そろそろ自分で使いたくなったのでテストコードを書いてバグfixした。テス…

0mq(zeromq)をnode.jsで使う

depthJSを参考にKinectとブラウザの連携をさせていたのだが、depthJSは中間層がPythonのtornadeなので、node.jsにしてみた。 zeromq.nodehttps://github.com/JustinTulloss/zeromq.node インストールはnpmからできた。コードはこれだけ。 var http = require…

OpenGLなにそれうまいの?? という人のためのWebGLの始め方

追記:例題の頂点シェーダーで何をしているか説明を追加しました 追記:動作環境の所修正しました、IE9では動作しません。皆さんはじめまして、荒川智則です。この記事はJavaScript Advent Calendarの21日目です。この記事では、Google I/OやFirefox Develop…

Google Apps Script書いた

いってきました。 Google Apps Script 勉強会 #1 : ATNDhttp://atnd.org/events/10424 Google Apps Scriptは自分で書いて実行するのすら始めてだったが、bitlyのAPIを叩いてセルに入力されたURLを短縮する関数を作ってみた。 API_ROOT = "http://api.bit.ly/…

facebookのJavaScript SDKメモ

JavaScript SDK facebookのリソースにJSだけでアクセスできる。 JavaScript SDK - Facebook Developershttp://developers.facebook.com/docs/reference/javascript/ ドメインの登録 登録できるドメインは一つだけだが。salesforce.comと書いておけば、サブド…

RESTとJSON-RPC

JSON-RPCいいよねって話が一昨日の発表後に出たのでちょっと考えてみた。説明不要だろうけど簡単にそれぞれの特徴を。ここではブラウザとサーバー間でのやりとりを前提とする。 REST リソース毎にuriを切っておいて、HTTPのGET, POST, PUT, DELETEメソッドで…

Ext JS & Sencha Touch勉強会の発表資料をupした

JavaScriptとSalesforceとTwitterマーケティングな話をした時の資料View more presentations from hagino 3000. 準備が足りず割とひどい発表になってしまった。だるい。

Ext JS & Sencha Touch勉強会11月@東京 で何かしゃべります。

直前ですが、こちらも告知しておきます。私はSencha Touchは触っていないのでExt JSの方の話をします。Ext JS & Sencha Touch勉強会11月@東京 : ATNDhttp://atnd.org/events/9672

java-ja.js #2 開催します!!

1年ぶりに帰ってきた、ちょっと真面目なJavaScriptイベントjava-ja.js #2 : ATNDhttp://atnd.org/events/9721 既に100人超の参加登録をいただいています本当にありがとうございます!! 会場の都合で入場リミット70人としているので、キャンセル確定している方…

Twitterの検索結果をだらだらと流すだけのサービス

時々イベントで使っていたのを手直ししてアップしました。Twitter live searchhttp://junk.hagino3000.com/twitterlive/search スクリーンショット 用途とか 主にイベント会場でプロジェクタを使って大きく映す用途として作ってあります。なので余計な機能は…

WEB+DB PRESS Vol.59

WEB+DB PRESS Vol.58WEB+DB PRESS編集部献本ありがとうございます。今号は半分以上フロントエンドエンジニア向けの記事だった気が。特集記事はYSLowを使ったWebページのパフォーマンス計測と高速化の話。DOM操作からWebサーバーの設定まで広く説明がされてい…

Twitter JS-API is not supported by Twitter

@anywhereをロードすると使えるUser.followersメソッドがあきらかにバグっていたのでIssueを登録しんだけど、それサポート外だからって返答された件。Issue 1965 - twitter-api - @Anywhere User.followers() doesn't work well. - Project Hosting on Googl…

Twitter @Anywhereのハマリ所

in_reply_to_status_idを付加する方法がわかったので記事訂正しました。Twitter @Anywhereというのはtwitterが出しているJavaScriptライブラリ。OAuth認証も含めてJSだけでタイムラインの取得や投稿ができる。まだ完成度が低くて、バージョンアップしたら改…

jQuery JSON-RPC Plugin がいい具合にバージョンアップしてる

適当に書いてGitHub上に放置しておいたJSON-RPC jQueryプラグイン、いい具合にバグ修正とかしてもらえました。バグ修正どころかパラメータの渡し方まで変っている。既に私の書いたコードが全然残っていない点は気になりますが、良かったですね。 hagino3000'…

WEB+DB PRESS Vol.57

WEB+DB PRESS Vol.57WEB+DB PRESS編集部献本ありがとうございます。JavaScript使いとしては、今月号からはじまったid:uupaaさんのJavaScript高速化の連載が本当にためになります。スケールするUIを目標としたモダンWebインタフェース構築術も面白かった。

アリエルネットワークへ遊びに行って発表した資料をupしました。

ネタは何でも良いとの事だったのでChaos Proxy Viewerについて発表しました。HTML5を使ったウェブアプリケーションの高速化View more presentations from hagino 3000.資料の最後のページについて質問されたので補足しておきますと、苺ましまろの松岡美羽で…

Chromeでworkerプロセスが死ぬ問題

解決するのにここ2日間かかってしまったバグ。 WebWorkerでworkerプロセスを作る。workerの中でタイマーを回して5分毎にサーバーからデータを取得、そのデータをメインスレッドに返す、というのを実装したが、workerが5分~10分経つと死んでいるというもの。o…

jQuery用JSON RPCプラグイン書いた

gitとgithubの使い方を覚えるために、手元のコードをgithubにアップしてみた。jQuery.getJSONっぽく使える。 hagino3000's jquery-jsonrpc2.0 at master - GitHubhttp://github.com/hagino3000/jquery-jsonrpc2.0 使い方 $.jsonRpc(url, data[, callbackFunc…