並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 48件

新着順 人気順

gRPCの検索結果1 - 40 件 / 48件

  • 技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

    技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL はじめに 新たに書きました。 MySQLを使っても会社は潰れない 久々に記事を書いたのでどうぞお手柔らかに... 私が過去2年間で行った技術選定の成功と失敗を振り返り、その学びを共有したいと思います。 文才無いので淡々と箇条書きでいきます Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 注意 意見を押し付けるものではありません。ただ建設的な議論は大事だと思う。 自分の意見は明確に、歯切れのよい表現を意識している。人それぞれだよねみたいな感じに逃げたくない。技術選定に結論はある(過激)。 ただし技術選定にはコンテキストがあり、例えばプロダクトのフェーズや組織の事情によって当然結論は変わる可能性がある。 OSSの開発者さん達は偉大ですごい。あ

      技術選定の失敗 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
    • 独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース

      Webで新規サービスを立ち上げる際に、UIからインフラ周りまで一人で面倒を見られるエンジニアは、少人数のスタートアップでなくとも非常に頼れる存在です。どんな課題に直面しても技術力で乗り越える、そんなスキルフルなエンジニアに憧れる方も多いでしょう。 この記事では、フロントエンドのプログラミング(JavaScript周辺)からサーバーサイド、インフラ、さらに開発手法まで、Web開発で必要になるさまざまなレイヤーのフルスタックなスキルの現在地と、関連するUdemyの講座を紹介します。 株式会社ヘンリーでVPoEを務める松木雅幸(@songmu)さんの執筆です。 フルスタックエンジニアに必要なスキル さまざまな講座でまとめて学習してみよう Udemyでは夏のビッグセールを開催中! ※この記事は、株式会社ベネッセコーポレーションによるタイアップ広告です。記事末に、はてなブックマークした方にAmazo

        独力でWebサービスを開発・構築できるフルスタックエンジニアへのロードマップ─幅広いスキルを「Udemy夏のビッグセール」で学ぶ! - はてなニュース
      • ゼロからRAGを作るならこんなふうに

        どんな人向けの記事? これからRAGを作ってみたい DifyやLangChainにこだわらず、自分で開発をハンドリングしたい ベクトルDBや埋め込みモデルの選定の勘所をサッと知りたい ここではRAGとは何かのような話題は扱いません。 RAGが、ほぼAI活用の現実的な最適解になりつつある LLMは高度な知的タスクを実行可能である。 そんな理解が世界に広まっていく中で、企業は自らが蓄えたデータをLLMに組み合わせてどう活用するか躍起になっています。これからはビッグデータだ!という時代を経ているため、情報インフラに投資した企業も多く、AIでデータを活用する流れはもはや確定路線と言えます。 この問題を解決する手法として一番最初に思いつくのは、モデル自体を改変するファインチューニングです。しかし、ファインチューニングにはいくつかの実用上の問題があります。ファインチューニング自体に専門知識が必要である

          ゼロからRAGを作るならこんなふうに
        • すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる

          あなたがさっきまで読んでいた技術的に役立つ記事は、10年後も使えるでしょうか?ほとんどの場合でいいえ はじめに 短期的に効果的な手法や知識は、ソフトウェア開発の分野において、急速に価値を失う傾向があります。この現象は、私たちが何を重点的に学ぶべきかを示唆しています。最も重要なのは、第一に基本的な原理・原則、そして第二に方法論です。特定の状況にのみ適用可能な知識や即座に結果を出すテクニックは、長期的には有用性を失う可能性が高いです。これは、技術や手法が時間とともに進化し、変化していくためです。 learning.oreilly.com 「API Design Patterns」は、このような考え方を体現した書籍です。しかも480 ページもあります。本書は単なる手法の列挙ではなく、Web APIデザインの根幹をなす原則と哲学を探求しています。著者のJJ Geewax氏は、APIを「コンピュータ

            すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる
          • 技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL

            技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL 技術選定に失敗はない 技術選定に失敗はありません。 仮説を立て、検証し、結果の分析からNext Actionを考える。検証の結果がどうであれ、それは過程に過ぎません。 机上の空論だけで全てを理解できるほど、我々人間は賢くないのです。(注意: これは人類全体を誹謗中傷する意味ではありません。) この記事では、この2年間で行った技術選定の成功例をその理由と共に紹介していこうと思います。 申し訳遅れましたが、私、YadaYadaKonnanYadaといいます。私は今回初めて記事を書いたので、どうぞお手柔らかに。 Twitterエンジニア垢作りました。エンジニアのお友達がいません。 @uncode_jp 前提 技術選定に結論はありません。組織毎に前提が違うのだから当然のことです。みんな違っ

              技術選定の成功 2年間を振り返る TypeScript,Hono,Nest.js,React,GraphQL
            • PHP アプリケーションのトレース計装ではじめる OpenTelemetry 入門 - Shin x Blog

              OpenTelemetry を利用して PHP アプリケーションのテレメトリデータを計装する方法をまとめました。 本エントリのコードは下記で公開しています。 github.com OpenTelemetry とは 用語 PHP アプリケーションのマニュアル計装(手動計装) 構成 OTel Collector Jaeger 動作環境 必要なパッケージ PHP コード 設定 実行 PHP アプリケーションのゼロコード計装(自動計装) 必要な拡張とパッケージ 設定 PHP コード 実行 さいごに 参照 OpenTelemetry とは opentelemetry.io OpenTelemetry は、サービスやアプリケーションのテレメトリーデータ(トレース、メトリクス、ログなど)を計装、生成、収集、送信するためのオブザーバビリティフレームワークです。ベンダーニュートラルな OSS であり、CNC

                PHP アプリケーションのトレース計装ではじめる OpenTelemetry 入門 - Shin x Blog
              • Playwright+MSW でのリグレッションテスト事始 - enechain Tech Blog

                はじめに 背景 やりたいこと Why MSW? 導入手順 詰まったこと defaultのtimeout設定時間が短い CIで落ちた時の検証方法がわからない 認証後のストレージの状態が入ってこない 今後の展望 おわりに はじめに enechainでフロントエンドエンジニアをしている@Shunya078です! 自分の所属するGXデスクでは『日本気候取引所 - Japan Climate Exchange』(以下JCEX)のサービス開発を行っており、その中でReactを使用したフロントエンドの開発を担当しています。 リグレッションテストは運用を考えると、設計から導入した後、どう管理していくかまで検討する点が多く存在します。 JCEXは去年の年末にリリースされたばかりのサービスで、まだブラウザまで含めたリグレッション相当になるテストレイヤーが導入できておらず、存在しませんでした。 今回は新たに自チ

                  Playwright+MSW でのリグレッションテスト事始 - enechain Tech Blog
                • バージョンアップ対応に苦労した過去の自分に送りたい7つの心得

                  こんにちは。 株式会社ココナラでバックエンド開発に従事するRKと申します。 みなさまはシステムのバージョンアップ対応をした経験はありますでしょうか? システムの安定稼働に配慮して一定期間で実施している場合もあれば、利用しているライブラリや開発言語そのものの End Of Life(以降、EOL) によってバージョンアップを余儀なくされて実施した場合もあるでしょう。 どちらにせよ、ユーザーの皆様に安心してシステムをご利用いただくためにも、バージョンアップ対応はとても大事な作業の1つとなります。 弊社ココナラでも、もう少しでEOLを迎える/迎えた開発言語や環境を持つシステムは存在します。 本記事では、ココナラのとあるシステムのバージョンアップ作業対応を実施した際の私自身のふりかえり内容を記載します。 本当にこの記事を過去の自分に送って読ませたい。 なお、弊社ではすでにバージョンアップに関連する

                    バージョンアップ対応に苦労した過去の自分に送りたい7つの心得
                  • Data Contractに向けたProtocol Buffersの調査 - yasuhisa's blog

                    背景: データ品質を担保するにはデータソースの品質が重要 データソースの品質を担保する手段としてのData Contract Data Contractの表現方法の一つとしてのProtocol Buffers Data ContractとしてProtocol Buffersを使う データの入出力を一箇所に集約、Protocol Buffersで抑えるパターン ストレージのスキーマをProtocol Buffersで抑えるパターン 発展的な話題 & 読書会の案内 参考文献 背景: データ品質を担保するにはデータソースの品質が重要 私はデータエンジニアをしており、DWHやデータマートのデータ品質について考えることが多い。BigQueryなどにデータが取り込まれた後のレイヤリングやテスト、改善に向けたデータ品質の可視化について、以前発表した。 データが取り込まれた後の整理は進んでいるものの、やは

                      Data Contractに向けたProtocol Buffersの調査 - yasuhisa's blog
                    • tanukirpcというWebフレームワークを作っています - ぱいぱいにっき

                      最近の盆栽ですけれど、tanukirpcというGoのWebフレームワークを書いています。ある程度やりたいことができはじめてきたので、どんなフレームワークかを紹介します。 github.com TL;DR Webアプリケーションでよくやるようなことを、最短手順で自然に書けるように設計したフレームワーク リクエストをパースして構造体にマッピングする リクエストの内容をバリデーションする レスポンスの構造体をエンコードしてレスポンスとして書き込む グローバルスコープもしくはリクエストスコープでの構造体のコントローラーへの依存性注入 DBコネクションやAPIクライアントの保持などに使う 現在の責務範囲はWebアプリケーションのコントローラーだが、Webアプリを作る時によくやるようなことはできるだけやれるようにしてく tanukiup 開発サーバー起動用コマンド。ファイル更新を監視してビルドおよびサ

                        tanukirpcというWebフレームワークを作っています - ぱいぱいにっき
                      • サーバーサイド Java / Kotlin エコシステムに潜む ThreadLocal ~ Kotlin Coroutine と ThreadLocal を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ

                        こんにちは!ヘンリーでソフトウェアエンジニアをしている @agatan です。 今日は小ネタで、サーバーサイド Java / Kotlin エコシステムで意外と使われている ThreadLocal と、それを Coroutine と安全に組み合わせる方法について紹介します! TL; DR ThreadContextElementを使おう! ThreadLocal とは java.lang.ThreadLocal<T> は、その名の通り、スレッドローカルな(= スレッドごとに独立した値を持つ)変数を定義するための機構です。 ある Thread で値を書き換えたとしても、他の Thread から見た ThreadLocal 変数の中身は書き換わらない、という性質があります。 import kotlin.concurrent.thread val tls: ThreadLocal<Int> =

                          サーバーサイド Java / Kotlin エコシステムに潜む ThreadLocal ~ Kotlin Coroutine と ThreadLocal を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ
                        • 分散トレーシングサービス Vaxila(ヴァキシラ)が Mackerel の機能として使えるようになりました - Mackerel ブログ #mackerelio

                          こんにちは! Mackerel チーム、サブディレクターの id:RyuGoo と申します。2024年4月から Mackerel チームの一員に加わり、主にプロダクトマネジメント的な仕組みや考えの導入を進めています。 Mackerel は OpenTelemetry を基盤としたオブザーバビリティの対応強化を進めています。2024年6月に発表した Vaxila の事業譲受より、ユーザーの皆様にオブザーバビリティの主要シグナルである「トレース」をいち早く体験していただけるよう開発を続けておりましたが、本日、このトレースを提供する Vaxila を Mackerel の機能として無料でご利用いただけるようになりました(トレース機能の体験版という位置づけとなります)。 本位置づけの性質上、通常の Mackerel とは品質基準やサポート対応が異なります。以下の点にご注意ください。 予告なしの停止

                            分散トレーシングサービス Vaxila(ヴァキシラ)が Mackerel の機能として使えるようになりました - Mackerel ブログ #mackerelio
                          • 【REST API / gRPC / tRPC】徹底比較!どれを選ぶべきか?

                            はじめに API設計のアーキテクチャスタイルには、REST API、GraphQL、gRPC、tRPCなど、複数の選択肢があります。 私はこれまでに、実務や個人開発でREST API、gRPC、tRPCを使用してきました。その上で今回は、それぞれの特徴と開発の流れについて紹介します。さらに、それぞれのメリット・デメリットを挙げ、特定のケースに適した選択について考察してみました。 API設計のアーキテクチャスタイルの選択に悩んでいる方に、少しでも参考になれば幸いです。 REST API RESTとは まずRESTとはシンプルなWEB全体のアーキテクチャスタイルのことです。RESTには4つの原則があり(6つとも言われている)それらを満たすもののことをRESTfulと言います。 ※それぞれの原則の詳細は省略します。 統一インターフェース アドレス可能性 接続性 ステートレス性 REST APIは

                              【REST API / gRPC / tRPC】徹底比較!どれを選ぶべきか?
                            • FlutterとUnityの開発効率化 | gihyo.jp

                              本連載は、iOS/Android向けのアプリでUIの表現力を高めることを目標にUnity製アプリにFlutterを導入した例を具体的な実装方法を交えながら紹介する記事の5回目となります。 前回までの記事でFlutterとUnityで連携するための具体的な解説は終了しています。 今回は少しでも開発を効率的に進めるための工夫を紹介を行い、本連載を締めさせていただきます。 前回までの記事をまだ読まれていない方はまず一通りお読みいただいてから今回の記事を見ていただけると幸いです。 4回目:FlutterとUnityを連携させる 3回目:Unity製のiOSアプリにFlutterを組み込む 2回目:Unity製のAndroidアプリにFlutterを組み込む 1回目:Flutter「を」Unity「へ」導入する FlutterとUnityを連携させる開発における問題点 Flutter、Unityそれ

                                FlutterとUnityの開発効率化 | gihyo.jp
                              • ざっくり理解するgRPC入門

                                この記事の概要 こんにちは、エンジニアの加藤(@tomo_k09)です。 最近、はじめてgRPCを使う機会があったので、知識ゼロの状態でもざっくりとgRPCとは何かについてイメージがつくように、gRPCとはいったい何なのかやgRPCを使った実装例についてまとめてみました。 「gRPCって何かわからない」、「gRPCってなんとなく知っているけど、もう少し理解したい」という方には役に立つないようになっていると思います。 これからgRPCを学びたいという方の参考になれば幸いです。 gRPCとは gRPCは、Googleが開発したオープンソースのリモートプロシージャコール(RPC)システムで、異なるサーバーやサービス間で効率的にデータをやり取りするための技術です。 gRPCの主な用途 gRPCの代表的な使い方としては、以下の3つが挙げられます。 1:マイクロサービス間の通信 サービス同士がデータや

                                  ざっくり理解するgRPC入門
                                • Y'all are sleeping on HTTP/3

                                  Wake up call This post is about HTTP/3 and QUIC. If you don’t know what that is, there are many, many, many, many, many, many, many good resources that will get you up to speed. I’m writing this post to enlighten people on what has been happening in the last few years. All major browsers support HTTP/3 now. Most major cloud providers support HTTP/3 now. Most major load balancers support HTTP/3 now

                                    Y'all are sleeping on HTTP/3
                                  • Windows 版 Chrome で Cookie のセキュリティを向上させる

                                    .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

                                      Windows 版 Chrome で Cookie のセキュリティを向上させる
                                    • Performance Benchmarking: gRPC+Protobuf vs. HTTP+JSON

                                      While human-readable JSON over HTTP remains a popular choice for service communication due to its simplicity and familiarity, in Microservices architectures gRPC is emerging as a popular choice for communication. It is mainly because in the case of internal services, the structured formats, such as Protocol Buffers, are a better choice than JSON for encoding data. So we wanted to experiment with p

                                        Performance Benchmarking: gRPC+Protobuf vs. HTTP+JSON
                                      • 2024年7月に購入した本

                                        今月は22冊購入。 ワインバーグ計算機入力の人間学ワインバーグの文章読本: 自然石構築法ワインバーグのシステム洞察法 ソフトウェア文化を創る〈2〉ワインバーグのシステム行動法 ソフトウェア文化を創る (3)ソフトウェア文化を創る 4 ワインバ-グのシステム変革法トム・デマルコの本を買い揃えたので今度はワインバーグの本を買い揃えようと思う。中古で安くなっているものを見つけては購入している。未所持は残り2冊だけになった。 トム・デマルコ品質と生産性を重視したソフトウェア開発プロジェクト技法: 見積り・設計・テストの効果的な構造化トム・デマルコの本で買い逃しを見つけたので購入。 JoelBEST SOFTWARE WRITINGトム・デマルコやワインバーグ以外にエッセイを書いている人ってそんなに多くないイメージ。昔Joel Spolskyの本を読んだなあと思って中古で買い揃えていく。 日系のあの

                                          2024年7月に購入した本
                                        • There's more than 25 ways to bypass a Secure Web Gateway

                                          'Vendors cannot fix' this architectural failure, SquareX founder tells us DEF CON Secure Web Gateways (SWGs) are an essential part of enterprise security, which makes it shocking to learn that every single SWG in the Gartner Magic Quadrant for SASE and SSE can reportedly be bypassed, allowing attackers to deliver malware without gateways ever catching on. Using a tactic he's dubbed "last mile reas

                                            There's more than 25 ways to bypass a Secure Web Gateway
                                          • S3上のログデータをBigQueryにニアリアルタイム連携する基盤を作った話 - Classi開発者ブログ

                                            こんにちは、データプラットフォームチームの鳥山(id: to_lz1)とマイン(id: manhnguyen1998)です。 Classiでは、AWS上にあるサービスが出力したログをBigQueryに連携するプロダクト「Seneka」を開発し*1、社内の開発者・分析者に役立ててもらっています。 ログの連携はこれまでバッチ処理で行っていたのですが、この夏に技術的なチャレンジも兼ねてニアリアルタイムでの連携が出来るように移行しました。そこで、この記事で移行前後の構成と、移行時に気をつけたことについて、紹介できればと思います。 Senekaのそれまでの構成 改善方法を議論する前に、まずは従来の構成について簡単に紹介します。 バッチ処理を軸にしたSenekaの旧構成 アプリケーションまたはロードバランサーからS3にログファイルがアップロードされる Cloud Composerで毎時実行されるDAG

                                              S3上のログデータをBigQueryにニアリアルタイム連携する基盤を作った話 - Classi開発者ブログ
                                            • 【REST API / gRPC / tRPC】徹底比較!どれを選ぶべきか?

                                              はじめに API設計のアーキテクチャスタイルには、REST API、GraphQL、gRPC、tRPCなど、複数の選択肢があります。 私はこれまでに、実務や個人開発でREST API、gRPC、tRPCを使用してきました。その上で今回は、それぞれの特徴と開発の流れについて紹介します。さらに、それぞれのメリット・デメリットを挙げ、特定のケースに適した選択について考察してみました。 API設計のアーキテクチャスタイルの選択に悩んでいる方に、少しでも参考になれば幸いです。 REST API RESTとは まずRESTとはシンプルなWEB全体のアーキテクチャスタイルのことです。RESTには4つの原則があり(6つとも言われている)それらを満たすもののことをRESTfulと言います。 ※それぞれの原則の詳細は省略します。 統一インターフェース アドレス可能性 接続性 ステートレス性 REST APIは

                                                【REST API / gRPC / tRPC】徹底比較!どれを選ぶべきか?
                                              • inforno :: Go言語用のObject mapper generatorを書いた

                                                Go言語で構造体と構造体をマッピングする、いわゆるObject mapperを生成するCLIを書きました。 経緯 READMEに書いてる通りですが、いわゆるClean architectureなど多層構造のアプリケーションではどうしても似たようなオブジェクトを定義せざるを得ないことがあります。 特にキツい(?)のがgRPCを採用した場合ですね。 protocが吐く構造体は完全にprotobufに依存したものになっておりある程度層をまたいで同じオブジェクトを持っていくのは許容しよう、と割り切ってもこれをいわゆるドメイン層にそのままもっていくのは結構ハードルが高いのではないかと思います。 #あと、gogo/protobuf 亡き今、protoc-gen-goが非標準命名規則でソースコードを出力するのもキモチワルイ。。。 WEB上にいっぱいあるGo + gRPCのクリーンアーキテクチャサンプル的

                                                • Playwright+MSW でのリグレッションテスト事始 - enechain Tech Blog

                                                  はじめに 背景 やりたいこと Why MSW? 導入手順 詰まったこと defaultのtimeout設定時間が短い CIで落ちた時の検証方法がわからない 認証後のストレージの状態が入ってこない 今後の展望 おわりに はじめに enechainでフロントエンドエンジニアをしている@Shunya078です! 自分の所属するGXデスクでは『日本気候取引所 - Japan Climate Exchange』(以下JCEX)のサービス開発を行っており、その中でReactを使用したフロントエンドの開発を担当しています。 リグレッションテストは運用を考えると、設計から導入した後、どう管理していくかまで検討する点が多く存在します。 JCEXは去年の年末にリリースされたばかりのサービスで、まだブラウザまで含めたリグレッション相当になるテストレイヤーが導入できておらず、存在しませんでした。 今回は新たに自チ

                                                    Playwright+MSW でのリグレッションテスト事始 - enechain Tech Blog
                                                  • nerdctlのFAQとトラブルシューティング|Hiroshi Miiura

                                                    プロジェクトnerdctlはdockerとどう違うのですか?nerdctlの目的は、Dockerには存在しないcontainerdの最先端の機能の実験を容易にすることです。 このような機能には、オンデマンドのイメージプル(遅延プル)やイメージの暗号化/復号化が含まれますが、これらに限定されません。 参照 .タイトルページ nerdctlには存在するがDockerには存在しない機能のリスト(またはその逆)です。 nerdctlの目標は、Dockerに_対抗することでは_ありません。これらの最先端の機能は、最終的にはDockerでも利用できるようになる予定です。 nerdctlはctrやcrictlとどう違うのですか?ctr は containerd にバンドルされているデバッグユーティリティです。 ctr は Docker CLI と互換性がなく、ユーザーにとって使い勝手が悪いです。 特に、

                                                      nerdctlのFAQとトラブルシューティング|Hiroshi Miiura
                                                    • 【セッションレポート】Cloud Runを知り尽くすDeep Dive! #cm_odyssey | DevelopersIO

                                                      はじめに クラスメソッドは会社設立20周年のイベントとしてClassmethod Odysseyを 1 ヶ月間にわたって開催しています。 7/9(火)Classmethod Odyssey ONLINE クラウド編にて諏訪悠紀さん(グーグル・クラウド・ジャパン合同会社)が登壇されたセッション【Cloud Runを知り尽くすDeep Dive!】のレポートを本記事ではお伝えします。 スピーカー 諏訪 悠紀(Yuki Suwa) グーグル・クラウド・ジャパン合同会社 カスタマーエンジニア クラスメソッド株式会社に2011年-2020年の間在籍 諏訪さんのZennの記事 諏訪さんのクラスメソッド時代の記事 諏訪さんの2023年12月の一人Cloud Runアドベントカレンダー セッション概要 Google Cloud のサーバーレス コンテナ サービスである「Cloud Run」はアップデートを

                                                        【セッションレポート】Cloud Runを知り尽くすDeep Dive! #cm_odyssey | DevelopersIO
                                                      • bmf-tech.com - gRPCとProtocol Buffersについて復習するためのリンク集

                                                        gRPCとProtocol Buffersについて復習するためのリンク集 アプリケーション 2024年1月25日 作成2024年1月25日 更新 概要 gRPCとProtocol Buffersについて改めておさらいしておきたかった。 リンク gRPC grpc.io 公式ドキュメント zenn.dev - 作ってわかる! はじめてのgRPC まだ読んだことなかったので読んでみたのだが大変勉強になった。日本語情報はまずこれ読んでみると良いかも。 www.wantedly.com - gRPC Internal - gRPC の設計と内部実装から見えてくる世界 gRPC内部についてディープダイブしている記事 cloud.google.com RESTもgRPCもAPIの設計方針に迷ったら参照すると良いらしい。特にgRPC寄りで書かれている。 grpc.io - gRPC Load Balan

                                                        • grpc-go resolverのメモ - Qiita

                                                          grpc-go(https://github.com/grpc/grpc-go) resolverのメモ 確認したバージョン go 1.22 google.golang.org/grpc v1.63.2 resolverとは gRPCのresolverはクライアントがサーバー発見するために使用されるコンポーネント サービス名を実際のネットワークアドレス(IP アドレスとポート)に解決する役割を担っている ライブラリから提供されるresolver ライブラリ(grpc-go)からdns, passthrough, unix, unix-abstractの4種類のresolverが提供されている どのresolverを使うかはgrpc.ClientConnを生成するgrpc.NewClientとgrpc.DialContextのtarget引数に渡すURL schemaで判定される DNS r

                                                            grpc-go resolverのメモ - Qiita
                                                          • PrometheusとGrafanaでオブザーバビリティ入門 | オブジェクトの広場

                                                            Prometheus / Grafana Loki / Grafana Tempoを活用して分散システムにおけるメトリクスやログ、トレースの調査・分析を体験してみます。 1. はじめに 皆さんはシステム運用をどのように行っていますでしょうか。筆者は数年前まではモノリシックなシステムの運用が多かったこともあり、CPUやメモリなどの使用率に閾値を設けたり、エラーログを検出することでメールを発報するような運用監視を長年続けていました。しかし近年はクラウドの利用が当たり前になりコンテナやサーバレスでのシステム構築が増えたことで、システム全体の構成が複雑化してきています。複雑化されたシステムは異常が見つかっても複数のアプリケーションにわたって調査する必要が出てくるため、単純なCPUやメモリ、エラーログ等の監視だけでは原因の特定が困難になってきました。そこで今回は複雑な分散システム全体を観測する手法と

                                                              PrometheusとGrafanaでオブザーバビリティ入門 | オブジェクトの広場
                                                            • オープンソースを活用!AWS X-Rayとの連携でパフォーマンス改善を実現する - GMO MAKESHOP engineer blog

                                                              GMO メイクショップ コアグループでエンジニアをしている池田です。 今回はOpenTelemetryを用いた分散トレーシング環境を構築したので、そのプロセスを綴っていきます。 導入の目的 前提 プロジェクトについて 筆者について 構成 ローカル環境 開発環境 セットアップ Jaegerコンテナの準備 ポート 計装 トレースの構成要素について トレーサーの定義 スパンの生成 サービス間でトレースデータを共有する ログ出力 Jaeger AWS X-Ray aws-otel-collectorの設定 完成したもの ローカル環境(Jaeger) 開発環境(AWS X-Ray) まとめ 参考 導入の目的 今回OpenTelemetryを導入した目的は以下の通りです。 環境ごとに導入する目的が異なります。 ローカル、開発環境で基本は運用して、ステージング、本番では調査の時だけ稼働させる予定です。

                                                                オープンソースを活用!AWS X-Rayとの連携でパフォーマンス改善を実現する - GMO MAKESHOP engineer blog
                                                              • 【Nginx】nginx upstream パッシブヘルスチェックのmax_failsは何を対象にカウントするのか - 地方エンジニアの学習日記

                                                                仕事でこのfailsは何をfailsとしてカウントしてるんだっけ?となったので調べった。 公式を読む。max_failsは指定された回数失敗するとupstreamから外されるということが書いてある。この失敗とは?についての言及はここには無い max_fails=number sets the number of unsuccessful attempts to communicate with the server that should happen in the duration set by the fail_timeout parameter to consider the server unavailable for a duration also set by the fail_timeout parameter. By default, the number of unsuc

                                                                  【Nginx】nginx upstream パッシブヘルスチェックのmax_failsは何を対象にカウントするのか - 地方エンジニアの学習日記
                                                                • Node.jsのLambdaコールドスタートで熱を上げる方法

                                                                  ある顧客のLambdaのコールドスタートを90%削減した! ある顧客が、Momentoを使って初めてのNode.js Lambda関数を書いていました。彼らは、Momento APIを1回呼び出すだけのシンプルな関数で、コールドスタート時間が1秒以上かかることを報告しました。 それは受け入れがたい状況です!Lambda環境についての最初の観察結果は以下の通りでした: ・このLambda関数が行っていたのは、Momentoにgrpcコールを1回行い、レスポンスを返すことだけでした。Lambda関数全体のコードは25行程度でした。 ・Webpackを使用してビルドおよびバンドル ・サーバーレス・フレームワークを使用してデプロイ ・それは、@gomomento/sdkへの単一の依存関係を持っていました ・オリジナルのバンドル・サイズは1.5MB ・コールドスタート時間は最大1000ms ・Lam

                                                                    Node.jsのLambdaコールドスタートで熱を上げる方法
                                                                  • Rails7.1へバージョンアップした話 - SMARTCAMP Engineer Blog

                                                                    はじめに バージョン詳細 作業内容 Railsバージョンアップ Rubyバージョンアップ new_framework_defaults_7_1.rb 大変だったこと&ハマったこと config.load_defaultsの値が5.2だった ローカルのsecret_key_baseの保存場所が変わっていた CircleCIでの"bundle install"ができなくなった 良かったこと&助かったこと テストコード 新しいデフォルト設定値 最後に はじめに こんにちは!スマートキャンプ開発エンジニアの末吉(だいきち)です。 今回は、BALES CLOUDにてRailsとRubyのバージョンアップを行いましたので、 そちらについてお話ししたいと思います! バージョン詳細 具体的なバージョンについては、以下の通りです。 Ruby on Rails: 7.0.2 -> 7.1.3.2 Ruby:

                                                                      Rails7.1へバージョンアップした話 - SMARTCAMP Engineer Blog
                                                                    • protoファイルからいい感じのAPI仕様書を作りたい - Qiita

                                                                      はじめに gRPC + ProtocolBuffers でAPIを作ったり使っている方々がこちらの記事を読んでくれているんだと思いますが、皆さんはAPI仕様をどのように確認しているでしょうか。 protoファイルと別に仕様書を作ると二重管理になってしまってメンテナンスが面倒ですし、protoファイルを直接読むにもファイルが別れている場合、どこに何の記載があるのかをこれまた管理する必要があってやっぱり無駄なものが生まれますよね。 それらを解消する方法として、本記事ではprotoc-gen-docを使ってprotoファイルから直接ドキュメントを生成する方法と、カスタムテンプレートを使って更に読みやすくする方法をまとめたいと思います。 (意外と日本語で取りまとめられてなかったのでアドベントカレンダーなら良い機会かなーって) protoファイルからドキュメントを生成 protoファイルからドキュメ

                                                                        protoファイルからいい感じのAPI仕様書を作りたい - Qiita
                                                                      • OpenTelemetry Collectorを使ってDatadogにカスタムメトリクスを送信する

                                                                        はじめに 株式会社CastingONEでソフトウェアエンジニアをしている @takashabe です。普段はHR領域のSaaSをGoで書いています。 弊社ではモニタリング基盤としてDatadogを採用しており、インフラやアプリケーションのメトリクスを収集しています。 また特定のSLIを設定するためにカスタムメトリクスをDatadogに送信することがあります。 従来はアプリケーション内で直接Datadog APIを叩いてカスタムメトリクスを送信していましたが、それをOpenTelemetry Collectorを使って送信するように変更しようとしています。 このエントリでは、OpenTelemetry Collectorを使ってDatadogにカスタムメトリクスを送信する方法について紹介します。 またサンプルコードは以下にあります。 OpenTelemetry Collectorとは Ope

                                                                          OpenTelemetry Collectorを使ってDatadogにカスタムメトリクスを送信する
                                                                        • ネットワーク機器の構成変更を行うAnsibleでコレクションまとめ|SHIFT Group 技術ブログ

                                                                          はじめに株式会社SHIFT ITソリューション部の水谷です。 前回Cisco Catalyst 8000vをAWSのEC2で立ち上げて、Ansibleで少し操作してみましたが、その際は cisco.ios というAnsibleコレクションを使用しました。 Ansibleのコレクションが提供されているサイト、Ansible GalaxyやRedHatのAutomation Hubを覗いてみると、これ以外にもたくさんのネットワーク機器操作用コレクションが見つかります。 私は前回の記事を通して、ネットワーク機器の設定自動化に少し興味を持ったので、どのようなコレクションがあるのか調べてみました。今回は、見つけたコレクションに関する情報をnamespaceごとに簡単にまとめてみたいと思います。 【cisco】 namespaceまずは、ネットワーク機器メーカーとして、最もよく知られているCiscoか

                                                                            ネットワーク機器の構成変更を行うAnsibleでコレクションまとめ|SHIFT Group 技術ブログ
                                                                          • AIの技術を社会に実装し、世の中をより良くするサービスをつくる。GO株式会社・渡部徹太郎氏が教えるMLエンジニアの仕事 | レバテックラボ(レバテックLAB)

                                                                            TOPコラム現場に聞く!わかるエンジニア職種図鑑AIの技術を社会に実装し、世の中をより良くするサービスをつくる。GO株式会社・渡部徹太郎氏が教えるMLエンジニアの仕事 GO株式会社 MLエンジニア 渡部 徹太郎 東京工業大学大学院 情報理工学研究科にてデータ工学を研究。株式会社野村総合研究所にてオンライントレードシステムやオープンソース技術担当をしたのち、株式会社リクルートテクノロジーズでは複数のデータ分析基盤のリーダを担当。その後、GO株式会社の前身となる会社(JapanTaxi)に入社。ドライブレコーダーのデータをAIで活用するプロジェクトの責任者や、タクシーアプリ『GO』のデータ基盤の責任者をしている。著書として「実践的データ基盤への処方箋」や「図解即戦力 ビッグデータ分析システムと開発がこれ1冊でしっかりわかる教科書」がある。 X:@fetarodc こんにちは、GO株式会社でデー

                                                                              AIの技術を社会に実装し、世の中をより良くするサービスをつくる。GO株式会社・渡部徹太郎氏が教えるMLエンジニアの仕事 | レバテックラボ(レバテックLAB)
                                                                            • コミックマーケット105に申し込みました - 神和電子

                                                                              お知らせ お久しぶりです。 当サークル『神和電子』は、コミックマーケット105(2024年の冬コミ)に申し込みました。 図1サークルカット サークルカットにも書いてあるのですが、新刊のテーマはGObjectを利用した異言語間のライブラリ呼び出し(Foreign function interface)です。C言語だけでなくRustで書いたライブラリを別の言語(RubyなりPerlなり)から呼び出す方法の説明を書ければと思っています。 サクカの子は 前回の本 の詠よみちゃんです。頑張って描きました。今回の本も前回のGStreamerと関連するテーマなのもあって、詠ちゃんが主人公として続投予定です。関連はしているものの、特に前回の本が前提知識ではありません。中学生くらいのときからずっと萌え萌え技術書が大好きなので、今回もそういう道を追っていきたいですね。 GObjectって何? 何が嬉しいの?

                                                                              • @Hiroki__IT が目の前にやってきて私にIstioのこと教えてくれた。- Istio in Action の読書感想文 - じゃあ、おうちで学べる

                                                                                はじめに マイクロサービスアーキテクチャの台頭により、サービスメッシュ技術は現代のクラウドネイティブ環境において外せない選択肢の一つとなっています。 その理由は明確です。マイクロサービスに求められる非機能要件の多くは類似しており、これをアプリケーション側で個別に実装すると、開発者やインフラエンジニアの負担が増大するからです。 ここで登場するのがサービスメッシュです。サービスメッシュの採用により、これらの非機能要件をインフラ層で一元管理することが可能となり、アプリケーション開発者とインフラエンジニアの責務を明確に分離できます。つまり、各エンジニアが自身の専門領域にフォーカスできるのです。これは単なる効率化ではなく、イノベーションを加速させるためサービス開発する上での労苦をなくします。 そして、サービスメッシュの世界で圧倒的な存在感を放っているのがIstioです。その包括的な機能と広範な採用で

                                                                                  @Hiroki__IT が目の前にやってきて私にIstioのこと教えてくれた。- Istio in Action の読書感想文 - じゃあ、おうちで学べる
                                                                                • Data Contractに向けたProtocol Buffersの調査 - yasuhisa's blog

                                                                                  背景: データ品質を担保するにはデータソースの品質が重要 データソースの品質を担保する手段としてのData Contract Data Contractの表現方法の一つとしてのProtocol Buffers Data ContractとしてProtocol Buffersを使う データの入出力を一箇所に集約、Protocol Buffersで抑えるパターン ストレージのスキーマをProtocol Buffersで抑えるパターン 発展的な話題 & 読書会の案内 参考文献 背景: データ品質を担保するにはデータソースの品質が重要 私はデータエンジニアをしており、DWHやデータマートのデータ品質について考えることが多い。BigQueryなどにデータが取り込まれた後のレイヤリングやテスト、改善に向けたデータ品質の可視化について、以前発表した。 データが取り込まれた後の整理は進んでいるものの、やは

                                                                                    Data Contractに向けたProtocol Buffersの調査 - yasuhisa's blog