タグ

ブックマーク / www.infoq.com (7)

  • iOSで継続的デプロイメントを実現するfastlane

    fastlaneは,iOSアプリのリリースプロセスの自動化を目的とするツールのスイートである。ひとつのコマンドを実行するだけで起動可能な,“完全な継続的デプロイメントプロセス”を実現する。 fastlaneは,iOSアプリをApp Storeに新規に提出する,あるいはアップデートする場合に通常必要なタスクの大部分をカバーする,rubyスクリプトのコレクションである。 deliverは,アプリのバイナリやスクリーンショット,メタデータをApp Storeにアップロードする。 snapshotは,iOSアプリのローカライズされたスクリーンショットを,さまざまなデバイス用に用意するためのプロセスを自動化する。 frameitは,アプリのスクリーンショットにデバイスのフレームを付加するために使用する。 PEMは,プッシュ通知用のプロファイルの生成と更新を自動的に行う。 sighは,App Stor

    iOSで継続的デプロイメントを実現するfastlane
    xenop
    xenop 2015/02/07
  • Javaガベージコレクションのエッセンス

    あるアプリケーションの作業にとって、スループットは最も重要なターゲットです。1つ例を挙げると、長時間実行されるバッチ処理のジョブです。ガベージコレクションが実行されている間、バッチジョブが時々1、2秒止まっても、ジョブ全体がすぐに完了すれば問題ありません。 人間が直接対話するアプリケーションから金融取引システムまで、実質的な他のすべての作業では、システムが1、2秒か、数ミリ秒以上反応しない場合、大変なことになり得ます。金融取引では、しばしば一貫した停止時間と引き換えに、スループットを犠牲にするだけの価値はあります。物理的に利用可能なメモリ量によって制限されるアプリケーションを持ったり、footprintを維持しなければならなかったりすることもあります。そのような場合、停止時間とスループットの面の両方で、パフォーマンスをあきらめなければなりません。 以下のトレードオフは度々起こります。 大部

    Javaガベージコレクションのエッセンス
    xenop
    xenop 2013/08/06
  • NativeDriverを使ったネイティブモバイルアプリのテスト自動化

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    NativeDriverを使ったネイティブモバイルアプリのテスト自動化
    xenop
    xenop 2011/07/02
  • InfoQ: コンテキストマッピングによる戦略的ドメイン駆動設計

    図1.ユビキタス言語はモデルを表現するのに用いられる唯一の言語でなければならない。チーム内のメンバは誰もが、個別の各用語についてあいまいさの残らない形で合意せねばならず、翻訳する必要がないようにしなければならない。 コードはモデルを表現する主要な形態です。要件なり設計の一部分をとらえる過程においては、それ以外の成果物も必要になるかもしれません。しかし、アプリケーションのふるまいと恒常的に同期しているのはコードそれ自体なのです。このようなモデリングの理想郷は、いくぶん脆弱なエコシステムです。前述したような条件が与えられれば実現は可能ですが、むやみに拡大することはできません。概念的統一性を妥協することなく、モデルを拡大することができる最大の範囲が、コンテキスト("context")と呼ばれています。 境界つきコンテキストに踏み込む ドメイン駆動設計において、コンテキストは次のように定義されてい

    InfoQ: コンテキストマッピングによる戦略的ドメイン駆動設計
    xenop
    xenop 2010/06/02
  • InfoQ: HTTPSコネクションの最初の数ミリ秒

    ほとんどの人がHTTPSとSSL (Secure Sockets Layer) を結びつけて考えます。SSLは1990年代半ばにNetscape社が開発した仕組みですが、今ではこの事実はあまり正確でないかもしれません。Netscape社が市場のシェアを失うにしたがって、SSLのメンテナンスはインターネット技術タスクフォース(IETF)へ移管されました。Netscape社から移管されて以降の初めてバージョンはTransport Layer Security (TLS)1.0と名付けられ、1999年1月にリリースされました。TLSが使われだして10年も経っているので、純粋な"SSL"のトラフィックを見ることはほとんどありません。 Client Hello TLSはすべてのトラフィックを異なるタイプの"レコード"で包みます。ブラウザが出す先頭のバイト値は16進数表記で0x16 = 22。 これは

    InfoQ: HTTPSコネクションの最初の数ミリ秒
    xenop
    xenop 2010/02/27
  • 言語としてのアーキテクチャ: ストーリー

    私は、通常のコンサルティング業務の1つにおいて、ある顧客と一緒にいました。顧客は、新しい飛行管理システムを構築したいという結論に達しました。航空会社は、このようなシステムを、飛行機が所定の空港に着陸したかどうかや、遅延状況や、航空機の技術の現状などに関するさまざまな情報を追跡および公開するために使用します。また、飛行管理システムは、インターネットや空港の情報モニターなどにおけるオンライン追跡システムを実装します。このシステムは、いろいろな意味で典型的な分散システムであり、システム全体のさまざまな部分を実行する多数のマシンで構成されています。大量の演算処理の一部を実行する中央のデータセンターがありますが、それに加えて、比較的広い地域にわたって分散されたマシンもあります。 私の顧客は長年このようなシステムを構築してきており、次世代システムの導入を計画しているところでした。新システムは15~20

    言語としてのアーキテクチャ: ストーリー
  • InfoQ: JavaScriptへのマルチスレッド・プログラミングの導入

    function backgroundLoad ( ids ) { for ( var i=0; i < ids.length; i++ ) { var a = getArticleWithCache(ids[i]); backgroundLoad(a.children); } } このbackgroundLoadはIDの配列を引数に取り、その各IDに対して上で定義したgetArticleWithCacheを呼び出します。これでIDに対応する記事のデータがキャッシュされます。そして読み込んだ記事の子記事のIDに対してbackgroundLoadを再帰的に呼び出すことで、ツリー全体をキャッシュすることができます。 ここまですべてうまくいっているように見えます。しかし、一度でもAjax開発を経験したことのある方ならば、これではうまくいかないということはすでにおわかりだと思います。これまでの例で

    InfoQ: JavaScriptへのマルチスレッド・プログラミングの導入
    xenop
    xenop 2008/05/18
  • 1