並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 16 件 / 16件

新着順 人気順

ProtocolBufferの検索結果1 - 16 件 / 16件

  • ジャバの異常な愛情 または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
      • 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
        • 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で通信したい - アリ
          • 帰ってきた 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
              • 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
                • 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 を試してみた
                    • 名前重要なIT業界の技術名 その複雑さに立ち向かう - LIVESENSE ENGINEER BLOG

                      はじめに 転職ドラフトでの技術名の使われ方 なぜ技術名の表記がゆれるのか 頭字語の多さ 読み方の難しさ たくさんあるクラウド 統合方針 ベンダーの公式の表記に従う オープンソースも公式ウェブサイトの表記を尊重する その他細かい大文字・小文字の違いや単語間の空白、複数形などについて、わかる限り公式に合わせる 誤字・タイポは修正(でも本当に間違ってるの?) 結論 はじめに 少し前のことになりますが、転職ドラフトではサービス内で使われる技術名の表記を統一しました。 リリースノートの8/29「技術名の表記ゆれを統合しました」にある通り、サービス内でバラツキがあった、プログラミング言語、各種ミドルウェア、OSS、クラウドサービスなどの、いわゆる技術名(6000個ほどもあった)を、社内のエンジニアで手分けして調査し、適切と思われるものに変換するためのデータをゴリゴリ作りました。 この記事では、近年大き

                        名前重要なIT業界の技術名 その複雑さに立ち向かう - LIVESENSE ENGINEER BLOG
                      • GoとDockerでLet's try gRPC - Qiita

                        ※ この記事は2019年11月7日に作成した GoとDockerでLet's try gRPC - LiBz Tech Blog と同じ内容です はじめに こんにちは!エンジニアの渡邊です。早いもので、11月でLiBに入社して丸1年がたちました。 このブログへの投稿も4回目になります。 前回の「とってもRailsライクなサーバーレスフレームワーク「Ruby on Jets」を本番環境に導入した話」では、jetsの開発者であるtongueroo氏や、Rubyの生みの親まつもとゆきひろ氏をはじめ、多くの方にシェアをしていただき大変励みになりました! みなさんありがとうございました。 今回はGoogleが開発したRPCフレームワークgRPCについて書こうと思います。 gRPCとは Google社内で使用されているstubbyというRPC(Remote Procedure Call)フレームワーク

                          GoとDockerでLet's try gRPC - Qiita
                        • connect-webやってみた

                          connect-web の記事が、はてブでトレンドになっていました。気になったので、試してみました。 サンプルコードは、次のリポジトリに置いています。 前置き: gRPC と connect-web の雑な理解 ※ このあたり理解がめちゃ浅いです RPC (Remote Procedure Call) を実現するためのプロトコルとして、gRPC があります。 このプロトコルは、ブラウザ側からは使えない(?)ため、gRPC-Web というブラウザ向けの gRPC というものを使うことになります。 その場合、ブラウザとサーバーとの間に、プロキシを建てる必要があるようです。(たぶん) そこで、Connect という gRPC 互換の HTTP API を構築するためのライブラリ群が開発されました。 これのおかげで、プロキシを建てる必要がなく、ブラウザ側から gRPC を使うことが可能になります。

                            connect-webやってみた
                          • NomadのゲートウェイをNginxからEnvoyに置き換える

                            この記事はさくらインターネット Advent Calendar 2020 5 日目の記事です。 https://qiita.com/advent-calendar/2020/sakura 現在社内にて Nomad と Consul を利用してサービス開発を行っています。 Nomad はアプリケーションのスケジューリングを行い、ざっくりと Kubernetes,Marathon 等と同様の機能を提供しています。 Consul はサービスの死活監視・サービス検出・サービスメッシュ等を提供しています。 このような構成では、外部からの通信を適切にアプリケーションへ転送するゲートウェイが必要となります。 Nomad+Consul を利用している環境の多くは、consul-template で Nginx の設定を自動生成し、変更があった際には reload を行うという構成を採用しているかと思います

                            • DRMで動画を守ってあげたい(ExoPlayer + Widevine) - Androidマンになりたいおじさん

                              はじめに こんにちは!!!!最近初めてOSS(ExoPlayer)にPRが出せて喜んでいるぐみおじです!!!! 今日は動画を不正利用から守るための技術について触れていきます!動画を守れる優しい世界を目指していきましょうしょうb 注: この記事では、Android(ExoPlayer) + DRM(Widevine)にフォーカスをあてていきます!! なぜ動画を守るか なんで動画を守る必要があるか? よく挙げられるのは無断転載とかですかね?誰かが一生懸命時間かけて、利益を得るために作成された動画が第三者にその権利を奪われてしまうとかとか.... そんな悲しい世界を少しでも減らすために動画を不正利用から守っていきましょう!!! 動画を守るには でわ、どうやって動画を守るのでしょう? たくさんやり方はありますが、セキュリティレベルを上げようと思えば思うほどコストがかかってきます...なので保護対象

                                DRMで動画を守ってあげたい(ExoPlayer + Widevine) - Androidマンになりたいおじさん
                              • iOSで動作する異常検知モデルを作った - Qiita

                                背景 農業x深層学習のアプリケーションが作りたい! という動機のもと、例えば作物の画像を入力してその健康状態を診断するようなアプリが作れるんじゃないかと考えてます。 病気を判定できるすごいモデルのせたアプリを作ったとして、ユーザが対象の作物の画像を正しく入力してくれるかどうかは、そのアプリの信頼性を担保する上で重要な問題になります。 例えば、上記の稲の病気を診断してくれるアプリを作ったとして、ユーザが雑草の画像を入力したとしてもそれっぽい結果を出力してしまえば、そのアプリの診断結果自体が疑わしいものになってしまいます。 この問題に対処するため、メインとなるモデルの前段に入力画像の異常画像検知モデルを置いておけばよいのでは、と考えました。 異常検知モデルにおいて正常と判定された画像のみをメインモデルに渡せば、信頼性の高い結果を出力することができそうです。 できたもの 3年前に購入した iPh

                                  iOSで動作する異常検知モデルを作った - Qiita
                                • ESP32をAlexa Gadgets Toolkitデバイスにしよう - Qiita

                                  Alaxaには、Alexa Gadgets Toolkit という、Echoデバイス(スマートスピーカ)と連携できるAlaxa Gadgetを作れるSDKがあります。 Alexa Gadgets Toolkit https://developer.amazon.com/ja-JP/docs/alexa/alexa-gadgets-toolkit/understand-alexa-gadgets-toolkit.html Webでは、ラズパイを使った例が複数あったのですが、BLEのプロトコルも提示されているので、ESP32で実現しようと思います。 Alexa Gadgetsデバイスになれば、いろんなことができるのですが、まずは単純なところから。 今回は、「アレクサ、今何時?」といつもの問いかけをしている間、勝手にLEDが点灯するようなAlexa Gadgetsを作ってみたいと思います。 本来

                                    ESP32をAlexa Gadgets Toolkitデバイスにしよう - Qiita
                                  1