並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 104件

新着順 人気順

golang github api exampleの検索結果1 - 40 件 / 104件

  • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

    はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

      【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
    • Content-Disposition の filename という地雷。 (1個の観点で17個の脆弱性を見つけた話) - ぶるーたるごぶりん

      English ver: https://gist.github.com/motoyasu-saburi/1b19ef18e96776fe90ba1b9f910fa714#file-lack_escape_content-disposition_filename-md TL;DR 1つのブラウザ、1つのプログラミング言語、15個の { Web Framework, HTTP Client ライブラリ, Email ライブラリ / Web Service 等} で脆弱性を見つけました。 見つけた脆弱性は、全て 1つの観点で発見した (多分 50-80 くらいのプロダクトの調査をした)。 RFC の記載では、(かなりわかりにくく)この問題に対する要件が記載されており、WHATWG > HTML Spec の方はしっかりと書かれているといった状況にある。 この問題は、 Content-Dispo

        Content-Disposition の filename という地雷。 (1個の観点で17個の脆弱性を見つけた話) - ぶるーたるごぶりん
      • Go Scheduler

        ↑ ↓ Go Scheduler Introduction Compilation and Go Runtime Primitive Scheduler Scheduler Enhancement GMP Model Program Bootstrap Creating a Goroutine Schedule Loop Finding a Runnable Goroutine Goroutine Preemption Handling System Calls Network I/O and File I/O How netpoll Works Garbage Collector Common Functions Go Runtime APIs Disclaimer This blog post primarily focuses on Go 1.24 programming langu

          Go Scheduler
        • Big Sky :: Go に Fuzz testing が入った。

          みなさん Fuzz testing ってご存じでしょうか。 人間が作る物は必ずといっていいほどバグが存在します。そしてそのコードをテストする人間も必ずバグを見逃します。 想定していなかった境界値テスト等、人間には先入観という物があり、それが邪魔をして簡単にバグを見逃します。昨今、この様な誰も気付かなかったバグの隙間を突く様な脆弱性が沢山見つかっています。 物によっては重大インシデントに発展する物まであります。 こういった人間では想定できない様なバグを見付けてくれるのが Fuzz testing です。Fuzz testing を実施する事で、ソフトウェアは頑丈になり安全にもなりえます。 本日、Go の master ブランチに Fuzz testing の機能が入りました。 [dev.fuzz] Merge remote-tracking branch 'origin/dev.fuzz'

            Big Sky :: Go に Fuzz testing が入った。
          • 時雨堂クラウドサービスを支える技術 v1

            v2 へ移行中です 円安の影響や、自社製品がスケールアウトに対応したこと、Cloudflare LB の WebSocket の挙動が残念だったことなどを踏まえ、サービス構成を変更を検討中です。 脱 Vultr Egress 料金が Linode だと Vultr の半額 Linode へ移行 脱 Cloudflare LB Linode の NodeBalancers へ移行 マルチリージョンでの利用は Linode の Akamai Global Load Balancer 公開待ち 脱 Cloudflare サポートに不安があるため Akamai へ移行 脱 TimescaledB 移行は Linode PostgreSQL の提供開始待ち OLAP は DuckDB + S3 互換オブジェクトストレージへ移行 ログ保存は VictoriaLogs へ移行予定 脱 DataPacke

              時雨堂クラウドサービスを支える技術 v1
            • 開発視点から見る、新しい分散型SNS「Bluesky」とAT Protocolの可能性 | gihyo.jp

              開発視点から見る⁠⁠、新しい分散型SNS「Bluesky」とAT Protocolの可能性 2023年4月初旬、日本で盛り上がりの兆しを見せ始めた分散型SNS「Bluesky⁠」⁠。本記事では、Blueskyのクライアント開発を行う筆者が、開発視点から見たBluesky、そのコア技術であるAT Protocolについて解説します。 なお、Bluesky誕生の背景や基本機能などについては、syui氏の記事「ネクストブレイク分散型SNSの大本命、Blueskyを先取り!」を併せてご覧ください。 Bluesky をコマンドラインから扱う Blueskyクライアント開発のきっかけ Blueskyにはすでにクライアントが存在します。BlueskyのオフィシャルからはiOSアプリが、また Android向けにはkamakuraさんが開発している青雲というアプリが提供されています。 通常はこれらのクライ

                開発視点から見る、新しい分散型SNS「Bluesky」とAT Protocolの可能性 | gihyo.jp
              • OpenAPI GeneratorでPython Web API構築 | フューチャー技術ブログ

                この記事はPython Advent Calendar 2022 カレンダー2の3日目です。昨日はtttakehさんのじゃんけん画像を分類してみたでした。 はじめにこんにちは。TIG DXユニットの村上です! さて、私の所属しているプロジェクトではバックエンドシステムに主にGo言語を用いており、Go言語によるWeb APIを構築しています。 例えばLambdaとGoを使ったサーバーレスWebAPI開発実践入門など、Future Tech Blogには多くのノウハウが投稿されていますので是非ご覧になっていただければと思います。 今回はGo言語ではなくPythonでWeb APIを構築しました。その際にOpenAPI Generatorが便利だったのでご共有します。 OpenAPI GeneratorOpenAPI GeneratorはAPIリクエストやレスポンスの内容を定義し、それを元にプロ

                  OpenAPI GeneratorでPython Web API構築 | フューチャー技術ブログ
                • Goの†黒魔術†に対する防衛術 ~Defence Against the Go's dark Arts~ - ANDPAD Tech Blog

                  前書き 黒魔術のざっくり概要 黒魔術をどうやって使うか 黒魔術の副作用 黒魔術に対する防衛術 ~Defence Against the Go's dark Arts~ インターフェース適合アサーション 標準的な構文 動作メカニズム 主な用途 実装例 配列長アサーション 標準的な構文 動作メカニズム 主な用途 実装例 定数演算と型定義によるアサーション 標準的な構文 動作メカニズム 主な用途 実装例 マップキー重複アサーション 標準的な構文 動作メカニズム 主な用途 実装例 リンカエラーアサーション 標準的な構文 動作メカニズム import "C" の副作用 コンパイラの定数評価とデッドコード除去 (DCE) リンカのシンボル解決 主な用途 実装例 まとめ 前書き ソフトウェアエンジニアリングの世界では、一見すると動作原理が不可解でありながら、言語仕様の巧みな(あるいは強引な)解釈によって

                    Goの†黒魔術†に対する防衛術 ~Defence Against the Go's dark Arts~ - ANDPAD Tech Blog
                  • Better gRPC な Connect に乗り換える - Go言語編

                    デジタル認知行動療法アプリ Awarefy は、2022年4月からバックエンドシステムを Go + gRPC / Protocol Buffers を用いて開発・運用しています。現在進行中の Web アプリ開発のために、connect-go への切り替えが事実上必要になったため、grpc-go から connect-go へのマイグレーションを実行しました。 Connect とはそもそも Connect とはなにかですが、Better gRPC と理解するのがよいでしょう。 Getting started | ConnectConnect is a slim library for building browser- and gRPC-compatible HTTP APIs.ConnectConnect is a slim library for building browser- an

                      Better gRPC な Connect に乗り換える - Go言語編
                    • AWS 環境の可視化を加速する Diagram-as-code とAmazon Bedrockの活用 | Amazon Web Services

                      Amazon Web Services ブログ AWS 環境の可視化を加速する Diagram-as-code とAmazon Bedrockの活用 「このシステム、全体像を見せてもらえますか?」この質問に即座に対応できる組織はどれくらいあるでしょうか。 多くの AWS ユーザーが直面している課題の一つが、インフラストラクチャの可視化です。AWS リソースの構築は Infrastructure as Code (IaC) を実現する AWS CloudFormation や AWS CDK などの発展により自動化が進んだ一方で、それらの構成図を作成する工程は依然として人の手に委ねられていることが多いのが現状です。 以下のような課題を抱えているチームは少なくないでしょう: AWS CloudFormation で管理している本番環境の構成図が古いままで、実態と合っていない 開発環境、ステージ

                        AWS 環境の可視化を加速する Diagram-as-code とAmazon Bedrockの活用 | Amazon Web Services
                      • DuckDB as the New jq

                        Recently, I’ve been interested in the DuckDB project (like a SQLite geared towards data applications). And one of the amazing features is that it has many data importers included without requiring extra dependencies. This means it can natively read and parse JSON as a database table, among many other formats. I work extensively with JSON day to day, and I often reach for jq when exploring document

                        • GitHub - modelcontextprotocol/servers: Model Context Protocol Servers

                          Official integrations are maintained by companies building production ready MCP servers for their platforms. 21st.dev Magic - Create crafted UI components inspired by the best 21st.dev design engineers. ActionKit by Paragon - Connect to 130+ SaaS integrations (e.g. Slack, Salesforce, Gmail) with Paragon’s ActionKit API. Adfin - The only platform you need to get paid - all payments in one place, in

                            GitHub - modelcontextprotocol/servers: Model Context Protocol Servers
                          • Databases in 2024: A Year in Review

                            Like a shot to your dome piece, I'm back to hit you with my annual roundup of what happened in the rumble-tumble game of databases. Yes, I used to write this article on the OtterTune blog, but the company is dead (RIP). I'm doing this joint on my professor blog. There is much to cover from the past year, from 10-figure acquisitions, vendors running wild in the streets with license changes, and the

                              Databases in 2024: A Year in Review
                            • 自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。 - じゃあ、おうちで学べる

                              はじめに 自動化やツール開発において、通常時に上手くいくのは当たり前です。大切なのは失敗を想定することです。自動化したツールがエラーも出さずに実行結果的にも成功してるので動いていると思っていたら、実は問題が発生していて泣いた経験は、多くの人にあるのではないでしょうか。エラーを出力し、適切に失敗させて、ログに記録することで、問題の早期発見と迅速な対応が可能になります。また、エラーが発生する可能性のある箇所を事前に想定し、適切に処理することで、ツールの信頼性と安定性が向上します。 しかし、エラーハンドリングができていても、それだけでは不十分です。優れた自動化ツールは、環境の変化に柔軟に対応できるようにコードが設計されているべきです。 また、自動化ツールの完成度を高めるには、エラーハンドリングだけでなく、保守性、拡張性、ユーザビリティなども考慮する必要があります。 自動化ツールを開発する際は、常

                                自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。 - じゃあ、おうちで学べる
                              • Realize から Air に移行し、 Go(echo) + Air + docker-compose でホットリロードを利用して開発を行う。 - @teitei_tk Blog

                                この記事は Go 2 Advent Calendar 2020 の4日目の記事です。 tl;dr Goでホットリロード(a.k.a Live reload)を利用する際には今までは Realize というライブラリを使っている人が多いが、開発が止まっている。 issueも放置され、go modの対応もされておらず、2020/10/25現在のモダンな環境で構築を行うと詰まる点が多い。 代わりに Air というライブラリを利用してホットリロードを行う。 Go + docker-composeを利用してホットリロードを利用した開発を行いたいと検索をして一番多かったのがrealizeというライブラリだった。 github.com が、開発が停滞しているようで、issueも溜まっており、go modの対応もされておらず、2020/10/25 現在の環境で新規に作ろうとすると、いくつもハマる点があった

                                  Realize から Air に移行し、 Go(echo) + Air + docker-compose でホットリロードを利用して開発を行う。 - @teitei_tk Blog
                                • OAuth 2.0 / OIDCを理解するために、自分でGoで実装してみた

                                  OAuth 2.0 / OIDCを理解するために、自分でGoで実装してみました。 以下のハンズオンに従って実装していただくと、OAuth認可コードフローとOIDCの一連の流れの理解が深まると思います。 概要 OAuth 2.0は、ユーザーの認証情報を直接アプリに渡すことなく、外部サービスを通じて安全に認可を行うためのプロトコルです 。特にWebやモバイルアプリ開発では、認証と認可を分離しセキュアに委譲する手段として広く利用されています。OpenID Connect (OIDC)はOAuth2.0を拡張してユーザーのアイデンティティ情報を扱う仕組みで、OIDCではIDトークンと呼ばれるJWT形式のトークン(署名付き)が発行され、これによってクライアントはユーザーを識別できます。OAuth2.0単体ではユーザー個人を表すトークンは発行されませんが、OIDCではscopeにopenidを含めるこ

                                    OAuth 2.0 / OIDCを理解するために、自分でGoで実装してみた
                                  • つくってまなぶ静的解析のすすめ - LayerX エンジニアブログ

                                    はじめに こんにちは、LayerXの id:convto です。 そしてこれは LayerX アドベントカレンダー (概念) の1日目の記事です。 アドベントカレンダー盛り上げていくぞ〜ということで11月から始まるらしいです。だいぶフライングしてるけど枠もかなり埋まっててすごい。 せっかくなのでお祭り参加したいぞ〜ということで一発目です。よろしくお願いします。 静的解析つくろうとしたきっかけ ちょうどつい最近記事になった下記の輪読会がきっかけでした。 tech.layerx.co.jp このなかで、mapのrange accesssについて、元mapのcopyを取らないから破壊するとループ挙動が壊れる可能性がある旨が言及されていました。 そのときは雑談で「range accessしてるmapに再代入してたら怒る!みたいな考え方で整理したら静的解析できそうっすよね〜」みたいな話をしたんですが

                                      つくってまなぶ静的解析のすすめ - LayerX エンジニアブログ
                                    • proto定義や成果物の管理用レポジトリを構築した話 - Kyash Product Blog

                                      こんにちは、Fundsチームの @convto です。Kyashでは銀行入金やコンビニ入金などの残高の入出金に関わる部分の開発をしています。 Fundsチームではその業務の性質上多数の外部ベンダとやり取りをしています。 それぞれベンダごとに仕様なども異なるため、その接続部分のいくつかはマイクロサービスとして切り出されています。 Fundsチームの管理しているサービス間の通信でgRPCを導入する際、今後の社内の別サービスなどにも汎用的に使えるようなproto管理レポジトリを構築したのでその紹介をしたいと思います。 proto管理レポジトリで満たしたい要件について はじめに、他社の事例も参考にしつつ、自分たちがprotoを管理するにあたってどのような要件を満たせれば良いのか整理しました。 他社の事例を調査したところ、以下のような構成が多かったように思います。 名称は app-proto や p

                                        proto定義や成果物の管理用レポジトリを構築した話 - Kyash Product Blog
                                      • 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
                                        • Webシステム開発で関わる技術のまとめ(2022年に知った物) - Qiita

                                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Webシステムの開発に携わりたくて転職して9か月,知らない事ばかりで日々勉強しております。 自分の勉強用メモとして知っておくべき技術をまとめようと思いました。 (こちらの記事にインスパイアされたものです) 技術用語について,なるべく2~3行で概要を説明できる事を目指しています。 情報が多過ぎるので,主流な技術は見出しを赤字にしています。(主観強め) また,今後需要が増えそうな技術は青字にしています。(かなり主観強め) とはいえ,新しい技術が登場すれば,数年でトレンドが変わってしまう事も多々あると思います。 ほとんどはあくまでも

                                            Webシステム開発で関わる技術のまとめ(2022年に知った物) - Qiita
                                          • App Storeの返金情報を取得する方法 - Mirrativ Tech Blog

                                            こんにちは、バックエンドエンジニアのogatasoです。 Mirrativでは、配信者にギフトを贈る際に必要なコインをアプリ内課金で購入できます。 今回、不正の検知と対策を目的として、過去および今後のすべての返金履歴を取得し、データベースに取り込む仕組みを導入しました。 本記事では、App Storeから送られてくる返金通知をリアルタイムで受け取る方法と、過去の課金が返金されていないか調べる方法について解説します。 目次 目次 App Store Server Notificationsとは 設定 テスト通知を送る JWTの生成 通知の検証とデコード サンドボックス環境でREFUND通知を取得する トランザクション情報のデコード 過去の返金履歴の取得方法 リトライ処理の必要性 返金トランザクションの見分け方 レートリミットについて We are hiring! App Store Serv

                                              App Storeの返金情報を取得する方法 - Mirrativ Tech Blog
                                            • Govulncheck v1.0.0 is released! - The Go Programming Language

                                              We are excited to announce that govulncheck v1.0.0 has been released, along with v1.0.0 of the API for integrating scanning into other tools! Go’s support for vulnerability management was first announced last September. We have made several changes since then, culminating in today’s release. This post describes Go’s updated vulnerability tooling, and how to get started using it. We also recently p

                                                Govulncheck v1.0.0 is released! - The Go Programming Language
                                              • 【Golang】で【Amazon API Gateway Lambda オーソライザー】と【FirebaseAuth】を利用しての認証をやってみた - カミナシ エンジニアブログ

                                                初めに 初めまして。2021年3月より株式会社カミナシにジョインすることとなりました、エンジニアの@Takuと申します。 業務とは直接関係ないのですが、API Gateway Lambda オーソライザーとFirebaseAuthを組み合わせた認証をやってみたので記載させていただきます。 概要 以下のチュートリアルを元に Amazon API Gateway Lambda オーソライザーを利用した認証機能を作成しました。 docs.aws.amazon.com Amazon API Gateway Lambda オーソライザーを利用することで、 認証・認可部分をAPI Gateway側で共通化できるため、 マイクロサービス化(認証・認可と業務の責務分け) サービスを提供するサーバーの負荷軽減 などのメリットが見込めるのではと考えております。 その際チュートリアルから変更した点として、 OA

                                                  【Golang】で【Amazon API Gateway Lambda オーソライザー】と【FirebaseAuth】を利用しての認証をやってみた - カミナシ エンジニアブログ
                                                • ConnectによるgRPCを超えたスキーマ駆動開発(Golang/TypeScript)

                                                  こんにちは。PortalKeyの植森です。 前回、PortalKeyの主要技術に関してざっくりと解説をしました。 今回は、その中のひとつであるConnectについて掘り下げていきます。 Connectとは? Connectは、Buf Technologies社が開発したRPCフレームワークです。Protocol Buffersによって通信を定義し、効率的なサーバー/クライアント間通信を実現します。 まずはConnectの特徴について解説していきます。 Production-grade simplicity: 本番運用のシンプルさ Connectは本番運用でのシンプルさを特徴の1つとしています。 gRPCは通信するためにgRPCクライアントや grpcurl のようなツールを使わなければ通信することが困難であったり、Webから利用する場合 gRPC-Web を使う必要がありそのために Env

                                                    ConnectによるgRPCを超えたスキーマ駆動開発(Golang/TypeScript)
                                                  • Rewriting the Ruby parser

                                                    At Shopify, we have spent the last year writing a new Ruby parser, which we’ve called YARP (Yet Another Ruby Parser). As of the date of this post, YARP can parse a semantically equivalent syntax tree to Ruby 3.3 on every Ruby file in Shopify’s main codebase, GitHub’s main codebase, CRuby, and the 100 most popular gems downloaded from rubygems.org. We recently got approval to merge this work into C

                                                      Rewriting the Ruby parser
                                                    • 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
                                                      • GitHub ActionsでGoのソースコードをクロスコンパイルするときに、ビルドが失敗する理由とその対策 - Hatena Developer Blog

                                                        Mackerelチームでアプリケーションエンジニアをやっているid:lufiabbです。 Mackerelでは、ホストのメトリックを送信するためのエージェントや各種プラグインなどをOSSとして公開しています。現在の公式サポートはヘルプにある対応環境の通りですが、サポート外ではあるもののFreeBSDや32bit Windowsなどにもプログラムを提供している場合があります。 こういったOSSの一部、特にGo言語で書かれたプログラムのCIをGitHub Actionsへ移行した際に、32bitバイナリの生成についていくつか調べたことがありますが、あまりインターネットで見かけない情報だったので、今回は一般的な情報として共有してみようと思います。 この記事では、ディスクの残り容量を調べるプログラムの64bit版と32bit版をLinux用とWindows用にビルドする方法を例に、以下の場合にそれ

                                                          GitHub ActionsでGoのソースコードをクロスコンパイルするときに、ビルドが失敗する理由とその対策 - Hatena Developer Blog
                                                        • 第775回 step-caで自前のLet's Encrypt/ACMEサーバーをUbuntu上に構築する | gihyo.jp

                                                          最近のWebサイトを表示する際は、サーバー証明書とTLSを利用したセキュアな接続が大半になってきました。これはセキュリティ意識の向上もさることながら、Let's Encryptに代表される「サーバー証明書の更新の自動化」もその一助となっていることでしょう。今回はこのLet's Encryptっぽいサービスをローカルネットワーク内部に構築してみましょう。 図1 step-caを使えば、自己署名証明書であってもLet's Encryptと同じ方法で自動更新できる Let's EncryptとACMEプロトコル Let's Encryptは無償でサーバー証明書を発行し、自動的に更新処理を行える認証局です。インターネットに関わる名だたる企業・団体の多くが参加することで、300万サイト以上という非常に多くの利用者を抱えているにも関わらず、10年以上に渡って無償でオープンな組織運営を続けています。 L

                                                            第775回 step-caで自前のLet's Encrypt/ACMEサーバーをUbuntu上に構築する | gihyo.jp
                                                          • Kubernetes HPA External Metrics を利用した Scheduled-Scaling - スタディサプリ Product Team Blog

                                                            こんにちは。SRE の @chaspy です。 Quipper では Kubernetes Horizontal Pod Autoscaler (以下、HPA) を利用して Pod のオートスケーリングを実現しています。 HPA は非常に便利で、ほとんどのトラフィック増減に対応できます。しかし、オートスケーリングの宿命ではありますが、突発的なアクセス、いわゆるスパイクアクセスにはどうしても対応できません。CPU 利用率が急激に上がり、HPA がすぐに Desired Replicas を増やしたとしても、Node*1 のスケールアウトに5分程度はかかってしまいます。 CPU 使用率に基づくオートスケーリングに対して、決まった時間に決まった個数を事前にスケールしておくことを Scheduled-Scaling と呼ぶことにしましょう。前者のオートスケーリングと併用して Scheduled-S

                                                              Kubernetes HPA External Metrics を利用した Scheduled-Scaling - スタディサプリ Product Team Blog
                                                            • Unlocking the Power of JunoDB: PayPal’s Key-Value Store Goes Open-Source

                                                              Unlocking the Power of JunoDB: PayPal’s Key-Value Store Goes Open-Source Today we are delighted to share JunoDB as an open-source project on Github, allowing others to benefit from our efforts to have an extremely scalable, secure and highly available NoSQL infrastructure. JunoDB is a distributed key-value store that plays a critical role in powering PayPal’s diverse range of applications. Virtual

                                                                Unlocking the Power of JunoDB: PayPal’s Key-Value Store Goes Open-Source
                                                              • Goリリースノートから技術ブログを書く流れ基礎 | フューチャー技術ブログ

                                                                The Gopher character is based on the Go mascot designed by Renée French はじめにTIG真野です。 フューチャーでは2021年の2月に公開されたGo 1.16から、Goのリリースノートを読んで気になったところをブログにまとめるというブログリレーを続けています。 Go 1.16連載が始まります Go 1.17連載が始まります: コンパイラとgo mod Go 1.18集中連載 ジェネリクス Go 1.19リリース連載始まります GoDoc/ツール周りのアップデート Go 1.20リリース連載が始まります&メモリアリーナの紹介&落ち穂拾い Go 1.21連載始まります&slogをどう使うべきか Go 1.22リリース連載始まります & ループの変化とTinyGo 0.31 単なる翻訳ではなく自分たちならではの付加価値を提供す

                                                                  Goリリースノートから技術ブログを書く流れ基礎 | フューチャー技術ブログ
                                                                • Terraform Provider を自作し SendGrid リソースを管理した話 - メドピア開発者ブログ

                                                                  SRE の田中 @kenzo0107 です。 Terraform Provider kenzo0107/terraform-provider-sendgrid を作成し、SendGrid のリソースを terraform で管理する様にした話です。 https://registry.terraform.io/providers/kenzo0107/sendgrid まず弊社の SendGrid リソース管理の Before/After をご覧ください。 弊社の SendGrid リソースの管理方法 Before SendGrid コンソール上で手動でリソースの作成・更新・削除していました。 特にチームメイトは以下運用で工数が肥大化していました。 定期的な棚卸し メールアドレスを元にプロジェクト担当者(or 退職者)かをチェック 弊社の SendGrid リソースの管理方法 After -

                                                                    Terraform Provider を自作し SendGrid リソースを管理した話 - メドピア開発者ブログ
                                                                  • 構造化ログと実装 -Goのslogによる実践- - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                    この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤本部 Stage) DAY 4の記事です。 クラウド基盤本部Cloud Platform部の pddg です。cybozu.comのインフラ基盤移行まだまだがんばっています。 今回の記事は、社内向けに書いていた「構造化ログとは何か・Goのslogパッケージをどう使うべきか」という話を一般向けに書き直したものです。なんとなくslogを使っているという状態から、チームでどのようにログを取るべきか方針を決められるようになるくらいの状態に持っていくための一助になればと思います。 背景 構造化ログに求められるもの 機械的に読み取り可能なフォーマット ログメッセージとパラメータの分離 一連の操作を特定するパラメータの付与 適切なメタデータの付与 slogパッケージによる実践 機械的に読み取り可能なフォーマットで出力する グ

                                                                      構造化ログと実装 -Goのslogによる実践- - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                    • Which Go Modules Does Google Use?

                                                                      The Google GitHub org has over 2k public repositories. At the time of writing, 200+ are Golang codebases (at least according to GitHub’s primary_language field), and 125 of those repos have a go.mod file. Can we compose a query that finds the most commonly declared dependencies in these 125 go projects? Absolutely! Brace yourself for some SQL 😃. First, let’s use the AskGit export command to save

                                                                        Which Go Modules Does Google Use?
                                                                      • May 2025 (version 1.101)

                                                                        Release date: June 12, 2025 Security update: The following extension has security updates: ms-python.python. Update 1.101.1: The update addresses these issues. Update 1.101.2: The update addresses these issues. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the May 2025 release of Visual Studio Code. There are many updates in this version

                                                                          May 2025 (version 1.101)
                                                                        • Renovateをセルフホスト with Google Cloud & Go - Mirrativ Tech Blog

                                                                          こんにちは、バックエンド基盤チームの藤井脩紀です。 バックエンド基盤チームは、バックエンドエンジニアの生産性向上やコスト削減を目的に、エンジニア主導で課題を発見・解決している部署です。 このチームではCIの整備や依存関係の更新なども担当しており、その一環としてRenovateというソフトウェアのセルフホストを行ったのでそれについてお話しさせてください。 目次 Renovateとは セルフホストに至った背景 セルフホスト GitHubの下準備 Cloud Buildの設定 構成ファイルを準備 script/create-github-token.sh cloudbuild.yaml シークレットの登録 Cloud Buildトリガーの作成 Cloud Schedulerの設定 リポジトリの個別設定 余談:自動生成コードを利用しているがそれをリポジトリに含まない場合の問題 まとめ We are

                                                                            Renovateをセルフホスト with Google Cloud & Go - Mirrativ Tech Blog
                                                                          • WEARにおけるPUSH通知システムのリプレイス - ZOZO TECH BLOG

                                                                            こんにちは、WEARバックエンドブロックの天春(@AmagA001)です。バックエンドの運用・開発に携わっています。WEARはサービス開始から10年ほどの古いVBScriptを使った環境からRuby on Rails環境にシステムリプレイスを行なっています。本記事では、リプレイスの中でも既存環境が複雑で問題や課題が多くあったPUSH通知システムのリプレイスについてご紹介します。 目次 目次 PUSH通知システムとは リプレイス前のPUSH通知システム リプレイス前のPUSH通知システムの問題点 通知送信バッチのスケールアウトが出来ない 障害対応・運用が難しい状況 複数の開発言語による運用・改修コストが高い ステージング環境で通知確認ができない リプレイスの背景 リプレイス後のPUSH通知システム 非同期システム・EKS導入 既存システムの問題解決 バッチのスケールアウトが出来ない 障害対応

                                                                              WEARにおけるPUSH通知システムのリプレイス - ZOZO TECH BLOG
                                                                            • Scaling gopls for the growing Go ecosystem - The Go Programming Language

                                                                              Earlier this summer, the Go team released version v0.12 of gopls, the language server for Go, featuring a rewrite of its core that allows it to scale to larger codebases. This is the culmination of a year-long effort, and we’re excited to share our progress, as well as talk a little bit about the new architecture and what it means for the future of gopls. Since the v0.12 release, we’ve fine-tuned

                                                                                Scaling gopls for the growing Go ecosystem - The Go Programming Language
                                                                              • GoのModel Context Protocol (MCP)の開発フレームワークmcp-goを使ってみる

                                                                                Model Context Protocol (MCP) 概要 MCPは、Claudeの開発元であるAnthropicによりLLMとローカル環境を接続するための標準プロトコル この規格で実装されたMCPサーバーを使うことで、LLMにローカルファイルの読み取りやAPIへのアクセスなどの機能を拡張できる JSON-RPC の仕様が規格化されているだけなので、様々なプログラミング言語で実装可能 Claude DesktopやCursor、Clineなどでは既にMCPサーバーの利用がサポートされている 仕様(Draft)はこちら GoのMCP開発ライブラリ Python, TypeScript, Java, Kotlin は公式からSDKが提供されていますが、(2025-03-21時点) Goでライブラリを使ってMCPサーバーを実装する場合は、自前で実装するか、サードパーティライブラリに頼ることに

                                                                                  GoのModel Context Protocol (MCP)の開発フレームワークmcp-goを使ってみる
                                                                                • Counter Service: How we rewrote it in Rust

                                                                                  Abstract The Integrity Data Platform (IDP) team decided to rewrite one of our heavy Queries Per Second (QPS) Golang microservices in Rust. It resulted in 70% infrastructure savings at a similar performance, but was not without its pitfalls. This article will elaborate on: How we picked what to rewrite in Rust. Approach taken to tackle the rewrite. The pitfalls and speed bumps along the way. Was it

                                                                                    Counter Service: How we rewrote it in Rust