並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 385件

新着順 人気順

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

  • [Golang] gorpでDBを使ったユニットテストを書くたったひとつの冴えたやりかた

    (エヴァは見たことないです。2回目) 今の現場で DB を使ったユニットテスト環境を整備させてもらったのでどうやって実現したかを共有します。 ちゃんと記事にする許可はもらってるから大丈夫だ問題ない。 この記事は gorp を使う前提で書きますが、条件さえ整えば他のORMでも実現可能です。実際、最初は SQLBoiler 環境でセットアップしました。 条件というのをこの時点で書いても意味不明だと思うので追って説明します。 概要DBを使ったテストのやり方を考えるといくつか方法が見つかります。 まず、sqlmock を使って期待するSQLが発行されるかを監視する方法。正確にはDBは使いませんが... 今の現場は前までこれでした。DBを用意しなくてよいのはたしかにメリットですが、SQLが複雑になると何が正なのか把握するのが難しくなりますし、 発行するSQLの順番やスペースの有無とかでテストが落ちる

      [Golang] gorpでDBを使ったユニットテストを書くたったひとつの冴えたやりかた
    • r/golang - Slack/Discord bot for running interactive REPLs and shells from a chat

      I was just going to write an in-Slack terminal next week, and I even had the same idea on the way it would look. That’s awesome, I’ll definitely be using it as a reference. Thanks man :)

        r/golang - Slack/Discord bot for running interactive REPLs and shells from a chat
      • proposal: cmd/go: support embedding static assets (files) in binaries · Issue #35950 · golang/go

        There are many tools to embed static asset files into binaries: https://godoc.org/perkeep.org/pkg/fileembed / perkeep.org/pkg/fileembed/genfileembed https://godoc.org/github.com/gobuffalo/packr https://godoc.org/github.com/knadh/stuffbin https://github.com/rakyll/statik Bazel go_embed_data Actually, https://tech.townsourced.com/post/embedding-static-files-in-go/ lists more: vfsgen - https://github

          proposal: cmd/go: support embedding static assets (files) in binaries · Issue #35950 · golang/go
        • Golang : DeepLearningを用いた画像分類 - H型プログラミング

          ディレクトリ├── dataset │   ├── lulu(ルールーの画像を集める->Label{1,0,0}) │   ├── tida(ティーダの画像を集める->Label{0,1,0}) │   └── yuna(ユウナの画像を集める->Label{0,0,1}) ├── go.mod ├── go.sum ├── main.go └── input.jpgdatasetの下にある、フォルダがそれぞれ学習させる画像を集めたものです。僕が作ったライブラリでは、上から順に自動的にラベルが振られます。 学習させる画像を用意する下の画像のように、とりあえずたくさん画像を入れてください。 コード package main import ( "fmt" "math/rand" "os" "time" "github.com/briandowns/spinner" deep "github.co

            Golang : DeepLearningを用いた画像分類 - H型プログラミング
          • SwissMap: A smaller, faster Golang Hash Table

            Today's blog is announcing SwissMap, a new Golang hash table based on SwissTable that is faster and uses less memory than Golang's built-in map. We'll cover the motivation, design and implementation of this new package and give you some reasons to try it. This blog is part of our deep-dive series on the Go programming language. Past iterations include posts about concurrency, "inheritance", and ma

              SwissMap: A smaller, faster Golang Hash Table
            • Go (Golang): Clean Architecture & Repositories vs Transactions

              IntroductionGo (Golang) has been trending for quite some time now, and so has the combination of Clean Architecture and Repository pattern. Thus, it’s only natural that people would try to apply it to everyday scenarios and draw comparisons with other stacks and patterns from there. That said, this is not another post aimed to highlight the ins and outs of this particular choice for organizing Go

                Go (Golang): Clean Architecture & Repositories vs Transactions
              • GitHub - vmihailenco/taskq: Golang asynchronous task/job queue with Redis, SQS, IronMQ, and in-memory backends

                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 - vmihailenco/taskq: Golang asynchronous task/job queue with Redis, SQS, IronMQ, and in-memory backends
                • golangでkubernetes APIにアクセスする - Qiita

                  事前条件 利用できるkubernetesクラスタがある(参考: GNU/Linuxにkindを使ってkubernetesをセットアップする) goがインストールされている(参考: GNU/Linuxにgoenvでgolangをセットアップする) go modulesが利用できる(go v1.13以降ならデフォルトで利用できる) Kubernetes APIにアクセスするコードを用意する Kubernetes APIにアクセスするにはclient-goを使います。この場合client-goを使うコードを1から書いてもよいですが、kyaml2goを使うと、yamlファイルからclient-goを利用するコードを生成してくれます。書くのが面倒なkubernetesのオブジェクトのコードも自動的に生成してくれます。これらのコードを参考にclient-goのリファレンスを参考にコードを修正したりして

                    golangでkubernetes APIにアクセスする - Qiita
                  • GitHub - oxfeeefeee/goscript: An alternative implementation of Golang specs, written in Rust for embedding or wrapping.

                    Is this a new language? No, this is Go by definition. You can think of it as a hybrid of Go and Python, it takes the design of Go and implements it the way Python does. So, I think it's also fair to call it a scripting language. Why not a new language? It's much easier to implement a language than to design one, I don't think I'm able to design a language that people would invest their time to lea

                      GitHub - oxfeeefeee/goscript: An alternative implementation of Golang specs, written in Rust for embedding or wrapping.
                    • Go言語(golang)でcsvの読み書き Reader/Writer - golangの日記

                      go言語の encoding/csv パッケージの使い方。 CSVファイルの読み書きと、オプション、エラーハンドリングについて書いてます。 目次 一行ずつ読み込む(Read) ファイルから読み込む csv.Readerのオプション エラーハンドリング(csv.ParseError) 読み込んだShift-JISファイルをUTF8にする 一度にすべて読み込む(ReadAll) 一行ずつ書き込む(Write) すべて一度に書き込む(WriteAll) CSVを構造体にマッピングする UTF-8 BOM付きで書き込む UTF-16 で書き込む Shift-JIS(ANSI) で書き込む 一行ずつ読み込む(Read) package main import ( "encoding/csv" "fmt" "io" "log" "strings" ) func main() { s := `名前,年齢

                        Go言語(golang)でcsvの読み書き Reader/Writer - golangの日記
                      • 【golang】ジェネリクスを使ったcsvファイル読み込み - Qiita

                        今回やること 今回は、csvファイルを読み込む時に カラムの名称、数に関係なく構造体で取得できるように実装してみます。 ※ Generics機能を使うので、goのバージョンは1.18以上である必要があります。 実装の流れ 最終的なゴールは、抽象的な構造体(CsvAbstract)を作り、そこにcsvコンバート用のメソッド(ConvertCsv)を生やします。 呼び出し側は、自分の好きな構造体をCsvAbstractに当てはめて、ConvertCsvをコールするだけ。 CsvAbstractのDataプロパティを見て、先程当てはめた構造体のインスタンスが入っていれば完成。 今回csv関連で使用するパッケージは、github.com/jszwec/csvutilです。 抽象化した構造体とジェネリクス関数を定義 ジェネリクス機能を使うことで、「型が異なるだけで同じ処理をもつ複数の関数」を「1つの

                          【golang】ジェネリクスを使ったcsvファイル読み込み - Qiita
                        • オシャレでカッコイイGolangテク 15選 - 3DプリンタとITとプリキュアのブログ

                          なんか最近異常にブログの下書きが溜まっていて、書きかけの記事が全部で100件を超えました。 その中でGoでこんな書き方できるよ〜みたいなのが結構いっぱいあって、一気にまとめて放出したくなったのでその話。 スワップ インスタンスを作らないメソッド呼び出し struct cast 式なしswitch unpack operator キャストiota 式にiotaを含める 不規則なiota 無名引数 ブール定数数値定数文字列定数以外にもconstが使いたい! 無名再帰関数 GoStringer interface 多値戻り値を引数にする ソート済みスライスへのinsert アロケーションをしないFilter まとめ スワップ 多値を使うと一時変数を必要としないスワップが書けて「そうそうこれが書きたかったんだよね〜」って気分になれます。 a := 10 b := 20 a, b = b, a これ

                            オシャレでカッコイイGolangテク 15選 - 3DプリンタとITとプリキュアのブログ
                          • Golangはじめて物語(第2話: Gin+ECS+Fargateといっしょ編) - Qiita

                            はじめに 前回の続編。 サーバレスの走り切り処理を書いたのだから、今度は常駐処理を書いてみよう。 JavaではWebアプリケーションサーバはSpringがデファクトになりつつあるが、GoのWebアプリケーションフレームワークはGinが良いという話を聞いた。今回は、Ginを試してみつつ、せっかく作ったのだから常駐のサーバレスコンテナで動かしてみよう。 統合開発環境は前回に引き続き、VSCode+Remote Development Extension Pack+EC2を使った。 Cloud9でいいじゃんという話もありつつ、ここはもう好みの問題だということで、こっちを使い続けた。 ※Cloud9も使いやすくて好き。 Go言語ランタイムのインストールなんかも、前回の記事を参照。 全体構成 以下のようになる。アプリケーションの仕様は以下の通り。 ※Ginのサンプルプロジェクトを少しだけ改造。 /a

                              Golangはじめて物語(第2話: Gin+ECS+Fargateといっしょ編) - Qiita
                            • GitHub - guark/guark: Build awesome Golang desktop apps and beautiful interfaces with Vue.js, React.js, Framework 7, and more...

                              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 - guark/guark: Build awesome Golang desktop apps and beautiful interfaces with Vue.js, React.js, Framework 7, and more...
                              • GolangのORM SQLBoilerを使ってみる - 実装編(Create/Update/Delete)

                                Tweet はじめに GolangのORM SQLBoilerを使ってみる - セットアップ編 でセットアップ完了したので、実際にSQLBoilerを使って実装してみたいと思います。 初期化 まずは初期化を行います。 初期化ではコネクションプールを作ったり、SQLBoiler自体の設定をしたりします。 今回は発行されたSQLを見てみたいので、debugモードにします。 なお、簡単化のため、エラーが出たら全てpanicを起こしています。(良い子は真似しないように) 以下のコードで初期化出来ます。 func initDB() { dns := "user=postgres dbname=sampledb host=localhost sslmode=disable connect_timeout=10" con, err := sql.Open("postgres", dns) if err

                                • Golangで行うポートスキャナ自作ではじめるペネトレーションテスト

                                  はじめに オライリーでポートスキャナ自作ではじめるペネトレーションテストという本が発売されました。 2章ではScapyを利用して実際にパケットを作成して、nmapのようなポートスキャナ自作します。 パケットのカプセル化などNWの仕組みから丁寧に解説されていてとても良書だと思います。 ただ筆者はPythonよりGolang派なので2章のプログラムをGolangに書き換えてみました。 ※オリジナルはこちら gopacket入門 gopacketはGolangでパケットを読み込んだり作ったりするためのライブラリです。 プログラムを作る前に必要なパッケージをインストールしておきます。 ubuntu 22.04で動作確認をしています。

                                    Golangで行うポートスキャナ自作ではじめるペネトレーションテスト
                                  • GolangのSliceでFilterやMap的なことをやりたい - Qiita

                                    前までGo言語でFilter的なことをやりたい時はgo-funkを使っていたが、genを使うようになってからコードが読みやすくなったように感じるのでオススメしたい。 方法1: go-funkを使う go-funkというライブラリを使うと、自前のstructのsliceに対してもFilterやMapなどの処理をかける。 result := funk.Filter(books, func(book *Book) bool { return book.Author == "John Smith" }) Filter以外にもFindやMap、Uniqなど非常に便利な関数が用意されている。手軽さを重視するなら、go-funkを使うのも悪くないとは思う。 ただし、go-funkはリフレクションの仕組みを使って実装されているため、返り値がinterface{}型のsliceになっているため毎回キャストが

                                      GolangのSliceでFilterやMap的なことをやりたい - Qiita
                                    • GolangでAirを使ってホットリロードを実現する - Qiita

                                      package main import ( "net/http" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" ) func main() { // Echo instance e := echo.New() // Middleware e.Use(middleware.Logger()) e.Use(middleware.Recover()) // Routes e.GET("/", hello) // Start server e.Logger.Fatal(e.Start(":8080")) } // Handler func hello(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!") }

                                        GolangでAirを使ってホットリロードを実現する - Qiita
                                      • とりあえずgolang+nginx+mysql+docker-composeの環境構築 - Qiita

                                        Ginを使ったAPIサーバーをnginx, mysql,そしてdockerで構築します。 ファイルをただ並べていくだけの記事です。 やっていること mysql, nginx, goの最低限のファイルをメモがわりに並べています。 (DBへの接続、マイグレーションなどはここでは割愛してます) 全体像 全体像としては以下のようになっています。 ├── backend │   ├── Dockerfile │   ├── Dockerfile.local │   ├── go.mod │   ├── go.sum │   ├── main.go ├── docker-compose.yml ├── mysql │   ├── Dockerfile │   └── my.cnf └── nginx ├── Dockerfile └── nginx.conf

                                          とりあえずgolang+nginx+mysql+docker-composeの環境構築 - Qiita
                                        • 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
                                          • Go言語(golang)でShiftJISのファイルをutf-8に変換する | DevelopersIO

                                            データアナリティクス事業本部の森脇です。 Go言語で文字コードを変換するための方法について調べました。 使用するGo言語のバージョンは1.13.6です。 パッケージのインストール 文字コード変換を行うために、準標準パッケージであるgolang.org/x/textを使用します。 $ go mod init example.com/moriwaki/iconv go: creating new go.mod: module example.com/moriwaki/iconv $ go get -u golang.org/x/text go: finding golang.org/x/text v0.3.2 go: downloading golang.org/x/text v0.3.2 go: extracting golang.org/x/text v0.3.2 $ cat go.mod

                                              Go言語(golang)でShiftJISのファイルをutf-8に変換する | DevelopersIO
                                            • 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

                                                The most interesting demo is currently in example/osview. Start the server go run ./example/osview .. The local folder at . will be the initial view in the mount. mutations to metadata or contents will be stored purely in memory and not written back to the OS. When run, this demo will print the port it is listening on. The mount can be accessed using a command similar to mount -o port=<n>,mountpor

                                                  GitHub - willscott/go-nfs: golang NFSv3 server
                                                • 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
                                                  • 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言語のブログ
                                                    • golang.org/x/tools/go/packages による構文解析と型解析 - GeekFactory

                                                      golang.org/x/tools/go/packages を利用すると,抽象構文木や型情報を利用したコードが簡単に書けるので調べてみました.日本語の情報があまりないようです. 抽象構文木を表示する Goのソースコードを読み込むには,packages.Load 関数を利用します.packages.Load 関数の引数にはどんな情報を解析してほしいかという設定を渡します.抽象構文木(AST)を取得するには下記のコードのようにフラグを渡します.ドキュメントを読むと packages.NeedSyntax だけで良さそうなのですが,実際に実行してみると複数のフラグが必要でした. Load 関数の引数にはパッケージ名の配列を渡します../helloworld, os/exec, ./... のような表記が使えます. package main import ( "go/ast" "log" "os

                                                        golang.org/x/tools/go/packages による構文解析と型解析 - GeekFactory
                                                      • 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
                                                          • golangでREST APIをやってみた① - Qiita

                                                            はじめに この記事は JSL (日本システム技研) Advent Calendar 2018 - Qiita 20日目の記事です。 昨年同様、一人アニバーサリー記念記事です。色々ありましたが、なんとか本厄も乗り切れそうです! golangでREST APIをやってみた話を書きます。最近ちらほらPythonからgolangへ移行した 話を聞くので、お試し的なノリでやってみたいと思います。 今回は、「ORMで取得したデータをGETメソッドで返すところまで」を目標にします。 弊社のプロダクトでDjango restframeworkを使用してバックエンドを実装しているものがいくつかあるので、今後は、そちらのAPIとのパフォーマンス比較をしたりしてみたいです。 ※golangデビューなので、手探り感満載なので、お気づきの点あればフォローもらえるとありがたいです!! 環境周り macOS 10.2.

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

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

                                                                    Golang の標準ライブラリのみで、時間や配列、カスタム構造体(独自の型)を引数として受け取れるようにする - Qiita
                                                                  • GitHub - go-echarts/go-echarts: 🎨 The adorable charts library for Golang

                                                                    🎨 The adorable charts library for Golang. If a language can be used to build web scrapers, it definitely needs to provide a graceful data visualization library. --- by dongdong. In the Golang ecosystem, there are not many choices for data visualization libraries. The development of go-echarts aims to provide a simple yet powerful data visualization library for Golang. Apache ECharts is an awesome

                                                                      GitHub - go-echarts/go-echarts: 🎨 The adorable charts library for 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
                                                                      • 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 をデバッグする方法
                                                                        • 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
                                                                          • Golangで簡単にPrometheusのExporterを作れる。 - Qiita

                                                                            Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationWhat you can do with signing up

                                                                              Golangで簡単にPrometheusのExporterを作れる。 - Qiita
                                                                            • 図解 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
                                                                              • user-defined iteration using range over func values · golang/go · Discussion #56413

                                                                                There is no standard way to iterate over a sequence of values in Go. For lack of any convention, we have ended up with a wide variety of approaches. Each implementation has done what made the most sense in that context, but decisions made in isolation have resulted in confusion for users. In the standard library alone, we have archive/tar.Reader.Next, bufio.Reader.ReadByte, bufio.Scanner.Scan, con

                                                                                  user-defined iteration using range over func values · golang/go · Discussion #56413
                                                                                • [Golang]テストで特定の処理をモックにしたい場合のインターフェースの使い方

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