toolboxというまとめ記事が便利そうだったので、実際に試しつつ抄訳してみました。(一部のコメントと体裁は変えています。PipesApiaryおわりに一覧RequestBinhttpリクエストを保存するエンドポイントを作ってくれる。ボタンをクリックするとURLが表示されるので、そこをHTTPクライアントからたたくとRequestBin側にリクエスト内容が記録される。ソースも公開されてるのでローカルで立ちあげることもできる。githubのwebhookのhelpも参考にどうぞ。Hurlhttpリクエストを実行してくれる。パーマリンクも作ってくれるので、POSTリクエストもコピペで他の人と共有できる。codeやレスポンスやリダイレクト、cookieなどを制御できる。HTTPクライアントのテストに便利。UrlEchoREDbotHTTPのリソースをチェックしてくれる。問題を検出したら改善案のサジェストもしてくれる。lintWebGunwebhookを簡単に作るためのAPIを提供している。現在はまだベータっぽい。CSSセレクタかxpathに名前をつけて設定するだけでよしなにやってくれる。試しに元記事をAPI化してみたUnicorn前述のREDbotはHTTPをチェックしてくれるけど、こちらはHTMLドキュメントがW3Cに準拠してるかをバリデートしてくれる。validatorこちらはRSSとATOMフィードをバリデートしてくれる。checkerリンクを再帰的にたどって、重複やリンク切れをチェックしてくれる。trackerウェブサイトのモニタリングサービス。定期的にpingして、問題があった場合はメール通知してくれる。testウェブページのロード時間を計測、解析してくれる。リクエストを実行するサーバは米国しかないので国内だとちょっと使いづらい。testならTokyoが選べる。(HAR)形式のログをビジュアライズしてくれる。proxyクロスドメインでjsを実行できるようにヘッダを追加してレスポンスしてくれるプロキシ。Browserlingブラウザ上で動くインタラクティブなクロスブラウザ。メジャーなブラウザは大体サポートされている。動作は重いけど表示確認くらいになら無料のままでも使えそう。TestWebSocketをテストできるエコーサーバ。YQLウェブサービスからとってきたデータをSQLっぽい言語で整形できる。PipesウェブサービスをGUIでマッシュアップできる。APIドキュメントをインタラクティブなインスペクタをつかってジェネレートできる。Swaggerおわりにいくつかのツールはサーバに負荷をかけてしまう可能性があるので注意してつかってください。他にもなにかあれば教えてもらえるとうれしいです。|最近はUnityを使う機会を得たのでゲーム関連技術についていろいろ調べてました。Renderingシェーダーを扱った講義資料らしい。この講義を元にした本がでていて日本語翻訳もあるみたいです。モデリングは絵心がないとちょっと難しそうだけど、こういうのであれば自分で書いてみたいです。black-tieノイズ生成アルゴリズムというものに興味がわきました。残念ながらこのライブラリはあまりメンテはされてない。物理演算系ライブラリ2次元剛体のシュミレーションならChipmunkとかBox2Dあたりで気軽にできそうですが、3次元のやわらかいもの表現するにはちょっとハードルがあがるようです。BULLETSOFAopencloth物理演算を駆使した3次元リアルぷよぷよがやってみたいです。mixamoこういう素材がもっと増えるといいですね。いう圧縮アルゴリズムを実装してみました。ソースはhttps://github.com/taksatou/cl-frontcodingです。学習目的でつくったので実用的なライブラリではないですが、CLOSやマクロを使いつつパッケージ作成〜テストまで一通りやりました。CLOSもマクロも基本的な使い方をするだけなら意外と簡単でした。CLOSとかマクロは本を読んでもいまいちよくわからない上に、深淵なイメージが膨らんで心理的ハードルがあがってしまうだけなので、よくわからないなりになにか作ってみると理解が進んでいいと思います。Lispのdeclareについて調べた。変数の型や式に関することをコンパイラに伝えてやるために使うものらしい。y)))とすれば、引数と戻り値の型を指定できる。y)))とすればさらに最適化される。ここまですると、Cで実装した場合と遜色ないくらいになるらしい。ためしにdisassembleしてみた。最初のバージョンは以下のようになった。address)命令は、srcオペランドのアドレスを計算し、そのアドレスをdestオペランドにロードするというものらしい。RCX2番目の、型だけを宣言したものは以下のようになった。うーむ、確かに型チェックっぽいコードは増えてるが速くなってるわけではなさそうな感じ。RDI最後の最適化の宣言をつけたものは以下のようになった。たしかに速そうにはなった。RETついでにCで書いた以下の関数もdisassebleしてみた。いう感じにはなったので、CよりLispのほうが速い(場合もある)というふれこみは嘘ではなさそうですね。|これまでandroidアプリを開発しててはまったことがたまってきたのでまとめておきます。その2はまたねたがたまってきたらたぶんそのうち。eclipse用にエクスポートすることはできないonAnimationEndでviewの階層を操作するとNullPointerExceptionでおちるViewをフェードアウトして親Viewからremoveする、というような動作をしたい場合に、普通にonAnimationEndの中でremoveViewとかするとNullPointerExceptionでおちます。onAnimationEndの中でViewの階層構造を操作するような処理をしてはだめらしいです。回避するには、Handlerをつかってタイミングをずらしてやるとよいです。http://stackoverflow.com/questions/5569267/nullpointerexception-that-doesnt-point-to-any-line-in-my-codeAnimationが動かないAnimationさせるViewには親Viewが存在している必要があります。WindowManagerはViewではないので、WindowManagerにaddViewしたViewをアニメーションさせたい場合は空のRelativeLayoutとかにaddViewしてから、RelativeLayoutのほうをWindowManagerにaddViewしてやる必要があります。WindowManagerにaddViewしたときの挙動WindowManagerにもaddViewできますが、通常のViewとは挙動が違います。セットすればよいです。dimでフェードインできますが、その際のdurationを変更する方法は分かりませんでした。BACKボタンはきかなくなります。自分でKeyEventを処理してやる必要があります。android.widget.PopupWindowのdispathKeyEventのソースが参考になります。Activityが横向きでスタートした場合と縦向きでスタートしたときで表示倍率が違う参考:http://d.hatena.ne.jp/acidgraphix/20110126/1296018143onCreateが何回もよばれる回転やキーボード表示のタイミングでもonCreateがよばれます。AndroidManifest.xmlでconfigChangesを設定することで回避できます。setHeightは次回以降の表示サイズしか変えられません。表示しているポップアップウィンドウのサイズはそのままです。invalidateしても無駄です。0byteのresponseを返すコネクションプールとkeepaliveがらみで問題が発生する場合があるみたいです。SDKのバージョンとウェブサーバ側の設定も影響します。回避はできるようです。これに遭遇したときは、org.apache.http.impl.client.DefaultHttpClientの方を使うことにしたので詳細は追ってません。http://stackoverflow.com/questions/1440957/httpurlconnection-getresponsecode-returns-1-on-second-invocationorg.apache.http.impl.client.DefaultHttpClientがすごく遅いhttpsでリクエストを投げると、ウェブサーバ側の負荷が高いわけでもネットワークが細いわけでもないのに、返ってくるまでなぜか数秒かかる場合があります。こちらもkeepaliveがらみの問題っぽいです。これもウェブサーバ側の設定が影響します。試した限りでは以下のような状況でした。problemsをみるとそれっぽい既知の問題があるようですが、根が深そうだったので詳細は追ってません。pluginが動かなくなるときがありました。詳細をメモるのを忘れてしまいましたが、以下の手順で直ったような気がします。プラグインをアップデートWebViewで表示されるコンテンツが小さすぎる通常ビューのスケールとWebViewのスケールは別です。setScaleで調整する必要があります。これはたぶんiOSでも同様かと。Stub!android.jar内のコードはdalvikvmの外で実行することはできません。問答無用でタイトルの例外が飛びます。エラーメッセージはもうちょいなんとかならなかったのか。参考http://stackoverflow.com/questions/7247502/using-android-jar-in-java-project-runtimeexception-stubhttp://www.slideshare.net/miyatay/abc2011wjarとして配布するandroidライブラリ内にリソースを埋め込むことはできないリソースIDを列挙しているRパッケージはjarにそのまま入れることはできますが、そのリソースIDは不正なものとなります。ライブラリにリソースを含めたい場合は、ソースも含めたプロジェクトをまるごと配布するしかないようです。小さなアイコン画像だけとかであればバイナリデータをソース中に埋め込んでしまう、というのも手です。iOSならBundleという仕組みがあります。eclipse:eclipse)ではeclipseにインポートできません。以下のファイルを手動でつくってみたらとりあえずいけました。android.library=trueまあ、なんというか、Androidはいろいろ残念ですね。iOSはこういう仕様なのかバグなのかよくわからないようなものが少ないし、OSバージョンの入れ換わりが早くて対応バージョンも少なくて済む分、個人的な体感ではandroidアプリの工数はiOSの3割増しという感じ。