タグ

ブックマーク / hakobe932.hatenablog.com (6)

  • grpc-gateway と使われてるProtocolBuffer周辺技術メモ - はこべにっき ♨

    grpc-gatewayはHTTP2+ProtocolBuffer をプロトコルに用いるgRPCのサービスを、HTTP/1.1のRESTfulな JSON APIとして利用できるようにするリバースプロキシを生成してくれるツールだ。 厳密にはProtocolBuffersを処理するコマンドであるprotocのプラグインとして動作し、protocに読み込んだgRPCのサービス定義をもとにGoで記述されたコードを生成する。生成されたコードはHTTPサーバのハンドラになっていて、net/httpに登録して使えるようになっている。 ハンドラはHTTP/1.1でリクエストを受け取ると、リクエストに含まれるJSONを対応するProtocolBufferのメッセージに変換し、プロキシ先のgRPCサービスのメソッドを呼び出す。このgRPCサービスは、元にしたスキーマが同じであればGo以外の言語で実装されてい

    grpc-gateway と使われてるProtocolBuffer周辺技術メモ - はこべにっき ♨
  • Coro で Executor/CompletionService - はこべにっき ♨

    Java並行処理プログラミング ―その「基盤」と「最新API」を究める― をぱらぱらめくっていて出てきた、以下二つをCoroで実装してみた。 並行処理タスクの実行方法を抽象化した Executor タスクの生成とその消費を分離する CompletionService 実装とか例とかぺたぺた貼ってたらすごい長くなっちった。 gistにもあります > http://gist.github.com/191924 。 まとめ (長いので先に結論) ExecutorやCompletionServiceのようなパターンにそってプログラムをかくと、すっきりと並行処理プログラムを構成できて良い感じ。Coroでも簡単に実装できる。 これまでやられたことに名前を付けただけという話もあるけど、名前をつけて区別して理解しておくと、コード読むときの思考が整理されて良いとおもう。 Executor Executorと

    Coro で Executor/CompletionService - はこべにっき ♨
    f99aq
    f99aq 2009/11/08
  • CoroはCoroutineのCoro - PerlでFiber - はこべにっき#

    Ruby勉強会@関西でFiberについて勉強してきた - はこべブログ ♨でPerlでもGeneratorをうまく書けるモジュールがないかなーとこぼしていたところ. perlではCoroでほぼ同じ事ができるが、どちらにしろCoroを使う利点は1個1個をresumeすることじゃなくて 非同期に実装することだと思うのでgenerator云々はちょっと用途が違う気もするです http://b.hatena.ne.jp/lestrrat/20090202#bookmark-11922880 というブコメをいただきました.id:lestrratさんありがとうございます. Coroについて調べてみたところ,Coro::Introによると The natural application for these is to include a scheduler, resulting in cooperati

    CoroはCoroutineのCoro - PerlでFiber - はこべにっき#
  • CPANパッケージをつくった時のメモ - はこべにっき ♨

    WebService::Hatena::Diary 0.01リリース/わーい,CPAN Authorになったよー - はこべブログ ♨ でCPANパッケージをつくった時のメモをおもむろに公開.なんか変なとこあったらおしえてくださいな みたいな. 書いてから気づいたのですが,Makefile.PLを書こう - soffritto::journalに書かれている,まず,Makefile.PLから書くやりかたの方が,より良さそうすね.Makefile.PLが開発プロセスをコントロールしていて,迷わずに開発がすすめられそうです. ともあれ,以下メモ. 基的に上から下の順番に実行していく. pmsetup でひな形をつくる パッケージのひな形を作成するためのpmsetupというプログラムを実行する.もともとは,miyagawaさんの作ったスクリプトで,自分用にカスタマイズして使う.(CodeRep

    CPANパッケージをつくった時のメモ - はこべにっき ♨
  • タブをgrepするFirefoxアドオン - TabGrep - はこべにっき ♨

    限りなく需要がニッチそうだけど、Firefoxのタブをgrepするアドオンを作成してみました。Firefoxアドオンとか作るのが初めてなので練習もかねて。 うちは、今見ているページが少しでも後から必要そうならタブに残しておいて、しかも、あんまり消さずにずっと残しておく癖があります。なので、油断していると、以下のようなタブの状況になりがち。 Tab Mix Plusの多段タブ機能がなかったら死んでる。 こうなってしまうと何が困るかというと、それまでに開いたタブがかなり見つけにくくなってしまうことです。どこに開いたか忘れてしまって、同じページを表示しているタブがいくつもあるとかいうことにもなりがち。 そこで、大量のタブの中から自分の欲しいタブだけを見つけるために作ってみたのが、TabGrepです。 TabGrepをインストールするとFirefoxのツールメニューに"Grep tabs"というメ

    タブをgrepするFirefoxアドオン - TabGrep - はこべにっき ♨
  • SVN::Webいいねコレ - はこべにっき ♨

    SVN::Webいいよ、コレ。いや、超有名なのかもだけど。知らんかったので。 "Subversion repository web frontend"ということで、私のように、tracを単にWebリポジトリビュアーとしてか使ってない人には手軽でおすすめ。SVN::Web自体のリポジトリがSVN::Webでみれます。 シンプルゆえに設定もわかりやすくて、コマンドラインでsvnweb-installしたあとで、config.yamlに repos: myrepos: '/path/to/my/repos' yourrepos: '/path/to/your/repos'とか書くとすぐ使える。リポジトリを全部同じディレクトリに入れてる人は、 reposparent: '/path/to/repos/parent'とやると、/path/to/repos/parent以下のリポジトリを全部見てくれて

    SVN::Webいいねコレ - はこべにっき ♨
  • 1