archive-com.com » COM » N » NITOYON.COM

Total: 757

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • 謹賀新年 - てっく煮ブログ
    書き始めて7年 定年までも7年 いろいろ勉強してきたけどまだ折り返し地点なのだ 今まで勉強してきたことと同じ分量だけ学べる と考えるとワクワクもしててくる ゴールしてからまだ走り続ける という選択肢もないわけではない 今はひたすら走り続けることにしよう 話は変わってこのブログの話 ActionScript ネタについては 日本語でこれ以上続けてもあまりメリットはなさそうなので 実験として英語で情報発信をしてみることにする 外国人に Cooooooooool といわれるのが今年の目標 ActionScript なサンプルが載ってるブログなら miscellaneous さんが質 量ともに豊富なのでお勧め NUTSU さんとか 百匹目の猿 さんも更新頻度は高くないけど面白い ActionScript のサンプルを見たい人はそっちをウォッチしていただきたく ここは もうちょっと力を抜いて 雑多なネタを書き込んでいこうかな と 何はともあれ今年もよろしくお願いします 追記 2008 1 5 18 00 紹介したブログが livedoor Reader の 注目度ランキング で上位に 隠れた名ブログが発掘されるきっかけになったのなら それはとても喜ばしいことです 新年初喜び Tweet 2008年01月04日 編集履歴 今年まとめ 自己満足 pageant exe の仕組みと危険性 Please enable JavaScript to view the comments powered by Disqus comments powered by Disqus About

    Original URL path: http://tech.nitoyon.com/ja/blog/2008/01/04/p1/ (2016-02-13)
    Open archived version from archive


  • Apollo 触ってみた。すごすぎ。 - てっく煮ブログ
    アプリのめんどくさいところの1つなのですが この XML を作るソースにはしびれてしまいます private function createXMLData void prefsXML preferences prefsXML windowState width stage window width prefsXML windowState height stage window height prefsXML windowState x stage window x prefsXML windowState y stage window y prefsXML saveDate new Date toString E4X 万歳 ECMAScript 万歳 といったところでしょうか 情報保存用のクラスを用意する必要はなく XML を変数のように扱って気軽に突っ込んでいってます あとは prefsXML toXMLString とするだけで XML を出力できるわけです NET Framework もびっくりの手軽さです 右上 File Search ローカルファイルにアクセスできますよ というのを実証するための検索ツールです 特定のディレクトリ以下をファイル名で検索できます 見た目は Flex そのものですね 左下 Text Editor Flex で作られたテキストエディタです ファイルのロード セーブができます 日本語は UTF 8 なら開けるようです そのうち誰かが Encode as を作ってくれて 文字コードなんでもいけるようになるはず 中央下 Text Editor HTML based こちらは Text Editor の HTML 版です HTML と JavaScript でできています HTML JavaScript だけで Apollo アプリを作れているのがよく分かりますね ActionScript で書いたこういうコードは import flash filesystem function fileOpen void stream new FileStream stream open c foo txt FileMode READ JavaScript だとこうなります function fileOpen void stream new runtime flash filesystem FileStream stream open c foo txt runtime flash filesystem FileMode READ どちらからも同じライブラリを使っているのがよく分かりますね 右下 WeatherStation 米 Yahoo の天気予報 API を叩いて Y から取得した画像を組み合わせて表示してます いかにもガジェットっぽい見た目ですね Apollo アプリはどのドメインからでもデータを取ってくることができるので いろんなサイトの API をフル活用することができます もちろん E4X で XML との親和性も抜群 REST でも SOAP でもなんでもこい 複数のサイトの API でマッシュアップ なんてこともサーバーレスで実現できそうです サンプルのインストール さて 先ほどサンプルをインストールした と簡単に書きましたが インストーラについても簡単に触れておきましょう Apollo のインストーラは全て拡張子が air になっています この air は Apollo ランタイムを入れた段階で Adobe Apollo Application Installer C Program Files Common Files Adobe Apollo Versions 1 0 M3 apollo exe に関連付けられており Apollo アプリケーションのインストールを一元管理するようです air を起動すると まずはこんな画面が登場 アプリケーションの製作者の情報や実行権限の情報が表示されます 信頼できそうにないベンダーのアプリだけどファイルの読み書きは行わいならインストールしよう とか この会社のアプリならファイルの読み書きは認めよう とか Adobe 社が認めるならインストールしよう といった判断が行えるわけです マニュアルによると 将来的にはアプリケーションにどれだけのアクセス権限を与えるか選べるようになるようです Install を選ぶと次の画面 よくあるインストーラの設定ですね スタートメニューに追加する デスクトップにショートカットを置く をどうするか選べます インストール先のパスは今のところ C Documents and Settings Program Files で固定のようです と というのは Apollo アプリ製作者が application XML と呼ばれる XML ファイルで指定する値です Continue を選ぶとインストールが進み 無事 インストール完了です 開発者からの視点で見ると application XML を書くだけで 自動的にインストーラまで作ってくれるのは非常に魅力的です サンプルについていた XML はこんな具合でした シンプルですよね xml version 1 0 encoding UTF 8 application appId com adobe apollo samples FileSearch version 1 0 xmlns http ns adobe com apollo application 1 0 M3 properties name File Search name description A sample Apollo application description publisher Apollo Samples publisher copyright copy 2007 copyright properties rootContent

    Original URL path: http://tech.nitoyon.com/ja/blog/2007/03/20/apollo-preview1/ (2016-02-13)
    Open archived version from archive

  • HTML+JS版 Apollo アプリを作ってみる
    event stopPropagation テキストボックスの中身を取得 var url form url value Ajax でリクエスト xmlhttp open GET url true xmlhttp onreadystatechange rssload xmlhttp send null Ajax イベント function rssload if xmlhttp readyState 4 return var output document getElementById output エラー処理 if xmlhttp status 200 xmlhttp responseXML null output innerHTML error return RSS をパースして HTML を作成 var html ol var items xmlhttp responseXML getElementsByTagName item for var i 0 i items length i try var title items i getElementsByTagName title 0 firstChild nodeValue html li escapeHTML title li catch e html ol 書き出し output innerHTML html XSS 防止 function escapeHTML str return str replace g amp replace g quot replace g lt replace g gt さて HTML と JavaScript がそろいました この2つのファイルをアップロードすれば同じドメインの RSS 限定の RSS リーダーとしては動きます IE では JavaScript エラーになりますが ADF の準備 Apollo アプリとして実行するには ADF Apollo Descriptor File を作ります rss simple app xml として保存してください xml version 1 0 encoding UTF 8 application appId com nitoyon tech rss simple version 0 1 xmlns http ns adobe com apollo application 1 0 M3 properties name Simple RSS Reader name publisher nitoyon publisher description copyright properties rootContent systemChrome standard visible true rss simple html rootContent application おまじないがいろいろ書いてありますが application の appId 属性 は必ず設定しましょう 同じ appId のアプリケーションは同時起動できないので 他の ADF からコピーしてくると無駄に悩んでしまうかもしれません 独自のものをちゃんと設定しましょう rootContent の中身 も重要です どのファイルを Apollo アプリとして使うのかを指定します 先ほど作った rss simple html を設定しています 動かすために必要なタグは以上ですが いちおう他のタグについても説明しておきます property タグの中には作者情報を入力します C Documents and Settings username Program Files publisher name にインストールされるので アプリケーションを配布するなら真面目に設定しておきましょう icon タグを指定しているサンプルも多いですが 手順が複雑になるので略します 配布するときに必要になったら嫌でも調べますよね ためしに実行 さてさて 前置きが長くなりましたが これで準備完了です コマンドラインから次のように入力してみてください adl rss simple app xml 単純ですね ウインドウが表示されれば成功です ボタンを押すと RSS を取りに行って一覧を出力します ドメインの制約なしに XmlHttpRequest でアクセスできるのが確認できます 表示できない場合は次の順でトラブルシューティングしてみてください adl が見つからない 認識されない adl にパスが通っているか 通っていない場合は フルパスで入力してみる adl は解凍したフォルダの bin の中にあります ADF が正しいか見直す rootContent の中身が正しいか 次のようなエラーが表示されます This application cannot be run an error occurred loading the root content file xxxxx rootContent の visible 属性は true になっているか 同じ appId の Apollo アプリが既に起動していないか パッケージング adl コマンドは SDK についていたものなので このまま配布しても Apollo ランタイムをインストールしている人には使ってもらえません 他の人に使ってもらうためにはパッケージングする必要があります パッケージングするには

    Original URL path: http://tech.nitoyon.com/apollo/tutorial/html-js.html (2016-02-13)
    Open archived version from archive

  • Google Gears の使い道 - てっく煮ブログ
    オフライン中の操作を Database に保存したり オンラインになったときに送信したりする部分の実装はかなり煩雑です ばっさり言ってしまえば ユーザーからの需要は少ない上に 実装コストが高い のです では Google Gears は不要な技術なのでしょうか いいえ 実は超絶に魅力的です 3つの機能を単体利用 するだけでも 実装効率は格段によくなりそうです 1つ1つ説明していきます LocalServer はブラウザキャッシュをコントロールするための技術 ブラウザのキャッシュ 一時ファイル は キャッシュする条件がブラウザによってことなるなど アプリケーション側から完全にコントロールするのは不可能でした それを Google Gears の LocalServer 機能で解決します 例えば こんな使い方はどうでしょう 初回ロード時に読み込んだファイルを LocalServer にキャッシュする 次回ロードからは LocalServer のファイルを利用してロードする 表示の高速化 ロードが完了して落ち着いたころを見計らって サーバーにアップデート確認 更新があった場合には その場でページを書き換えてもいいが 何もしなくてもいい 既存のブラウザも キャッシュがある場合には手動でリロードして初めてサーバーにとりに行く実装になっている 次に読まれそうなデータを先読み ページ遷移があっても大丈夫 重要なのは アプリケーション側からブラウザのキャッシュを完全にコントロールできる ことです Database は SQL ベースの大容量 Cookie 現状のブラウザベースのアプリケーションでは ちょっとした設定データやセッションデータを Cookie に保存します しかし Cookie には 4KB 容量制限が重くのしかかります この制限を克服するために Flash の SharedObject や DOM Storage Firefox only userData IE only を利用する といったバッドノウハウがあるのですが インターフェースもばらばらな上に 環境依存の問題も併発してしまいそうで なるべくなら使いたくないのが現状でした そこで Google Gears の Database です 大容量な上に 検索も SQL ベースで高速 なのです また Apollo β版にも Gears の Database と同様に SQLite ベースのデータベースが付属することが決まっています Adobe の中の人のブログによると Google Gears と Apollo はこの部分で連携していくようです Apollo アプリでもウェブアプリでも 同じようにローカル DB を使えるようなインターフェースがあったら便利だよね Adobe と Google は そのインターフェースを連携しながら考えていくよ I meant to add that we are working on aligning the Apollo DB and Gears DB apis with the goal of making it easier to build applications and code that can leverage both API implementations on the desktop and in the browser Apollo Beta will include SQLite Embedded Database at Mike Chambers Google と Adobe の連携話からも SQL ベースのローカルストレージが流行っていくような予感がします WorkerPool で setTimeout 地獄からの開放 JavaScript の実装をしていると ちょっと複雑な処理が入ると ブラウザが応答しなくなり CPU 使用率が 100 になってしまいます これを解決するためには 実装すべき機能を細切れにして setTimeout で呼び出さなければなりませんでした しかし ソースの可読性が下がってしまうため あまりやりたくない手段です そこで Google Gears

    Original URL path: http://tech.nitoyon.com/ja/blog/2007/06/03/how-to-use-google-gears/ (2016-02-13)
    Open archived version from archive

  • 四則演算を JavaScript で実装する - てっく煮ブログ
    a b var sum a while b var carry a b 1 sum a b a sum b carry return sum a b で各桁単独の足し算を取得しつつ a b で繰り上げを計算 繰り上げがある場合は 繰り上げ部分を足して それでも繰り上がればまた足して の繰り返し a 01011010 b 01001001 a 00010011 a b b 10010000 a b 1 a 10000011 b 00100000 a 10100011 b 00000000 b が 0 なので終了 だいぶ早くなる Firebug で試してみる add 1 1 2 add 99 1 100 add 99 1 98 add 3 5 2 負の数でもうまく理由が分からない人は2の補数 後述 を勉強してね 減算 これはだいぶ簡単 正 負を入れ替える function reverse sign a return add a 1 function sub a b return add a reverse sign b 2の補数って知ってる で終わり 2の補数は慣れるまで分かりにくい概念だけど こう考えてみるのはどうだろう 10進数で12桁の電卓があります でも 壊れていて下4桁しか表示できません 3 9999 は 10002 だけど この電卓で表示したら 2 同じように 5 9999 4 9 9999 8 この壊れた電卓では 9999 は 1 と同じ 9999 10000 1 10000 を足そうが引こうが表示中の値は変わらない 3 9999 3 10000 1 3 1 乗算 次は掛け算 桁あふれは無視してる function mul a b var product 0 while b if b 1 product add product a a 1 b 1 return product 筆算のやり方を思い出せば簡単 1010 x 0101 1010 0000 1010 0000 0110010 b の i ビット目が 1 なら a を i ビット左にシフトしたものを足す というだけの実装 上の実装は負の値を無視してしまってるので まじめにやるならこうなる 正の数かどうか調べる function is positive a return a 31 0 function mul2 a b if is positive a is positive b return mul reverse sign a reverse sign b else if is positive a return reverse sign mul reverse sign a b else if is positive b return reverse sign mul a reverse sign b else return mul a b is positive 関数で int が 32bit だと仮定しているあたりがかっこ悪いけど これが一番シンプルかと 除算 長かった いよいよ割り算 Google の電話面接で聞かれるだけあって複雑 0 での除算や正負は考えずに実装した 比較演算子の代わり function cmp a b var s sub a b return s 0 0 is positive s 1 1 MSB 最上位ビット Most Significant Bit を取得 function msb i var ret 0 while i i 1 ret add ret 1 return ret

    Original URL path: http://tech.nitoyon.com/ja/blog/2007/06/29/four-operations-implementation-in-javascript/ (2016-02-13)
    Open archived version from archive

  • Adobe MAX レポート:インタラクションデザインの実際:アイデアの開発 - てっく煮ブログ
    面白い瞬間を交互に見せることで なんとなく見続けたくなる Uniqlo NT Teaser 時間に追われて使いまわし WaterClock Beta 1分に1回 ブロックを落とす スローモーション 最初はベクターに見えるが 実は実写 瞬間瞬間できれいなので見てられる 技術的な難易度は少ないけど おもしろいならそれであり Co Existence 時間軸の再編成 共存空間 3Dすげーというのを見せるだけではつまらない 適切なものを効果的に配置するのが重要 fingertracks マウスレコード 違う時間にアクセスした人をそろえる STUDY D1 エコトノハ いままでのユーザーがクリックする状態を記録して表示する みんなでやってる感 FM Festival 04 サビのいいところをクリックして共有 ニコニコが出てきて ありふれたものになってしまったので 今後は使いにくい Honda Sweet Mission 投稿音声 テキスト入力したメッセージをしゃべらせる Live Form 投稿した内容を反映して 見た目が変更される amaztype 検索結果表示 Uniqlo USA GAPなどの有名ブランドが既にいるアメリカで 個性をアピールするサイトにしたかった 膨大な商品のデータを使ってモザイクを作成する KDDI EYE PROJECT KASHIWA SATO 色をシンプルに見せる Eye Project に比べて 少し肩の力を抜いたような見せ方 GYRE text to speach 音声加工 ローパス ハイパス

    Original URL path: http://tech.nitoyon.com/ja/blog/2007/11/02/adobe-max2-interaction-design/ (2016-02-13)
    Open archived version from archive

  • Google Earth API(β版)がこっそり公開されていた - てっく煮ブログ
    から叩けません セキュリティーゾーンを変更すれば可能かとは思いますが あまり現実的ではないでしょう 1 Google Earth は今までも COM インターフェースを提供していたのですが 公式にドキュメント化されたのは大きな進歩だと思います この API を使ったサンプルは 私が作った Google Earth でドライビング をご覧ください このサンプルを作ったときには この COM API は Undocumented だったので苦労しました 技術的に細かい話 4 0 2080β 以降で導入された IApplicationGE に関するドキュメントとなっております 以前から存在していた IKHInterface は 現在は後方互換性があるようですが 将来的には約束されないらしいです IApplicationGE は IKHInterface の機能をすべて含んでいる上に バージョン情報やネットワーク状態の取得 Feture の操作などができるようになっています それに加えて 今回のドキュメント化があるわけですから IApplicationGE を使ったほうがよいでしょう Mac では なお Mac では Apple Script を使って Google Earth とごにょごにょする方法があるようです このへん参照 1 Google Earth をブラウザに埋め込めるようにした GEAirlines もあります COM の中継をしてくれます 原理はフック COM

    Original URL path: http://tech.nitoyon.com/ja/blog/2006/10/01/p1/ (2016-02-13)
    Open archived version from archive

  • PHP 4.3 と MySQL 4.1 の接続性 - てっく煮ブログ
    goo ne jp kotaeru php3 q 1121173 もしくは MySQL 4 1 では パスワードの暗号化方法が変わったという問題もあるようだ MySQL 4 1 以前と PHP 4 3 なら接続できるのかもしれない http dev mysql com doc mysql ja old client html MySQL 4 1 では パスワードハッシュアルゴリズムに基づく認証プロトコルが使用されていますが これは旧クライアントが使用しているものと互換性がありません サーバを 4 1 にアップグレードすると 旧クライアントで接続しようとした場合に 以下のエラーメッセージが発生する可能性があります 解決策 old passwords オプションで MySQL を起動する 旧パスワードを設定する mysql UPDATE user SET Password OLD PASSWORD mypass WHERE Host some host AND User some user mysql FLUSH PRIVILEGES PHP

    Original URL path: http://tech.nitoyon.com/ja/blog/2005/07/28/p1/ (2016-02-13)
    Open archived version from archive



  •