並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 81件

新着順 人気順

ProtocolBufferの検索結果1 - 40 件 / 81件

  • 分散システム処理モデルに関する動向について(MapReduceからBorgまで)

    詳細については後述しますが、MapReduceの処理モデルは、上記の通り各区分ごとにそれぞれ単純化(限定)されたモデルであったと言えます。 また、MapReduceの関数プログラミングおよびグラフ的な特徴も合わせて以下に整理してみます。 関数プログラミング的な特徴 MapおよびReduceフェーズは、それぞれ関数型プログラミングのMapおよびReduce処理をモデル化したものです。MapReduceは、参照透過性がある純粋な関数処理と言えます。参照透過性とは入力により出力が一意に決まる性質のことです。言い換えればMapReduceの処理は、大域などの処理に影響する外部の環境は持たず、内部的にも静的な一時変数などの状態も持たないことを意味します。 純粋な関数処理は複数の処理が同時に実行されても他の並列に動作している処理の状態には左右されないため、この参照透過性は並列化に向いている性質がありま

      分散システム処理モデルに関する動向について(MapReduceからBorgまで)
    • はてなブログのAMP対応で学ぶウェブサービスのAMP対応 - hitode909の日記

      プレゼンモード 再生 ← / →で移動 fでフルスクリーン escでおわる こんにちは,id:hitode909です.このあと14時から品川のマイクロソフト様のオフィスでおこなわれている,YAP(PはパチモンのP)Cで発表します. この記事では,発表資料を公開いたします.現地の方は今すぐCルームに来てください.そうでないかたは懇親会でお会いしましょう. はてなブログのトピックもあるようです. トピック「YAPC」 #yapc8ojic のツイート はてなブログのAMP対応で学ぶウェブサービスのAMP対応 2016/07/03 YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa hitode909 自己紹介 id:hitode909 @hitode909 京都から来ました はてなではてなブログを作っている 自己紹介 YAPC 2015でベスト

        はてなブログのAMP対応で学ぶウェブサービスのAMP対応 - hitode909の日記
      • 「Vue.js + Go言語 + PAY.JP 」でクレジットカード決済できるWEBアプリケーション実装ハンズオン - Qiita

        そろそろカード決済の実装経験しとくかと思い、PAY.JPを眺めたらかなりドキュメントが充実してたので使いやすかった。今後、カード決済するサービスを作るのを見越して決済サービスをgRPCでマイクロサービス化してみた。そのまま Vue.js と Go言語を使い、カード決済できるWEBサービスのサンプルを試しに作ってみた。その実装を簡略化してハンズオン形式で紹介します。 全コードは GitHub にあげてます。 (こちらの画像は僕がVue.js+Goで作ったサービスで運用されています。https://ghlinkcard.com/) 得られるもの Vue.js + Go言語で簡易的なSPAをつくる経験 gRPC で簡単なマイクロサービスをつくる経験 PAY.JP を使ったカード決済の流れの理解 今回使う技術スタック フロントエンドは Vue.js。サーバーサイドは Go言語で実装します。それ以外

          「Vue.js + Go言語 + PAY.JP 」でクレジットカード決済できるWEBアプリケーション実装ハンズオン - Qiita
        • 【ハウツー】XMLはもう不要!? Google製シリアライズツール「Protocol Buffer」 (1) 構造化データをバイト列に変換するための新技術 | エンタープライズ | マイコミジャーナル

          Protocol Bufferとは Protocol BufferはもともとGoogle社内で利用されていた技術/ツールだ。今月7日にApache Software License 2.0の下、オープンソースソフトウェアとして公開されたばかりで、本稿執筆時点の最新バージョンは2.0のβ版。正式リリースが2008年8月に行われる予定だ。 Protocol Bufferは、一言で言うと、構造化データをバイト列に変換(シリアライズ)するソフトウェアである。プログラム言語中で用いられるデータ構造をファイルに保存する際や、RPC(Remote Procedure Call)でデータをやり取りする際などに用いられる。 同様の目的で用いられる技術としては、XMLやJavaのオブジェクトシリアライズなどが挙げられる。ただし、Protocol Bufferは、そうした類似技術と比較して、以下のような特徴を備

          • ジャバの異常な愛情 またはSpringはいかにしてモダンであることを止めて時代遅れになったのか - Qiita

            Spring以前 RPC 業務で使うシステムはサーバー間で連携することが多い。2019年現在ではREST apiに対してjsonやprotocolbufferで呼び出す事が当たり前のように行われているが、まだjsonも発見されていない時代はもっと複雑な仕組みが取られていた1。異機種間でやりとりするためのCORBAや、機種に依存しないデータプロトコルのASN.1なども利用されていたが、仕様は複雑でそれぞれをハンドリングするライブラリは有償で売られ、ベンダーからサポートを受けながら使用するようなものだった。 RMI Javaの世界ではJava同士でやりとりするためのRMIが定義され、比較的に楽にRPCできるようになった2。とはいえhttpでrestをコールすることに比べたらアホみたいな複雑さである。 https://docs.oracle.com/javase/jp/1.3/guide/rmi

              ジャバの異常な愛情 またはSpringはいかにしてモダンであることを止めて時代遅れになったのか - Qiita
            • WebAssembly の過去・現在・未来 - Qiita

              はじめに WebAssembly (略して Wasm) では WASI や WIT、 Component Model など様々な仕様があります。 それぞれが登場した背景、モチベーションなどを理解することでなんとなく概要を掴んでいくことができるのではないかと考えたため、過去・現在・未来と時間軸で整理してみました。 まず Wasm とその特徴に関して簡単に紹介した後、Wasm の過去として生まれた背景やモチベーションを紹介します。 そして現在の Wasm がなぜ注目を集めているのか、そして現在策定中の仕様と目指している未来について紹介します。 WebAssembly とはなにか WebAssembly はスタックベースの仮想マシン用バイナリ命令フォーマットの仕様です。Wasm と略されます。 Wasm ファイル(Wasm モジュール)は一般に .wasm という拡張子で表されるバイナリファイル

                WebAssembly の過去・現在・未来 - Qiita
              • JMeterとJUnitとMavenで独自プロトコルサーバーの負荷テストを自動化するぞ | GREE Engineering

                こんにちは、インフラストラクチャ本部の@nagaseyasuhitoです。このエントリは GREE Advent Calendar 2014 10日目の記事です。昨日はイケメンmoritaさんによる男性エンジニアリングマネージャが長期育休を取った話でした。 エンジニアブログのアカウントは2年くらい前からあるのですが、これが初エントリになります。グリーでは比較的珍しいJavaEEを始めとしたサーバーサイドJavaアプリケーションの開発、SolrやHadoopといったミドルウェアの周辺機能開発や運用などを行っています。どうぞよろしくお願いします。 最近はPvE/PvP/GvGなどユーザー同士がリアルタイムに協調プレイする際、クライアント-サーバー間を常時接続通信で行うゲームが増加しています。このような場合はHTTPのREST APIなど慣れ親しんだプロトコルでは要件を満たしきれないため、Web

                  JMeterとJUnitとMavenで独自プロトコルサーバーの負荷テストを自動化するぞ | GREE Engineering
                • Google App Engine for Javaで参考になるサイトのまとめ - ありの日記

                  先日、友達の会社の勉強会で「初めてのGAE/J開発」というタイトルの発表をさせていただきました。準備不足や時間配分のミスがあったため、後半飛ばしぎみになって申し訳ありませんでした。 GAEの制限ばかりを強調しすぎて逆に使えないような印象をもってしまったかもしれませんが、決してそんなことは無いと思います。(だから、私もいまGAEに注目しているわけですし。)特にBigtableは今までとは違った考え方が必要なので、これまでのRDBのように考えるとうまく行かないのは間違いありせん。(私も何度も悩まされました。いや、今もですが。) しかし、だからといってそれはやり方の問題であって、そのままGAEが使えないという理由にはならないはずです。BigtableにはBigtableのやり方が必ずあるはずです。また、WikipediaやTechCrounchによると、GoogleのたくさんのサービスがBigt

                    Google App Engine for Javaで参考になるサイトのまとめ - ありの日記
                  • A curated list of awesome Go frameworks, libraries and software - Awesome Go

                    Awesome Go We use the Golang Bridge community Slack for instant communication, follow the form here to join. Sponsorships: Special thanks to Awesome Go has no monthly fee, but we have employees who work hard to keep it running. With money raised, we can repay the effort of each person involved! You can see how we calculate our billing and distribution as it is open to the entire community. Want to

                      A curated list of awesome Go frameworks, libraries and software - Awesome Go
                    • GoとDockerでLet's try gRPC - LiBz Tech Blog

                      はじめに gRPCとは gRPCの特徴 gRPCが解決するマイクロサービスの課題 gRPCの課題 Let's try gRPC 1. 準備 2. protoファイルの作成 3. server側の処理 4. client側(リクエスト)の処理 5. buildして実行 最後に はじめに こんにちは!エンジニアの渡邊です。早いもので、11月でLiBに入社して丸1年がたちました。 このブログへの投稿も4回目になります。 前回の とってもRailsライクなサーバーレスフレームワーク「Ruby on Jets」を本番環境に導入した話 では、jetsの開発者であるtongueroo氏や、Rubyの生みの親まつもとゆきひろ氏をはじめ、多くの方にシェアをしていただき大変励みになりました!みなさんありがとうございました。 今回はGoogleが開発したRPCフレームワークgRPCについて書こうと思います。 g

                        GoとDockerでLet's try gRPC - LiBz Tech Blog
                      • CROSS 2013レポート(2) - mad-pの日記

                        CROSS 2013レポートパート2です。次世代Webセッションのメモ。 CROSS 2013 間違いや発言意図と違う表現だ、などということがあると思います。ご指摘いただければ幸いです。 次世代Webセッション前半〜プロトコル編 http://www.cross-party.com/programs/?p=138 http://www.ustream.tv/recorded/28598269 司会 Jackさん(@Jxck_) 以下J 大津さん(@jovi0608) SPDY関連 以下jovi 小松さん(@komasshu) Websockets 以下koma 清水さん(@kazubu) HTTP/2.0 以下kazubu HTTP2 2012/11最初のドラフト。絶賛議論中 どんなところが問題? kazubu: 前回のIETFの続きのトピック。crimeアタックに関して圧縮回り見直しとか

                          CROSS 2013レポート(2) - mad-pの日記
                        • 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周辺技術メモ - はこべにっき ♨
                          • Big Sky :: githubが使っているBERT-RPCを理解した。

                            githubが高速化に成功した様です。 How We Made GitHub Fast - GitHub Now that things have settled down from the move to Rackspace, I wanted to take some time to go over the architectural changes that we’ve made in order to bring you a speedier, more scalable GitHub. ... For our data serialization and RPC protocol we are using BERT and BERT-RPC. http://github.com/blog/530-how-we-made-github-fast データのシリアライズおよびRPC(リ

                              Big Sky :: githubが使っているBERT-RPCを理解した。
                            • PythonでLambda Functionを書く時にデコレータでイベントソース毎の共通処理をすると便利という話

                              この記事はServerless2 Advent Calendar 2018の21日目の記事です。 qiita.com 先日 AWS Lambda Custom Runtimes芸人 Advent Calendar 2018 の方はちょっとはっちゃけすぎた感もありつつ実戦にすぐに役に立つような内容ではなかったですが、今回はマジメにより実戦的な内容で行きたいと思いますw marcy.hatenablog.com はじめに 私は普段は主にPythonでLambda Functionを書いているのですが、イベントの処理方法を予め決めてデコレータで共通処理を行うようにしています。それによってServerlessな開発でよく話題になるトレーサビリティの問題やエラーハンドリングの煩雑さなどをある程度上手く解決できているので紹介したいと思います。 なお、出てくるコードは実際に使用しているものに近いですが、

                                PythonでLambda Functionを書く時にデコレータでイベントソース毎の共通処理をすると便利という話
                              • PerlでもgRPCで通信したい - アリ

                                まずはじめに、2021/2時点でgRPCがサポートされている言語にはPerlは含まれていなく、公式にはサポートされていません。 現時点でと言ったものの将来的にもサポートされることがないだろうことからPerlでgRPCを扱うのは茨の道といえるでしょう。 おとなしくgRPC transcodingしてHTTP REST APIで叩きましょう、というのがほぼ答えなのですがCPANに公開されているライブラリを使ってどこまでできるのかを検証するのがこの記事の目的です。 題材 gRPCで通信といっても、サーバとクライアントのどちらをPerlで実装するかという話になりますが、今回実装するのはクライアントです。 他の言語で書かれたマイクロサービスからPerlと通信することを想定して、手軽な例としてGAPIC Showcaseのサーバと通信することにしてみます。 github.com google.show

                                  PerlでもgRPCで通信したい - アリ
                                • 「プロトコルバッファー」がオープンソース化 - moratorium

                                  「プロトコルバッファー」がオープンソース化 2008-07-08 (Tue) 7:19 Google OSS Googleで使用されているRPC/シリアライズフレームワーク「ProtocolBuffer」がオープンソース化されたらしい via @ohkuraさん ProtocolBuffers, our serialized structured data, released as Open Source プロトコルバッファー チュートリアル おーおーお、GoogleTestといい何かオープンソース化ラッシュですね。FacebookのThriftと比較してC++, Java, Pythonしかバインディングが無いので、PHPとかPerlとか使ってる場合はまだ移行できなさそう。 この2つは週末に時間とってじっくり調べてみようー。 追記: RPCの部分は無くて、シリアライズのところしかなかっ

                                  • 【Unity】Protocol Buffers と JSON のパフォーマンス速度を比較した話 - KAYAC engineers' blog

                                    はじめに はめまして、カヤックのゲーム技研の Unity エンジニアのアフィフです。 カヤックで運用しているゲームタイトルでは、主に JSON フォーマットでデータを管理していましたが、最近ではゲームのデータ量がどんどん増えていく傾向にあり、データの読み込みがボトルネックになりつつあります。 JSON のデシリアライズは結構遅いので、もっと良いデータフォーマットがないかと探したところ、Protocol Buffers というデータフォーマットを見つけました。 今回は、プロジェクトに導入する前にパーフォマンスを検証した結果について書きます。 Protocol Buffersとは Protocol Buffers は Google により開発されているバイナリベースのデータフォーマットです。JSON 形式はテキストベースのデータフォーマットなので、オーバヘッドがあります。 例えば、この JSO

                                      【Unity】Protocol Buffers と JSON のパフォーマンス速度を比較した話 - KAYAC engineers' blog
                                    • 帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入|Dentsu Digital Tech Blog

                                      帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入 電通デジタルでバックエンド開発をしている齋藤です。 今回は Protocol Buffers v3.12 のリリースで追加された Field presence 機能について調べたことをご紹介します。 前提:v3.12 以前の Protocol Buffers v3 における optional な値の扱いProtocol Buffers v3 (proto3) では v2 (proto2) にはあった optional ながなくなり、optional を扱うにはひと工夫必要でした。加えて、Message の Filed に値を入れなかった場合は、Fieldの型のディフォルト値が送られてきたとみなす仕様になっています(各型のディフォルト値はこちら)。 そのため、開発者は

                                        帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入|Dentsu Digital Tech Blog
                                      • Fluentdのプラグインを作ってBigQueryにログを挿入するコストを1/3にした話 - pixiv inside

                                        こんにちは。 機械学習チームにてレコメンドの改善を行っているgumigumi4fです。 この記事では、Fluentdにて収集したログをBigQueryに挿入する際に使用しているプラグインを置き換えることによって、高スループットかつ低コストを実現した話について紹介します。 背景 pixivではアクセスログやアプリケーションログ等をBigQueryに収集し、分析できるような仕組みを構築しています。 BigQueryへアクセスログを挿入する際はFluentdとそのプラグインであるfluent-plugin-bigqueryを用いて直接BigQueryへ書き込むようになっていたのですが、その際にログ欠損が起こることが問題となっていました。 ログの欠損はピークタイムで発生しており、そのピークタイムのログの流量は概ね毎秒30000logとかなり多く、実際Fluentdのworkerプロセスが1work

                                          Fluentdのプラグインを作ってBigQueryにログを挿入するコストを1/3にした話 - pixiv inside
                                        • 『次世代Webカンファレンス』に行ってきたよメモ - コード日進月歩

                                          次世代 Web カンファレンス 2019に行ってきました。 各発表の感想 全部パネルディスカッションなので自分が見てきたセッションのメモでお送りします。あとで録画が出るのでちゃんと見たいかたはそちらを御覧ください。また登壇者はconnpassなどをご参照のこと。 SRE www.youtube.com twitter.com トークまとめ お三方個別に意見を喋られてましたが、まとめたダイジェスト風になります。 行う業務の比率に関して リアクティブとプロアクティブという形でタスクを分ける手法をとっていて、それらが50%ずつになる運用をしている リアクティブとは差し込みやアラート対応などの業務 プロアクティブとはモニタリングの改善などもともと計画的にやろうとしてた業務 SRE本のトイル(toil)とリアクティブは同じ意味だが、言葉が強すぎる ロードマップを敷いて、それ以外の差し込みタスクという

                                            『次世代Webカンファレンス』に行ってきたよメモ - コード日進月歩
                                          • 【ハウツー】XMLはもう不要!? Google製シリアライズツール「Protocol Buffer」 | エンタープライズ | マイコミジャーナル

                                            Copyright (C) Mainichi Communications Inc. All rights reserved. 掲載記事の無断転載を禁じます

                                            • vectiles mix-in: GeoJSON タイルによるパブリックデータのミックスイン - 世界の測量

                                              この記事は FOSS4G Advent Calendar 2013 : ATND の2013年12月13日(金)の記事です。 コモディティ化しつつあるベクトルタイルについて、考察と実験の結果を共有します。 ベクトルタイルということ。 Geo+Web界隈で、これまで技術力の高いウェブ地図サービスで個別に実装されてきたベクトルタイルがコモディティ化しそうになってきたのは今年も半ばに入ってからであった。 Vector Tiles Preview: Designing the World with TileMill2 | Mapbox 等が、その流れを宣言するものであった。その後、TileMill2 においては、その内部で地図デザインをストレスなく利用するための手段として、ProtocolBuffer ベースのベクトルタイルが使われるという状態になっている。ウェブブラウザにおけるベクトルタイルの利

                                                vectiles mix-in: GeoJSON タイルによるパブリックデータのミックスイン - 世界の測量
                                              • Kafka入門 第1回 「そもそもKafkaとはなにか」 - joker1007’s diary

                                                これは社内向けに書いた、Kafkaってそもそも何やねん、ということをメンバーに解説するための記事を一部編集して公開できる様にしたものです。 第2回以降では、Kafkaを利用したアプリケーション開発のノウハウについて解説していく予定です。そちらも社内の事情を除いた形で公開していくつもりです。 そもそもKafkaとは Kafkaはイベントストリーミングプラットフォームと呼ばれるミドルウェアです。 元々はストリームバッファと呼ばれてたと思います。 公式のドキュメントには以下の様に書かれています。 Kafka combines three key capabilities so you can implement your use cases for event streaming end-to-end with a single battle-tested solution: To publis

                                                  Kafka入門 第1回 「そもそもKafkaとはなにか」 - joker1007’s diary
                                                • Protocol Buffer、Thrift、Avro、MessagePack for Javaのパフォーマンス測定

                                                  @frsyukiさんの作っているMessagePackのJava版が出ていたので軽くパフォーマンス測定してみました。 http://sourceforge.jp/projects/msgpack/devel/ パフォーマンス測定に使ったプロジェクトは、TPC(Thrift-ProtocolBuffer-Compare)です。TPCはシリアライズ、デシリアライズテクノロジを色々とベンチマークして、かつ最後にGoogleChartでグラフを出してくれる賢いやつです。GJ、TPC。ちなみに今回の測定のやつは、自前でAMF用作ったり、ややカスタマイズしてます。 http://code.google.com/p/thrift-protobuf-compare/ 測定は、イテレーション数を500、1000、2000回でそれぞれ測定しました。測定結果及びまとめは私の主観なので、そこは各自測定して、各々判

                                                    Protocol Buffer、Thrift、Avro、MessagePack for Javaのパフォーマンス測定
                                                  • XMLはもう不要!? Google製シリアライズツール「Protocol Buffer」 (1) 構造化データをバイト列に変換するための新技術 | マイナビニュース

                                                    Protocol Bufferとは Protocol BufferはもともとGoogle社内で利用されていた技術/ツールだ。今月7日にApache Software License 2.0の下、オープンソースソフトウェアとして公開されたばかりで、本稿執筆時点の最新バージョンは2.0のβ版。正式リリースが2008年8月に行われる予定だ。 Protocol Bufferは、一言で言うと、構造化データをバイト列に変換(シリアライズ)するソフトウェアである。プログラム言語中で用いられるデータ構造をファイルに保存する際や、RPC(Remote Procedure Call)でデータをやり取りする際などに用いられる。 同様の目的で用いられる技術としては、XMLやJavaのオブジェクトシリアライズなどが挙げられる。ただし、Protocol Bufferは、そうした類似技術と比較して、以下のような特徴を備

                                                    • 今ほどgRPCが必要とされている時代はない - AltPlus Tech Blog

                                                      こんにちは id:kotamat です。 最近携わっているプロジェクトでgRPCを使った通信を行っているのですが、マイクロサービスを作る上で非常に使い勝手がいいので、使い方含めて紹介しようと思います。 gRPCとは HTTP/2を標準でサポートしたRPCフレームワークで、2015年にGoogleが発表しました。 デフォルトで対応しているProtocolBufferをgRPC用に書いた上で、サポートしている言語に書き出しを行うと、異なる言語のサーバー間でもある程度型堅牢に通信を行うことができます。 GoogleではプロトコルをProtoclBufferで書いているそうです。 このようにサーバーをC++, クライアントをRubyやAndroidJavaといった形で通信できます。 携わっているプロジェクトでは、ScalaからGoのプロジェクトに対してgRPCのリクエストを送り、レスポンスを取得し

                                                        今ほどgRPCが必要とされている時代はない - AltPlus Tech Blog
                                                      • clang-format を イイ感じに設定する - def yasuharu519(self):

                                                        公開が遅れましたが 初心者 C++er Advent Calendar 2015 の 12日目の記事です。 C++ の良い点として、 clang-format のようなフォーマッタがある点だと思っています。 golang でも gofmt というフォーマッタがありますが、あんなかんじのやつです。 clang-format を使うことで、C/C++/Objective-C/Java/JavaScript/ProtocolBuffer などのコードフォーマッティングができます。 また、フォーマットの設定ををいろいろ変更でき、チームで設定を共有することで、 統一されたコードスタイルを実現することが可能です。 id:rhysd さんの vim-clang-format をvimに導入することで vimからも使えます。 github.com ClangFormatスタイルオプション - Algo13

                                                          clang-format を イイ感じに設定する - def yasuharu519(self):
                                                        • gRPCを使った簡易的なマイクロサービスを作ってみた - Qiita

                                                          gRPCとは 2015/2 にGoogleが公開したGoogle内でも使用されているRPCフレームワークであり、下記の恩恵をうけることができます Protocol BufferのIDLを書くことによって、通信形式の型が保証された通信を行うことができる gRPCをサポートしている言語であれば、異なる言語間でも通信が可能(C++, Java, Go, Python, Ruby, Node.js, Android Java, C#, Objective-C, PHP) HTTP/2で通信を行うためストリームの多重化、フロー制御等ができる 弱点としては、 実装難度が高い点、 protocが動く環境に制限されるためフロントエンドのjsでは動かない というものがあるため、 サーバーサイドのマイクロサービス間の通信 長期運用や規模の大きいサービスで通信の保証をする必要がある ものに適している通信方式と思

                                                            gRPCを使った簡易的なマイクロサービスを作ってみた - Qiita
                                                          • Tony Tam氏に聞く- Open API InitiativeとSwaggerの最新情報

                                                            11月の初め,Linux Foundationが発表したOAI(Open API Initiative)にあげられた華やかな創設メンバ一覧を見たAPI開発者たちは,標準に関するコンセンサスを推進するというOAIの役割に疑問を持たざるを得なかった。 Swaggerプロジェクトの創設者であるTony Tam氏は,11月末にテキサス州オースチンで開催されたAPI Strategy and Practice Conferenceで,このような疑問の中のいくつかを取り上げた。読者も関心を持つであろうこれらの疑問について,より詳しい回答を得るべく,InfoQはカンファレンスに氏を訪ねた。 InfoQ: SmartBearにおけるあなたの新たな役割と,参加を決めた理由について教えて頂けますか? Tony Tam: 私がSmartBearに加わったのは,Swaggerの開発をフルタイムで行なうことのできる

                                                              Tony Tam氏に聞く- Open API InitiativeとSwaggerの最新情報
                                                            • Google謹製、Protocol BufferのRPCについてのサンプル。 - IT-Walker on hatena

                                                              書きたい事を溜め込んでいたので、今日は長文エントリをもう一発です。 こないだ、GoogleのProtocol Bufferについて、マイコミジャーナルで記事を書きました。 で、その記事中でProtocol BufferのRPCサポートについて言及しているのですが、その際作ったサンプルがあまりに冗長な実装なので、さすがに掲載は控えておきました。Javaによるソケットプログラミングを直接行っており、説明には不適だったもので・・・ でもせっかく作ったサンプルなので、一応貼付けておきます。このサンプルを動かすには、以下の順序で作業してください。 Person2.protoを作業フォルダに保存 mkdir java 「protoc --java_out java Person2.proto」で、Javaソースコード生成 作成したjavaディレクトリに、下のコード(HelloRpcServer.jav

                                                              • 2021 年振り返り - yoheimuta’s blog

                                                                今年も一年の振り返りを簡単にまとめました。 私生活 体調管理 1 日も風邪をひくことなく元気に過ごせました 仮にコロナにかかると、子どもが濃厚接触者になります。その間仕事は休まないといけなくなるので、市中感染が多いときは積極的に在宅するようにしてました。 お手伝い 12/31 にコミックマーケット99(通称、冬コミ)の手伝いに行きました。二年ぶりでオペレーションを忘れているかと緊張しながらスペース設営に望みましたが、だんだんと勘を取り戻せて無事一年を締めくくれました。入場者数に制限がかかっていたため、常に怒号が鳴り響くこともなく、また、間違って人流に逆らった瞬間命の危険を感じることもなく、例年に比べると随分と落ち着いたイベントでした。 サークル入場開始直後の東ホール NFTs and a Thousand True Fans[1] で引用されている a Thousand True Fans

                                                                  2021 年振り返り - yoheimuta’s blog
                                                                • Cloud Run の Always on CPU で Cloud Pub/Sub から Pull する worker を試してみた

                                                                  TL; DRCloud Run の Always on CPU を使うと、Cloud Pub/Sub から Pull する Worker を Cloud Run で実行出来ます。ただし、スケーリング等にいくつか諸注意があります。 はじめにCloud Run の Always on CPU が Preview でリリースされて、バックグラウンド タスクや非同期処理で使えると Twitter で宣伝したところ、私の tweet 史上、一番の反響を頂きました。ありがとうございます。また同僚の Shingo-san が素敵な解説記事を書いてくれたり、同じく同僚の Pottava-san も素敵なサンプルコードを書いてくれてたり。「tweet してるだけでいいのかい?本当に?」という私のエンジニアとしての良心の呵責があったため、私もこうして記事を書いています。 試したこと以前、お客様から Cloud

                                                                    Cloud Run の Always on CPU で Cloud Pub/Sub から Pull する worker を試してみた
                                                                  • GAE/Goのdatastoreの挙動について - Qiita

                                                                    GAE/J+Slim3の語彙・知識を元にここに解説を書く。 GAE/Goの知識とGo言語の知識が混ぜこぜで書かれているかあまり気にしてはいけない。 以下の調査結果を得るためのテストコードはここに置いた。 EntityにKeyは付属してこない structを定義する時に、そのstructに自分自身のKeyを持たせる方法はない。 EntityにIdまたはNameを自分で定義して、Putする時、Getした後にそこに忘れずにId, Nameを取り出したり移し替えたりして頑張る。 これを自動でやってくれるライブラリがgoonである。 IncompleteKeyはPutした後でも値は変わらない key := datastore.NewIncompleteKey(c, "Test", nil) newKey, err := datastore.Put(c, key, foo) // keyはIncomp

                                                                      GAE/Goのdatastoreの挙動について - Qiita
                                                                    • MySQL ユーザコンファレンス 2008 - BOF#1 Drizzle - モノノフ日記

                                                                      初日で一番面白かったセッションでした。BOFっぽく狭い部屋に集まってミーティングする感じがなんか楽しかった。集まってた人も他セッションはEnterprise向けの発表が多くてスーツが多かったのに、ここだけギークな人が集まってましたねw 走り書きのメモなんであんまりまとまってませんが晒しておきます。DrizzleはWebアプリに特化したものにして速度が最優先されているみたいです。いらないものは全て削ぎ落として本体はシンプルな方向に進んでいるような印象を受けました。そして、必要な機能はプラグインでカバーする感じです。 開発の契機 組み込み開発の人とWebアプリ開発の人にヒアリング 組み込みはストアドルーチンやビュー Webはパフォーマンスを重視 コンセプト Webアプリケーションにフォーカス パフォーマンスが第一 ERP Data Warehouse Analytic 上3つは対応しないように

                                                                        MySQL ユーザコンファレンス 2008 - BOF#1 Drizzle - モノノフ日記
                                                                      • 趣味活動 #kyotojs - hitode909の日記

                                                                        プレゼンモード 再生 ← / →で移動 fでフルスクリーン escでおわる Kyoto.js 16での飛び入りLT資料です 趣味活動 Kyoto.JS 16 趣味活動についてのLT 好き勝手に触れるプロダクトを持っておくと便利、という発表をします hitode909 hitode909 レペゼン 株式会社はてな Kyoto.JSとのかかわり 2012〜2017 ブログチーム with amagi このプレゼンもはてなブログで実現している 2017〜 漫画チーム with Pasta-K 試されている。 pic.twitter.com/HqwF9fsk8L— 光電/7474 (@koudenpa) April 25, 2019 hitode909 レペゼン 東ダンスネットワーク hitode909(エンジニア)とswimy1113(デザイナ)のユニット 学生時代はてなアルバイト中に結成 Tシ

                                                                          趣味活動 #kyotojs - hitode909の日記
                                                                        • GoogleAppEngineのサーバサイドの処理時間をProfileで表示させる為にcProfile使う - When it’s ready.

                                                                          Python旅館ネタ。これまた、tmatsuo氏に教えてもらた。 googleAppEngine内で、何の処理にドンだけ時間が掛かってるとか、どの処理が何回呼ばれてるとかそういうのが知りたい時にprofileを使うとある程度分かります。 やり方は凄い簡単で、デフォで使ってるmainメソッドを、real_mainメソッドに改名してprofile_main()から呼ぶだけ、profile_main()内では、<pre>タグ使ってhtmlを追加する処理が書いてあるのでみたい要素をprintするだけです。この方法の他にLoggingに回す方法もあるらしいです。 def main(): logging.getLogger().setLevel(logging.DEBUG) logging.info('-'*80) urls = [('/ngram/api/post', UpDate), ('/ngr

                                                                            GoogleAppEngineのサーバサイドの処理時間をProfileで表示させる為にcProfile使う - When it’s ready.
                                                                          • 月刊Interface 2017年03月号がTensorFlow大特集になっている話 - Qiita

                                                                            結構IT業界に長く居座っておりますが、この雑誌は初めて購入しました。 Interface(インターフェース) 2017年 03 月号 よく見ると表紙のど真ん中にやや小さいフォントでTensorFlowと書かれているのがわかります。 この雑誌の6割(90ページ)ぐらいがTensorFlowの記事になっています 表紙にも大きくGoogle人工知能と別の表現で書かれているものの、ここまでTensorFlow三昧に仕上がっているとは思いませんでした。 立ち読みだけのつもりがつい購入してしまいましたので、軽く紹介させて頂きます。 尚、表示にはラズパイにON!と書かれていますが、それほどラズパイべったりな記事は多くありません。 目次を順に追ってみます 以下、Amazonの内容紹介をベースに一言加えさせて頂きました。 (斜体で記述してある部分は内容の補足です) 自宅でローカルAI作れる時代キタ! 小型ス

                                                                              月刊Interface 2017年03月号がTensorFlow大特集になっている話 - Qiita
                                                                            • gRPC, grpc-gatewayで作るダミーAPIサーバー - Qiita

                                                                              というのをふと思いついたのでメモ程度に残しておく。あとからサンプルコードとともにちゃんと公開する それぞれの課題 フロントエンドエンジニア/デザイナーの課題 APIサーバーを叩く必要があって必要なJSONがほしい サーバーサイドの実装が待ちになると生産性が低い APIの仕様が変わる場合早く知らせてほしい Swagger ドキュメントの課題 実装とドキュメントの乖離が起きがち Swaggerには書かれてるけどまだ実装が終わっていない 実装は終わってるがSwaggerが更新漏れしていた サーバーサイドエンジニアの課題 APIの仕様が変わると実装のvalidationなどの変更が面倒 サーバーサイド実装作ってみて、フロントエンドに渡したあとで仕様変更が発覚した 課題 ドキュメントと実装の乖離は少なくしたい フロントエンドとサーバーサイド分けて実装したい gRPC + grpc-gateway h

                                                                                gRPC, grpc-gatewayで作るダミーAPIサーバー - Qiita
                                                                              • MessagePack-RPC for Java/Pythonの実装を行っています。 - moratorium

                                                                                MessagePack-RPC for Java/Pythonの実装を行っています。 2010-05-10 (Mon) 6:17 MessagePack blogはご無沙汰中です。3月で大学を卒業して、社会人生活を満喫しています。頭の切り替えが楽になった気がします。 最近は古橋さんが中心となってやっている、MessagePackというプロジェクトに少しコミットしています。同じような目的のプロジェクトとして、Google ProtocolBuffer・Apache Thrift・Apache Avroなどが有ります。簡単に言うと、JSONより速くてコンパクトなシリアライズ/デシリアライズライブラリです。 MessagePackのサイト MessagePackは非常に安定して十分にプロダクトでも使えるレベルなので、是非使ってみて下さい。C/C++ライブラリを用いて、毎月数億回ぐらいは(de)s

                                                                                • #appengine MakeSyncCallServlet

                                                                                  昨日のappengine-java-nightに参加した皆さんなら、エントリのタイトルだけ見たら中身を見る必要はありませんね! ちょっと今は時間がないのでコードだけうpしますが、クライアント側の環境で通常通りappengineのサービスにアクセスしたら、なぜかデプロイ環境側のサービスにアクセスする、という仕組みが動作しました。 リクエストされたバイト配列とサービス名、メソッド名、アプリケーション名(うっかり間違ったアプリを触るのを防ぐため。)を使ってmeksynccallをするだけのサーブレットを作成し、デプロイ環境にデプロイする クライアント側では、makeSyncCallへのリクエストを上記のサーブレットへ転送するだけのApiProxy.Delegateを実装し、ApiProxy#setDelegate(ApiProxyLocalImpl)した後で、ApiProxy#setDelega