読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

JavaScript

JavaScriptパフォーマンスベストプラクティスその1

Nokia Developerよりこの記事はより速いウェブアプリケーションを構築するための価値あるガイドラインを与える。記事は様々なソースからのガイドラインの集合である。 This article gives valuable guidance for building faster web applications. The arti…

JavaScriptパフォーマンスベストプラクティスその2

Nokia Developerより コアJavaScriptの落とし穴 evalやFunctionコンストラクタの使用を避けること evalやFunctionコンストラクタの使用は、ソースコードを実行可能なコードに変換しなければいけないので、毎回スクリプトエンジンを呼び出すことになる高価な…

ウェブアプリでローカリゼーション

Dashboardウィジェットをまねて以下のようにしました。1. localizedStringsを定義したja.jsなどを用意 var localizedStrings = {}; localizedStrings['Example'] = '例'; localizedStrings['Hello!'] = 'こんにちは!'; 2. html内でブラウザの言語に応じて上…

iOS5マップ風ウェブアプリ大幅更新!

http://y-ich.github.com/maps/index.html 見た目を本物に近づけて、国際化(英語対応)も果たしました! 公開場所もGithubに移行。以下の機能が未実装です。 経路の複数表示と経路のリスト表示 (2012/10/16実装) 誤差にあわせた現在地マーカ範囲(2012/10/17実…

Google MapsのカスタムInfoWindow

CustomInfoWindowのインスタンスに対応するDOMはinfo-windowクラスを持つようになりますので、CSSで自由にデザインできます。描画位置はanchorの上です。drawを変更することで変えられます。onAddでclickイベントの伝搬を止めています。必要に応じて他のマウ…

iOS5マップ風ウェブアプリ、かなり頑張りました!

Googleのシュミット会長が「GoogleマップのアプリをAppleにまだ提出していない」と発言されてから10日経ちました。昨日はGoogleマップのモバイル版のストリートビュー対応が発表されて気になりましたが、触ってみて「もしかしたら負けてないかも」なんて思っ…

iOS5マップ風ウェブアプリを作ってみました。

iOS5マップ風ウェブアプリを作ってみました。http://dl.dropbox.com/u/8719413/y_ichikawa/map/map.html以下の機能を実装しました。若干機能が欠落しています。 地図の表示 場所の検索 現在地の追尾 ピンのドロップ ピンのそばのストリートビューの表示 起動…

Meteorで、Google StreetView上の「泥棒と巡査」

先日、慶応大学の増井教授(私が新入社員だった時の上司です^^;)がTwitterでこんなことをつぶやかれました。 GoogleStreetView上で鬼ごっこするシステムある?2012-09-09 12:28:22 via web 「Meteorなら簡単にできる、多分予備実験含めて工数2時間ぐらいだろう…

「速いウェブアプリの秘訣」

Google社のSteve Soundersさんのブログ記事"Keys to a Fast Web App"を訳してみました。 速いウェブアプリの秘訣はAjaxアーキテクチャ、JavaScript、そしてキャッシングだと最近ツイートしました。この提示は自分の経験に基づいて、それぞれの寄与や節約の可…

Maxima on Web for iPadのソースコード公開

一年以上前のプロジェクトですが、要望があったのでMaxima on Web for iPadのソースを公開します。 https://github.com/y-ich/maxima-on-web 個別にサーバーを立ち上げていただく必要があります。

もしもヘミングウェイがJavaScriptを書いたら

Twitter社のAngus Crollさんのbyfat.xxxへの投稿記事"If Hemingway wrote JavaScript"を訳してみました。 もしもヘミングウェイがJavaScriptを書いたら コードを書き始めるずっと前、僕は文学が好きだった。今では僕はJavaScriptをたくさん書いていて、それ…

Adobe Brackets

6月25日にアドビがJavaScript, HTML, CSSで書かれたJavaScript, HTML, CSS用コードエディタBracketsを発表されてました。https://github.com/adobe/bracketsGithubでの公開は5月7日には始まっていたようです。 Siphon, SPELL NOTEの開発を通じて、動的言語の…

js-console:一行で追加できるJavaScriptコンソール

最近のデスクトップブラウザのJavaScriptデバッガーが素晴らしいですね。それなしでの開発は考えられせん。 AndroidのChromeもリモートデバッグがすごいらしいですが、iOS 6でもいよいよMobile SafariやUIWebViewのリモートweb inspectorがサポートされるよ…

Google earthで「男はつらいよ」オープニング

きっとおもしろおかしいと思いますので、どうぞご視聴ください。 http://www.h3.dion.ne.jp/~y.ich/torasan/opening1.html (注)音が出ます。ご注意ください。YouTubeプレーヤ(flash)の制御とGoogle earth pluginの制御をJavaScriptですることを覚えました。

Google earthでストリートビュー散歩

「寅さん」制作の過程で必要となり、Google earth上でストリートビュー散歩するKMLを生成するサイトを作り、公開しました。 Google earth plugin上ですぐ動作を見れるようになっています。 日本語版: http://y-ich.github.com/walking-earth/ja.html English…

Meteor

先日、MeteorというJavaScriptベースのウェブプラットフォームが発表されました。(meteorは流星) そのコンセプトを見て、ビビッと来ましたので、ドキュメンテーションのコンセプト部分の訳をしてみました。 コンセプト 今まで私たちは単ページのJavaScriptア…

Underscore.jsのドキュメントを翻訳しました。

https://sites.google.com/site/nextliteracy/javascript/underscore-jsUndersocre.jsを使うと、JavaScriptで、関数型言語でよく使われる高階関数をハッシュと配列に対して使うことができるようになります。 翻訳作業を通じて、オブジェクト指向と関数型言語…

Add-on-Page

HTML5の時代ではウェブページはアプリケーションです。だから、ウェブページそれぞれへの機能拡張Add-on-Pageの時代が来ます。 一般的にアプリケーションは経済の原理に乗っ取った機能の集合体)なので、8割のユーザーを満足させるものを目指します。当然、ニ…

iCab Mobile Modules and Appleの翻訳

http://www.icab.de/blog/2011/03/26/modules-for-icab-mobile-and-apple/iOS用ウェブブラウザiCab Mobileの作者がAppleからモジュールの追加機能を削除するよう依頼された件について語っています。 最近、ブックマークレットの自動アップデートの方法がない…

文法対比

JavaScriptとRubyの文法対比表を作りました。 類義語 JavaScript Ruby オブジェクト ハッシュ 文字列 シンボル プロパティ 属性 対比表 項目 JavaScript Ruby ソース文字コード Unicode(UCS-2/UTF-16) ソースコードの先頭もしくはshebang行の次に以下のよう…

しなやかで優美なもの

Interactive ‘Slinky Thing’より。Mathematicaだとパラメトリックプロットがスライダで更新できるんですね。HTML5で作ってみました。お楽しみください。 http://www.h3.dion.ne.jp/~y.ich/applets/slinky.html上のページはMobile Safari, IE8, IE9, Firefox…

FlapjaxでHTML5 Canvas/SVGアニメーション

スマートフォンやタブレットなど急成長中のプラットフォームでは、FlashやSilverlightの代わりにHTML5 Canvasを使う流れが生まれています。でもまだCanvasは描画だけでアニメーション機能はありません。だからJavaScriptでアニメーションを作ることになりま…

スマートフォンやタブレットで便利な辞書ブックマークレット

iPadやiPhoneで英語のウェブサイトを見るとき、辞書が連携してくれなくて辛いです。 辞書用ブックマークレットがたくさんありますが、みんな、辞書サイトを別のページで開くか、辞書アプリを開きます。戻るのが大変で不便です。 別のアプローチでは、POPjisy…

Maxima on Web for iPad

MaximaのWebフロントエンドのαバージョンを公開します。jQuery Mobileを使ってiPad用に設計しました。デスクトップでもiPadの雰囲気で動作します。 以下、スクリーンショットです。バーチャルキーボードとHTMLキーボード、両方を使って入力します。数式はMat…

Sage on iPad (2)

最近Sage Onlineを試したところ、グラフ表示が画像ベースになってiPadでも表示できるようになっていました。 (1年前はJava Appletベースだったので画像はでませんでした。 http://d.hatena.ne.jp/nextliteracy/20100705/1278339189) 使っているJavaScriptフ…

DOM mouseoutイベントをはまらないように使う

子要素を持つ要素にonmouseout属性を追加して何か処理しようとすると、ハマります。マウスカーソルが子要素に入ると、onmouseout属性を追加した要素から出たとみなされるからです。 子要素にもonmouseout属性を追加するとさらに話がややこしくなります。バブ…

iPad版数式宇宙(仮)

iPad/iPhoneのSafariの上で、数式記号が動きます!お持ちの方是非お試しください。 http://www.h3.dion.ne.jp/~y.ich/applets/expressions.htmlGibsonという方のWKTouch.jsを利用させていただきました。 参考文献 Gibson, "WKTouch - Multi-touch JavaScript…

数式宇宙(仮)

ブラウザ上で数式が踊り始めました。 マウスで記号をぶつけると、「評価」反応を起こして、式が評価式に変わります。(ウソです。まだできてません。) プラットフォームには、scriptaculous.jsを利用しました。 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>Expression Universe</title> <script type="text/x-mathjax-config"> MathJax.Hub.Config({</meta></head></html>…

Maxima on WebへのMathJax導入

MathJaxはHTML内のTeXなどを数式に変換してくれる表示エンジンです。 Maxima on Webでは数式表示にlatex.codecogs.comを利用していましたが、GUI化の第一歩としてMathJaxを導入してみました。 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>Maxima on Web</title> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { in…</meta></head></html>

Maxima on Web

iPadでMaxima使いたいなと思っています。数式を扱う時って、ディスプレイ見ているよりノート見る感じのほうがいいんですよね。 てっとり早いのはブラウザでAjaxかと思い、誰かやってくれているはずと思ったのですが、なかなかMaximaを生で見せてくれるものは…