並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 1750件

新着順 人気順

golangの検索結果241 - 280 件 / 1750件

  • Golangのテストはテーブルドリブンテストで! - Qiita

    package main // Square 2つのintを受け取りそれらを掛け合わせた物を返す関数 func Square(a, b int) int { return a * b } package main import ( "testing" "github.com/stretchr/testify/assert" ) func TestSquere(t *testing.T) { asserts := assert.New(t) for _, td := range []struct { title string input []int output int }{ { title: "2×3の答えが6になる", input: []int{2, 3}, output: 6, }, { title: "3×5の答えが15になる", input: []int{3, 5}, output

      Golangのテストはテーブルドリブンテストで! - Qiita
    • Next.js(React)でのCORSエラー解決(Next.js + Golang) - Qiita

      Next.jsでのCORSエラー解決(Next.js + Golang) React + GoでSPAを作りたく、ReactフレームワークのNext.jsを使ってみた。 SPAの最初で躓きがちなCORSエラーについて、案の定ハマったのでメモ。(Angularでの開発の際もだいぶハマった思い出) CORSエラーが出る 今回のようにフロントエンド、バックエンドでサーバを分けて開発する際に、そのままだとCORS(Cross-Origin Resource Sharing)についてのエラーが発生する。 これはブラウザの機能として、クロスドメイン(ドメインの違うサーバへの)アクセスが制限されているため起きます。 例えば、フロント http://localhost:3000 , バック http://localhost:5000 とした時、フロントからバックのapiを叩こうとするとcorsエラーとなり

        Next.js(React)でのCORSエラー解決(Next.js + Golang) - Qiita
      • github.com/golang/goのissueを検索する

        Profile id: Songmu (ソンムー) Masayuki Matsuki / 松木雅幸 株式会社ヘンリー VP of Engineering おそらくはそれさえも平凡な日々 http://www.songmu.jp/riji/ https://metacpan.org/author/SONGMU 好きな言語は、PerlとGoと中国語 3 Times ISUCON Winner Using Perl 入門監視 付録C 執筆 「みんなのGo言語」共著者

        • GitHub - redis/rueidis: A fast Golang Redis client that supports Client Side Caching, Auto Pipelining, Generics OM, RedisJSON, RedisBloom, RediSearch, etc.

          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

            GitHub - redis/rueidis: A fast Golang Redis client that supports Client Side Caching, Auto Pipelining, Generics OM, RedisJSON, RedisBloom, RediSearch, etc.
          • GitHub - willscott/go-nfs: golang NFSv3 server

            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

              GitHub - willscott/go-nfs: golang NFSv3 server
            • golang.org/x/time/rateで速度制限を行う - Plan 9とGo言語のブログ

              この記事はQiitaで公開されていました 例えば、APIの結果を使った処理を行う場合、ユーザとしてはなるべく早く処理をしたいけど、早すぎるとサーバの処理が追いつかないケースはよくあると思います。 そういう時、APIを実行した後でtime.After等を使って少し待ってから、必要な結果が揃うまで繰り返すというのが簡単な解決方法ですが、APIの実行時間とtime.Afterで待つ時間の両方が実行時間に掛かってきますし、「1秒間に100回まで」というケースはなかなか対応が難しいので、x/time/rateを使ってみました。 制限しない実装 比較のために、何も制限をしない実装を用意しました。10万件のデータをチャネルに送り続けるだけのコードです。 package main import ( "fmt" ) const N = 100000 func main() { c := make(chan

                golang.org/x/time/rateで速度制限を行う - Plan 9とGo言語のブログ
              • realize + dockerでGolangのホットリロード付き開発環境を構築する

                今回は、gin + gqlgen + gormなGoプロジェクトのホットリロード付き開発環境を構築します。 環境 Go 1.12.6 プロジェクトの構造 . ├── db │ └── db.go ├── models │ ├── model_a.go │ └── ... ├── schema │ ├── schema.graphql │ └── ... ├── server │ └── server.go ├── docker-compose.yml ├── go.mod ├── go.sum ├── gqlgen.yml └── ... 使用するホットリロードツール realizeというツールを使用します。 他にもfreshなどのホットリロードツールがありますが、realizeの方が設定が細かくできるため、realizeを選択しました。 実は最初、freshで試していたのですが、Go M

                  realize + dockerでGolangのホットリロード付き開発環境を構築する
                • GitHub - minio/simdjson-go: Golang port of simdjson: parsing gigabytes of JSON per second

                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                    GitHub - minio/simdjson-go: Golang port of simdjson: parsing gigabytes of JSON per second
                  • net/http: enhanced ServeMux routing · Issue #61410 · golang/go

                    10 October 2023: Updated to clarify escaping: both paths and patterns are unescaped segment by segment, not as a whole. We found during implementation that this gives the behavior we would expect. 7 August 2023: updated with two changes: added Request.SetPathValue GET also matches HEAD We propose to expand the standard HTTP mux's capabilities by adding two features: distinguishing requests based o

                      net/http: enhanced ServeMux routing · Issue #61410 · golang/go
                    • GolangでDIを実現する方法【サンプルコードあり】 - Qiita

                      はじめに 普段はLaravelを使っているのですが、業務外でGo言語の学習を始め、現在アウトプットとしてオニオンアーキテクチャーでREST APIを実装しています。ただ、Go言語でDIを実現する方法が分からなかったので、今回調べてみた結果を記事にします。 この機会にそもそもDIとは?という部分も合わせて解説しているのでご覧いただけると嬉しいです。 対象読者 DIって言葉はよく聞けけどあまりよく分かっていない方 DIとDIコンテナの違いが分からない方 Go言語でDIを実現する方法が知りたい方 PHPからGo言語に乗り換え、オニオンアーキテクチャで設計しようとしている方 そもそもDIとは DIの定義 まずはDIとは何か?ということについて触れていきます。Wikipediaによると、 依存性の注入(いぞんせいのちゅうにゅう、英: Dependency injection)とは、あるオブジェクトや

                        GolangでDIを実現する方法【サンプルコードあり】 - Qiita
                      • golangでREST APIをやってみた① - Qiita

                        "Body": "Hello World!"が返されたことを書くに出来ました。 REST APIを試す 同じく、go-json-restの公式にある「Countries」を試してみます。 サンプルコードは、DBで永続化はせずに、メモリ上にデータを置く感じです。 package main import ( "github.com/ant0ine/go-json-rest/rest" "log" "net/http" "sync" ) func main() { api := rest.NewApi() api.Use(rest.DefaultDevStack...) router, err := rest.MakeRouter( rest.Get("/countries", GetAllCountries), rest.Post("/countries", PostCountry), res

                          golangでREST APIをやってみた① - Qiita
                        • Golang の標準ライブラリのみで、時間や配列、カスタム構造体(独自の型)を引数として受け取れるようにする - Qiita

                          Golang の標準ライブラリのみで、時間や配列、カスタム構造体(独自の型)を引数として受け取れるようにするGoCLIflagコマンドライン引数 想定読者 Go で CLI 作成時の引数処理に困っている人 特に、コンマ区切りの配列や特定のjsonを受け取りたいケース Go の標準ライブラリに慣れ親しみたい人 特に flag を使ったフラグ付きの引数処理 要約 Go の標準ライブラリ(標準パッケージ) flag を用いて Value インターフェースを実装することで、時間や配列、カスタム構造体を引数として受け取る実装をシンプルに実現できます。 日本語読むより、こちらのレポジトリを見ていただくのが早いかもしれません。 flag パッケージ flag パッケージとは、Go の標準ライブラリでコマンドラインのフラグをパースするツールです。 viper という有名パッケージもありますが、そちらに比べ

                            Golang の標準ライブラリのみで、時間や配列、カスタム構造体(独自の型)を引数として受け取れるようにする - Qiita
                          • GolangのDesignPatternをコード付きで簡単に紹介!

                            はじめに 今回この記事を書こうと思った背景として、とある技術記事でLoggerの実装方法について盛り上がってるものを見つけて、その部分の知見が弱い事を再認識させられた一件がありました。 また、一年弱ほど長期インターンでGo言語を沢山書いてきた中で、シンプルな文法で様々なDesignPatternを表現できるGo言語も面白さを皆さんに知っていただきたいなという想いも込めました。 それではGopher君の世界に踏み入れていきましょう。 Dependecy Injection Dependency Injection(DI)は、依存関係の逆転(Dependency Inversion)の原則を実現するためのデザインパターンです。DIを使用すると、高レベルのモジュールが低レベルのモジュールに直接依存するのではなく、抽象化を介して間接的に依存するようになります。これにより、モジュール間の結合度を低く

                              GolangのDesignPatternをコード付きで簡単に紹介!
                            • GitHub - context-labs/mactop: mactop - Apple Silicon Monitor Top written in pure Golang! Under 1,000 lines of code.

                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                GitHub - context-labs/mactop: mactop - Apple Silicon Monitor Top written in pure Golang! Under 1,000 lines of code.
                              • Golangでの命名規則におけるベストプラクティス

                                Golangの設計思想 Golangは、「単純さ」と「読みやすさ」を重視している言語です。そのため、ソースコードを保守のために、いくつかの単純な規則を採用しています。 この記事では、GoチュートリアルとEffectiveGoを参考にしています。 ファイル名 Goは、ソースファイルがすべて小文字で、複数の単語をアンダースコアで区切るという規則に従います。 複合ファイル名は_で区切られます。 「.」で始まるファイル名 または「_」はgoツールによって無視されます。 接尾辞「_test.go」が付いたファイルは、go testツールによってのみコンパイルおよび実行されます。

                                  Golangでの命名規則におけるベストプラクティス
                                • GolangとCloud SpannerでgRPC APIを構築する #1 - Qiita

                                  この抜粋の内容は次のとおりです。 Cloud Spanner Emulator の導入 Spanner で CRUD gRPC API の実装: connect-go さらに詳しく知りたい方は読み続けてください。 2023年7月2回目です。 普段、ぼくたちの Database の第一の選択肢は、Cloud SQL です。 ですが、今後、可用性が求められるフェーズに対応するために、Cloud Spanner での開発について調査します。 Cloud Spanner は、今のサービス群で使うには高価です。最小サイズが Processing Unit になったとは言え。 一方で、強整合性を持ちながらグローバルな負荷分散が可能で、これを CockroachDB などで運用すると考えると妥当な価格であることも認識しています。 Cloud Spanner Emulator の導入 gRPC リクエスト

                                    GolangとCloud SpannerでgRPC APIを構築する #1 - Qiita
                                  • Why Golang instead of Rust to develop the Krater desktop app | MoonGuard - Web Monitoring Tools

                                    Hello! If you have been following our articles, you may remember reading that Krater was being developed with Rust using Tauri. However, this is no longer the case because a few months ago we made the decision to migrate the entire project to Wails (Golang). In this article, we will discuss our experience and why we made such a risky decision to migrate an entire application from one language to a

                                      Why Golang instead of Rust to develop the Krater desktop app | MoonGuard - Web Monitoring Tools
                                    • Casbin · An authorization library that supports access control models like ACL, RBAC, ABAC for Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter) and Elixir |

                                      ハイブリッドアクセス制御モデルCasbinでは、アクセス制御モデルはPERMメタモデル(Policy、Effect、Request、Matchers)に基づいてCONFファイルに抽象化されます。 そのため、プロジェクトの承認メカニズムの切り替えやアップグレードは、構成を変更するのと同じくらい簡単です。 柔軟なポリシーストレージメモリとファイルに加えて、Casbinポリシーは多くの場所に保存できます。 現在、MySQL、Postgres、OracleからMongoDB、Redis、Cassandra、AWS S3まで、数十のデータベースがサポートされています。サポートされている全リストは アダプター で確認してください。

                                      • 図解 io.Pipe(Golang) - Qiita

                                        はじめに Goのioパッケージにはio.Readerやio.Writerのインターフェイスを有効活用するための便利なメソッドがいくつか用意されています。 自分はその中の一つであるio.Pipeの挙動を理解するのに手こずったので、備忘録として挙動や使い方を残しておこうと思います。 io.Pipeとは io.Pipeメソッドは、io.PipeReaderとio.PipeWriterを返します。io.PipeWriterに書き込んだ内容が、io.PipeReaderから読み出せるようになります。 io.Pipeの特徴は、内部バッファを持たない点にあります。そのため、Writerに書き込んだ内容がすぐにReaderから読み出せるようになります。 モデル図はこんな感じです(2のブログから引用)。 自分なりの理解を図にまとめると以下のようになります。 サンプルコード package main impo

                                          図解 io.Pipe(Golang) - Qiita
                                        • Why no max/min function for integer in GoLang | Pixelstech.net

                                          You may notice that there is no max/min function provided to compare the maximum/minimum of two or more integers if you are a GoLang developer with some experience . In other languages, these functions are provided as part of the core lib functions. Have you wondered why? Indeed GoLang provides max/min function in math package, but they are used for comparing float64 data type. The signature of th

                                          • [Golang]テストで特定の処理をモックにしたい場合のインターフェースの使い方

                                            Tweet はじめに 最近は会社でGolangの利用が少しずつ広がっています。 そんな中、一人の同僚から、「Golangでプロダクションコードでは期待通りの動きをさせて、テストだとモックにする場合のGolangのやり方を教えて欲しい。」という要望がありました。 せっかくなので、ブログにまとめてみます。 対象はオブジェクト思考な言語の経験はあるけどGolangの経験は浅いような方です。 結論 簡単に書くと以下のことをやればプロダクションコードとテストコードで動作を分けることができます。 動作を分けたい対象をinterfaceを使って抽象化する プロダクションコードでは対象のinterfaceにプロダクション用の実装をDIする テストコードでは対象のinterfaceにテスト用の実装をDIする ということです。 知っている人は「そんなの当たり前じゃん!」と思うかもしれませんが、この記事ではこれ

                                            • bmf-tech.com - GolangのHTTPサーバーのコードリーディング

                                              概要 この記事はQiita - Go6 Advent Calendar 2019の20日目の記事です。 GolangでHTTPサーバーを立てるコードの詳細を追ってコードリーディングします。 参考実装 コードリーディングしていく実装はこちら。 package main import ( "net/http" ) func main() { mux := http.NewServeMux() handler := new(HelloHandler) mux.Handle("/", handler) s := http.Server{ Addr: ":3000", Handler: mux, } s.ListenAndServe() } type HelloHandler struct{} func (h *HelloHandler) ServeHTTP(w http.ResponseWrite

                                                bmf-tech.com - GolangのHTTPサーバーのコードリーディング
                                              • GitHub - karlkeefer/pngr: dockerized (postgres + nginx + golang + react)

                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                  GitHub - karlkeefer/pngr: dockerized (postgres + nginx + golang + react)
                                                • Beginners hands-on Guide to Golang | DevelopersIO

                                                  Hi, this is Charu from Classmethod. In this blog we will cover the basics, including setting up your Go environment, writing simple programs, understanding Go's type system, and exploring Go routines for concurrency. Let's get started! Setting Up Your Environment The Go programming language can be installed from the official Go website. Follow the installation instructions for your operating syste

                                                    Beginners hands-on Guide to Golang | DevelopersIO
                                                  • JWT(Json Web Token)を利用するためのOAuth 2.0拡張仕様での認可をGolangでやってみる - OPTiM TECH BLOG

                                                    こんにちは。AI・IoTサービス開発部の青木です。 最近はWebフレームワークやチームビルディング系をやっていますが、 元々はIoTエンジニアとしてのキャリアを積むべくIoTに関わるプログラミングをメインでやっていました。 今回はOPTiM Cloud IoT OSや、OPTiM IoTのデバイス認証として用いられる JSON Web Token (JWT) Profile for OAuth 2.0 を利用して実際に認証を行ってみたいと思います。 grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer とは datatracker.ietf.org JWTを秘密鍵で署名し認可フローとしてOAuth2.0のAccessTokenを要求します。 秘密鍵を利用して認可ができることから、OPTiM Cloud IoT OSではユーザIDやパス

                                                      JWT(Json Web Token)を利用するためのOAuth 2.0拡張仕様での認可をGolangでやってみる - OPTiM TECH BLOG
                                                    • Ubuntuに最新のGolangをインストールする - Qiita

                                                      #Ubuntuに最新のGolangをインストールする 備忘録も兼ねて (Ubuntu 14.04 / 16.04 / 18.04 / 20.04.01 / 22で確認済み) 追記録 2019/10/05 Ubuntu 18.04確認済みの旨追記 2020/12/21 Ubuntu 20.04.01LTS(64bit)確認済みの旨追記 2022/07/26 Ubuntu 22.04LTS(64bit)確認済みの旨追記 コメント 備忘録すぎて半年に一回くらい自分も参照しています 1. 公式のパッケージを取得する https://golang.org/dl/ から、Linux用のtar.gzのURLをコピーする。 (2022/07/26時点では https://go.dev/dl/go1.18.4.linux-amd64.tar.gz )

                                                        Ubuntuに最新のGolangをインストールする - Qiita
                                                      • Understanding and Building Authentication Sessions with Golang

                                                        The Authentication Session of a web app is the heart of its defense against malicious threats. Hence, it is among the first points of recon for a security tester. This article will discuss the authentication sessions of a web app in the “Go” programming language (Golang). It will also discuss the vulnerabilities and design flaws in authentication sessions, the difference between Session-Based and

                                                          Understanding and Building Authentication Sessions with Golang
                                                        • GitHub - go-gorm/gorm: The fantastic ORM library for Golang, aims to be developer friendly

                                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                            GitHub - go-gorm/gorm: The fantastic ORM library for Golang, aims to be developer friendly
                                                          • VSCode でnode.js やGolang をデバッグする方法

                                                            launch.jsonを開くには、「デバッグ」-「構成を開く」を選択します。 以下のようなファイルが開きます。 { // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceFolder}\\index.js", "showLog": true } ] } typeには、”node”や”go”を指定します。 “request”には、”launch”

                                                              VSCode でnode.js やGolang をデバッグする方法
                                                            • GitHub - AllenDang/giu: Cross platform rapid GUI framework for golang based on Dear ImGui.

                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                GitHub - AllenDang/giu: Cross platform rapid GUI framework for golang based on Dear ImGui.
                                                              • GitHub - digitalocean/firebolt: Golang framework for streaming ETL, observability data pipeline, and event processing apps

                                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                  GitHub - digitalocean/firebolt: Golang framework for streaming ETL, observability data pipeline, and event processing apps
                                                                • Golangプロジェクトのディレクトリ構成について考えてみた - yyh-gl's Tech Blog

                                                                  追記 19/06/13 社内同期と議論した内容のメモ 以降ディレクトリ構成について、いろいろ書いているんですが、 社内で同期と話した結果、 下記記事内の 第5ケース: DDDライクなライトなパッケージ構成 がいい感じだねって結論に至りました。 (つまり、本記事内容はあまり参考にならないかも…) >> 記事リンク 社内でも第5ケースの構成に近いものが多く使われている印象です。 他にもいろいろと参考になるリンクを教えてもらいました。 pospomeさんのブログ Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える 僕自身で書いた記事もあるので参考なれば幸いです。 -> 参考記事 以降、本題に入っていきますが、上記記事を読んだうえで 比較しながら読んでいただけると幸いです。 ・ ・ ・ Golangのディレクトリ構成で迷う Golang + Go kit でAPIサーバ作ろうと思

                                                                    Golangプロジェクトのディレクトリ構成について考えてみた - yyh-gl's Tech Blog
                                                                  • Golang - Dockerfileの最小構成 - Qiita

                                                                    本番環境で動くGoアプリのためのミニマルdockerfileを記す。 実行ファイルが、軽量でセキュアなscratchイメージ上で動く go.modとgo.sumに従って、バージョン込みの依存パッケージをインストールする 依存パッケージに変更がなければ、再ビルド時のインストールにはキャッシュが使われる FROM golang:1.14.4 as builder WORKDIR /go/src COPY go.mod go.sum ./ RUN go mod download COPY ./main.go ./ ARG CGO_ENABLED=0 ARG GOOS=linux ARG GOARCH=amd64 RUN go build \ -o /go/bin/main \ -ldflags '-s -w' FROM scratch as runner COPY --from=builder

                                                                      Golang - Dockerfileの最小構成 - Qiita
                                                                    • Golang Error Handling — Best Practice in 2020

                                                                      Golang has many advantages, its popularity explains this. But error handling in Go 1 is not very efficient , we have to write many verbose , inconvenient codes in daily development. There’re several open source solutions to tackle this. Meanwhile, the Go team is improving this from both the language and the standard library aspects. Today we will analyze the common issues, compare the solutions, a

                                                                        Golang Error Handling — Best Practice in 2020
                                                                      • 【Golang】1 バイトデータのビットローテーション【左循環シフト】 - Qiita

                                                                        Go 言語(以下 Golang)で、1 バイトのデータを左シフトさせたのち、右側末尾にビット・ローテーションさせたい。いわゆる、ひとつの循環シフト。 普通にビットシフトすると溢れたビットは消えてしまうのです。 func main() { v := uint8(0b11110000) w := v << 1 // 1 ビットの左シフト fmt.Printf("%08b\n", v) fmt.Printf("%08b\n", w) } // Output: // 11110000 // 11100000

                                                                          【Golang】1 バイトデータのビットローテーション【左循環シフト】 - Qiita
                                                                        • Crafting a Language Server in Golang: A VSCode LSP for Lama2

                                                                          This post narrates our journey to developing advanced functions in our VSCode extension for Lama2, a plain-text API manager built at Hexmos. We will see how our thinking and implementation evolved through three stages over a period of a year. The Genesis of Lama2 🦙 Lama2 is a plain-text oriented API manager optimized for team collaboration via Git. At Hexmos, we store all our APIs in a Git reposi

                                                                            Crafting a Language Server in Golang: A VSCode LSP for Lama2
                                                                          • Go言語(golang) flagパッケージでコマンドライン引数をパース - golangの日記

                                                                            Go言語の標準ライブラリ flag パッケージを使ったコマンドラインオプション(フラグ)の基本的な解析方法と、 独自の型(例えば、URL や JSON など)を扱えるようにするための実装方法 flagパッケージ ドキュメント: https://golang.org/pkg/flag ソースコード: https://github.com/golang/go/tree/master/src/flag 目次 引数の在り処 flag パッケージの基本的な使い方 オプション(フラグ)の作成方法 具体的な使い方 golang の flag パッケージで面倒だったり、不便に感じること FlagSetの使い方 FlagSet を使ってサブコマンドを設定する 独自の型実装 引数の在り処 実行ファイルに渡したコマンドライン引数は os.Args に配列で入っている。 0 番目は実行したファイルのパスで、それ以

                                                                              Go言語(golang) flagパッケージでコマンドライン引数をパース - golangの日記
                                                                            • Golangのフレームワーク - Qiita

                                                                              はじめまして、グッドパッチでサーバーサイドエンジニアをやってる荒木です。 この記事は Goodpatch Advent Calendar 2023 の 24日目の記事になります。 はじめに 現在golangで開発に使ってるフレームワークはginですが、そろそろ切り替えも検討したいので調べてみました。 対象になるフレームワーク Webアプリ開発に利用できるもので、スターの多いものをピックアップしています。 gin-gonic/gin (⭐️73.2k) 私も業務で利用していますが、一番最初に候補に上がるかと思います。 利用していてポイントとなる部分。 高速:他のフレームワークはginよりベンチマークが高かったりしますが、実用性として十分な速度です。 ミドルウェアサポート:ミドルウェアを使うことで認証系とかはシンプルに作りやすいです。 JSONバリデーション:普通に利用できます、フィールドが空

                                                                                Golangのフレームワーク - Qiita
                                                                              • Golangでバッチとgoroutinesとgo channelsと比較してみましょ - Qiita

                                                                                Hands On golangでバッチを実装するとき何の技術を使いますか?たまに開発者さんこの質問を自分で聞いていると思いますのでここで試してみましょう。 まず、要件について。 docker-compose docker golang バージョン 1.17 から では、私が使っている監視用のコンポーネントについてです。 Prometheus Grafana PrometheusとGrafanaについてはネットで検索するとたくさん出てくるので、1〜2行で紹介します。 Grafana:データソースから表現、変換、その他のアグリゲーションを行い、ユーザーに表示するためのツール Prometheus:CPUやメモリ使用量、ヒープメモリやガベージコレクタなどのメトリクスデータを取得するためのツール さあ、レッツHands On 今回のプログラムは、以下のようなことを行います。 10個のcsvファイル

                                                                                  Golangでバッチとgoroutinesとgo channelsと比較してみましょ - Qiita
                                                                                • tools/gopls at master · golang/tools

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    tools/gopls at master · golang/tools