V8のExpception一覧

V8のException一覧のメモ

return v8::ThrowException(v8::String::New("Exception message"));

return v8::ThrowException(v8::Exception::RangeError(v8::String::New("...")));
return v8::ThrowException(v8::Exception::ReferenceError(v8::String::New("...")));
return v8::ThrowException(v8::Exception::SyntaxError(v8::String::New("...")));
return v8::ThrowException(v8::Exception::TypeError(v8::String::New("...")));
return v8::ThrowException(v8::Exception::Error(v8::String::New("...")));

Pure Javascriptのhtmlparser

別けあってPure Javascriptのhtmlparserを探していたところ。

http://ejohn.org/blog/pure-javascript-html-parser/

上記のようなのものが見つかりました。
実際に使ってみると getElementByIdが使えなかったり、DoctypeがあるとParseに失敗したりなど。
ちょっと不具合があったので少し手を加えてみました。

http://gist.github.com/591455

 var dom = HTMLtoDOM(htmlString);
  dom.getElementById('id');
 dom.getElementsByTagName('name');

こんな感じで。

Cydia が Rock を 吸収合併

まともなアプリ開発屋さん(笑)として当面はiPhone4はJBなしで行こうと思っていますが。(3GSはもういいかなぁ?)

JB業界に気になる話題。

Cydia が Rock を 吸収合併

http://apple-voice.com/wordpress/2010/09/cydia-acquire-rock/

今まではJail Breakすると、Cydia と Rockいう闇?AppStoreがインストールされたのですが、これが一本化されるとのこと。金銭の絡むものかどうかは不明ですが、Cydia とか Rock ってビジネスになってるんですかねぇ?iPhoneユーザーのうち、どのぐらいの人がJBして使っているのかも気になる。保証は効かなくなりますが、法的には合法ですので、、

どちらにしても現段階ではダークなものには変わらないですが。。。

ちなみにまだiOS4.1はJBできません。

AppleがApp Storeの審査ガイドラインを発表

AppleがAppStore公開の簡単なガイドラインを公表しました。

以下Guildline,Introductionの日本語訳。TechCrunchの記事
http://jp.techcrunch.com/archives/20100909app-store-guidelines/

その他も読んでみた
ざくーとしているので、内容は保証できませーん。原文を読んでください。

Functionality

アプリケーションの機能的なところ。

  • 2.1クラッシュするのアプリはリジェクト
  • 2.2 バグがあるアプリはリジェクト
  • 2.3 独自に広告を実装したアプリはリジェクト?
  • 2.4ドキュメント化されていないまたは隠し機能は使ったアプリはリジェクト
  • 2.5 PublicじゃないAPIを使ったアプリはリジェクト
  • 2.6 決められた場所以外に読み書きするアプリはリジェクト
  • 2.7 どこか他からコードをダウンロードするアプリはリジェクト
  • 2.8 他の実行可能コードをインストールまたは起動するアプリはリジェクト
  • 2.9 ベータ、デモ、トライアルバージョンはリジェクト
  • 2.10 iPhoneアプリiPhoneアプリのと2倍表示の解像度で変更なしに実行できる必要がある。
  • 2.11 似たアプリがAppStoreに多くある場合、リジェクトされる可能性がある。
  • 2.12 使えないアプリ、娯楽にならないアプリはリジェクト
  • 2.13 マーケティング資料や広告アプリはリジェクト
  • 2.14 明示されていない隠し機能や偽機能などがある場合リジェクト
  • 2.15 20MB以上のアプリは携帯ネットワークからダウンロードできない(3Gから落とせない)
  • 2.16 マルチタスクのアプリはバックグラウンドでその目的の機能だけ利用すること:VOIP,オーディオ,位置サービス,タスク,local notificationsなど
  • 2.17 アプリからブラウズする場合、iOS WebKit framework と WebKit Javascriptを私用する必要がある。
  • 2.18 アルコールや違法薬物、または未成年者がアルコールやたばこを吸うことを勧める、または過剰消費を助長するアプリには、リジェクト
  • 2.19 正しくない診断や正確でないデバイスのデータを提供するアプリはリジェクト
  • 2.20 似たようなたくさんアプリを作っているスパマーの開発者はDeveloperアカウントごと削除します。

Metadata

メタデータについて。

  • 3.1 他のモバイルプラットフォームのことを言及した場合リジェクト
  • 3.2 不完全なテキストはリジェクト
  • 3.3 説明文がアプリケーションのコンテントや機能異なる場合はリジェクト
  • 3.4 iTuneConnectとデバイスに表示されるアプリケーション名は混乱を引き起こさない様に同じである必要がある。
  • 3.5 小さいアイコンと大きなアイコンはこれも混乱を招かいないように同じである必要がある。
  • 3.6 アプリケーションのアイコンとスクリーンショットが4+Raingsにしたがっていない場合リジェクト
  • 3.7 アプリケーションのカテゴリとジャンルは適切に選択肢ないとリジェクトされる。
  • 3.8 デベロッパはアプリケーションに適切な評価を割り当てる責任がある。不適切な評価は、アップルによって変更される可能性がある
  • 3.9 デベロッパはアプリケーションのための適切なキーワードを割り当てる責任がある。不適切なキーワードはアップルによって削除変更される可能性がある
  • 3.10 偽装購入レビューやその他不適切な方法で、ユーザーレビューやランキングを操作しようとした場合、 iOS Developer Programから削除します。

Location

位置情報を利用したアプリのガイドライン

  • 4.1 ユーザーの同意を得ずに位置い情報を利用、収集、送信するアプリケーションはリジェクト
  • 4.2 自動車や航空機や他のデバイスの自動または自律制御のための位置情報ベースのAPIを使用するアプリケーションはリジェクト
  • 4.3 車両管理、緊急サービス用の位置情報ベースのAPIを使用するアプリケーションはリジェクト

Push notifications

Push NotificationとはAppleのAPNのAPIを叩くと、端末に通知を送ることができる仕組みです。

  • 5.1 Apple Push Notification (APN) API以外を使ったPush Notificationを実装した場合、リジェクト
  • 5.2 Apple以外から入手したPush Application IDでAPNサービスを利用した場合リジェクト
  • 5.3 最初にユーザーの同意を取ること無くPush Notificationを送信した場合リジェクト
  • 5.4 個人情報や機密情報をPush Notificationで送信した場合リジェクト
  • 5.5 迷惑メッセージやフィッシング、スパムを送信する目的でPush Notification送信した場合リジェクト
  • 5.6 広告やプロモーションやダイレクトマーケティングなどをPush Notificationで送信はできない
  • 5.7 Push Notificationを使ってユーザーに課金できない。
  • 5.8 APNサービスにに過度なネットワーク負荷や帯域を使用したり、デバイスに府下をかけるとリジェクト
  • 5.9 ウイルス、ファイル、コンピュータコードを送信する。APNの動作を妨害するアプリケーションはリジェクト

Game Center

  • 6.1 ユーザーやサードパーティー(?)にPlayerIDを表示するアプリはリジェクト
  • 6.2 Game Centerの規約に反する用途でPlayerIDを使用したらリジェクト
  • 6.3 Player IDを逆引き、トレース、関連付け、収集、他のPlayerIDを悪用、エイリアスを作る、GameCenter通じてその他の情報を収集した場合、iOS Developer Programを削除します。
  • 6.4 Gamecenterのリーダーボードなどのスコア情報はそのアプリのみで使用できる。
  • 6.5 GameCenterのサービスを利用して、迷惑メール、フィッシングメール、スパム行為をするアプリはリジェクト
  • 6.6 GameCenterに大きなネットワーク負荷をかけるアプリはリジェクト
  • 6.7 ウイルスやファイル、コードのを送信し、GameCenterのサービスの運用に被害のおそれのあるアプリはリジェクト

iAd

  • 7.1 人為的に表示回数や広告のクリックスルーの数を増やすアプリはリジェクト

書きかけ

  • 7.2 空のiAdバナーを表示するアプリはリジェクト
  • 7.3 広告を表示するのが目的のアプリはリジェクト


すでに邦訳している人がいるけど、全部読まないと理解しないし頑張る。

Mongrel2をMacにインストールしてみた。

Mongrel2をMacにインストールしたメモ。

brew で ZeroMQをインストール

brew install zeromq

Mongrel2のBuild&インストール

$ cd /usr/src
$ wget http://mongrel2.org/static/downloads/mongrel2-1.0.tar.bz2
$ tar xvjf mongrel2-1.0.tar.bz2
$ make & make install

設定する。

適当な場所を実行場所にする。
ここはドキュメントと一緒
http://mongrel2.org/wiki?name=GettingStarted

$ mkdir ~/mongrel2
$ cd mongrel2
# run logs tmpディレクトリを作成
$ mkdir run logs tmp
# examplesから設定ファイルをコピーしてくる。
$ cp /usr/src/mongrel2-1.0/examples/python/tests/sample_conf.py myconfig.py

パスの関係か設定ファイルがこのままだと上手く動かなかったので、chrootを追加

    hosts = [
        Host(chroot="./", name="localhost", routes={
            r'/tests/': Dir(base='tests/', index_file='index.html',
                             default_ctype='text/plain')
        })
    ]

テストのために単純なファイルを置いておきます。

$ mkdir tests
$ vim tests/index.html
<html>
Hello World
</html>

これで ./tests以下にあるファイルを表示できるはず。

$ m2sh init -db myconfig.sqlite
$ m2sh load -db myconfig.sqlite  -config myconfig.py

起動

コマンドを叩いてみると一瞬で起動しました。

m2sh start -db myconfig.sqlite -host localhost

あとは

http://localhost:6767/tests/

のように叩けば Hello Worldが表示されるはず。

富士総合火力演習

富士総合火力演習のチケットを貰ったので見に行ってきました。

だいぶ遅れましたがレポート。

今回は青年、駐車場付きのチケットを手に入れられました。チケットには電車チケット(要は駐車場なし)と駐車場ありの物があるみたいです。何でもこのチケット200倍のプラチナチケットみたいです。駐車場なしの人たちは御殿場からバス、駐車場有りの場合でも駐車場から演習会場までは離れているため臨時のシャトルバスで向かいます。

辿りつくまで。。。

当日は混雑が予想されるので早めに着てくれとのことで、1時間以上の前の8時30分ごろに残り3キロの地点まで到着。そこから渋滞。。。

1時間たってもまだ駐車場にたどり着きません。

10時になってようやく駐車場の入口に辿り着く。やっと停められるのかと思いきや。挙動不審な自衛隊員?に誘導され道の脇に車を停める。満車になったので他の駐車場に行ってくださいと。。。

もうふざけるなという話です。

  1. 事前に来る車の台数が分かっているはず。
  2. 駐車場番号までふってある。
  3. 手際が悪すぎて3キロ以上の渋滞を招いている。
  4. 周辺の道を全く把握していない。

もう、怒る気力も失せて、指定された駐車場にダッシュしました。この時点で10時過ぎ、演習は始まっているらしく。遠くから爆音が聞こえます。やっと指定された駐車場に着くとまだの空きがあります。というか全然余裕です。。。「最初からこっちに案内してくれればいいものをと思いながら」無事に車を停めてバスに乗り込みました。

しかし個々でも手際が悪く、バスがなかなか出発しません。社内で「自衛隊こんなんで大丈夫か??」という声が聞こえてきました。本当にそう思う。交通誘導ひとつできない程度で、本当にこの国を守ってくれるのだろうか。。

やっと演習を見る。

たどり着いたのは11時頃。バスを降りる前からものすごい爆音が聞こえます!これは期待!と思いながらスタンドに向かうと
前半のスケジュールがほぼ終えて、「空挺自由降下」がちょうど始まった頃でした。そして、すぐ15分の休憩。。。慌てていたので、シートとか熱対策用品を車から持ってくるのを忘れました。。日差しをモロに浴びて暑い。。。

つづく。。。

Mongrel2

Mongrel2についてのメモ

開発が止まっていた、Mongrelがmongrel2として9月2日にリリースされてました。

http://mongrel2.org/

大幅に変わっているようなんですが、mongrel2からの大きなところでは

みたいです。
ちょっと試してみようかな。。