タグ

ブックマーク / unknownplace.org (9)

  • node.js を iPhone アプリから動かす - unknownplace.org

    結論から言うと、 jailbreak してないと動きません。詳細はこの辺: Issue 1312 - v8 - It's time to get iOS supported! - V8 JavaScript Engine - Google Project Hosting というわけでターゲットがデベロッパー用に絞られてしまいますがやってみましょう! Node ダウンロード 今回はリリースされたばかりの 0.6.0 を使いました。 http://nodejs.org/#download からダウンロードして展開しましょう libuv にパッチを当てる libev はなにもしないでもそのまま iOS で動きますが、 libuv はそうではないようです。 $ cd deps/uv $ wget --no-check-certificate https://raw.github.com/gist/

  • libuv を iOS 対応した件 - unknownplace.org

    だいぶ前から iPhone アプリ作成でネットワーク系の機能を作るときには libev を愛用してるのだが、今日 node をいじっていたら libuv がなかなかよさそうに感じた。 libuv は libev が Windows で動かないからっていう理由で始まったプロジェクトだとおもうけど、Linux などの環境においても libev をラップしつつ、より便利な機能が追加されていていわば C でネットワークプログラミングするためのフレームワークといえるくらいになってる、みたい。(まだ詳しく見たわけじゃないけど) libev は基的に io 監視と timer のみで、socket の生成などは基的に自分で syscall 呼んでつくる必要があるけど、libuv は uv_tcp_* とか uv_udp_* といったAPI郡をもってて便利そう。 あと、非同期 DNS ルックアップがサ

  • iPhoneアプリケーション多言語化をpoファイルを使ってやる方法 - unknownplace.org

    iPhoneアプリケーションを他言語対応したいとしたら、Apple側がすでに用意してくれている方法を使うのが自然かと思う。 僕も最初はその方法を試した。ドキュメント的には以下がエントリポイントだろうか: iOS Reference Library - Internationalization Programming Topics しかしこの方法にはいろいろな問題があり、大きなアプリケーションを作ろうとするとストレスがかかってくるので現在は使用していない。(小さなプロジェクトでは使うこともある) その問題とは以下のようなものだ: 言語ファイル(Localizable.strings)が独自形式なため、既存の翻訳ツールを使うことが出来ない一つ目と少しかぶるが翻訳抜けや言語一覧などをチェックする機能がないibtool のマイグレーション機能がくそで、バージョンアップのたびにリソースファイル内の文

    s_ryuuki
    s_ryuuki 2011/04/04
    ローカライズ
  • node.js C/C++ addons 入門 - unknownplace.org

    node.js のドキュメントを見ていたら C/C++ で簡単に拡張が書けそうだったので試してみた。 addons - Node.js Manual & Documentation ドキュメントに載っている hello.cc をみてみると: #include <v8.h> using namespace v8; extern "C" void init (Handle<Object> target) { HandleScope scope; target->Set(String::New("hello"), String::New("world")); } この extern "C" void init (Handle<Object> target) というやつが、jsで require("hello") したときに呼ばれる感じらしい。この関数だけは必ず実装する必要がある。 この中の Ha

  • 2008/12/10 - memo - unknownplace.org

    まず、xcode で新規プロジェクト作成。Window-Based Application が余計なもの作らないのでおすすめ。 . |____Classes | |____my_test_projectAppDelegate.h | |____my_test_projectAppDelegate.m |____Info.plist |____main.m |____MainWindow.xib |____my_test_project.xcodeproj | |____project.pbxproj | |____typester.mode1v3 | |____typester.pbxuser |____my_test_project_Prefix.pch こんなファイル構成ができあがる。 まず、nib ファイルは toolchain 環境では扱えないので MainWindow.xib は

    s_ryuuki
    s_ryuuki 2008/12/10
  • OSXの.dmgファイルをLinuxでごにょるの法 - unknownplace.org

    dmg2img というのがよくできてる。 dmg2img xcode.dmg xcode.img とすると xcode.img という HFS+ のイメージファイルにしてくれる。 で、 mount -t hfsplus -o loop xcode.img /mnt とかでマウントできる。 その中のpkgファイルの中身を取り出すには xar -xf /mnt/Packages/MacOSX10.5.pkg Payload mv Payload Payload.gz gunzip Payload.gz mkdir dump cd dump cat ../Payload | cpio -i -d とかするとdumpディレクトリ以下にpkgが展開されるという感じ。

  • 2007/06/15 - memo - unknownplace.org

    300clp - Firefoxを遅くさせる最大原因はアドオン これみて開発時しかつかわない拡張いろいろ無効にしてみたところすげー速くなった。うは。 でも開発時は使いたいから、プリセット設定してON/OFF変えて再起動とかしてくれる拡張がほしい!! 開発用にあたらしくFirefoxのプロフィール作ってわけてもいいけど、普段使ってなじんでいるFirefox設定で開発しないと効率悪いしUIチェックとか何とか微妙になる気がするし。 あと、上記URLの最後にIPv6を無効にするの意味ないって書いてあるけどおなじURLを表示するテストとかDNS最初しかひかないでしょ。それじゃわからないくない? Catalystは Authentication::Credential::* プラグインを複数使うことにより、複数の認証方式に対応できる。 IP認証などのような、Credプラグインが提供されていないものも即

  • 2007/03/07 - memo - unknownplace.org

    かなり前の EIZO 19インチ (FlexScan L465) 液晶をずっと使っているんだけど、最高に安物の DELL 液晶よりも視認性が悪い。並べて使ってるので気になりまりまくる。EIZO のほう、なんかぼんやりしてる。 しかも、L465 は DVI 接続、DELL は D-Sub アナログなのに! 古いからかなー。何年くらい使ってるんだろ。 最小のサンプル。 package { import flash.display.Sprite; import flash.display.StageDisplayState; import flash.events.MouseEvent; import flash.events.FullScreenEvent; public class FullScreeeeeen extends Sprite { public function FullScr

  • CLON - 2006/12/09 - JSコンソールにログをはくActionScript

    いままではLocalConnection使うロガーをつかってたんだけど、JSと同じところで見れたほうが楽かなと思って作ってみた。 import flash.external.ExternalInterface; class Logger { public static function trace(msg) { return ExternalInterface.call("window.console.log", msg) || ExternalInterface.call("opera.postError", msg) || ExternalInterface.call("printfire", msg) || ExternalInterface.call("Debug.writeln", msg) || ExternalInterface.call("debug.trace", msg

  • 1