並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 214件

新着順 人気順

grpcの検索結果41 - 80 件 / 214件

  • go testの時だけ時刻を固定する - newmo 技術ブログ

    はじめに こんにちは。newmoでソフトウェアエンジニアをやっている@tenntennです。 newmoには2024年8月に入社しました。この記事を書いているのは2024年9月なので、入社してだいたい1ヶ月ちょっとが経過したところです。 なお、筆者が入社した経緯などは次の記事を読んでください。 note.com 入社した当初、newmoのバックエンドコードのコードを眺めていると、次のように宣言された関数を見つけました。 func Now(_ context.Context) time.Time { return time.Now().In(time.UTC) } 単にtime.Now関数を呼び出して、LocationをUTCに設定しているだけです。 しかも、引数はブランク識別子になっているので使用していません。 しかし、筆者はこれを見て、これは後々のことを考えているなと感心しました。 ちな

      go testの時だけ時刻を固定する - newmo 技術ブログ
    • Goで実践 アクターモデル vol.1 Hello Actor - ytake blog

      Hello Actor 細かい機能の解説はあとの回として、 まずはアクターシステムを使ったプログラミングを体験してみましょう。 Goではアクターシステムが商用でも十分利用できるものは、 下記のProto Actorとergoがあります。 github.com github.com Proto.Actorは、Akka.NET のオリジナル作成者 Roger Johansson によって開発されているもので、 Akka/Pekko と基本の部分がある程度似た形になっています。 あくまで似ている程度で、現在のAkka/Pekkoほど強力なツールが揃っているわけではありませんが、 Proto Actorで概念や作り方を覚えると、少ない労力でAkk/Pekkoにも移行などもができるようになります。 細部は異なりますが、概念などはかなり似ていますのですんなり理解できるはずです。 ergoは Erlan

        Goで実践 アクターモデル vol.1 Hello Actor - ytake blog
      • IoTサービスのアーキテクチャ特集 技術選定のポイントと今後の展望 - Findy Tools

        公開日 2024/09/17更新日 2024/09/17IoTサービスのアーキテクチャ特集 技術選定のポイントと今後の展望 今回のアーキテクチャ特集のテーマは、IoTサービスのインフラアーキテクチャです。IoT分野で革新的な取り組みを続ける日本のIT企業5社にご協力頂き、それぞれの技術的な挑戦と今後の展望についてご寄稿頂きました。 ※ツール名・ご寄稿企業名共にアルファベット順で掲載しております 株式会社ビットキー アーキテクチャ選択の背景や意図ビットキーの各種プロダクトはトビラを制御しています。 普段の我々の生活において、トビラが開いたり閉まったりするのはごく当たり前のことであり、サービス障害など何らかの理由によって、その当たり前が妨げられることがあってはなりません。 その特性上、高い可用性を求めたアーキテクチャを検討する必要がありました。 全体を通して高い可用性を発揮するためにマルチリー

          IoTサービスのアーキテクチャ特集 技術選定のポイントと今後の展望 - Findy Tools
        • Linux以外ではDockerでIPv6が扱えないので簡易なTCP Reverse Proxy Serverを書いた - 時計を壊せ

          まずは公式ドキュメントをご覧ください。 docs.docker.com IPv6 is only supported on Docker daemons running on Linux hosts. 残念! Docker Desktop for Macなどでローカル開発をしているときに、ローカルで立ち上げたプロセスからDocker内にあるコンテナに通信したいことは割りとよくあるユースケースだと思う。 こういうときは、基本的には宛先をIPv4のLoopback Addressである127.0.0.1に向けてあげて、 IPv6を使わないようにしてあげるとよい。 localhostを使ってしまうと、名前解決でIPv6のLoopback Addressに名前解決されるケースがあり、そうなればIPv6に対して接続しようとしてしかしIPv4でしかlisten(2)されていないのでコケる。 しかし、世

            Linux以外ではDockerでIPv6が扱えないので簡易なTCP Reverse Proxy Serverを書いた - 時計を壊せ
          • 【Istio⛵️】Istioによって抽象化されるEnvoyのHTTPSリクエスト処理の仕組み - 好きな技術を布教したい 😗

            この記事から得られる知識 この記事を読むと、以下を "完全に理解" できます✌️ Istioのサイドカーメッシュを題材にしたEnvoyの設定の抽象化について 様々なサービスメッシュツール (特に、Istio、Consul、Cilium、など) でも流用できるEnvoyの知識について この記事から得られる知識 01. はじめに 02. 様々なリソースによるEnvoy設定の抽象化 サービスメッシュ外からのHTTPS マイクロサービス間のHTTPS サービスメッシュ外へのHTTPS 03. istio-proxyコンテナによるHTTPS処理 Istioコントロールプレーンの仕組み サービスメッシュ外からのHTTPS マイクロサービス間のHTTPS サービスメッシュ外へのHTTPS 04. EnvoyによるHTTPS処理 Envoyの設定の種類 フィルター フィルターの一覧 フィルターチェーンの仕

              【Istio⛵️】Istioによって抽象化されるEnvoyのHTTPSリクエスト処理の仕組み - 好きな技術を布教したい 😗
            • 人間によるKubernetesリソース最適化の”諦め”とそこに見るリクガメの可能性 | メルカリエンジニアリング

              Platformチームでエンジニアをしているsanposhihoです。メルカリのPlatformチームでオートスケーリング周りの課題の解決を担当しており、Kubernetes UpstreamでもSchedulingやAutoscaling周りの開発に参加しています。 メルカリでは全社的にFinOpsに取り組んでおり、Kubernetesリソースは最適化の余地があるエリアです。 メルカリではPlatformチームとサービスの開発チームで明確に責務が分かれています。Platformではサービス構築に必要な基礎的なインフラストラクチャを管理し、それらを簡単に扱うための抽象化された設定やツールなどの提供を行っています。サービスの開発チームは、それらを通してサービスごとの要件に応じたインフラストラクチャの構築を行います。 サービスやチームの数も多く、そのような状況での全社的なKubernetesリ

                人間によるKubernetesリソース最適化の”諦め”とそこに見るリクガメの可能性 | メルカリエンジニアリング
              • GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog

                はじめに JCEXで実践しているAPIテストについて 単体テスト 負荷テスト なぜAPIの単体テストを行っているのか API単体テストで使用するパッケージ 実例によるAPI単体テストの環境構築 前提 ステップ1: テストしたいAPIの定義 ステップ2: テストの作成 ステップ3: APIの実装 ステップ4: DBを使ったテスト ステップ5: ヘルパー関数化 ステップ6: テーブル駆動テストに変える ステップ7: フィクスチャを使ったテスト まとめ おわりに はじめに こんにちは、enechainのGXデスクでエンジニアをしている@ejiです。 GXデスクは、『日本気候取引所 - Japan Climate Exchange』 (以下 JCEX) のサービス開発を担当しており、 私は主にBFFとバックエンドのAPIをGoで開発しています。バックエンドのAPIは gRPC を使用しています。

                  GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog
                • freeeカードチームの開発(Go)から得た学びベスト5 - freee Developers Hub

                  この記事はfreeeアドベントカレンダー2023の19日目の記事です。 こんにちは!freeeカードチームのmattsunです。freeeカードUnlimitedの開発運用をしています。私は1年前にfreeeに入社しfreeeカードチームに所属しています。これまでの自分のエンジニアとしてのキャリア(10年強)を通してみても、今のチームではPRレビューやリファクタなどからの学びが多いなぁと感じます。個人的に学びがあったことやチームとしての知見が深まったもののうち、ベスト5(私の主観)をまとめます。 freeeカードシステムは、フロントエンド(TS,React)・BFF(RoR)・Backend(Go)で構成されており、Goでの開発比率が多いことから、本記事はGoのコードに関する言及が多いです。freee社全体をみるとRailsで開発されたシステムも多いですが、Goで開発しているサービスもある

                    freeeカードチームの開発(Go)から得た学びベスト5 - freee Developers Hub
                  • AWS Lambda Under the Hood

                    Transcript Danilov: We'll talk about AWS Lambda, how it's built, how it works, and why it's so cool. My name is Mike Danilov. I'm a Senior Principal Engineer at AWS Serverless. A decade ago, I joined EC2 networking team, and it was a fantastic ride. Then, five years back, I heard about Lambda. I really liked the simplicity of the idea. We run your code in the cloud, no servers needed, so I joined

                      AWS Lambda Under the Hood
                    • OpenAI Embeddings APIとベクトル検索エンジンValdを使って類似文章検索をしてみよう

                      ベクトルの準備 次にタイトル文章をベクトル化していきます。 OpenAIのアカウントを作成し、こちらからAPIキーを取得し、それを環境変数OPENAI_API_KEYに設定した後、次のコードを実行するだけで、入力文章のベクトルを取得できます。 import os import openai openai.api_key = os.environ["OPENAI_API_KEY"] client = openai.OpenAI() def get_embedding(text, model="text-embedding-ada-002"): text = text.replace("\n", " ") return client.embeddings.create(input=[text], model=model).data[0].embedding get_embedding("入力し

                        OpenAI Embeddings APIとベクトル検索エンジンValdを使って類似文章検索をしてみよう
                      • サーバーレス技術の今と未来についてServerlessDays TokyoのPreEventで話してきました - めもおきば

                        𝕏にURL貼れなくなっているので、Zennにもマルチポストしています。 ServerlessDays Tokyo 2024 PreEvent 2024-09-21のServerlessDays Tokyo 2024にむけて、去年に引き続き、直前イベントでサーバーレス技術の今と未来について話してきました。 いよいよ明日からメインイベントですので参加お待ちしています! Serverless Update 2024 文字起こし スライド全体はDocswellさんで公開しています。 PreEventはYouTubeでアーカイブがあります。 サーバーレスのおさらい 「サーバーレス」は、誤解を招きやすい技術用語で様々な定義がありますが、ここでは2つの視点で定義します。 運用者の視点としてのサーバーレスは、物理的なマシンや仮想マシン、EC2インスタンスのような「サーバー」を自分で管理するのではなく、そ

                          サーバーレス技術の今と未来についてServerlessDays TokyoのPreEventで話してきました - めもおきば
                        • Python、Node.js、C#のサンプルコード付き サービス間通信技術「gRPC」を学べる無料の電子書籍

                          Googleによって開発され、オープンソース化された通信技術「gRPC」は、マイクロサービスアーキテクチャにおけるサービス間の通信手段としてはもとより、モバイルアプリケーションがサービスにアクセスする際のインタフェースとしても注目されています。 本eBookでは、連載「スキマ時間にこっそり学ぶ『gRPC』入門」全8回を収録。そもそもRPC(Remote Procedure Call)とはどのような通信技術なのか、gRPC誕生の背景や、gRPCの特徴、利点を解説しています。 第1回以降はC#、Python、Node.js、KotlinとAndroid、SwiftとiOS、Goとgrpc-gatewayなどさまざまなプログラミング言語、プラットフォームを取り上げ、gRPCサーバとクライアントを実装する方法や、サーバストリーミング、クライアントストリーミングを実装する方法を、サンプルコードととも

                            Python、Node.js、C#のサンプルコード付き サービス間通信技術「gRPC」を学べる無料の電子書籍
                          • Next.jsとGoを使っていきます - トレタ開発者ブログ

                            こんにちは、VPoEの北川です。 今回はトレタで現在使用している技術スタックについて紹介します。 創業時から稼働している予約・顧客台帳サービス「トレタ」から現在の注力事業のモバイルオーダーサービス「トレタO/X」までをあらためて振り返ってみると、まるで異なる技術スタックになっているので歴史的な背景などを辿りながら紹介していきます。 技術スタックの変遷 予約・顧客台帳「トレタ」 会社名にもなっている予約・顧客台帳の「トレタ」は創業当時から稼働している築11年ほどのシステムです。 サーバーサイドにはRubyとRubyOnRailsで作られた巨大なコードベースのAPIサーバーがあり、予約台帳のiOSアプリやウェブ予約などのWebアプリケーションなどが利用しています。 長年このモノリシックなシステムを成長させてきたので、以前からトレタを知ってくださっている人にはトレタはRubyの会社と認知されてい

                              Next.jsとGoを使っていきます - トレタ開発者ブログ
                            • サーバーレス技術の今と未来についてServerlessDays Tokyo 2024 直前イベントで話してきました

                              ServerlessDays Tokyo 2024 PreEvent 2024-09-21のServerlessDays Tokyo 2024にむけて、去年に引き続き、直前イベントでサーバーレス技術の今と未来について話してきました。 いよいよ明日からメインイベントですので参加お待ちしています! Serverless Update 2024 文字起こし スライド全体はDocswellさんで公開しています。 PreEventはYouTubeでアーカイブがあります。 サーバーレスのおさらい 「サーバーレス」は、誤解を招きやすい技術用語で様々な定義がありますが、ここでは2つの視点で定義します。 運用者の視点としてのサーバーレスは、物理的なマシンや仮想マシン、EC2インスタンスのような「サーバー」を自分で管理するのではなく、その管理をクラウド事業者に任せるという考え方で、要するに完全従量課金型のフル

                                サーバーレス技術の今と未来についてServerlessDays Tokyo 2024 直前イベントで話してきました
                              • カジュアルに使えるスタブサーバとしてhttpstubとgrpcstubを作って使っている - Copy/Cut/Paste/Hatena

                                このエントリは Go Advent Calendar 2023 12 日目の記事です。 Goのテスティングパッケージで一番好きなパッケージは net/http/httptest です。 テスト実行時に実際にHTTPサーバを立ててHTTPリクエストを受けるというシンプルかつ強力なアプローチが良いです。 クライアント側にエンドポイントを変える仕組みさえあればクライアントのリクエストを受け付ける形でテストを構築することができるので、選択肢に入れておきたいテスト構成です。 ところで、私たちは runn (ランエヌ)というシナリオテスティングツールを開発しています。 github.com runnはHTTPクライアントでありgRPCクライアントでもあるのですが*1、そのrunn自体のテストのためにhttpstubとgrpcstubを作って使用しています。 httpstub github.com ht

                                  カジュアルに使えるスタブサーバとしてhttpstubとgrpcstubを作って使っている - Copy/Cut/Paste/Hatena
                                • Authlete を活用して OAuth 認可サーバの構築期間を短縮した - Gaudiy Tech Blog

                                  こんにちは、Gaudiyでソフトウェアエンジニアを担当しているsato(@yusukesatoo06)です。 弊社が提供するファンコミュニティプラットフォーム「Gaudiy Fanlink」において、外部サービスにAPI提供をする必要があったことから、外部連携について色々と調べて実装しました。 そこで今回は、調査からサーバ構築までのプロセスと、そこで得た学びや気づきを共有できればと思います。 1. OAuthとは 1-1. OAuthの概要 1-2. OAuthのフロー 2. OAuthが必要な背景 2-1. 外部サービス連携 2-2. 他の連携方式との比較 3. OAuthの提供 3-1. 提供方式 3-2. 今回の選定方式 4. OAuthサーバの構築 4-1. Authleteについて 4-2. 必要なエンドポイント 4-3. システム構成 5. 開発を通じて 5-1. 開発を通じた

                                    Authlete を活用して OAuth 認可サーバの構築期間を短縮した - Gaudiy Tech Blog
                                  • 多様なプロダクトが存在する freee における health check 標準化 - freee Developers Hub

                                    こんにちは。freee の Platform Solution チーム1 に所属している nkgw (Twitter) です。 この記事は freee 基盤チーム Advent Calendar 2023 の 15 日目の記事となります。 普段は、エンジニアリングマネージャーをしつつ、新規プロダクトのリリースサポートとか、プロダクトのキャパシティプランニングやコンピューティングリソース調整などをやってました。 今回、freee のプロダクトにおける health check の標準化について取り組みました。health check の要件と非標準化がもたらす具体的な問題を整理しつつ、freee では実際にはどのように health check を定義したのかを紹介します。 その前に... 詳細な内容の前に、弊社のような複数のプロダクトが相互に依存関係があるような環境下における health

                                      多様なプロダクトが存在する freee における health check 標準化 - freee Developers Hub
                                    • UnityからBackendエンジニアへの転生マネジメント術 - Gaudiy Tech Blog

                                      こんにちは!GaudiyでBackendエンジニアをしているtakaです! 今回は、UnityエンジニアとしてCasual Gameチームで活躍されているkazuyaさんが、私が所属しているフィーチャーチームに異動して、1ヶ月半ほどBackend領域を学ぶための武者修行をしたお話です。 Backendの知識はまったくなかったkazuyaさんが、独り立ちするまでにどのようなサポートをしたのか、そのコツを含めてご紹介します! 1. UnityからBackendに転生することになった背景 2. Gaudiyの開発体制とスタイル 3. Backendの立ち上がりサポート 3-1. Backendのシステム構成の説明 3-2. ペアプロ 4. チーム開発に入る上で意識したこと 4-1. 成果を出しやすいタスクから渡す 4-2. 似たようなタスクで反復を促す 4-3. Blockerになりづらいタスク

                                        UnityからBackendエンジニアへの転生マネジメント術 - Gaudiy Tech Blog
                                      • OpenTelemetry 分散トレーシングのシステムアーキテクチャ

                                        sumirenです。 SREやSDETや技術顧問やフルスタックエンジニアをしています。 この記事は OpenTelemetry Advent Calendar 2023 3日目の記事です。 2日目の記事は @k6s4i53rx さんの OpenTelemetryとOpenObserveを使ってKubernetes監視をかじる でした。 背景 OpenTelemetryを使うと、分散システムの各サブシステムでどのように処理が進んだのか可視化することができます。 経験を積んだエンジニアの方であれば、各サブシステムとオブザーバビリティバックエンドが一体どのようなコラボレーションをしているのか気になることかと思います。実際、SDKやOpenTelemetry Collectorを使って手軽に分散トレーシングを実現できても、仕組みを理解できていないと、いざトラブルが発生したときに問題解決が難しいでし

                                          OpenTelemetry 分散トレーシングのシステムアーキテクチャ
                                        • 【インフラ】xDS API の EDS に手を加えて動的に Envoy で weight 調整できるようにした - Mirrativ Tech Blog

                                          こんにちは、ミラティブのインフラを担当している清水です。 ミラティブではクラウドに Google Cloud を利用しているのですが、稀にインスタンスの性能劣化が発生し動かしているアプリケーションの応答時間が長くなることがあります。 非同期な処理の場合は一時的にタスクキューの時間あたりの処理数が減るものの、遅延を許容できる機能であれば時間経過で回復するのでシステムを継続稼働できます。 一方で、web サーバのように同期処理の場合はリクエストを時間内に返すことができずに timeout したりだとか、worker が埋まって新たにリクエストが返せなくなったりと、正常にリクエストを返すことができずにユーザのクライアントにエラーが返ってしまします。 そこで、今回はクラウドが不調になったときに web サーバへ流れるリクエストの流量を動的に制御し、一時的にリクエスト数を減らしてユーザのクライアント

                                            【インフラ】xDS API の EDS に手を加えて動的に Envoy で weight 調整できるようにした - Mirrativ 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
                                            • Trayce

                                              How does it work? The TrayceAgent container runs along side your existing containers. The agent uses eBPF probes to intercept network requests and send them back to the GUI to be displayed. Protocols Supported: HTTP HTTPS (for Go and OpenSSL-based languages like Python, Ruby etc.) Coming soon: Websockets GRPC MySQL & Postgres MongoDB Redis Kafka Who is it for? Trayce is intended for anyone wanting

                                              • We need visual programming. No, not like that.

                                                SummaryMost visual programming environments fail to get any usage. Why? They try to replace code syntax and business logic but developers never try to visualize that. Instead, developers visualize state transitions, memory layouts, or network requests. In my opinion, those working on visual programming would be more likely to succeed if they started with aspects of software that developers already

                                                • マイクロサービス構成における NestJS での gRPC クライアントの運用戦略 - ドワンゴ教育サービス開発者ブログ

                                                  はじめに はじめまして、バックエンドセクションの yukimochi です。 現在、N予備校ではバックエンドのアプリケーションの移行計画が進んでいます。 その一環で、一部のマイクロサービス間通信についても REST API + OpenAPI の現状から gRPC へと移行することになりました。 私の参画しているプロジェクトである教材入稿ツールでは TypeScript + NestJS を採用しており、結合している他マイクロサービスとの通信でgRPCを利用する際の gRPC クライアントと、そのスキーマ定義を担う proto の運用戦略、実現方法について記します。 proto ファイルと型定義パッケージの取り回しについて考える スキーマ定義である proto をどこに保存するか スキーマ定義である proto をどこに保存しておくかは、 proto のバージョン管理の観点で重要です。今回

                                                    マイクロサービス構成における NestJS での gRPC クライアントの運用戦略 - ドワンゴ教育サービス開発者ブログ
                                                  • gRPC Over HTTP/3

                                                    Introduction At the time of writing, HTTP/3 is supported by 30.4% of the top 10 million websites. This market penetration is astounding, but it seems like all of this progress has been possible almost exclusively by work on browsers, load balancers and CDN providers. What about the backend? How’s HTTP/3 doing there? The answer, sadly, is not as incredible. Because of this, I have been very interes

                                                      gRPC Over HTTP/3
                                                    • Kotlinエバンジェリスト・長澤太郎氏が薦める、Kotlinへの理解を深める3冊

                                                      Kotlinエバンジェリスト・長澤太郎氏が薦める、Kotlinへの理解を深める3冊 2024年9月5日 Kotlinエバンジェリスト 長澤 太郎 Ubie株式会社のソフトウェアエンジニア。「テクノロジーで人々を適切な医療に案内する」をミッションに、日々開発に勤しむ。 本業のかたわら、自称Kotlinエバンジェリストとして、講演や執筆などを通じて啓蒙活動に尽力。国内最大のKotlin技術カンファレンス「Kotlin Fest」の代表を務める。 X: @ngsw_taro 1. 『Kotlinイン・アクション』Dmitry Jemerov 著、Svetlana Isakova 著、長澤 太郎 監修・翻訳、 藤原 聖 監修・翻訳、山本 純平 監修・翻訳、 yy_yank 監修・翻訳 2. 『Kotlinスタートブック』長澤 太郎 著 3. 『Kotlin サーバーサイドプログラミング実践開発』竹

                                                        Kotlinエバンジェリスト・長澤太郎氏が薦める、Kotlinへの理解を深める3冊
                                                      • ZLogger v2の新ストラクチャードロギング体験 - hadashiA

                                                        ゆで卵を食べるときは塩をかけるのと同じように、サーバを書くときはストラクチャードロギングをするのが当たり前といった状況になった昨今。世界のロガーたちはキー/バリュー形式の構造化データを出力すべく、その用途に特化したインターフェイスを獲得するに至っている。 一方、プログラミング言語やフレームワークによってはこの辺のサポートはけっこうまちまちで、人によってストラクチャードロギングに対しての理解度やロガーへの要求水準はけっこう違っているようである。 私がサーバを書く仕事を始めた頃なんかは、使っていたウェッブフレームワークはさも当然のように人間にとって読みやすく整形された文字列をログに吐いた。ほかにオプションはなかった。私は「ふーん。そんなもんかな」と思いながら、ログを上から下に読んでいたが、しかしこれは一件のログレコードが改行されまくっていたので、キーワードでgrepするだけで当然のようにぶっ壊

                                                          ZLogger v2の新ストラクチャードロギング体験 - hadashiA
                                                        • バージョンアップ対応に苦労した過去の自分に送りたい7つの心得

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

                                                            バージョンアップ対応に苦労した過去の自分に送りたい7つの心得
                                                          • 事例から学ぶクラウドへのOpenTelemetry導入のハマりどころ - ヘンリー - 株式会社ヘンリー エンジニアブログ

                                                            ヘンリーでSRE / SDETをしているsumirenです。 この記事は株式会社ヘンリーAdvent Calendar 2023の9日目の記事です。昨日は id:nabeop の カジュアルな社内勉強会 : ギベンの紹介 という記事でした。 背景 ヘンリーでは分散トレーシングにOpenTelemetryを用いています。元々、ログはCloud Runの標準出力をCloud Loggingが拾ってくれるものを見ており、メトリクスもCloud Runがマネージドで取得してくれるものを見ていました。しかし、オブザーバビリティを高め、また民主化するためには、トレースを起点にメトリクスやログなど全てのシグナルを追えるべきだと考え、OpenTelemetryを導入しました。 ローカルでいくつかのマイクロサービスとOpenTelemetry Collectorを立ち上げ、Jaegerで分散トレースを追える

                                                              事例から学ぶクラウドへのOpenTelemetry導入のハマりどころ - ヘンリー - 株式会社ヘンリー エンジニアブログ
                                                            • 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
                                                              • GoとCobraを用いた新規マイクロサービス用ボイラープレートの自動生成CLIツールでコスト削減した話 - Gaudiy Tech Blog

                                                                こんにちは。ファンと共に時代を進める、Web3スタートアップ Gaudiy でソフトウェアエンジニアをしている ryio1010です。 私は弊社が提供するファンコミュニティプラットフォーム「Gaudiy Fanlink」の開発において、フィーチャーチームの一員として、主にバックエンド開発を担当しています。 バックエンドのアーキテクチャにはマイクロサービスを採用していますが、会社のフェーズ的に試行錯誤の段階であることや、それに伴うチーム体制の変更がよく起きていることもあり、新しいマイクロサービスの立ち上げも頻繁に行われています。 私自身もこれまでの業務で2〜3つの新しいマイクロサービスを立ち上げる経験をしてきました。 今回は、これらのマイクロサービスの立ち上げと運用の経験から、特に立ち上げフェーズにフォーカスし、改善を行った事例をご紹介したいと思います。 1. マイクロサービスの概要とGau

                                                                  GoとCobraを用いた新規マイクロサービス用ボイラープレートの自動生成CLIツールでコスト削減した話 - Gaudiy Tech Blog
                                                                • コストコで購入した人工衛星経由インターネット「Starlink」のキットを別の場所に持っていったら通信できるのか?実際にやってみたレビュー

                                                                  コストコ門真倉庫店で購入した「Starlink」に接続するためのキットをGIGAZINE編集部に設置したのですが、「他の場所で使うときにはどうすればいいんだろう?」と気になったので、一度取り外して別の建物に取り付けてみました。本記事では、住所変更手続きの解説のほか、Starlinkを使ってゲームするとどうなるのか、雨の時は通信速度が低下するのか、消費電力はいくらなのかといった疑問についても検証してみました。 Starlink https://www.starlink.com/ 今回Starlinkの通信に必要なアンテナを設置するに当たり、まずは天井のないベランダへ置いてみたのですが、数分おきに切れたりつながったりして接続がかなり不安定でした。ここは四方のうち西側に建物の壁があり、東方向には背の高い建物があって、南、北方向および上空は開けているという環境です。 Starlinkアプリで設置環

                                                                    コストコで購入した人工衛星経由インターネット「Starlink」のキットを別の場所に持っていったら通信できるのか?実際にやってみたレビュー
                                                                  • OpenAIのAudio Transcription APIで遊んだ - Lambdaカクテル

                                                                    最近OpenAIがオーディオ系のAPIをいくつか出していた。といってもけっこう前の話だ。 そんな中、最近OpenAIが色々なサービスを展開している。自分も触って習熟しておいたほうが、面白いアイデアを思い付いたときにすぐにプロダクトを作れて役に立つはずだ。そういうわけで色々APIを見ていたところ、その中でも面白そうだった書き起こしAPIを使うことにした。自分が喋った内容を書き起こしてもらいたい。上手くいくだろうか?ボソボソ喋るオタクボイスでも? openai.itshinan.jp このAPIを使うと、オーディオ音声(wavとかflacとか色々な入力形式を使える)から各言語の書き起こしをやってくれる。イクゾー 素材音声 小銭を払う Scalaから呼び出す 所見 まとめ 素材音声 今回用意した自分の音声はこれ。過去の自分の記事の内容の一部をボソボソ読み上げている。お世辞にも上手ではないし、AP

                                                                      OpenAIのAudio Transcription APIで遊んだ - Lambdaカクテル
                                                                    • 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 を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ
                                                                        • UnityとC#で簡単にgRPCする in 2023

                                                                          Turing株式会社のUXチームでインターンをしている東大4年の三輪です。 自動運転のUXを向上させるため、UXチームでは自動運転の「可視化」ソフトウェアの開発に取り組んでいます。 このソフトウェアはTuringが販売する車のディスプレイに搭載される予定です。AIが認識している世界をユーザにも見える形で示すことで、ユーザは自動運転AIの振る舞いをよりよく把握することができるようになります。 画面は開発中のものです 可視化ソフトウェアは、自動運転AIの出力を受け取り、解釈し、Unity上で描画します。この際、自動運転AIと可視化ソフトウェアの間の通信はgRPCで行うことになっています。しかし、Unity上でのgRPCはさまざまな事情でやや複雑な構成を取る必要があります。 この記事では、UnityでgRPCサーバを実装するステップを解説します。 gRPC gRPCはRPC(Remote Pro

                                                                            UnityとC#で簡単にgRPCする in 2023
                                                                          • 現在ポータブルな単一で動くDBを趣味で作っています。 分散DBもやろうってなったとして、レプリケーション機能などを実装するとき 同期する内容は恐らくトランザクションログだけだと思うけど他に何があるのか、 通信プロトコルは何が最適なのか、 マスターが死んだことはどうやってわかるのか、 死んだときマスターはどうやって決めるのか、 そもそも分散DBはインスタンス同士でそれぞれの存在を漏れなく認識できているのか、 色々疑問が大量に湧きます。ここらへんの知識をご教示ください。 | Mond - 知の交流コミュニティ

                                                                            現在ポータブルな単一で動くDBを趣味で作っています。 分散DBもやろうってなったとして、レプリケーション機能などを実装するとき 同期する内容は恐らくトランザクションログだけだと思うけど他に何があるのか、 通信プロトコルは何が最適なのか、 マスターが死んだことはどうやってわかるのか、 死んだときマスターはどうやって決めるのか、 そもそも分散DBはインスタンス同士でそれぞれの存在を漏れなく認識できているのか、 色々疑問が大量に湧きます。ここらへんの知識をご教示ください。 熊崎 宏樹:良いですね。日曜大工でRDBMSを作るのはもっと市民権を獲得しうる趣味だと確信しています。 分散システムを作る際に気をつける事を語ると毎度長くなってしまうのですが、データ指向アプリケーションデザイン、通称イノシシ本に書いてある事をベースラインに説明すると明快であると気づきました。 * レプリケーションされるのはトラ

                                                                              現在ポータブルな単一で動くDBを趣味で作っています。 分散DBもやろうってなったとして、レプリケーション機能などを実装するとき 同期する内容は恐らくトランザクションログだけだと思うけど他に何があるのか、 通信プロトコルは何が最適なのか、 マスターが死んだことはどうやってわかるのか、 死んだときマスターはどうやって決めるのか、 そもそも分散DBはインスタンス同士でそれぞれの存在を漏れなく認識できているのか、 色々疑問が大量に湧きます。ここらへんの知識をご教示ください。 | Mond - 知の交流コミュニティ
                                                                            • 分散トレーシングサービス Vaxila(ヴァキシラ)が Mackerel の機能として使えるようになりました - Mackerel ブログ #mackerelio

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

                                                                                分散トレーシングサービス Vaxila(ヴァキシラ)が Mackerel の機能として使えるようになりました - Mackerel ブログ #mackerelio
                                                                              • Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論

                                                                                ■イベント イマドキのC# .NET Web開発 〜gRPC, GraphQL, Blazorもあるよ〜 https://sansan.connpass.com/event/316664/ ■発表者 Sansan Engineering Unit Data Hubグループ 今村 有人 …

                                                                                  Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論
                                                                                • Istioのenvoyサイドカーをデバッグする - CADDi Tech Blog

                                                                                  SREチームの前多です。以前、Google Cloudが提供するサービスメッシュのAnthos Service Meshの入門記事を書きました。 caddi.tech この記事のまとめで私は、Istio (Anthos Service MeshのベースのOSS) を詳しく知るには、envoyのことをもっと知る必要があると書きました。 そしてサービスメッシュで何かエラーが起きているとき、それはサービスメッシュ自体ではなく インフラやアプリケーションのバグや設定ミスがサービスメッシュによってあぶり出されるということも述べました。 先日、サービスメッシュ上でPod間のgRPC通信が特定条件で失敗し、サイドカーがない場合のみ通信が成功するという事象が起きていました。 gRPCのライブラリのアップデートやIssueの調査しましたが、原因がわからずサイドカーを外すしかないかと思っていました。 最終手段

                                                                                    Istioのenvoyサイドカーをデバッグする - CADDi Tech Blog