Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

2018年4月8日のブックマーク (5件)

  • ロバストネス原則とマイクロサービス(2) - Qiita

    ロバストネス原則をマイクロサービスの側面からもう少し丁寧に掘り下げてみます。マイクロサービスの最も一般的な統合方法である、Web APIでの統合を考えます。つまり、Consumerが(通常HTTPの)リクエストを送り、Providerがレスポンスを返すパターンです。リクエスト・レスポンス系では、丁寧に書くと以下のように整理されます。 このうち、前回の記事では、4のConsumerの受信のところのみ言及しました。他の部分はどうでしょうか。 前回特に言及しませんでしたが、ロバストネス原則のもう片方、「送信するものは保守的に(仕様に正しく則って)」というものは、これは当然守られるべきです。上の中では、Consumerのリクエストの送信、Providerのレスポンスの送信は、APIの仕様に則って正しく送信されるべきです。特に、Providerの送信について、APIのレスポンスの型を定めそれをPro

    ロバストネス原則とマイクロサービス(2) - Qiita
    a2ikm
    a2ikm 2018/04/08
  • Protocol Buffers v3でフィールドのrequiredという仕様が削除された話 - Qiita

    Microservices Advent Calendar 2017 3日目の記事です。 今日は、2日目の記事で書いたロバストネス原則/Tolerant Readerに関連する話で、Protocol Buffersにあったフィールドのrequiredという仕様と、なぜそれが削除されたかについて書きます。 Protocol Buffersとは Protocol Buffersはメッセージフォーマットの1つです。JSONと大きく違うのは、バイナリ形式であることと、型定義があることの2点です。 Protocol Buffersの理解には、 @tayama0324 さんの歌舞伎座tech#12での資料 がおすすめです。(実はこの資料の中に、稿で書いてある話も大体載っていました) 今回はマイクロサービスの話なので、Provider/Consumerで型定義ファイルを共有し、Providerがシリア

    Protocol Buffers v3でフィールドのrequiredという仕様が削除された話 - Qiita
  • コピペから脱却して自由に Deep Learning するための TensorFlow 再入門 - Qiita

    はじめに TensorFlow はなかなかとっつきにくい部分があるかと思います。書き方が独特なので、慣れるまでに時間がかかるかと思います。公式の MNIST は一通りやったけど、自分で考えたディープニューラルネットワーク (DNN) をどう書いたらいいかわからない……なんてこともあるのではないでしょうか。 この記事では、シンプルな問題を題材にして、 TensorFlow をコピペに頼らず、自分の書きたい DNN を 低レベル API を使ってどのように書くかを最小構成で説明していきます(今さら感はありますが。。)。ベースは公式ドキュメントの Low Level APIs のあたり です。 内容としては: TensorFlow の最小構成要素 TensorFlow で線形関数のフィッティング TensorFlow で DNN を実装 のようになっています。また、以下のような方を対象としており

    コピペから脱却して自由に Deep Learning するための TensorFlow 再入門 - Qiita
  • 同じメソッドの上書きを狙ってaliasとprependを併用すると無限ループに陥る可能性がある - r7kamura - Medium

    タイトルの通りなので、Rails 5 への移行時には特に気を付けましょう。 変更は独立させて小さく適用していきたい自分はフリーランスとして働いており、Rails のバージョンアップや設計改善の仕事を探してよく請けているのですが、その中でも最近は Rails 4 から 5 へのバージョンアップの仕事を担当する機会が多くあります。 Rails のバージョンアップ時の作戦として、まずはアプリケーション側のコードを現在のバージョンでも次の移行先のバージョンでも動くような実装に変更し、問題がないことを確認し、その上で次のバージョンに移行するという作戦を取ることがよくあります。実際には前者の変更を更に細かく分け、少しずつ番環境に適用していくことが多いです。1つ1つの変更を小さく分割することで、確認を行いやすくし、問題発生時のリスクを最小限に抑えるためです。 alias_method_chain は非

    a2ikm
    a2ikm 2018/04/08
    面白い
  • ファイルを open したまま各種システムコールを呼び出すとどうなるか | ゴミ人間.com

    会社にて、インフラ屋さんからアプリケーション屋さんまでわりと多分野の数人が集まって「ふつうの Linux プログラミング」というを輪読しています。各章、それぞれのメンバーが知っていることと知らないことがうまくばらけていて、良い輪読になっています。 また、分野違いの人ならではの視点からの疑問や知識が輪読中に飛び出してきて、なかなか有意義です。業務経験〜10 年くらいの人たちで寄ってたかって読むと良いではないかなと思いますので、ぜひ読んでみてください。 [amazon template=wishlist&asin=4797386479] さて、このの第 10 章の練習問題には「ファイルを open() して、close() する前にそのファイルを rename() すると何が起きるでしょうか。unlink() はどうか、別のファイルを rename() するとどうなるか、実験して調べなさ

    ファイルを open したまま各種システムコールを呼び出すとどうなるか | ゴミ人間.com
    a2ikm
    a2ikm 2018/04/08
    間違ってファイルを削除してもプロセスに握られてれば復旧できるのもこの遅延のおかげ。