タグ

2012年3月29日のブックマーク (4件)

  • AndroidアプリにおけるDBファイルの正しい使い方

    はじめに Androidアプリケーションを作成する上でSQLiteを使用してデータベースを扱うことは多々あります。データの永続化や検索といった処理を容易に実装することができるので、多くのアプリケーションで使用されています。しかし、AndroidにはSQLiteを使用するための方法が以下のようにいくつか用意され、それぞれファイル作成時のパーミッションの挙動が異なっています。 SQLiteDatabase#openOrCreateDatabaseを使用して作成する Context#openOrCreateDatabaseを使用して作成する SQLiteOpenHelperクラスを使用して作成する もし、開発者がこれら方法の挙動を十分に理解していない場合、知らずのうちに脆弱性を作り込んでしまいます。 実際に、いくつかのアプリケーションではSQLiteDatabase#openOrCreateDa

    AndroidアプリにおけるDBファイルの正しい使い方
    rryu
    rryu 2012/03/29
    なぜか何系統か用意されているSQLite関連のAPIの使い分け方について。
  • AmazonEC2 m1.smallのCPU配分 | Linux練習帳

    AmazonEC2のサーバのCPUは、ECUという単位の処理能力で表現されます。標準的なインスタンスである、m1.small, m1.large, m1.xlargeでは、それぞれ、1ECU*1コア, 2ECU*2コア, 2ECU*4コアという風に表されています。ここで気になるのは、m1.smallだけ、1コア当たりの処理能力が低いという事実です。m1.small以外のインスタンスではCPUコア当たりの処理能力は2ECUなのですが、m1.smallだけは1ECUです。m1.smallだけ異なるCPUが割り当てられているとは考えづらいので、おそらく時分割で共有しているのでしょう。Amazonのサイトで具体的な記述を見つけることが出来なかったので、実際に検証してみました。 スモール インスタンス – デフォルト* 1.7 GB メモリ 1 ECU(1 ECU × 1仮想コア) 160 GB イ

    rryu
    rryu 2012/03/29
    EC2の1ECUと2ECUのプロセッサの能力の差がどのように作られているかの話。おそらく他インスタンスに奪われた分がCPU使用率のstealに出てるのだと思う。
  • TreeFrog Framework | High-speed C++ MVC Framework for Web Application

    小さくても パワフル そして 高性能 TreeFrog Framework は、C++によるフルスタックの高速Webアプリケーションフレームワークであり、HTTP はもちろん WebSocket プロトコルもサポートしています。 C++/Qt で作られたサーバサイドのフレームワークであるので、スクリプト言語のものより高速に動作することが可能です。アプリケーション開発では、MVC アーキテクチャのもと O/R マッパーやテンプレートの仕組みを提供し、「設定より規約」のポリシーでプログラミング言語C++でも高い生産性の実現を目指しています。 特徴 TreeFrog Framework には次のような特徴があります。 高パフォーマンス : 高度に最適化されたC++アプリケーションサーバエンジン O/R マッピング : 複雑で面倒なデータベースコーディングを隠蔽 テンプレートシステム : ERBラ

    rryu
    rryu 2012/03/29
    C++によるフルスタックWebアプリケーションフレームワーク。C++コードがそのまま埋め込めるテンプレートがアツイ。
  • [4]「きたーー!!」、ついに目標性能を達成

    リクルートの中古車情報サイト「カーセンサーnet」を全面リニューアルした体験を基に、大規模サイトの性能改善作業の実態をレポートする。第1回、第2回で行ったNFSとApacheの設定変更、PHPアプリケーションの見直しによって、性能は劇的に向上した。しかしその後、どうしても性能が伸びない。第3回での調査で、Linuxカーネルに原因があるらしいことがわかってきた。 カーネルソースがあるディレクトリーに移動して、変数名(kernel_sem)を含むファイルを調べた。すると「lib/kernel_lock.c」というファイルの中で「kernel_sem」が定義されていた。冒頭を読むと、「This is the traditional BKL - big kernel lock」とある。直訳すれば「巨大なカーネルロック」。これは何なのだろうか。コメントを追っていくと、「古い方式」であり「新しいコード

    [4]「きたーー!!」、ついに目標性能を達成
    rryu
    rryu 2012/03/29
    犯人はヤス並みの出オチ感。ロックとネットワーク通信のどちらのオーバヘッドが大きいのかも調べてほしかった。