並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 2561件

新着順 人気順

goの検索結果1 - 40 件 / 2561件

  • 「ライドシェア」解禁1カ月、ドライバーが見た実態

    4月8日から東京都などで「日本型ライドシェア」が解禁され、約1カ月が過ぎた。 東京に神奈川や名古屋、京都市域を含む先行エリアではすでに90社(4月26日時点)の運行が行われており、解禁前に議論の対象となった安全性の面では、今のところ大きな事故が起きたという声は聞こえてこない。 その理由はシンプルで、まだそれほど多くの人が乗車を経験していないということがあるように感じる。本稿では正確に把握することが困難な日本型ライドシェアの実情を、数字や事業者、ドライバーの視点から追っていく。 ライドシェア利用を試みたが… 現在のライドシェアは、配車アプリである「GO」や「Uber」「S・RIDE」「DiDi」の4つのアプリ内から、国交省から定められた時間帯にのみ乗車できるというものだ。 この内「Uber」を除くアプリでは、ライドシェア車両を指定することはできず、その「Uber」も稼働台数は限定的とされてい

      「ライドシェア」解禁1カ月、ドライバーが見た実態
    • Go製バイナリを配布するためのGitHubワークフロー - Plan 9とGo言語のブログ

      前置き 以前、BuildInfoからバージョンを取得する方法を紹介しました。 blog.lufia.org go installで正規の公開されたバージョンをインストールした場合は、以下の出力においてmodの行が示すように、sum.golang.orgでチェックサム等が検証されてバイナリのメタデータに埋め込まれます。 $ go version -m dotsync dotsync: go1.22.2 path github.com/lufia/dotsync mod github.com/lufia/dotsync v0.0.2 h1:JWm92Aw8pSKJ4eHiQZIsE/4rgwk3h5CjEbJ/S30wiOU= build -buildmode=exe build -compiler=gc build -trimpath=true build DefaultGODEBUG=ht

        Go製バイナリを配布するためのGitHubワークフロー - Plan 9とGo言語のブログ
      • 自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理

        切り替える理由 自社の主力製品で利用している技術(WebRTC / WebTransport)がブラウザベースのため TypeScript を利用する Go を採用したのは sqlc が使いたかったという理由 sqlc-gen-typescript が出てきたのでもう Go を使う理由がなくなった 自社サービスチーム全員が Go にまったく興味が無い sqlc 自体は便利 そもそも自社に Go への興味がある人がいない 自社サービスの規模ではボトルネックになるのはデータベースであって言語ではない もしアプリでスケールが必要なときは Rust や Erlang/OTP に切り替えれば良い コネクションプールは PgBouncer を利用すればいい TypeScript からは 1 コネクション 1 接続で問題無い どうせフロントエンドでは TypeScript を書く 自社では React

          自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理
        • 最速で成果を出す方法|Go Kiritani / Chatwork 執行役員

          これは何か最速で成果を出す為にはどうすれば良いか?という質問をよくもらうのでその回答をするものです。良い感じのものが見当たらなかったので過去に自分が教えてもらった事をまとめました。せっかくまとめたので公開します。 4つのタイプの人がいるそれっぽい図1①思考先行型 思考力は高いけど,行動力が低い人。 考えてばかりで,なかなか行動に動けず成果が出ない。頭が良い人ほどこのタイプになってしまうので気をつけないといけない。 ②思考/行動 併用型 思考力も行動力も高い人。 思考と行動のバランスが良く,行動した結果を思考する事で正しい行動に繋がるサイクルが回っている。この人が1番早く成果が出る。 ③指示待ち型 思考力も行動力も低い人。 何をすれば良いか分からない状態で,動くこともできない。新しい環境に行くと,意外とこの状態の人も多いのでは。 ④行動先行型 思考力は低いけど,行動力が高い人。 何が正しいか

            最速で成果を出す方法|Go Kiritani / Chatwork 執行役員
          • スレッドとプロセスの違いを完全に理解する

            はじめに こんにちは、FarStep です。 プログラミングを学ぶ中で、「プロセス」と「スレッド」という言葉を耳にしたことがある方は多いと思います。 しかし、これらの違いを明確に説明できる自信がない方も多いのではないでしょうか。 本記事では、プロセスとスレッドの違いについて、エッセンスを抽出して 解説します。 説明を簡潔にしましたので、本記事は 5 分程度で読み終えることができます。 本記事の内容を自分の言葉で説明できるようになれば、プロセスとスレッドの違いの理解は十分でしょう。 それでは、始めます 🚀 プログラムとは プロセスとスレッドの違いを理解する前に、まずは「プログラム」について理解しましょう。 プログラムとは、プログラミング言語で書かれた一連の命令 のことです。 プログラミング言語の例としては、以下のようなものがあります。 C 言語 Java Python Ruby JavaS

              スレッドとプロセスの違いを完全に理解する
            • リトライ処理を追加するとバッチが安定することがあることもそこそこあるので「avast/retry-go」を使ってみる - じゃあ、おうちで学べる

              はじめに インフラエンジニアは日々の業務でプログラムを書く機会が多く、その中で処理の実行やHTTPの通信などでリトライ処理を実装する必要があることが少なくありません。リトライ処理を実装する必要は必ずしもなくても、実装することでバッチが安定することがあります。もっと言っておくとリトライ処理を実装することで、一時的なエラーによる処理の失敗を回避し、バッチ処理の安定性が向上する可能性があります。実行基盤によってジョブの再試行の自動化、最大再試行回数を設定するやPod失敗のバックオフポリシーなどとの兼ね合いを考える必要もあると思います。あとはマジでガー不のバグを引き寄せることもあるので注意が必要です。 はじめに シンプルな例 最大リトライ回数の指定 次のリトライまでの待ち時間の設定 特定の例外のみリトライするケース さいごに 今回はGolangには「retry-go」というリトライ処理を簡潔に実装

                リトライ処理を追加するとバッチが安定することがあることもそこそこあるので「avast/retry-go」を使ってみる - じゃあ、おうちで学べる
              • GoプロジェクトへのOpenTelemetry計装でeBPF自動計装を採用しなかった話

                既存GoプロジェクトにOpenTelemetryを計装する機会がありました。eBPFによる自動計装ではなく、手動計装を選んだ理由を説明します。 GoアプリケーションへのOpenTelemetry計装手段 Goにおいては、OpenTelemetryの自動計装が公式で用意されていません。公式サイトにAutomaticの章がないことからわかります。おそらく、ランタイムの制約で実行時にアプリケーションの挙動を変えることが難しいのでしょう。 トレースに十分なスパンを含めるために、現状では以下の2つの計装手段があります。既存のGoアプリケーションに導入する手間や影響範囲をイメージいただくために、概要に絞って解説します。 手動計装 eBPFによる自動計装(Work In Progres) 1. 手動計装 まず、OpenTelemetryのSDKをインストールし、セットアップをします。 func main

                  GoプロジェクトへのOpenTelemetry計装でeBPF自動計装を採用しなかった話
                • 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
                  • Borgo Programming Language

                    Borgo is a new programming language that compiles to Go. For a high-level overview of the features and instructions on running the compiler locally, check the README. This playground runs the compiler as a wasm binary and then sends the transpiled go output to the official Go playground for execution. use fmt enum NetworkState<T> { Loading, Failed(int), Success(T), } struct Response { title: strin

                    • Goで作ったシステムをRubyでリプレイスすることを検討してみた

                      はじめに 弊社にはGoで作ったシステムが存在しますが、作られてから数年が経過して、メンテナンスも十分にできていない状況でした。 そこで、このシステムをリファクタリングして生産性を上げようという結論になりました。 リファクタリングにあたり、Goのままで行くのか、弊社でよく使われているRubyで行くのかを検討してみましたので、その過程を紹介したいと思います。 Rubyでリプレイスしようと思った理由 Goで動いてて言語やライブラリのバージョンアップなどメンテナンスがされてない部分はありますが、 そこを解消すればGoのままで行った方が良いのでは?と思うかもしれません。 しかし、あえてRubyでリプレイスしようと思うに至ったのは以下の点があります。 Rubyの方が開発速度があがりそう Goのリファクタリングをするのに時間がかかりそう Goのリファクタリングと機能追加でコード修正箇所が被るとスケジュー

                        Goで作ったシステムをRubyでリプレイスすることを検討してみた
                      • GitHub - microsoft/go: The Microsoft build of the Go toolset

                        Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. This repository, microsoft/go, contains the infrastructure Microsoft uses to build Go. The submodule named go contains the Go source code. By default, the submodule's remote URL is the official GitHub mirror of Go, golang/go. The canonical Git repository for Go source code is located at

                          GitHub - microsoft/go: The Microsoft build of the Go toolset
                        • Goで実装するAppStoreの返金検知システム | QualiArtsエンジニアブログ

                          はじめに 株式会社QualiArtsで「IDOLY PRIDE(以降、アイプラ)」のバックエンドエンジニアチームのリーダーをしている末吉です。 主にゲームAPIの開発やインフラの運用、チームメンバーの進捗管理や開発スケジュールの策定等を担当しています。 課金アイテムを取り扱ってるiOSアプリの場合、返金が発生することがあります。こちらはユーザー側でAppStoreに返金の申請を行うなど、様々な要因で発生します。 こちらの返金を検知をするためには、AppStoreでの仕様に合わせたシステムをプロダクト側で構築する必要があります。 そこで、本記事ではタイトルの通りGoを使用したAppStoreの返金検知システムについて紹介します。 前提として、本記事は2024年4月現在の仕様に基づいているため、今後プラットフォーム側の仕様が変更になる可能性がある点については注意してください。 全体の流れ まず

                            Goで実装するAppStoreの返金検知システム | QualiArtsエンジニアブログ
                          • Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50

                            Kyoto.go #50 LT https://kyotogo.connpass.com/event/313309/

                              Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
                            • 『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか

                              2024/04/24(Wed)に行われたGotanda.rb#58の登壇資料です。 https://gotanda-rb.connpass.com/event/315058/ 『Railsオワコン』と言われる時代に、なぜブルーモ証券はテックスタックの1つとしてRailsを選んだのかの解説資料です。

                                『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
                              • PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog

                                こんにちは ハタ です。 Mirrativ では 2020年頃から サーバサイドの技術をPerlからGoへのシステム移行 を行っており、2024年現在でもサグラダファミリアのように移行作業は継続しています PerlとGoという2つの環境を同時に運用していますが、 基本的には 新機能は Go で実装 し、 Perlでは積極的に新規実装を行わない というスタイルで進めていました しかし、既存の機能の一部に手を加えたいとなった場合、まだまだ Perl の実装に手を加えることが一定あり、Perl から Go の機能を呼び出したいというニーズが出てきました (配信やギフトといったビジネスの根幹を支えるレガシーな実装においては顕著) そこで PerlXS を利用することで Perl から Go を直接呼び出せるようにできないかと考え検証を進めることにしました Goの -buildmode=c-shar

                                  PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog
                                • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

                                  はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoとRustとPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

                                    Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
                                  • 冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces

                                    スライド内にリンクが複数あるため以下のSPA版で見ることを推奨します :) https://upamune.github.io/go-lunch-lt-2024-04 元ネタのブログ: https://tech.layerx.co.jp/entry/2023/11/29/132325 layerx.go #0: https://layerx.connpass.com/event/317228/

                                      冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
                                    • Goのmultiple errorsについて (2024年4月版)

                                      大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app

                                        Goのmultiple errorsについて (2024年4月版)
                                      • failureでお手軽エラーハンドリング

                                        failureでお手軽エラーハンドリング 2024/04/23 Goのエラーハンドリング 最新事情Lunch LT morikuni

                                          failureでお手軽エラーハンドリング
                                        • Goの格言”Errors are values”の本質を読み解く

                                          24/4/23 Findy Goのエラーハンドリング 最新事情Lunch LTにて発表 https://findy.connpass.com/event/314417/

                                            Goの格言”Errors are values”の本質を読み解く
                                          • Goのエラースタックトレースの歴史と今後

                                            Jetpack ComposeとGraphQLによるServer Driven UI/jetpackcompose-grahpql-serverdrivernui

                                              Goのエラースタックトレースの歴史と今後
                                            • ぼくのかんがえたさいきょうのGo HTTPサーバー起動方法

                                              これまで何度か HTTP Server の Graceful Shutdown について記事を書きました。 Go 言語で Graceful Restart をする Go 言語で Graceful Restart をするときに取りこぼしを少なくする Go1.8 の Graceful Shutdown と go-gracedown の対応 最終的に Go 1.8 で Server.Shutdown が導入され、この件は解決を見ました。 しかし、最近「あれ?本当に正しく Server.Shutdown 使えている?」と疑問に思い、少し考えてみました。 というか ↑ の記事もまだ考慮が足りない気がする。 ぼくのかんがえたさいきょうの Go HTTP サーバー起動方法 とりあえず完成形のコード。 package main import ( "context" "log" "net/http" "os

                                              • Go を Wasm にビルドして Google Apps Script で動かす

                                                Go のコードで文字列の変換をする関数があり、これが Google スプレッドシート上の関数としても利用できれば検証[1]に便利かもしれないと思いました。 Google スプレッドシートでは Apps Script の関数をセル上で実行できるので、Go のコードを Wasm にビルドして JavaScript から呼び出すことができれば良いのではないかと考え、実際に試してみることにしました。 動作環境 Go 1.22.2 Apps Script の設定 Chrome V8 ランタイムを有効にする その他 macOS の pbcopy コマンド[2]を利用した手順を記載していますが、Linux 環境でも pbcopy を他の手段に置き換えることで同様に動作しました。 事前調査 Go を Wasm にビルドして GAS で動かす事例は見当たりませんでしたが、Rust を Wasm にビルドして

                                                  Go を Wasm にビルドして Google Apps Script で動かす
                                                • 僕の考えた最強の Python 開発環境 (2024)

                                                  はじめに こんにちは, 普段は情報科学専攻の大学院生をしながらバックエンドエンジニアをやっている @koki-algebra です. 普段は Go をよく書いているのですが, 大学でやっている機械学習の研究では Python を使うことがほとんどです. Go のエコシステムに慣れきった私は Python の混沌とした環境に耐えきれず, 最強の開発環境を整えることを決意しました. 具体的には Package Manager, Formatter, Linter, Type Checker, Test Tool を選定し, VSCode の DevContainer を用いてポータビリティに優れた開発環境を作ることを目指します. また, Deep Learning では GPU が必須である場合が多いので, GPU 環境も同時に整えたいと思います. 以下のレポジトリが今回考えた開発環境のテンプ

                                                    僕の考えた最強の Python 開発環境 (2024)
                                                  • go cleanしたらストレージが15GB空いた話

                                                    すでにやったこと 真っ先に行うことといえば、写真や動画をクラウドに保存することだろう。 しかし、私の友達はMacbookくらいしかいないので、インスタ映えしそうな大量の写真や動画などはなかった。 ゴミ箱を空にする XCodeをアンインストール → 約10GB ローカルのDockerイメージを削除 → 約5GB ローカルのプロジェクトソースを削除 → 約5GB brew cleanup → 約2GB 普通であれば、このくらいでなんとかなると思うが、まだまだ足りない。 追加で必要な開発環境をいくつか構築すると、またすぐに詰んだ。 go clean 以下の2つのコマンドでgoのキャッシュを削除することができる。

                                                      go cleanしたらストレージが15GB空いた話
                                                    • Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする | フューチャー技術ブログ

                                                      春の入門祭り2024の1記事目です。 はじめにTIG真野です。 Testcontainers を用いて、単体テスト実行前に docker compose up -d 無しで、PostgreSQLにアクセスする単体テストを行う、入門記事です。 恩恵は次のような開発者体感の向上が個人的にあります。 テストを実行するうえで、別プロセスのサービスを起動しておく必要があるといった前提条件を考えなくても済むため、テストを行うビジネスロジックに集中できるdocker compose up -d 打たないだけだが、テストに必要なコンテナを考慮しなくても済む停止し忘れて、別のリポジトリの開発するときに混乱しなくても済む並列テストしやすくなるので、テストの実行速度が向上するGoにおいて、複数のパッケージを同時にテストするとき、 -p 1 で絞らずに済むTestcontainers とはhttps://test

                                                        Testcontainersを用いてテスト実行前の docker compose up を無くし、Goで並列テストする | フューチャー技術ブログ
                                                      • UbieにおけるGo言語のエラーハンドリング

                                                        背景 Ubieでは以下の記事にあるように、一昨年から新しく始めるプロジェクトにはGoとTypeScriptを積極的に採用しています。私は本来プロダクトセキュリティが主な専門領域なのですが、公私ともに普段からGoでツールやサービスの開発をしているため、社内のGo言語の普及をサポートしたりプロダクト開発に参加したりしています。 Go言語で開発したことがある方はご存知かと思いますが、Goは標準パッケージで提供されているエラーハンドリングは最低限の機能しか提供されていません。これは、CLIツールなどではエラーの内容が簡潔に表せてよいのですが、サーバサイドアプリケーションのようにエラーにまつわる情報を詳細に残してあとから調査に利用する、という場面では不向きです。特に本番環境でしか再現しないようなエラーの場合は、いかに関連情報を残せているかが、問題の解決に大きく影響します。 先日も話題になっていました

                                                          UbieにおけるGo言語のエラーハンドリング
                                                        • Googleが開発したプログラミング言語「Go」にセキュリティアップデート/修正版の「Go 1.22.2」「Go 1.21.9」が公開

                                                            Googleが開発したプログラミング言語「Go」にセキュリティアップデート/修正版の「Go 1.22.2」「Go 1.21.9」が公開
                                                          • Go TemplateでCコンパイラを実装する【ELVM】 - Qiita

                                                            TL; DR ELVM のバックエンドにGo text/template(以下「Go Template」、処理系はGomplate)を追加 C言語(8cc) -> ELVM IR -> Go Template にコンパイル 8ccの8cc実装をコンパイルすればGo Templateで8ccコンパイラがつくれる!(セルフホスト) はじめに ご存じの通り Go Templateはチューリング完全1なので、任意の処理を実装可能です。 といっても brainf*ck だけでは華が無いので、今回は C言語のソースコードをGo Template上で実行します。 過去の ネタ 記事 Go Templateでプログラミングをする方法については過去の記事をご覧ください。 ELVMとは? ELVMは、以下の仕組みで言語を別言語に変換するコンパイラ(トランスパイラ?)2です。名前の通り、Esolang版のLLV

                                                              Go TemplateでCコンパイラを実装する【ELVM】 - Qiita
                                                            • Goのerrorがスタックトレースを含まない理由 - methaneのブログ

                                                              Twitterでこんな記事を見かけたので。 zenn.dev ジェネリクスの件もそうですが、Goの言語設計は現実主義なのになにか特別なポリシーによるものだと宗教化されてしまって、ファンには勝手に崇拝されてアンチにはディスられがちだなーと感じます。 Goのエラー処理を改善する実験プロジェクトxerrorsがGo本体のerrorsにマージされた時、 errors.New() はスタックトレースを取得していました。しかしGo 1.13がリリースされる前に削除されました。 削除された理由の1つは、今までの errors.New() のパフォーマンスに依存していたコードの速度が低下しアロケーションが増えることです。 github.com しかし、これが理由だと今まで思ってたのですが、実際にはもう1つより重要な理由がありました。エラーのフォーマットです。エラーに複数のフォーマットを持たせようという提案

                                                                Goのerrorがスタックトレースを含まない理由 - methaneのブログ
                                                              • Building an interactive shell in Golang

                                                                Go is great for building command-line applications. We built one: Dolt, the world's first version-controlled SQL database. We wrote our own command line parser for handling all of Dolt's subcommands and arguments, but maybe we shouldn't have. There are lots of great ones out there that if we might have used instead if we were starting the project today: spf13/cobra has great support for code gener

                                                                  Building an interactive shell in Golang
                                                                • ネットスーパーアプリ GraphQL から REST へ移行始めました - every Tech Blog

                                                                  はじめに こんにちは、retail HUBで Software Engineer をしているほんだです。 今回は私が現在着手している事業譲渡されたアプリを社内で持続的なプロダクト開発を行える状態にするリプレイスプロジェクトをどのように行っているか紹介しようと思います。 この記事ではリプレイスを行うにあたってどのようなことを課題に感じてその課題に対してどのような解決策をとったか主にサーバーの実装について説明しています。 ネットスーパーアプリとは 現在弊社ではネットスーパーアプリとして Web アプリとスマホアプリの二つのシステムを提供しています。 Web アプリは販促コンテンツの設定や売り上げの管理・集計を行うことが可能な管理システムと受け取り方法に応じた価格変更や送料変更にも対応し、消費者の柔軟な買い物を実現するお客様向けアプリを 17 の小売り様に、スマホアプリでは Web アプリのお客

                                                                    ネットスーパーアプリ GraphQL から REST へ移行始めました - every Tech Blog
                                                                  • bpftraceによるGoアプリケーションのトレース|hayajo

                                                                    はじめにシステムの状態を的確に捉え、運用に必要なインサイトを継続的に得るための特性は「オブザーバビリティ」と呼ばれます。オブザーバビリティを実現することで、パフォーマンスのモニタリングやトラブルシューティングを効果的に行い、システムの信頼性を高めることができます。 この重要な特性を実現する上で、eBPFやbpftraceは強力なツールとなります。 本記事では、Goアプリケーションにおけるオブザーバビリティを実現するための一つの方法として、bpftraceを用いたトレースの手法を紹介します。 内容が多いため、目次を活用して段階的に読み進めることをお勧めします。 eBPFとbpftraceはじめに、eBPFとbpftraceについて簡単に説明します。 eBPFとはeBPF(Extended Berkeley Packet Filter)はLinuxカーネル内で動作する柔軟なプログラミングフレー

                                                                      bpftraceによるGoアプリケーションのトレース|hayajo
                                                                    • 海上保安庁制作の冊子にAIイラストが使われていると話題

                                                                      海上保安庁 @JCG_koho 海上保安庁公式アカウントです。海上保安庁ホームページの新着情報を中心に、国民の皆さまにお知らせしたい情報を発信していきます。 運用ポリシーはこちら kaiho.mlit.go.jp/soshiki/sns-ac… kaiho.mlit.go.jp 海上保安庁 @JCG_koho #海上保安庁 が運用する #ウォーターセーフティガイド のリーフレットを新たに作成しました。8つのアクティビティ別に、#海 で安全に遊ぶために必要な情報を掲載していますので、是非ご覧ください。また、アンケートにもご協力ください! 【アンケートはこちら】 forms.office.com/Pages/Response… pic.twitter.com/RZqyjN3u38 2024-03-04 12:05:00

                                                                        海上保安庁制作の冊子にAIイラストが使われていると話題
                                                                      • 鍵生成には暗号論的に安全な乱数を使おう

                                                                        SSHの鍵生成には暗号論的に安全な疑似乱数を使おうという話。 暗号論的に安全ではない疑似乱数がどれだけ危険かというのを、簡単なCTFを解くことで検証してみました。 背景 SSH公開鍵に自分の好きな文字列を入れる、という記事を読みました。 かっこいいSSH鍵が欲しい 例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? かっこいい!真似してみたい! そこまではいいんですが、問題は実装です。 秘密鍵を生成する際の乱数生成には高速化のために Goのmath/randを使っていますが、乱数が用いられるのは公開しない秘密鍵自体であり、このアルゴリズム自体はLagged Fib

                                                                        • PostgreSQL LISTEN/NOTIFY, Goを利用したリアルタイム配信

                                                                          はじめに 本記事では、PostgreSQLのLISTEN/NOTIFY機能とGoを組み合わせた、メッセージをリアルタイム配信するための仕組み・実装を紹介します。 私たちが開発しているMiROHA eConsentでは本記事で紹介する仕組みを利用して、ユーザが見ている文書のページをリアルタイムに知らせる機能をリリースしました。 MiROHA eConsentは、治験業務支援サービス MiROHAのシステムの一部で 、治験の同意取得プロセスをオンラインのみで完結させることができるプロダクトです。医師とCRC[1]・被験者が同じルームに入室し、ビデオ通話を繋ぎながら治験に関する説明から同意署名、署名した文書のダウンロードまで一気通貫で行うことができます。 MiROHAシステムの全体図。医師/CRCと被験者の間で同意取得ができる機能を提供しているのがMiROHA eConsentになります。 プロ

                                                                            PostgreSQL LISTEN/NOTIFY, Goを利用したリアルタイム配信
                                                                          • Terraformの実装コードを、動かしながら読む | フューチャー技術ブログ

                                                                            Terraform連載2024 の10本目記事です。 はじめにこんにちは。CSIG(Cyber Security Innovation Group)の棚井です。 Terraform 連載ということで そういえば、実装コードは Go で書かれていたなコマンドの使い方はインフラエンジニアの皆様が書いてくれるはずなので、コードリーディングしようかなとの考えに至り、ソースコードリーディング自体をブログ化しました。 参考になる点が1つでもあれば幸いです。 エディタの準備今回のコードリーディングでは VSCode を利用します。 Go のコードジャンプやテスト実行のため、以下の拡張機能を追加します。 GoGo OutlinerGo Test Explorerまた、コードリーディングのお供として「GitHub Copilot」も追加します。 GitHub アカウントで Copilot を有効化する方法や

                                                                              Terraformの実装コードを、動かしながら読む | フューチャー技術ブログ
                                                                            • 内部エラーと外部エラー、それからGoのerrorがスタックトレースを含まない理由の考察

                                                                              TL;DR Goのerrorは外部エラーを表現するもので、利用者(ライブラリならアプリケーション開発者、アプリケーションならユーザー)に入力値や環境の不備を伝える目的で存在している 一方で、開発中のソフトウェアが思っていたのと違う挙動を示した場合、その調査にはソフトウェアの特性によって異なるツールを使い分ける必要があり、一筋縄では行かない 両者を分けて考えることで、よりよいエラーハンドリングへの議論が初めて進められると考える 背景 Goのerrorがスタックトレースを含まないことは度々Goの欠点として挙げられます。たしかに、一度作ってどこかにデプロイしたソフトウェアがバグっており、スタックトレースがないせいでその原因調査に手間取ったことは筆者も一度のみならず体験しています。 一方で、(しばしばベテランのプログラマから)エラーはノイズを含むべきではないと主張されることも少なくありません。 2

                                                                                内部エラーと外部エラー、それからGoのerrorがスタックトレースを含まない理由の考察
                                                                              • One Billion Row Challenge in Golang - From 95s to 1.96s

                                                                                One Billion Row Challenge in Golang - From 95s to 1.96s Renato Pereira Mar 18, 2024 Introduction The One Billion Row Challenge (1BRC) is quite simple: the task is developing a program capable of read a file with 1 billion lines, aggregating the information contained in each line, and print a report with the result. Each line within the file contains a weather station name and a temperature reading

                                                                                • Go 1.22のEnhanced ServeMux chiから移行できるのか?

                                                                                  Jetpack ComposeとGraphQLによるServer Driven UI/jetpackcompose-grahpql-serverdrivernui

                                                                                    Go 1.22のEnhanced ServeMux chiから移行できるのか?