yukobaのブログ[B!]新着記事・評価 - はてなブックマーク (original) (raw)

5 users
yukoba.hatenablog.jp
昨日 Visual Studio 2015 RC がリリースされました。64ビット環境では RyuJIT が搭載され、さらに速くなりますが、C# の実行速度はかなり速くなっており、もう、Visual C++ と大差がないようにすら感じます。 そして、さらなる高速化のため、SIMD (SSE2) が使えるようになりました。画像処理関係・マルチメディア処理関係で高速化が出来ます。 SIMD 関係、開発中は仕様が少しずつ変わっていました。もう RC であり、これで確定なのでしょう。ググって出てくる情報が開発中の仕様が大半のため、要注意です。 先に注意点 マイクロソフトが実験的に書いていたサンプルは、現在のバージョンでは動かない物があります。 環境変数 COMPLUS_AltJit とか COMPLUS_FeatureSIMD 、レジストリいじったりとかは現在は不要です。 Vector クラスが

53 users
yukoba.hatenablog.jp
情報オリンピックという中高生向けの競技プログラミングの大会があります。国内予選・選抜が3回あり、最後に世界大会があります。アルゴリズムの問題が出題されます。予選の毎年のパターンは問1, 2は問題文をコードに起すだけの問題で、問3はアルゴリズムの問題だったり、中学受験的な算数の問題だったりします。問4はいつも動的計画法の問題が出ます。競技プログラミングでは動的計画法が一番の入門であり、これがスタートラインです。これが解けないと始まりません。動的計画法の問題、機械的に解けるのかなと思い色々と考えたのですが、できそうなので、このブログ記事にまとめます。 動的計画法 動的計画法ですが、やはり一番しっかり書かれているのが、書籍「アルゴリズムイントロダクション」 http://www.amazon.co.jp/dp/476490408X です。動的計画法の章は熟読に値すると思います。「動的計画法」とい

7 users
yukoba.hatenablog.jp
C言語のライブラリを Java から使うときに便利な https://github.com/twall/jna (JNA) を Android で使う方法のメモです。(追記:JNA 4.0.0 に合わせて大幅に書き換えました) JNA は 4.0.0 現在、Android に対応していますが、ドキュメントがないです。3.4.0 当時、Android 対応をしようとして、中途半端になっていて、3.5.1 でその残骸が残っていましたが、4.0.0 ではちゃんと対応しています。 手順 https://github.com/twall/jna/raw/master/dist/android-arm.jar をダウンロードして、解凍して、libjnidispatch.so を取り出します。 libjnidispatch.so を自分の Android アプリのプロジェクトフォルダの libs/arm

89 users
yukoba.hatenablog.jp
Android は Linux の一種でもあり、ARM で動く Linux 向けのC言語で書かれたライブラリの多くが動きます。(多少違うので、動かない場合もあり)。ただし、ビルド方法が暗黙の了解事項になってたりして、Android NDK にちゃんと書かれていなかったりするので、ここにまとめます! 以下、架空の libhoge をビルドすることとします。 ビルド対象は一般的に静的ライブラリ (.a) ファイルにしておくと吉です。自分で使う際は、自分の Android.mk に以下の物を追加します。 LOCAL_CFLAGS に -Ihoge-1.0/include みたいのを追加 LOCAL_LDLIBS に -Lhoge-1.0-android-build/$(TARGET_ARCH_ABI) と -l hoge を追加 ライブラリをビルドしてできた libhoge.a はこのフォルダに

5 users
yukoba.hatenablog.jp
http://pocoproject.org/ ですが、1.4.2 から Android 対応しているのですが、マニュアルがドキュメント不足でいまいちわからなかったので、ここにメモしておきます。 ライブラリ自体のコンパイル方法 http://pocoproject.org/docs/99300-AndroidPlatformNotes.html どおりです。Ubuntu 12.04 (x64) でも MinGW でもどちらでもコンパイルできました。Ubuntu x64 の場合、aptitude install ia32 する必要があります。 こんな感じで、my-android-toolchain を作って、 export NDK=$HOME/android-ndk-r7c $NDK/build/tools/make-standalone-toolchain.sh --platform=an

10 users
yukoba.hatenablog.jp
UnixBench dhry2reg (整数演算)の結果 サーバー dhry2reg さくらのクラウド(1コア) 2434.7 GMOクラウド(1コア KVM 深夜) 3194.2 Core i5 ノートパソコン(2コア 2.4GHz) 3216.5 新さくらのVPS (2コア 1GB) 3607.1 Amazon EC2 m2.xlarge (2コア) 4312.2 お名前.com VPS (3コア KVM) 8712.0 さくらのクラウド(12コア) 29735.7 GMOクラウド(12コア KVM 深夜) 37111.2 Amazon EC2 cc2.8xlarge(16コア 32スレッド) 38343.6 UnixBench 5.1.3 は最高16並列に制限されているので、Run の maxCopies を32に改変。 さくらのクラウドの数値は http://r2.ag/r612

41 users
yukoba.hatenablog.jp
先ほどまで、FLASH MEETUP http://atnd.org/events/22297 があり、Adobe Flash の現状・未来についての質疑応答のイベントがありました。Flash の技術の偉い方のちゃんとわかっている人が3名アメリカから来ていて、超内容が濃かったです!7〜9時の予定が11時まで延長して、京都から来た方は泊まりこみになりました! Flash 関係で、最近誤解を招いてしまったことについて解説があったのですが、まぁ、ネットではたくさん出ているので、Flash の今後について話していたことについてこの記事では書きます。 あと、僕、間違ったことを書いていたらごめんなさい。私見も混じっています。アドビの太田禎一さん @otachan さんに聞くと色々と教えてくださると思います。 全体の方針 現状、Flash がよく使われているのは、「ゲーム」「動画」「広告」なんですが、ゲ

8 users
yukoba.hatenablog.jp
mixiが海外のSNSとプラットフォーム共通化をするらしく、その関係で、今まで数字のIDだったのが、文字列のIDに切り替わります。その関係で、mixiアプリ提供者は今月中(2011年10月)に新方式に移行が必要です。 http://developer.mixi.co.jp/news/news_apps/009668.html なんか、あまり手法とかブログで見かけなかったので、やり方とか書いておきます。手抜きしたい方の参考にどうぞ。 まず、変わるのは、ID だけで、API は変わりません。今まで、ID を文字列で管理していた人は、データベースの ID さえ、差し替えてしまえば対応完了です。数値でやっていた人は、文字列にプログラムを書き換える必要があります。 一連の話、テストアプリで一通り練習してから、本番アプリで行ってくださいね。 ステップ1 http://developer.mixi.co

9 users
yukoba.hatenablog.jp
ソフトバンクの孫正義さんが、Twitterで、政府の出している避難指示に関して、http://twitter.com/masason/status/51832607117295616 以下のように書いていて、この問題についてです。 政府は飯舘村や南相馬市に明確な避難命令を出すべき。RT @mryoshi55: 政府が中途半端なことをするから、ここ米沢の避難所から飯館村や南相馬市に戻る避難者が今日出てきた、今はまだ止めた方が良いと思う http://twitter.com/masason/status/51836389716795392 「直ちに問題無し」「避難命令拡大不要」を連呼する政治家や学者は自らの家族がそこにいても避難させないのだろうか? @dunce_jp @masason: 政府は飯舘村や南相馬市に明確な避難命令を出すべき。 僕は、政治哲学として、「平時に決めた緊急時マニュアルは

192 users
yukoba.hatenablog.jp
現在、Shibuya.js が開催中です!Ustream で http://www.ustream.tv/channel/shibuyajs にて放送されています。これから、このブログの内容をしゃべります! 今回「テスト」がテーマなうえ、Shibuya.js は「役に立つ話担当」「ネタ担当」に分かれていて、僕は「ネタ担当」なんですが(笑)、いつも通りネタです。でも、遠い未来の役立つネタです! きっかけは、id:t-wada さんに、GUIの自動テスト関係の質問をしたら、凄くいいことを教えてもらいました。 全てのテストはサンプリングテストである (少し表現違ったらごめんなさい)話の流れで、部屋を移動しなくていけなくて、たしか、それしか話ができなかったのですが、要するに、サンプリングテストである以上、全ての入力パターンをテストすることは不可能であり、できることは、限られたコストの中で、効率よく

21 users
yukoba.hatenablog.jp
ARMはスマートフォン・携帯電話で広く使われていますが、クロック周波数の割に微妙にIntelのCPUよりも遅く、なんでなのかなーということで調べてみました。 まず、http://www.coremark.org/benchmark/index.php のベンチマークの結果から、色々数字があり、すごく悩みながら信用できそうな数字を拾ってみました。 1コア当たりの性能 名称 性能 備考 ARM Cortex-A8 600Mhz 2.035/MHz Cortex-A8は2010年のスマートフォンの主流 NVIDIA Tegra 250 1GHz 2.646/MHz Cortex-A9は2011年のスマートフォンの主流かな? Intel Core2 Duo 1596MHz 3.205/MHz Intel Core i5-650 3200MHz 3.244/MHz このように、クロック当たりの性能が

104 users
yukoba.hatenablog.jp
カーネル/VM Advent Calendar の40日目です。ごめんなさい1日遅れ。他の方のも面白いですよ!左のリンクからどうぞ。 私、JavaScriptでVM(仮装機械)を色々作ってきましたが、いつも、言語処理系のVMばかりで、VMwareのような、マシン自体のVMはやったことがなかったので、トライしてみました。 選んだテーマは、川合秀実さんの5年前の名著、「30日でできる! OS自作入門」。これ、凄くいい本ですね!読んでみてびっくりしました。かなりお勧めです。英訳は出ていないと思いますが、英訳を出すに値する本だと思います。でも、川合さんのOSASKは終了(中断?)しちゃっているみたいですね。 30日でできる! OS自作入門 作者: 川合秀実出版社/メーカー: 毎日コミュニケーションズ発売日: 2006/03/01メディア: 単行本購入: 36人 クリック: 735回この商品を含むブ

39 users
yukoba.hatenablog.jp
現在、WebSocket は既存のHTTPプロキシを通した際にセキュリティ上の問題があるという理由で、Firefox 4 beta と Opera 11 で無効になっています。Chrome や Safari も悪意のある攻撃が始まったら無効にすると言っています。 そして、どのようなプロトコルにするかを IETF のメーリングリストであーだーこーだ議論されています。→ hybi Discussion Archive - Date Index つまみ食いで読んだだけですが、話し合いは全然まとまっていないみたいです。TLSは重いからXORがいいとか、クッキーが使えるように普通のHTTPヘッダを使いたいとか、なんか色々です。(つまみ食いなので間違っていたらごめんなさい) そもそも、既存のHTTPプロキシを通すSocketを作るというところにだいぶ無理があります。Skypeがルーター越えをするという

35 users
yukoba.hatenablog.jp
アジャイル開発のエクストリーム・プログラミング(XP)は好きなんですが、開発規模が大きくなった時に、どうやるんだろう、と最近考えていて、考えをメモします。 開発規模の定義として、僕は、100行=小規模、1万行=中規模、100万行=大規模と定義します。それぞれの規模でベストな手法が違います。大規模で、100人以上のメンバーがいる場合は、どうやってグループを管理するかという問題とかもあります。僕は、ほとんどが中規模開発なので、今回は、これ限定です。 エクストリーム・プログラミングを説明した最も有名な本は1999年に出た、XPエクストリーム・プログラミング入門―ソフトウェア開発の究極の手法 ですが、年々微妙に変化していて、最近の著者さんのスタンスを一番反映しているのは、http://www.extremeprogramming.org/ での説明かなと思います。 設計の終焉? でマーチン・ファウ

3 users
yukoba.hatenablog.jp
http://orto-app.com/ のテスト&バグ取りをずっと続けているのですが、テストする要因の組み合わせで、テスト項目数が指数関数的に爆発します。 いろいろ調べていたのですが、「組み合わせテストをオールペア法でスピーディに!:特集|gihyo.jp … 技術評論社」の記事がおもしろかったです。組み合わせテストといっても、第1回 組み合わせテストの技法:組み合わせテストをオールペア法でスピーディに!|gihyo.jp … 技術評論社にあるように、3個以下の要因で発生するのが大半であり、少なくとも2個の組み合わせを全て網羅するようにして、かつ、テスト項目数を指数関数的に爆発させない方法があります。 上の記事では、PICT というソフトが紹介されていて、使ってみたら楽しかったです。 たとえば、Ortoの画面転送では、以下のような因子があるとします。 Sender: IE6, IE8,

3 users
yukoba.hatenablog.jp
小学校の親友の一人の阿部行成くんが株式会社ビット・トレード・ワンという会社をやっています。ハードウェアの会社で、電子工作の自作キットもたくさん出しています。 そして、彼の商品の自作用ゲームパッド「REVIVE USB」が2ページ(p.44)にわたって、週刊アスキー 2010年12月14日号に載ってます!記者さんがかぶり物のコスプレをなぜかしているので、そこも見物です(笑)。 AKIBA PC HOTLINE の記事は ゲームパッド自作用の電子工作キット登場、最大36キー、ゲーム機のコントローラもPC用に?。

3 users
yukoba.hatenablog.jp
Englishhttp://orto-app.com/ ですが、VM(仮想機械)やクラスライブラリはだいぶバグがとれてきました。画面共有はバグ取り中なう。画面共有は楽しい使い方・便利な使い方を研究しないと…! あと、前の記事に、はてなスターをくださった方々ありがとうございます。m(_ _)m それと、id:kensuu (nanapi)の http://rocketstart.co.jp/media/press/20101129.html すごいですね!

44 users
yukoba.hatenablog.jp
English今日は、Shibuya.js のイベントの一環として、Firefox Developers Conference 2010 で、「Java MIDP implementation on HTML5 and Flash」というタイトルでしゃべらせていただきました。 jQuery の作者の John Resig さんなど外国の方がいらした関係で、スライドがすべて英語です。 最近、携帯電話 の Java の MIDP の処理系を HTML5 および Flash で実装しています。それのプレゼンです。 http://orto-app.com/ でαバージョンを公開しましたので、よかったらご覧ください。IE8でみると、Flashで動きます。全体として、だいぶ、バグが多いのです。ごめんなさい。(画面転送が半分くらいのアプリでしか動いていません)。アプリももっといろいろ動くようにしたいです

21 users
yukoba.hatenablog.jp
自分へのメモです。SubversionからGitに移行するときの注意点。 git-svn(1) にしたがって、Subversion から Git に移行できるのですが、 git svn clone Subversionのリポジトリ Gitは色々なツールが、リポジトリ内は CR+LF ではなく、LF であることを期待しているみたいなので、上の方法で Subversion 内が CR+LF だと、Gitのリポジトリ内も CR+LF になってしまい、トラブルが起きます。 なので、上の方法で移行した後、gitattributes(5) の When text=auto normalization is enabled in an existing repository あたりに書かれている、 $ echo "* text=auto" >>.gitattributes $ rm .git/index

21 users
yukoba.hatenablog.jp
id:amachangをきっかけに、Facebookが盛り上がりました。盛り上げに貢献した人は、まぁ、色々たくさんいて、俺の名前を出せ!と言われると際限ないので、amachang の名前だけ出しておきます。ごめんなさい。 昨日、「同時ログオン会」というのがあり、その成果。まず、これが、この1年のTwitterでの言及数です。日本を対象にした場合、アルファベットの「Facebook」よりもカタカナの「フェイスブック」の方がより適切な結果が出ます。 緩やかに上昇傾向ではある物の、10月に突出していますね。途中、穴があるのは Google のデータ欠損のはずです。 そして、その10月の詳細データ10月12日に盛り上がっています。 10月11日を見ると、10月11日23時の1006ブックマークされたフェイスブックが面白い - IT戦記が盛り上げの直接的なきっかけになっています。ブログ界ではもう少し

4 users
yukoba.hatenablog.jp
OracleがAndroidの処理系はJavaの特許を侵害しているとして、訴えています。 その7つの特許のうち、3つは日本でも出願されていて、 出願番号 公開番号 発明の名称 特願平05-339905 特開平06-230976 参照をリゾルブする方法および装置 特願平10-346523 特開2000-029706 クラスファイルのプリプロセシング及び パッケ―ジングのための方法及び装置 特願平11-098306 特開2000-035893 デ―タ処理システムの配列の静的初期化方法、 デ―タ処理方法、並びにデ―タ処理システム及び その制御手順をコンピュ―タに実行させるプログラムを記憶した コンピュ―タ読み取り可能な記憶媒体 の3つです。そして、それら全てが日本では特許として成立していません。http://www.ipdl.inpit.go.jp/Tokujitu/tjsogodb.ipdl?

9 users
yukoba.hatenablog.jp
Amebaなうは2017年11月6日にサービス終了しました。 https://ameblo.jp/staff/entry-12307556515.html AmebaなうをRSSで購読できるようにしました - yukobaのブログ で書いた、AmebaなうをRSSに変換するサービスですが、少しだけ改良しました。 livedoor Readerなどに対応。 メッセージの画像をRSSにも埋め込みました。 1はRSS中の<guid>が全て同じだと、livedoor Readerで正しく表示されないため、?dummy= というのをつけました。本当は、Amebaなうのメッセージには全てアドレスがついているので、それを使うのが正当なんですが、手抜きしています。 使い方 ドメインを変えるだけです。now.ameba.jp → rss.amebanow.yukoba.jp に変えてください。 オリジナル:

13 users
yukoba.hatenablog.jp
スマートフォン向けのIntel Atom Z600 1.5GHzのベンチマークが発表になっていますが、驚異的な速さですね!iPadよりも5倍近く速いそうです。2010年末〜2011年前半くらいに出るそうです。Performance: Moorestown Rocks? - Intel Unveils Moorestown and the Atom Z600, The Fastest Smartphone Platform?。 Android 2.2も速いし、もう、ムーアの法則というレベルではなく、毎年3倍くらい速くなっています。2009年のiPhone 3GSはSunSpiderで17secでしたが、2010年のAndroid 2.2は6sec、2011年のIntel Atom Z600 1.5GHzは2sec…。 というわけで、スマートフォンやパソコンの SunSpider のベンチマー

48 users
yukoba.hatenablog.jp
現在、Flash Player 10.1 は RC4 で、すでに Google Chrome 5 βでは標準搭載になっています。 Flash 10.1 はスマートフォン対応がメインで、パソコン版は大差ないのですが、パフォーマンス面で変更が加えられています。遅くなった部分と、速くなった部分があり、ひょっとしたら、ゲーム系は大旨fpsが落ちるかもしれません。 遅くなった部分(タイマー) 最大の変更点は、タイマーの仕様の変更です。互換性のない変更です。Adobeの人が、http://www.kaourantin.net/2010/03/timing-it-right.html, http://www.kaourantin.net/2010/04/press-any-key-to-continue.htmlにまとめています。 ブラウザ間の差を吸収するため、内部で 60Hz のタイマーを持つことにし

6 users
yukoba.hatenablog.jp
canvg という変なプロジェクトが登場しました! というわけで、これを、 変更内容のパッチは、Patch for IE with FlashCanvas · Issue #20 · canvg/canvg · GitHub をご覧ください。http://yukoba.jp/SvgCanvasFlash/SvgCanvasFlash.patch もし読んでいらっしゃったら、FlashCanvas Pro の作者さんへ。パッチをご覧になるとわかりますが、var fc = FlashCanvas; で、一度、window.FlashCanvas を待避させた後、もう一度、イベントハンドラから呼び出された、関数 r() の中で、FlashCanvas = fc; として、元に戻しています。これしないと動かなかったのですが、なぜ必要なのでしょう?なんかの、バグではないかと思われます。バージョンは

65 users
yukoba.hatenablog.jp
ほとんどのスマートフォンのウェブブラウザはcanvasタグに対応していますが、バグだらけです。以下、色々な環境で試したバグのまとめです。 iPhone OS 3.1 このバグは iOS 4 では、直っています。 iPhone OS 3.1 では、fillText() などの文字列描画系がバグっています。画面が上下反転して、フォントなども反映しません。お持ちの方は 実際のサンプル - fillText() メソッド - Canvasリファレンス - HTML5.JP でお試しください。おかしな位置に文字が表示されます。このバグは、iPod touch、iPhone 全てで発生します。 まもなく、iPhone OS 3.2 が出ますが、直っていることを強く祈ります! Android 2.1 このバグはAndroid 2.2では、直っています。 Android 2.0, 2.1が、一番ひどいです

37 users
yukoba.hatenablog.jp
最近、ブログを書いて、毎回、読んだくださった方から、貴重な情報を教えてもらっています。大変ありがとうございます。 ベンチマーク for canvasタグとcanvas on Flash 2010 - yukobaのブログですが、コメント欄&http://www.revulo.com/blog/20100311.html#p01によると、drawImage()で渡す座標は、仕様上 "float" となっているのですが、ここに "int" を渡すと高速化するそうです。具体的には、Math.random() * 750 を Math.random() * 750 | 0 にします。"| 0"で、float → int です。 また、FlashCanvas Pro は今、1.2 α3 ですが、1.2になって、高速化したので(上のブログ参照)、それを含めてテストしてみました。 ブラウザ 時間 高速化

10 users
yukoba.hatenablog.jp
追記:canvasタグを8倍高速化する方法&FlashCanvasが4倍速くなった - yukobaのブログも合わせてご覧ください。 最近、canvasタグを利用したアプリの高速化に励んでいます。何か良いベンチマークはないかなと思い探していたら、「CanvasのdrawImageのベンチマーク - yukobaのブログ」からリンクを張ってあるベンチマークに行き当たり、最初、「へぇ〜こんなの作った人がいたんだ」とか思って、ドメインをよく見たら1年半前の自分でした orz というわけで、それの2010年バージョン。パワーアップします。 まず、最近、FlashCanvas Pro と uuCanvas.js というcanvasタグをFlash上で使えるようにする、非常に良いライブラリが出ました。古典的には、VML on IEを使ったライブラリが有名なのですが、スピードが遅い上、全てのAPIをサポ

105 users
yukoba.hatenablog.jp
(注):以下、一部、推測で書いた部分が間違っていて、詳しくはコメント欄をご覧ください。詳細は、JaegerMonkey - MozillaWikiに書いてありました。 Mozillaのオフィシャルブログの記事、improving JavaScript performance with JägerMonkey – Mozilla Hacks – the Web developer blog、によると、Firefox のJavaScriptのエンジンをAppleのWebKitのJavaScriptのエンジンをベースに作り直すそうです。僕が英語を読み間違えていないことを強く祈ります。名称は、JägerMonkeyと言うそうです。 元々、JavaScriptのJITコンパイラによる高速化は、FirefoxのTraceMonkeyから始まりました。まず、インタープリタで走らせてから、型を推測し、JI

次のページ