並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 638件

新着順 人気順

gRPCの検索結果361 - 400 件 / 638件

  • バンディットアルゴリズムを用いた推薦システムの構成について - ZOZO TECH BLOG

    はじめに ZOZO研究所ディレクターの松谷です。 ZOZO研究所では、イェール大学の成田悠輔氏、東京工業大学の齋藤優太氏らとの共同プロジェクトとして機械学習に基づいて作られた意思決定の性能をオフライン評価するためのOff-Policy Evaluation(OPE)に関する共同研究とバンディットアルゴリズムの社会実装に取り組んでいます(共同研究に関するプレスリリース)。また取り組みの一環としてOPEの研究に適した大規模データセット(Open Bandit Dataset)とOSS(Open Bandit Pipeline)を公開しています。これらのオープンリソースの詳細は、こちらのブログ記事にまとめています。 techblog.zozo.com 本記事では、ZOZO研究所で社会実装を行ったバンディットアルゴリズムを活用した推薦システムの構成について解説します。バンディットアルゴリズムを用い

      バンディットアルゴリズムを用いた推薦システムの構成について - ZOZO TECH BLOG
    • 「Docker Desktop 2.2」がリリース、WSL 2が利用可能なプレビュー版も

      「Docker Desktop 2.2」では、これまでSambaに依存していたDocker上で動作するLinuxファイルシステムとWindowsファイルシステムの相互管理をgRPC FUSEに置き換えている。 gRPC FUSEへの置き換えによって、キャッシュを利用してページ読み込み時間を短縮するとともに、Linux inotifyイベントをサポートし、ソースコードが変更されたときに自動再コンパイル/リロードのトリガーが可能になったほか、Windows認証とは切り離して利用できるようになった。また、VPNの接続/切断にかかわらず利用可能で、管理者として実行されるコード量を削減している。 さらに、ローカルで実行中のコンテナと、Composeアプリケーションを管理できるインタラクティブなダッシュボードUIが採用された。WindowsとmacOSで共通のインターフェースを実現する、新たなデスクト

        「Docker Desktop 2.2」がリリース、WSL 2が利用可能なプレビュー版も
      • grpc-gatewayを使用したマイクロサービスの管理画面 - クラウドワークス エンジニアブログ

        SREチームの那須です。 3/7に開催されたピクスタさんの 大規模プラットフォームを支えるエンジニアの技術と工夫〜Web現場Meetup #3〜 で登壇させていただきました。そのときにお話ししたgrpc-gatewayを使った管理画面の構築について改めてまとめてみます CrowdWorksのマイクロサービス化の試み CrowdWorksでは現在マイクロサービス化を進めています。 CrowdWorksはモノリシックなアプリケーションです。様々な機能が一つのアプリケーションに同居し、サービスを提供しています。 モノリシックなアプリケーションの問題点としては一つの問題が全体に波及してしまうということがあります。メッセージの機能を改修したところ問題が発生しアプリケーション全体が不安定になるということもありえます。 そこでCrowdWorksでは最初の試みとして、新しく作るサービスをCrowdWor

          grpc-gatewayを使用したマイクロサービスの管理画面 - クラウドワークス エンジニアブログ
        • 【暫定版】 Kubernetesの性能監視で必要なメトリクス一覧とPrometheusでのHowTo - kashinoki38 blog

          2021/03/01 追記 記載していたリポジトリにあるマニフェスト系があまりに不親切だったので、ちゃんとまとめてみました。 後日、もうちょっとちゃんと記事書こうとは思いますが、大体はREADMEにあるので読んでみてください。 sock-shopをベースにObservability(Prometheus, Loki, Istio(Jaeger, Kiali))とProgressive Delivery&自動負荷試験スタック(Flagger, Jmeter, influxdb)をHelmとKustomizeで詰め込みました。 今回はちゃんと誰もが入れれるようにがんばってみたので、どうぞ。 github.com この内容でCloudNativeDaysOnline2021に登壇することにしています。 event.cloudnativedays.jp 後、随分前ではありますが、本投稿に関連してK

            【暫定版】 Kubernetesの性能監視で必要なメトリクス一覧とPrometheusでのHowTo - kashinoki38 blog
          • Chrome の User-Agent 文字列削減に関する最新情報

            .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

              Chrome の User-Agent 文字列削減に関する最新情報
            • Elastic再入門 #elasticsearchjp by Jun Ohtani

              Elastic再入門 Jun Ohtani, Kosho Owa 2019/03/20 @Elastic どのくらい再入門? Elasticsearch (Es) 0.90系から触ってない人? Kibana 3系 Es1.x系から触ってない人? Kibana 3系 5 Es2.x系から触ってない人? Kibana 4系 7 5.x系から触ってない人? Kibana 5系 9 6.2系から触ってない人? 11 Elastic Stackとは? !12 Elastic Stack Kibana 可視化、管理 Elasticsearch 保存、検索、分析 Beats Logstash インジェスト Application Search Metrics Elastic Stack Site Search APM Enterprise Search Logging Business Analytic

                Elastic再入門 #elasticsearchjp by Jun Ohtani
              • Kubernetes Failure Stories

                A compiled list of links to public failure stories related to Kubernetes. Most recent publications on top. You Broke Reddit: The Pi-Day Outage - Reddit - blog post 2023 involved: Calico CNI, Upgrades, labels impact: global outage How a couple of characters brought down our site - Skyscanner - blog post 2021 involved: Gitops, templating, namespace deletion impact: global outage 10 More Weird Ways t

                • 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
                  • Goでproxy serverを作るときにハマるポイント | メルカリエンジニアリング

                    Mercari Advent Calendar 2018 の5日目はSREチームの @catatsuy がお送りします。 メルカリではGoで書かれたproxy serverをサービスの各所で使っています。今回はGoでproxy serverを作るときにハマりそうな、標準ライブラリの挙動や特徴について紹介します。 本エントリーは2018/12/04現在の最新であるGo 1.11.2を元にして書きます。 Hostヘッダーはreq.Header.Set(“Host”, “example.com”)しても上書きできない https://github.com/golang/go/blob/e8a95aeb75536496432bcace1fb2bbfa449bf0fa/src/net/http/request.go#L1023 https://github.com/golang/go/blob/e8

                      Goでproxy serverを作るときにハマるポイント | メルカリエンジニアリング
                    • Google、自社が公開している人気オープンソースプロジェクト一覧を発表 | OSDN Magazine

                      Google(米Alphabet傘下)は10月14日、オープンソースプロジェクトの一覧「Google Open Source Report Card」を発表した。Googleのオープンソースプロジェクトで人気があるものを紹介するもので、Android、Chromiumなどおなじみのプロジェクトが並んでいる。 Googleは問題解決にフォーカスするために再度開発するのではなく、オープンソースソフトウェアを利用して迅速かつ効率良く構築することを心がけており、この一環として社内で作業したものをオープンソースで公開することを奨励しているという。これまでに2000万行のコードを公開してきたとしており、この中には就労時間の20%の時間を自分の興味・関心があることに充てて良いという「20%ルール」から生まれたものもあるという。 初の試みとなるOpen Source Report Cardは、この中から人

                        Google、自社が公開している人気オープンソースプロジェクト一覧を発表 | OSDN Magazine
                      • App Engine の料金体系変更に関する FAQ

                        .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                          App Engine の料金体系変更に関する FAQ
                        • AMP から Progressive Web App へ

                          .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                            AMP から Progressive Web App へ
                          • 2021年 HTTPやQUICの最新動向振り返り - ASnoKaze blog

                            2021年について、プロトコル周りの動向を振り返っていきたいと思います。 今年は、個人的には次の2点がホットトピックと挙げられると思います。 QUICやHTTP/3を活用した応用系プロトコルの作業が進む プライバシー系の取り組みが活発化 それでは、個別に補足していきます。(IETFの動向がメインです。なお、個人的にキャッチアップできてないトピックもあります...) HTTP関連 まずは、HTTPです。HTTP/3の標準化が注目を浴びていますが、HTTP/1.1やHTTP/2なども改定作業が行われております。あわせて、HTTPセマンティクスは各バージョンから独立し、各バージョンから参照される形となりました。それぞれRFC出版の最終段階となっています。 書いた記事はここらへん HTTPのバージョンについて、現在のまとめ HTTPセマンティクス仕様の改訂版 まとめ HTTP/2の改定版仕様の変更

                              2021年 HTTPやQUICの最新動向振り返り - ASnoKaze blog
                            • 達人出版会

                              探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 デザインディレクション・ブック 橋本 陽夫 現場のプロがやさしく書いたWebサイトの分析・改善の教科書【改訂3版 GA4対応】 小川 卓 解釈可能なAI Ajay Thampi(著), 松田晃一(翻訳) PowerPoint 目指せ達人 基本&活用術 Office 2021 & Microsoft 365対応 PowerPoint基本&活用術編集部 ランサムウェア対策 実践ガイド 田中啓介, 山重徹 TODによるサステナ

                                達人出版会
                              • gRPC-JSON proxy - 世界線航跡蔵

                                grpc-gateway という gRPC からJSON APIへの変換プロキシ生成機を書いた。 これを使えばシステム内部ののmicroservicesはgRPCで通信しつつ公開APIはJSON APIで提供する、みたいなことが簡単になる。 なお、gRPCそのものについては mattnさんの記事 が参考になる。 背景 gRPCの良い点はいくつもある。 データはデフォルトでprotocol buffersで直列化される。ベストではないにせよ十分にコンパクト且つ高速だし、サイズで言えばJSONとは比べるべくもない。 簡単に複数の言語でサーバーのテンプレートやクライアントを生成できる。通信の詳細はgRPCにまかせて開発者はサーバーロジックの実装に注力できる。 design by Googleという安心感。 gRPCの素晴らしさは認めるものの、一方では欠点もある。まず、クライアントライブラリの多く

                                  gRPC-JSON proxy - 世界線航跡蔵
                                • .NET Core 3.0 で gRPC がシームレスに統合されて素晴らしい件 - ecbeing labs(イーシービーイング・ラボ)

                                  こんにちは、アーキテクトの小林です。 .NET Core 3.0 がついに GA になりました。 .NET Core 3.0 では gRPC の機能サポートが組み込まれています。 今回は .NET Core 3.0 で簡単に gRPC の開発をスタートすることができることを知っていただいきたいと思いまして、gRPC サーバーとクライアントの疎通確認ができるまでの手順を記事にしてみました。 そもそも gRPC とは何? gRPC は、Google によって開発されたスキーマファーストの RPC(リモートプロシージャーコール)フレームワークで、マイクロサービスアーキテクチャにおけるサービス間通信において有力な選択肢として注目されている技術です。 マイクロサービスアーキテクチャでは、大きなシステムを細かいサービスに分割し、各サービスを独立させ、疎結合に保つことが重視されます。細かいサービスに分割

                                    .NET Core 3.0 で gRPC がシームレスに統合されて素晴らしい件 - ecbeing labs(イーシービーイング・ラボ)
                                  • 技術書典6で頒布される注目のクラウド・インフラ系書籍まとめ #技術書典 - 憂鬱な世界にネコパンチ!

                                    技術書典6が近づいて来ましたが、みなさんサークルチェックはお済みでしょうか。公式サイトで探すのは結構大変なので、クラウド・インフラ系の書籍をまとめておきました。 なお、自分でも『Pragmatic Terraform on AWS』という本を頒布するので、Terraformに触れてる本は露骨にえこひいきしております。 コンテナ時代の個人Webサービスの作り方 GitHub、CircleCI、Docker、Terraformなどを使って、ECS上でRailsアプリケーションを動かすためにやるべきことが一通りまとまっています。『Pragmatic Terraform on AWS』の委託先のひとつです。ぜひ一緒にお買い求めください。 www.chirashiura.com techbookfest.org showKsではじめるクラウドネイティブ開発 クラウドネイティブなアプリケーション開発に

                                      技術書典6で頒布される注目のクラウド・インフラ系書籍まとめ #技術書典 - 憂鬱な世界にネコパンチ!
                                    • ニコニコ動画のコメントサーバーを引っ越した時の話 - dwango on GitHub

                                      こんにちは。ニコニコ動画開発の多胡です。 今回は PHPerKaigi2023 向けの記事として、2021年に実施したニコニコ動画のコメントサーバーをお引越しした時のことを書いてみたいと思います。 文中の 5 つのフレーズをチャレンジトークンとしてみました。ぜひ探してみてください! (※ 記事の見出しにの横についている「#」はチャレンジトークンではありません。チャレンジトークンは文中に配置されています。紛らわしくてすみません!) 背景 実はニコニコ動画の #コメントサーバーを引っ越した のはこの時が二度目でした。 一度目は2014年から2016年にかけてのプロジェクトでファイルベースのシステムからの引っ越しでした。このファイルベースのシステムは、ニコニコ動画生誕当時から利用されており、当時のコメント参照や投稿にはすでに耐えられない状態になっていました。 そこで、このファイルベースのシステム

                                        ニコニコ動画のコメントサーバーを引っ越した時の話 - dwango on GitHub
                                      • gRPCに関する初のカンファレンス、gRPC ConfがGoogle本社で開催

                                        マイクロサービスのベースとなるRPCフレームワークのgRPCに関するカンファレンスが、Google本社で開催された。 クラウドネイティブなアプリケーションでは、アプリケーション全体を小さなプロセスに分割してステートレスなコンテナの集合体として実装することが最近のトレンドだ。その際の「プロセス間の通信をどうするのか?」については、REST APIというのが大凡の解答だったように思える。 それに対して、Googleが社内で使用していたStubbyの経験を活かして、オープンソースとして公開したのがgRPCだ。2016年にGoogleがgRPC 1.0を公開し、CNCFでのインキュベーションプロジェクトとなったのが約半年後の2017年1月、その後2019年3月に至るまですでに多くのユースケースで利用が拡がっている。そのgRPCに関する初めてのカンファレンスgRPC Conf 2019が、Googl

                                          gRPCに関する初のカンファレンス、gRPC ConfがGoogle本社で開催
                                        • RustにおけるfutureとgRPC | POSTD

                                          (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) 本記事は、Tang Liu(tl@pingcap.com)が「Bay Area Rust Meetup August 2017」で行った講演内容をまとめたものです。 動画はこちらからご覧いただけます 。 講演者の自己紹介 非同期プログラミング なぜ同期にしないのか なぜ非同期にするのか コールバック地獄 コルーチンで簡単に書く もう1つの方法、future Rustにおけるfuture Futures コンビネータ 同期 Stream Sink Task gRPC なぜgRPCを使うのか HTTP/2 gRPCのベースはHTTP/2 futureとgRPCを組み合わせる C gRPCのキーワード 疑似フロー 単一通信 クライアントストリーミング サーバストリーミング 双方向ストリーミング 単一通信fu

                                            RustにおけるfutureとgRPC | POSTD
                                          • Docker 1.12: ついにオーケストレーションを組み込み!(参考訳) ‣ Pocketstudio.Net

                                            概要 DockerCon 2016 のキーノートで、新しい Docker 1.12 の機能に関する説明がありました。また、その発表に合わせるように blog への投稿 “Docker 1.12: Now with Built-in Orchestration!” もありました。例によって日本語訳を作成しましたので、内容把握の参考程度にどうぞ。 図版は省略しました。原文をおたどりください。なお、自分の整理用に以前のバージョンの比較用画像を作りましたので、こちらも参考程度にどうぞ。 Docker 1.12: ついにオーケストレーションを組み込み! 3年前、Docker は難解な Linux カーネル技術をコンテナ化(containerization)と呼ぶシンプルで誰もが利用しやすいものにしました。今日、私たちはコンテナのオーケストレーションも同じ様にします。 単一ホスト上にコンテナを個々にデ

                                              Docker 1.12: ついにオーケストレーションを組み込み!(参考訳) ‣ Pocketstudio.Net
                                            • 回復性の高いMicroservicesアーキテクチャを支える技術 - Mercari Engineering Blog

                                              メルカリバックエンドエンジニアの@yagi5です。 Mercari Advent Calendar 2018の23日目を担当します。 モノリシックなシステムは、障害が発生するとシステムが全停止してしまうことが一般的です。 しかし、Microservicesアーキテクチャでは様々なテクニックを用いて、サービス全体が停止するような障害に対処することができます。 この記事では、Microservicesにおけるシステムの回復性を高めるための技術について書いていきます。 回復性とは、障害が起こらないことを意味しません。 高い回復性を備えたシステムは、障害が発生するということを前提に、システム全体のダウンを避け、データのロスが回避されるように設計されています。 Microservicesの世界では、システムは自律的に動作する複数のサブシステムによって構成されます。 ひとつのサービスに障害が発生しても

                                                回復性の高いMicroservicesアーキテクチャを支える技術 - Mercari Engineering Blog
                                              • 少人数での爆速開発を目指してgolang×GCPの技術選定をした話

                                                この1年くらいでgolangとGCPを使ったWebアプリケーションをフルスクラッチで開発したので、その際の技術選定の理由だったりを言語化して残しておきたいと思い、HHKBを手に取りました。 少し長くなってしまいましたが、どなたかの参考になればと思います。 どんな人が書いてるの? 立ち上げ期のスタートアップCTOをしています。雑に言うとフルスタックエンジニアです。 開発歴はざっくり、Androidアプリの開発歴が一番長くて3年、バックエンド開発(Elixir × GCP)に転身して1年ほど担当、その後、これから言語化するプロジェクトを1年くらいかけてgolangで構築したところです。 今回の範囲からは外れますが、並行してNuxt.js×TypeScriptで書かれたフロントエンド開発も行っていたので、今はその辺りも一通り習得しています。 1. 方針 表題にもある通り、少人数での爆速開発を目指

                                                  少人数での爆速開発を目指してgolang×GCPの技術選定をした話
                                                • リアルタイム通信用のコネクションをタブ間で共有してまとめる

                                                  これはなんらかのアドベントカレンダーの何日目かの記事だったりしません。 KOBA789 です。仕事では人工衛星の搭載ソフトウェアを書いたり、人工衛星の管制システムのソフトウェアを書いたりしています。 先日、こういうツイ……ポストをしたらちょっとバズりました。意外と興味持ってくれる人が多かったので、それに関連するオタク早口記事でも書くかぁと思って筆を執っています。 うちの人工衛星の開発ツールはウェブ技術でできている 前述のポストは管制システムについてですが、開発用ツール(C2A DevTools)もまた React + TypeScript でできています。 まぁ画面見てもなにがなんだかという感じだと思いますが、UNIX サーバーで top コマンド叩いたときの内容と、サーバーのログが合体したみたいなものが表示されていると思ってください。 これらの数値は gRPC-web の Server-

                                                    リアルタイム通信用のコネクションをタブ間で共有してまとめる
                                                  • gRPC WebがGAになったのでそろそろ理解してみる

                                                    2018/10/23に「gRPC-Web is Generally Available」というタイトルでgRPC-WebがGAになった事がgrpc公式ブログで発表されました。 https://grpc.io/blog/grpc-web-ga 翌日にCNCFのブログでも「gRPC-Web is going GA」というタイトルで同等の内容が公開されました。 https://www.cncf.io/blog/2018/10/24/grpc-web-is-going-ga/ 今までブラウザからgrpcが使えるgRPC-Webの存在は知っていましたが、ちまたで実際に利用しているというのもあまり聞かなかった為ほとんど気にしていませんでした。 この度GAになったのをきっかけにエコシステムができあがってくれば間違いなくパラダイムシフトになると思いちゃんと検証してみました。 この記事で書く事 gRPC-W

                                                      gRPC WebがGAになったのでそろそろ理解してみる
                                                    • 2022年版 OpenTelemetryを知れば世界が平和に - じゃあ、おうちで学べる

                                                      はじめに OpenTelemetryとは Opentelemetry のコンポーネント Opentelemetry のプロジェクトの仕様とStatus Tracing Metrics Logging(Specification にドキュメントがない) Baggage OpenTelemetry のSpanとTrace OpenTelemetry Collectorとは Collector のメリット OpenTelemetry Collector Architecture とは OpenTelemetry とSDKとパッケージ OpenTelemetry と自動計装 今後のOpentelemetry について 次回予告:OpenTelemetry とOpenTelemetry Collectorを使ったTracingとMetricsをアプリケーションで利用する方法 参照リンク はじめに 最

                                                        2022年版 OpenTelemetryを知れば世界が平和に - じゃあ、おうちで学べる
                                                      • WebエンジニアとWeb技術とシステムの話 (sadnessOjisanのWebサーバーアーキテクチャ進化論2023を読んだ感想) - inductor's blog

                                                        sad記事の勉強と実践のボリュームがすごい https://blog.ojisan.io/server-architecture-2023/ を読んで、その前身とも言える https://blog.yuuk.io/entry/2015-webserver-architecture を含めてこれらのような記事を書く知識や経験が僕には無いから素直にすごいと思った。ただ、その一方でこの内容を普通に理解できる「Webエンジニア」はどのくらいいるんだろう?というのも同時に気になった。 ゆううきさんの記事は「序論」とあるがWebエンジニアとしてキャリアを積む人間が「序論」として読むには文量や背景知識が重すぎると正直思うし、システム・計算機工学を勉強した人間が背景に感じ取れる。事実、sadさん(おじさん)も昔は内容が分からなかったと本人記事内で言及しているため、僕の気のせいではないと思う。じゃあsad版

                                                          WebエンジニアとWeb技術とシステムの話 (sadnessOjisanのWebサーバーアーキテクチャ進化論2023を読んだ感想) - inductor's blog
                                                        • US版Mercariのリニューアルと今後 (サーバサイド)

                                                          この記事はMercari Advent Calendar10日目の記事です。昨日は@syu_creamのメルカリのデータ分析基盤の紹介〜BigQuery周辺の話〜でした。 本日はUSサンフランシスコのサーバサイドエンジニア@deme0607が、今年2017年にリニューアルしたUS版Mercariのサーバサイドについてご紹介します。 現在のアーキテクチャ Brand new US Mercari (Android 編)でもご紹介したように、US版Mercariは今年、より一層USマーケットにフィットしたアプリを提供しUSでの成長を加速すべく、大きなリニューアルが実施されました。前述の記事はAndroidアプリのリニューアルに関するものですが、iOSアプリやAPIサーバも同様にリニューアルしています。 以下の図は、リニューアル後のUS版Mercariのサーバサイドアーキテクチャです。 ここでは

                                                            US版Mercariのリニューアルと今後 (サーバサイド)
                                                          • コピペでできるGoでgRPCサーバ立ててRailsからアクセスする方法 - SMARTCAMP Engineer Blog

                                                            最近社内でElixirをひっそり布教しようとしている、瀧川です。 弊社の一部プロダクトでは、gRPCでGolangアプリケーションを呼び出す構成をとっています。 それを説明するためにハンズオンをしたので、その一連の流れをこちらにもつらつら書いていきます! 内容は、以下の画像みたいなのを作っていこうと思います。 必要なコードは記事中に載せるのでコピペで動くはずなので、ぜひ実際にやってみてください! そもそもgRPCって? 実践 事前にインストールしてください リポジトリを作成しましょう さっそくProtocol Buffersで通信を定義しましょう GolangのgRPCサーバ作りましょう 定義からGolangのソースコードを生成 生成したGolangのインタフェースを実装したサーバを作成 動作確認 Railsを実装しましょう gRPC定義からRubyのソースコードを生成 呼び出すコードをC

                                                              コピペでできるGoでgRPCサーバ立ててRailsからアクセスする方法 - SMARTCAMP Engineer Blog
                                                            • モノリスなRailsにモジュラーモノリスを導入した話 - hacomono TECH BLOG

                                                              こんにちは、プラットフォームチーム所属のまこたすです。 昨今、様々な場で「モジュラーモノリスを導入した」という話を目にするようになってきました。弊社でも昨年からモジュラーモノリスの試験導入を進めており、社内でノウハウが徐々に溜まってきたため、今回 技術ブログ で なぜ導入したのかと知見の共有 をさせていただけたらと思います。 想定読者 モノリスなアプリケーションの分割を検討している Railsへのモジュラーモノリスの導入を検討している 話さないこと チーム体制がどうあるべきかという観点の話 以下アーキテクチャについての詳細 モノリスアーキテクチャ モジュラーアーキテクチャ 背景 今回「モジュラーモノリスを導入した」というタイトルですが、最初に検討・導入に至るまでの背景について触れたいと思います。 hacomonoという組織・サービスの成長 hacomonoというサービスはリリースから現在に

                                                                モノリスなRailsにモジュラーモノリスを導入した話 - hacomono TECH BLOG
                                                              • protocプラグインの書き方 - Qiita

                                                                以前の記事では、Protocol Buffers (protobuf)の魅力の1つは周辺ツールを拡張しやすいことだと述べた。そこで本稿では具体的に拡張のためのprotocプラグインの書き方を紹介したい。 ちなみに、protobufの周辺ツールと言うと2種類ある。 1つはprotobufでシリアライズされたデータを処理するツール。JSONやCSVにとってのjqやsedやawkに相当する。 もう1つはprotobufのスキーマを処理するツール。 先の記事にあるようにProtobufはシリアライゼーション機能だけでなくスキーマ言語としても価値が高いので、典型的なweb開発用途では後者のほうが重要だ。 本稿は後者のスキーマ処理の話である。なお前者は、チュートリアルでAPIを覚えたらあとは自分で好きな処理を書きましょうというだけの話なので、別に難しくない。 初めに、protocについて確認しよう。こ

                                                                  protocプラグインの書き方 - Qiita
                                                                • なぜGraphQLを採用するべきなのか、あるいはなぜ採用するべきではないのか 2021冬

                                                                  この記事はGraphQL Advent Calendar 2021の22日目の記事です。 またこれは書籍、出来る100%TypeScript 作って学ぶNext.js + GraphQL + Prismaに掲載していたコラムに加筆修正を行ったものです。 GraphQLは一言でまとめてしまえばDSL(GraphQL query language)による宣言的な記述を介してGraphQLサーバーから柔軟にデータを取得/提供する事が出来る仕組みです。文法は全く異なりますが動作モデルとしてはSQLとRDBの関係に近いかもしれません。なおHTTP上で利用される事がほとんどですが特に決まりがあるわけではありません。 元々はFacebook社(現Meta社)で開発され2012年からfacebook.comで利用されている技術で、その後2015年にはオープンソース化されFacebook以外でも徐々に利用さ

                                                                    なぜGraphQLを採用するべきなのか、あるいはなぜ採用するべきではないのか 2021冬
                                                                  • Traefik Labs: Say Goodbye to Connectivity Chaos

                                                                    Application ProxySimplify microservice discovery, routing, & load balancing.

                                                                      Traefik Labs: Say Goodbye to Connectivity Chaos
                                                                    • Web API に秩序を与える Protocol Buffers / Protocol Buffers for Web API #builderscon

                                                                      builderscon tokyo 2019 で「Web API に秩序を与える Protocol Buffers」というタイトルで発表した資料です。 Protocol Buffers を利用して Web API の Schema 管理をするという観点で、豊富な実例とともにその手法やメリット・デメリットについて話しました。 cf. https://builderscon.io 追記: 61ページ目で Protocol Buffers を利用する際の注意点として後方互換性が壊れるケースの話をしましたが、自分たちが経験したのは gRPC + grpc-gateway 構成特有のケースだったので記述を修正しました。

                                                                        Web API に秩序を与える Protocol Buffers / Protocol Buffers for Web API #builderscon
                                                                      • API設計:REST、gRPC、OpenAPI - 気まぐれ開発日記

                                                                        googleからタイトルについて書かれた記事が出たので読んでいた cloud.google.com これらについて自分でもなんとなく考えていたことがあったけれど良い機会なのでまとめておく 記事での注目ポイント 冒頭より引用。 私としては、HTTP を使用する API のビルドには、重要かつ特徴のあるアプローチが 3 つあると考えています。次のようなアプローチです。 1. REST 2. gRPC(および Apache Thrift など) 3. OpenAPI(およびその競合製品) なるほど、と思うかもしれないが、読み進めていくとRESTについてはこう書かれていた。 このスタイルの API の特徴的な性質は、クライアントが他の情報から URL を構築せず、サーバーから渡された URL をそのまま使用することです 何の話かと思ったけれど、REST APIにはLv3までありこの記事ではLv3の

                                                                          API設計:REST、gRPC、OpenAPI - 気まぐれ開発日記
                                                                        • Widebullet〜API Gateway with JSON-RPC〜 | メルカリエンジニアリング

                                                                          SRE(Site Reliability Engineering)チームの@cubicdaiyaです。今年のはじめから開発しているWidebulletというシンプルなAPI Gatewayを紹介します。 WidebulletはJSON-RPCをベースにしたシンプルなAPI Gatewayです。Goで書かれています。 github.com JSON-RPCはJSONによるRPC(Remote Procedure Call)プロトコルで、リクエストやレスポンスのボディに含まれるJSONを利用してクライアント/サーバ間の通信を行います。 # リクエストボディ { "jsonrpc": "2.0", "method": "echo", "params": {"msg": "ok"}, "id": "1"} # レスポンスボディ {"jsonrpc": "2.0", "result": "ok",

                                                                            Widebullet〜API Gateway with JSON-RPC〜 | メルカリエンジニアリング
                                                                          • Istioに入門する - TECHSTEP

                                                                            今回はService Meshについて概要を調べ、Service Meshを提供するプロダクトの一つであるIstioに触れてみました。 Service Meshとは マイクロサービスの課題 Service Meshを考えるうえでまず必要になるのが、マイクロサービスアーキテクチャの抱えるいくつかの課題です。 マイクロサービスを導入・構築するうえでの課題として、ネットワークに関連する事項が挙げられます。マイクロサービスはお互いネットワークを通じて連携するため、ネットワークに関する機能(Load Balancing、Traffic Routingなど)を実装する必要があります。また、アプリケーションを構成するマイクロサービスの数が多くなるほど、マイクロサービス間の接続数は増加し、通信断の発生する確率やパフォーマンス低下など、ネットワーク関連の問題が発生する可能性も増加します。 これまで複数のグロ

                                                                              Istioに入門する - TECHSTEP
                                                                            • 負荷試験とOSSツール選定の話 - KAYAC engineers' blog

                                                                              この記事は 面白法人グループ Advent Calendar 2022 の15日目の記事です。 こんにちは、カヤックボンドの松本です。 今回は弊社の技術顧問をご担当いただいている、ドレッドノート株式会社の佐々木様よりご寄稿いただいた記事となります! みなさん、はじめまして! 主にパフォーマンスチューニングや検証用のボット開発等を行っているドレッドノート株式会社の佐々木と申します。 この度、カヤックグループの皆様より Advent Calendar 2022 に寄稿する機会を頂戴しましたので、2022年12月時点の方法を元に負荷試験とモダンなOSSツールについて書いてみたいと思います。 負荷試験の重要性 突然ですが、みなさんが関わっている案件で負荷試験を行っていますか? サービス開始前・提供中、どちらであっても負荷のかけ方によって様々な情報を得ることができます。 現状の性能・台数・実装で、ど

                                                                                負荷試験とOSSツール選定の話 - KAYAC engineers' blog
                                                                              • Next.js Cacheのアツさをシェアしたい(App Router)

                                                                                sumirenです。 2023年5月5日、ついにNext.js App Routerがstableになりましたね! おめでとうございます!!ありがとうございます!!! 今から本番で使うのが楽しみで待ちきれません。 13.4のリリースではstableの宣言とともに、目玉機能としてServer Actionsが来ています。Data Fetch(というか、もはやData Handling的なもの)の機能の一部として、とても興味深いです。 さて、Server Actions自体の解説は他の方に任せるとして、リリースノートには以下のような一文があります。 Server Actions in Next.js have been designed for deep integration with the rest of the data lifecycle, including the Next.js

                                                                                  Next.js Cacheのアツさをシェアしたい(App Router)
                                                                                • 1年間で開発中のマイクロサービスは1→73に メルカリのプラットフォームチームがやったこと - ログミーTech

                                                                                  2018年10月4日、株式会社メルカリが主催するイベント「Mercari Tech Conf 2018」が開催されました。メルカリグループ各社が、今後目指す方向や、これから取り組む技術的なチャレンジなどを語るエンジニア向けカンファレンス。2度目の開催となる今回は「Evolution(変化)」をテーマに、エンジニアたちがメルカリの技術のこれからを語ります。プレゼンテーション「Microservices Platform at Mercari」に登壇したのは、株式会社メルカリ、テックリードの中島大一氏。メルカリのアーキテクチャをモノリスからマイクロサービスに分割した理由について語りました。講演資料はこちら メルカリがマイクロサービスを選んだ理由 中島大一氏(以下、中島):マイクロサービスプラットフォームチームでテックリードを務めています、中島です。よろしくお願いします。 今年のMTCのメインテ

                                                                                    1年間で開発中のマイクロサービスは1→73に メルカリのプラットフォームチームがやったこと - ログミーTech