タグ

javaに関するsnomofのブックマーク (7)

  • GWT Project

  • Eclipse Vert.x

    public class Server extends VerticleBase { public Future<?> start() { return vertx.createHttpServer() .requestHandler(req -> req.response() .putHeader("content-type", "text/plain") .end("Hello from Vert.x!") ) .listen(8080); } } class Server : VerticleBase() { override fun start(): Future<*> { return vertx.createHttpServer() .requestHandler { req -> req.response() .putHeader("content-type", "text/

  • Twitterのスケーリング,新たなピークへ

    多くの人々にとってTwitterは,必要不可欠なコミュニケーション手段になった。人も企業も毎日,ますます広く,深くTwitterを利用する現在,そのスケーラビリティはまさに我々すべてにとっての関心事である。今月初めにTwitterは,143,199ツィート/秒という新たなピークロードを経験した上で,中断することなくそれを処理した。現状の定常値である5,700ツィート/秒に比較すると,これは非常に大きな値だ。プラットフォーム技術担当VPのRaffi Krikorian氏は新記録をブログで報告すると同時に,この新たなトラフィックレベルにスケールするために同社が実施した技術的変更について振り返りを行った。 3年前の2010年,ワールドカップ関連のアクティビティによる 2,000ツィート/秒というピークが引き起こした,Twitterの安定性に関する大きな問題が,同社にシステムの再構築の必要性を認識

    Twitterのスケーリング,新たなピークへ
  • クラス設計に関するメモ

    経験的にこのようにした方がよいと思った点についての記録です。 仕事で大規模(2000クラス超)かつ製品寿命がながいパッケージソフトを作っていた関係で、 ちょっとした設計の間違いが、 あとあとで大変な苦労する羽目になったりすることを経験してきました。 このような規模が大きいアプリケーションを作ることはなかなかないかもしれませんが、 なにかの参考になれば、と思います。 継承する前に委譲を検討する Singleton パターンを使うときの注意 Template Method パターンを使うときの注意 クラス間の依存に関する注意 クラスの粒度 Singleton の問題を回避できるか? 継承する前に委譲を検討する 継承はスーパークラスの仕様をよく理解しておかないと、 バグを作りこみやすいので十分注意する必要があります。 メソッドのオーバーライドをするときも、 public void foo(){

  • Androidの仕組みを知る(1)

    遂に日でもAndroid携帯が発売された。注目を集めているAndroidとは,一体何なのか,パソコンに移植するためにはどのような作業が必要なのか,アプリケーションを開発するにはどうするのか解説する。 Androidは,米Google社が開発し,携帯電話関連の業界団体であるOHA(Open Handset Alliance)が2007年11月に発表した,ソフトウエア・スタック(複数層で構成するソフトウエア群)である。 Androidを構成するソフトには,携帯端末向けに改良されたLinuxカーネルとミドルウエア,アプリケーションの実行環境,開発環境であるアプリケーション・フレームワーク,アプリケーション,がある。 Androidは携帯端末用として開発されているものの,適用範囲は携帯端末にとどまらない。Androidが現在対応しているCPUは英ARM社のARM系と米Intel社のx86系の2種

    Androidの仕組みを知る(1)
  • Androidの仕組みを知る(2)

    Android Runtime 次いで,アプリケーションの実行環境「Android Runtime」を解説する。Android Runtimeは,仮想マシン「Dalvik VM」と,基的なAPIを提供するコア・ライブラリで構成される。 Androidのすべてのアプリケーションは,Dalvik VM上で動作する(図4)。Dalvik VMは,Java VMと同様,メモリー管理をガベージ・コレクタ*が担当している。開発者がメモリーの確保と解放を明示的に実行しないでも,メモリー・リークによる深刻なシステム破壊を防いでいる。 加えて,JavaからC/C++を呼び出すAPIのJNI(Java Native Interface)にも対応している。CやC++で書かれたネイティブのコードが実行可能となっている。 Dalvik VMのアーキテクチャは,“レジスタ・ベース”を採用している。レジスタ・ベースは

    Androidの仕組みを知る(2)
  • Androidの仕組みを知る(3)

    最後に,アプリケーションが実行されるときのAndroidの内部的な動きを解説しよう。電話帳,カメラ,カレンダなど,Android携帯のユーザーが実際に操作するプログラムは,すべてこのアプリケーション層に入る。 Androidでは,特別扱いのアプリケーションはない*2。つまり,フレームワークが提供するAPIはすべて第3者に公開されている。開発者はどんなアプリケーションでも開発でき,多くの開発者がさまざまなアプリケーションをリリースしている。 ここでは,Android用のアプリケーション配信サービスである「Android Market」から入手できる2つのアプリケーションを紹介する。これらのアプリケーションがAndroid内部で具体的にどのように動作しているのかを説明する。 ●ポケットスケッチ ポケットスケッチは,タッチパネルを使い,指でなぞるだけで絵が描ける簡易ペイント・アプリケーションだ(

    Androidの仕組みを知る(3)
  • 1