タグ

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

  • マイクロサービス設計原則: SOLIDではなくIDEALS

    キーポイント For object-oriented design we follow the SOLID principles. For microservice design we propose developers follow the “IDEALS”: interface segregation, deployability (is on you), event-driven, availability over consistency, loose-coupling, and single responsibility. Interface segregation tells us that different types of clients (e.g., mobile apps, web apps, CLI programs) should be able to inte

    マイクロサービス設計原則: SOLIDではなくIDEALS
  • サーバレスにおけるセキュリティ - 一体何を守るのか?

    分類法が確立できたところで、さっそく題に入りましょう。 サーバレスはいかにセキュリティを向上させるか? まずは肯定的な面から — サーバレスによって、セキュリティはどれほど向上するのでしょう? OSパッチの管理が不要 サーバレスというのは、非常に議論の多い名称です。コードはどこかで実行しなければならないのですから、実行するためにサーバが必要なのは明らかです。より正確に言うならば(あまりキャッチではないにせよ)、サーバマネージメントレスというべきです。FaaSを使用する場合は、基盤となるプラットフォームがサーバのプロビジョンや管理、監視などの作業を、あなたの代わりに行ってくれます。 サーバの提供と合わせて、FaaSはサーバの“パッチ当て” — オペレーティングシステムやその依存関係が新たに公開された脆弱性に影響される場合に、安全なバージョンにアップデートする作業の責任も負ってくれます。既知

    サーバレスにおけるセキュリティ - 一体何を守るのか?
  • Google:マネージャはやはり重要な存在である

    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が最近リリースされ、重要な変...

    Google:マネージャはやはり重要な存在である
    Makots
    Makots 2017/02/22
    良きマネージャはなんとなく大学の指導教員みないなイメージ。研究分野をリードし、チームを束ね、良き教育者でもある。
  • GoogleがMesaを公開 - 地理的レプリケーションと準リアルタイム性を備えた,スケーラブルなデータウェアハウス

    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が最近リリースされ、重要な変...

    GoogleがMesaを公開 - 地理的レプリケーションと準リアルタイム性を備えた,スケーラブルなデータウェアハウス
  • PaaSに何が起きているのか?

    巨額の投資や長期の開発にもかかわらず,PaaSはいまだ多くのユーザを引き付けることに成功していない。この記事ではPaaSの現状とその将来について,何人かのアナリストによる意見を要約して紹介する。 PaaSは長い間,アプリケーション-サービス-ソフトウェア層とクラウドインフラストラクチャを結び付けるために必要な “接合剤” だと考えられてきた。Paul Miller氏は "Is PaaS dying?" と題した記事の中で次のように書いている。 プラットフォームの役割とは,明解で説得力があり,かつパワフルであることです。汎用のハードウェア上で動作するさまざまな安い仮想マシンよりも,重要で関心の高い,基的なパーツであるべきです。プラットフォームこそがクラウドを支える原動力であり,クラウドが世界中のビジネスやビジネスモデルを変革し続けられる理由なのです。 しかしMiller氏は,"このような期

    PaaSに何が起きているのか?
  • Javaのパフォーマンスについての9つの誤信

    JVMはプロファイリングを利用してコードの最適化を行います。対象は頻繁に利用されるコードパスのみですが,徹底的に行うことで大きな効果を上げています。JITコンパイルされたコードに関しては,現在では多くの場面において (その割合も増えつつあります) C++の実行速度を凌駕しています。 このような事実にも関わらずJavaが今でも低速なプラットフォームとして認識されているのは,おそらくは初期バージョンのJavaプラットフォームでの経験が,歴史的な負のバイアスとして働いているためでしょう。 早まった結論を出す前に,客観的な見地に立って,最新のパフォーマンス結果を評価するようにお勧めします。 2. Java コードの1行にはそれ自体で意味がある 次の短いコード行を考えてみてください: MyObject obj = new MyObject(); Java開発者ならば誰でも分かるように,このコードはオ

    Javaのパフォーマンスについての9つの誤信
    Makots
    Makots 2013/10/31
    ジャヴァ
  • スケーリング Dropbox

    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が最近リリースされ、重要な変...

    スケーリング Dropbox
  • REST の欠点は何か

    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が最近リリースされ、重要な変...

    REST の欠点は何か
    Makots
    Makots 2013/06/06
  • スケーリングに関する段階的考察

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    スケーリングに関する段階的考察
  • 開発マネージャの役割

    以前,開発マネージャの募集広告で,思わず首を傾げたくなるようなものを見たことがあります。そのひとつでは,たくさんのプログラム言語と開発環境について十分な知識を持っていることを条件にしていました。別の案件では,そのポジションの66%(なぜ2/3ではないのでしょう?)の作業はプログラミング,とありました。他にもPMO認定所有者を求めるものなど,そんな調子で延々と続いているのです。開発マネージャという役割が,ある意味で漠然としたものであることは事実でしょう。しかしこのような求人情報を見ると,募集を出している企業が開発マネージャの役割について当に考えていないのではないか,という印象を受けてしまいます。雇用する企業にとっても,このような条件で雇用される側にとっても,これは不幸の元でしかありません。 開発マネージャであるあなたは,たくさんの責任を背負っていますが,もっとも重要なのは製品を出荷すること

    開発マネージャの役割
  • Apache Isis: ドメイン駆動設計のためのJavaフレームワーク

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    Apache Isis: ドメイン駆動設計のためのJavaフレームワーク
  • NoSQLの現状

    このため、NoSQLの知識を持つ開発者やアーキテクトに対する需要が高まってきています。最近の調査によると、最近必要とされる開発スキルは次の通りです。 HTML5 MongoDB iOS Android Mobileアプリ Puppet Hadoop jQuery PaaS ソーシャルメディア 技術的要求のトップ10の中で、NoSQLデータベースは2つあります。1つは、iOSよりも上です。これがNoSQLをほめているのでなかったら、何なのでしょう?! しかし、一見したところ、NoSQLはますます速く深いところまで適用されるようになっています。2011年の夏に、有名な報告書の中でOracleは次のように述べました。NoSQL DBがアイスクリームの味のように感じるかもしれないけれど、あまり深入りしない方がいい、NoSQLはそれほど長く残らないかもしれないから。そのわずか2、3ヶ月後、Oracl

    NoSQLの現状
  • Ruby から Java へのシフトで大統領選を乗り切った Twitter

    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が最近リリースされ、重要な変...

    Ruby から Java へのシフトで大統領選を乗り切った Twitter
  • vert.x – Node.jsの代替フレームワーク

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    vert.x – Node.jsの代替フレームワーク
  • 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コネクションの最初の数ミリ秒
  • プロはどんなソフトウェアを使っているのか?

    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が最近リリースされ、重要な変...

    プロはどんなソフトウェアを使っているのか?
  • InfoQ: Apache Mahout: 拡張性の高い機械学習アルゴリズム

    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が最近リリースされ、重要な変...

    InfoQ: Apache Mahout: 拡張性の高い機械学習アルゴリズム
  • 分散アーキテクチャにおいて一貫性と交換でスケーラビリティを手に入れる

    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が最近リリースされ、重要な変...

    分散アーキテクチャにおいて一貫性と交換でスケーラビリティを手に入れる
  • 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へのマルチスレッド・プログラミングの導入
  • RDBMSでは不十分

    リレーショナルデータベースはクライアント/サーバモデルに適合するものの、サービスの世界では新しいソリューションが必要である(source)。RDBMSはスケーラビリティの問題に陥りやすい。冗長性や並列性をどのようにして実現すればいいのか(source)? (リレーショナルデータベースは)単一故障点となります。特に複製はささいな事ではありません。疑問に思うのであれば、全く同じデータを必要とする2つのデータベースサーバがあることによって起こる問題を考えて見てください。データを読んだり書いたりするために両方のサーバがあると、同時に変更するのが困難になります。マスターサーバとスレーブサーバがあっても、良くありません。なぜなら、マスターはユーザが情報を書き込む際、沢山の熱を帯びるからです。 また、Assaf Arkin氏も整合性を書くこと(source)はRDBMSが自身の重さで内破してしまう理由で

    RDBMSでは不十分
  • 1