並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 395件

新着順 人気順

goの検索結果201 - 240 件 / 395件

  • 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 1.22リリース連載 net, net/http, net/netip | フューチャー技術ブログ

      The Gopher character is based on the Go mascot designed by Renée French TIG 真野です。Go1.22連載の8本目です。 Go 1.22 ライブラリのマイナーアップデートである net, net/http, net/netip を取り上げます。 アップデートサマリnet: TCPConnからUnixConnへのio.Copy() で、Linux’s splice(2)システムコールが使われ性能改善 #58808net: WindowsでDNSリゾルバは-tags=netgo 付きでビルドすると、DNSクエリの前に%SystemRoot%\System32\drivers\etc\hosts から検索するようになる [#57757]https://github.com/golang/go/issues/57757)net

        Go 1.22リリース連載 net, net/http, net/netip | フューチャー技術ブログ
      • Request Rejected

        The requested URL was rejected. Please consult with your administrator. Your support ID is: 721119603503596949 [Go Back]

        • 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
          • BigQuery Emulator をアップデートしました - Route54

            BigQuery Emulator の v0.6.0 をリリースしました。 今回のリリースでは、Recidiviz社 の @ohaibbq さんが多大な貢献をしてくださいました。Recidiviz社ではかなり前から BigQuery Emulator を使ってくれているようで、以前から Issue や DM などでそのことを伝えてくれていましたが、@ohaibbq さんが今Qエミュレータの改善にコミットできるということで、 Recidiviz社側で fork して使っていたものに加えていた patch をたくさん送ってくれました。 かなり多くの改善が入っているので、以前エミュレータを試して動かなかったクエリを再度試す良い機会かなと思っています。 @ohaibbq さんからは、嬉しいことに今後も貢献してくださると言っていただけているので、今後の改善も速いペースで進んでいくと思います。素晴らし

              BigQuery Emulator をアップデートしました - Route54
            • Finishing Turborepo's migration from Go to Rust – Vercel

              We've finished porting Turborepo, the high performance JavaScript and TypeScript build system, from Go to Rust. This lays the groundwork for better performance, improved stability, and powerful new features. Here’s how we finished this port and shipped the first all-Rust version of turbo. Since last timeAt the end of our previous article, we had completed the “Rust-Go-Rust sandwich”, or “Go sandwi

                Finishing Turborepo's migration from Go to Rust – Vercel
              • [Go] json.Unmarshal と json.Decoder の使い分け ~ json.Decoder に親しむ

                はじめに 今やあらゆるアプリケーションは Go で書かれていると言っても過言ではない(過言)。そして、今やあらゆるデータは json であると言っても過言ではない(過言)。 となると、Go で json を扱う頻度も必然的に多くなる。そして初めて Go で json をデコードするコードを書こうとした人は、必ずこの問題にぶち当たる。 「json.Unmarshal と json.Decoder は何が違うのか?そしてどちらを使えばいいのか?」 そしてググると大抵以下のような答えにたどり着く。 入力が文字列(string)やバイト列([]byte)の場合は json.Unmarshal() を使う 入力がストリーム(io.Reader)の場合は json.Decoder を使う なるほど、確かにパッと見はそれでいいように思える。思えるんだが、よく見ると実は他にもいくつか考慮すべき点がある。

                  [Go] json.Unmarshal と json.Decoder の使い分け ~ json.Decoder に親しむ
                • Go言語、実行時プロファイル情報による最適化「Profile-guided optimization」が正式機能に。Go 1.21リリース

                  Go言語の開発チームは8月8日にリリースしたGo 1.21で、実行時のプロファイル情報を用いてコンパイルを最適化し、実行速度の改善を図る「Profile-guided optimization」機能が正式版になったことを明らかにしました。 Go言語のコンパイルはソースコードの静的な解析を基にして高速なバイナリを生成するような最適化が行われています。 今回、正式機能となった「Profile-guided optimization」は、バイナリ実行時にどの関数が何度呼ばれたのか、メモリがどのように使用されたかなどのプロファイル情報を基にコンパイルを最適化することで、より高速なバイナリを生成する手法です。 具体的には、何度も呼ばれた関数をインライン展開することで関数呼び出しのオーバーヘッドをなくす、変数の使用頻度によってレジスタへの割り当てを変更する、ループを展開する、などの処理がコンパイル時に

                    Go言語、実行時プロファイル情報による最適化「Profile-guided optimization」が正式機能に。Go 1.21リリース
                  • Scaling gopls for the growing Go ecosystem - The Go Programming Language

                    Across these repos, the savings average around 75%, but memory reductions are non-linear: as projects get larger, so does the relative decrease in memory usage. We’ll explain this in more detail below. Gopls and the evolving Go ecosystem Gopls provides language-agnostic editors with IDE-like features such as auto-completion, formatting, cross-references, and refactoring. Since its beginnings in 20

                      Scaling gopls for the growing Go ecosystem - The Go Programming Language
                    • GitHub - osteele/gojekyll: A fast Go implementation of the Jekyll blogging engine

                      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 - osteele/gojekyll: A fast Go implementation of the Jekyll blogging engine
                      • テーブル駆動テストと状態

                        https://golangtokyo.connpass.com/event/293636/

                          テーブル駆動テストと状態
                        • Turborepo、GoからRustへの戦略的移行を発表 ― 既存機能の修正を続けながら移行

                          7月21日、TurborepoはGoからRustへの移行を発表しました。 この移行方法について詳しく説明します。 GoからRustへの移行は戦略的な選択であり、新機能のリリースや既存の機能の修正を続けながら移行を行うことができます。 詳細は以下の通りです。 ポートと完全な書き換えは、GoからRustへの移行方法の2つのアプローチです。 ポートは、コードを一部ずつ移行する方法であり、新しいコードと古いコードを同時に実行します。 一方、完全な書き換えは、新しいバージョンを古いバージョンと完全に置き換える方法です。 ポートのメリットは、新しい機能を追加しながら既存の機能を維持できることです。 また、ポートは、新しいバージョンが古いバージョンと比べてシームレスであることを保証することができます。 完全な書き換えでは、新しいバージョンが古いバージョンと一致しない場合があり、ユーザーが変更や欠落した機

                            Turborepo、GoからRustへの戦略的移行を発表 ― 既存機能の修正を続けながら移行
                          • PostgreSQLのtimestamp with time zone型とGoのtime.Location | フューチャー技術ブログ

                            はじめにTIG真野です。育休明けです。 PostgreSQLには timestamp with time zone(timestamptz: 長いので以後こちらで表記します)型が存在します。一見、タイムゾーン付きで日時データを保持してくれそうな名称ですが、そうではないよという話をさせてください。 timestampz の仕様PostgreSQLのドキュメント 8.5.1.3. タイムスタンプ には以下のような仕様が書かれています。 timestampzの内部に格納されている値は UTC である 入力文字列にタイムゾーンが指定されていれば、そのタイムゾーンを元にUTCに変換され保持される timestampzの値を取得すると、UTCから現行のタイムゾーンに変換されて表示される 1,2 は timestamp with time zone という名称から、書き込み時のタイムゾーンも保持している

                              PostgreSQLのtimestamp with time zone型とGoのtime.Location | フューチャー技術ブログ
                            • go cleanしたらストレージが15GB空いた話

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

                                go cleanしたらストレージが15GB空いた話
                              • Rust vs. Go: Implementing a REST API in SQLite

                                Backend の開発言語選定について、現職では Go を推す声が強い。 なぜなら、現状の技術選定に、規律がないからだ。Java、Python、Ruby、PHP、Node.js、Go、Kotlin and more. Web 業界では、Go が popular になっているし、現職の 2B・2C 向けサービスも Go を多く使っている。 僕個人として、Go を選択することに異論はない。 一方で、次を見据えて考えておく必要もある。 何が言いたいかというと、より最高な選択肢は何かを常に考えていきたい。思考停止は退化。 Rust について、 tutorial gRPC Rust + Wasm + Cloudflare Workers REST と続けてきて、syntax は身について来た。 より実践的な課題を解けるように実践を重ねていく。そして、AtCoder の algorithm 問題につい

                                  Rust vs. Go: Implementing a REST API in SQLite
                                • Terraformの実装コードを、動かしながら読む | フューチャー技術ブログ

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

                                    Terraformの実装コードを、動かしながら読む | フューチャー技術ブログ
                                  • 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
                                    • Finding unreachable functions with deadcode - The Go Programming Language

                                      The Go Blog Finding unreachable functions with deadcode Alan Donovan 12 December 2023 Functions that are part of your project’s source code but can never be reached in any execution are called “dead code”, and they exert a drag on codebase maintenance efforts. Today we’re pleased to share a tool named deadcode to help you identify them. $ go install golang.org/x/tools/cmd/deadcode@latest $ deadcod

                                        Finding unreachable functions with deadcode - The Go Programming Language
                                      • GitHub - samber/oops: 🔥 Error handling library with context, assertion, stack trace and source fragments

                                        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 - samber/oops: 🔥 Error handling library with context, assertion, stack trace and source fragments
                                        • Golang Select Query [PostgreSQL MySQL]

                                          # APITo see the full list of supported methods, see SelectQueryopen in new window. db.NewSelect(). With("cte_name", subquery). Model(&strct). Model(&slice). Column("col1", "col2"). // quotes column names ColumnExpr("col1, col2"). // arbitrary unsafe expression ColumnExpr("count(*)"). ColumnExpr("count(?)", bun.Ident("id")). ColumnExpr("(?) AS alias", subquery). ExcludeColumn("col1"). // all column

                                          • Go 1.22 is released! - The Go Programming Language

                                            The Go Blog Go 1.22 is released! Eli Bendersky, on behalf of the Go team 6 February 2024 Today the Go team is thrilled to release Go 1.22, which you can get by visiting the download page. Go 1.22 comes with several important new features and improvements. Here are some of the notable changes; for the full list, refer to the release notes. Language changes The long-standing “for” loop gotcha with a

                                              Go 1.22 is released! - The Go Programming Language
                                            • 詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話

                                              Go1.22から(プレビューはGo1.21から)ループ変数のメモリ共有問題が解消されたことは皆様よくご存知かと思います。 cf. Fixing For Loops in Go 1.22 それではもう1歩踏み込んで、ループ変数がイテレーション毎に異なるインスタンスになるのはどのような時でしょうか?以下2つの出力が異なる理由をどう説明できるでしょうか? for i := range 3 { fmt.Print(&i) // [0x14000112018, 0x14000112030, 0x14000112038] // 異なるアドレス } for i := range 3 { print(&i) // [0x1400010af18, 0x1400010af18, 0x1400010af18] // 同じアドレス } 新しいループとそれを取り巻くツールの実装は、既存コードでバグを生み出さない・パ

                                                詳解 "Fixing For Loops in Go 1.22" 自作linterをgolangci-lintへコントリビュートした話
                                              • Googleが開発したプログラミング言語「Go」にセキュリティアップデート/修正版の「Go 1.22.2」「Go 1.21.9」が公開

                                                  Googleが開発したプログラミング言語「Go」にセキュリティアップデート/修正版の「Go 1.22.2」「Go 1.21.9」が公開
                                                • 【永久保存版】0からGo言語を勉強するならこのロードマップに従え! - Qiita

                                                  はじめに こんにちは!!@Sicut_studyです! 今回はGo言語の個人的に良かったと思った学習方法をGo言語を学ぶための最速ロードマップとして記事にまとめていきます! つい先日技術書典があり、改めてGo言語が注目されているというのを再実感しましたので記事を書くなら今だ!!と思いました 過去にも0からロードマップシリーズは書いていますので参考にしてみてください この記事の対象者 Go言語を勉強しよと考えている人 バックエンドの学習方法について知りたい 新しい技術を学びたい方 ロードマップ このロードマップでは0から学習をして Go言語でWebアプリの基本的なバックエンドが作れるようになる ここをゴールとして紹介しています 私の記事では何度も行っている通り、最低限のインプットにとどめてとにか実践で学習していく方針で説明していきます 今回は以下の3ステップで学習していきます 書籍でインプッ

                                                    【永久保存版】0からGo言語を勉強するならこのロードマップに従え! - Qiita
                                                  • Go 1.21.0 で導入された遅延初期化関数 sync.OnceValue

                                                    Go 1.21.0 のマイナーなライブラリ修正の中に、sync.OnceValue という関数が追加されていた。[1] sync The new OnceFunc, OnceValue, and OnceValues functions capture a common use of Once to lazily initialize a value on first use. どうやら、これは遅延初期化を実現するもののようだ。 「遅延初期化」とは、初期化処理を使用する直前に1回だけ行うというもので 実際に使用するかしないか分からないので、起動時のタイミングで行うと初期化コストが無駄になる場合がある 使用する直前でないと、初期化に必要な情報がそろいにくい 使用するたびに初期化というのはコストがかかりすぎる 複数個所のどこで最初に呼び出されるのか分からないので、初期化関係の煩わしい手続きは呼

                                                      Go 1.21.0 で導入された遅延初期化関数 sync.OnceValue
                                                    • xoのコード生成でgqlgenのDataLoader実装を楽にした話

                                                      2024/6/7の発表の前編です。

                                                        xoのコード生成でgqlgenのDataLoader実装を楽にした話
                                                      • techdocs/coroutines-for-go/memo.md at main · koron/techdocs

                                                        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

                                                          techdocs/coroutines-for-go/memo.md at main · koron/techdocs
                                                        • JMDCに入社して1年経ったので振り返ってみた - JMDC TECH BLOG

                                                          みなさん、こんにちは!プロダクト開発部の西原です。 現在、JMDCが保有している医療ビッグデータを活用して生活者や医療に新しい価値を提供する新規プロダクト開発チームのバックエンドを担当しております。 私ごとですが、未経験からエンジニア業界に転職して約3年になります。そして、先日JMDCに入社してちょうど1年経ちました。まだまだエンジニアとしての経験は浅いですが、私なりにJMDCでの1年間を振り返りたいと思います。 入社当初 新規プロダクト開発のバックエンドではGo言語を採用しています。私はGo言語は未経験だったため、プロダクトチームへアサインされる前に、Goのオンボーディングからスタートしました。オンボーディングでは、まず「A Tour of Go」というツールを用いてGo言語の基礎を身につけました。 A Tour of Go はGo言語の公式サイトに存在し、ブラウザ上でコードを実行しなが

                                                            JMDCに入社して1年経ったので振り返ってみた - JMDC TECH BLOG
                                                          • 「ライドシェア」解禁1カ月、ドライバーが見た実態

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

                                                              「ライドシェア」解禁1カ月、ドライバーが見た実態
                                                            • 2023/12/31 より Go1.x ランタイムを利用している AWS Lambda Function が非推奨になる件の影響範囲や取れる対応 - stefafafan の fa は3つです

                                                              社内向けに周知を書いてたけど、そのままパブリックにも書けばいいかとおもって書きます。関連エントリ: aws.amazon.com gs2.hatenablog.com 概要 AWS Lambda Function を Go1.x Runtime で動かしている場合は、2023/12/31に非推奨になるので対応しましょう 厳密には Deprecation Policy の Phase 1 の状態 になります。セキュリティパッチなどのアップデートがこなくなり、新規作成もできなくなります (既存のFunction はそのまま利用可能) なお、Phase 2の「既存の関数の更新もできなくなる」のは 2024/1/30 となります(こちらはAWSより届いたメールに書いてありました)。 影響の有無の確認 以下のいずれかの状態のLambda Functionが対象となります。 .zip file の形式

                                                                2023/12/31 より Go1.x ランタイムを利用している AWS Lambda Function が非推奨になる件の影響範囲や取れる対応 - stefafafan の fa は3つです
                                                              • Easy Scraper

                                                                well, that's it. go try it out! also it's completely free for now because i'll be on a silent meditation retreat for all of march and didn't have time to add in paid plans. enjoy and please leave a nice review if you like it <3

                                                                • BufとProtobufで始めるモダンgRPC開発

                                                                  Protocol Buffers(Protobuf)を用いた開発(主にgRPC)にはprotocのようなコンパイラが長い間使われてきました。 コード生成やドキュメントの作成、REST APIとしてのゲートウェイの実装など便利で柔軟なprotocプラグインが利用できる一方、そのためのコード生成コマンドは複雑になりがちです。 こういったProtobufを用いた開発に関わるさまざまな問題をBufは解決するためにBuf CLIやBuf Schema Registry、Connectプロトコルなどさまざまなツールやプロトコルを開発しました。 本書ではBufが開発したさまざまなツールやプロトコルを使用し、現代的でモダンなProtobuf開発について紹介します。

                                                                    BufとProtobufで始めるモダンgRPC開発
                                                                  • Why People are Angry over Go 1.23 Iterators

                                                                    NOTE: This is based on, but completely rewritten, from a Twitter post: https://x.com/TheGingerBill/status/1802645945642799423 TL;DR It makes Go feel too “functional” rather than being an unabashed imperative language. I recently saw a post on Twitter showing the upcoming Go iterator design for Go 1.23 (August 2024). From what I can gather, many people seem to dislike the design. I wanted to give m

                                                                    • Go testにおける可読性を保つ方法を考える - every Tech Blog

                                                                      はじめに TIMELINE開発部の内原です。 本日はGo言語のテストにおける可読性について考えてみます。この記事を読んでいただいている皆さんにも、テストを書いていて以下のような問題を感じた経験があるのではないでしょうか。 既存のコードに機能追加をするためテストコードにもテストケースを追加しようとしたが、テストコードが複雑で読み解きづらく、テストを追加するのに苦労した テストケースの種類が多く、少しデータを追加しただけでも既存のテストが動かなくなる テストデータの登録方法が複雑で、テストコードの実装以前に手間取る 上記のような問題に対処するべく、実践的なシナリオに従ってGo言語のテストコードを実際に書きつつ都度改善していくことにします。 仕様(ver.1) ユーザ情報には名前、状態(有効、無効)とがある 有効なユーザ一覧を返却する関数 LoadActive() を実装する。その際並び順はID

                                                                        Go testにおける可読性を保つ方法を考える - every Tech Blog
                                                                      • 『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか

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

                                                                          『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
                                                                        • GitHub - benhoyt/gogit: Just enough of a git client (in Go) to init a repo, commit, and push to GitHub

                                                                          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 - benhoyt/gogit: Just enough of a git client (in Go) to init a repo, commit, and push to GitHub
                                                                          • sql.Null[T] をGo 1.22に追加しました - methaneのブログ

                                                                            Go 1.22 のリリースが近づいていますが、その中でdatabase/sqlにNull[T]を追加したので紹介しておきます。 database/sql パッケージにはNullByte,NullBool,NullFloat64,NullInt64などのNullableなカラムを扱うための型が用意されているのですが、NullUInt64はありませんでした。 UInt型が標準的ではなく、driver.Valueにもuint64が含まれていないからです。 一方でMySQLはunsigned tinyint~bigint型があるのでgo-mysql-driverもuint64には対応しています。32bitまではint64で、64bitではuint64で扱うようになっています。 だからと言ってドライバー独自に NullUInt64 を提供すると、他のパッケージも同じ型を提供した時に混乱の元です。 と

                                                                              sql.Null[T] をGo 1.22に追加しました - methaneのブログ
                                                                            • GitHub - AccentDesign/gcss: CSS written in Pure Go

                                                                              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 - AccentDesign/gcss: CSS written in Pure Go
                                                                              • Goのエラースタックトレースの歴史と今後

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

                                                                                  Goのエラースタックトレースの歴史と今後
                                                                                • Goのmultiple errorsについて (2024年4月版)

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

                                                                                    Goのmultiple errorsについて (2024年4月版)