並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 41件

新着順 人気順

golang format string with intの検索結果1 - 40 件 / 41件

  • すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる

    あなたがさっきまで読んでいた技術的に役立つ記事は、10年後も使えるでしょうか?ほとんどの場合でいいえ はじめに 短期的に効果的な手法や知識は、ソフトウェア開発の分野において、急速に価値を失う傾向があります。この現象は、私たちが何を重点的に学ぶべきかを示唆しています。最も重要なのは、第一に基本的な原理・原則、そして第二に方法論です。特定の状況にのみ適用可能な知識や即座に結果を出すテクニックは、長期的には有用性を失う可能性が高いです。これは、技術や手法が時間とともに進化し、変化していくためです。 learning.oreilly.com 「API Design Patterns」は、このような考え方を体現した書籍です。しかも480 ページもあります。本書は単なる手法の列挙ではなく、Web APIデザインの根幹をなす原則と哲学を探求しています。著者のJJ Geewax氏は、APIを「コンピュータ

      すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる
    • Go公式のlinter、Golintが非推奨になった

      Goが公式で出していたGolintがdeprecated/frozenしました。 メンテがされていない 2018年から実質的な変更が加わってない Issueも放置されているものが多い golang orgに存在するlinterなのでGoが公式として推奨しているlinterに見える Go が実際には保守されていないプログラムを公式として推奨しているように見えてしまう 開発者は合理的に異なるスタイルを採用したい場合がある Golint単体で特定の警告を無視したりするなどの機能を持っていない ということからattractive nuisance(魅力的な迷惑者)になっているというProposalでした。 Issueの議論を見てもdeprecate/frozenすることに対して否定的な意見は少なく、一年ほど前にapproveされました。(なので「非推奨にしよう」なったの自体は少し前の話です) そし

        Go公式のlinter、Golintが非推奨になった
      • Go: A Documentary

        The historical release notes may helpful for general information: doc/go1release Go Release History doc/go1prerelease Pre-Go 1 Release History doc/go0release Weekly Release History (Before Go 1) Language Design General design/go0initial Rob Pike, Robert Griesemer, Ken Thompson. The Go Annotated Specification. Mar 3, 2008. design/go0spec0 The Go Programming Language. Language Specification. Mar 7,

        • Goでスタイリッシュにエラーをラップする方法を学んだ - カミナシ エンジニアブログ

          こんにちは。カミナシ ソフトウェアエンジニアの @aoman です。 つい先日、Goで有名な@tenntennさんがConnpassで募集していたGopher塾#2に参加させていただきました。 tenntenn.connpass.com 大変勉強になりおすすめです!筆者が参加したのは第一回目ですが、二回目三回目と予定されているようなので、有料講義ではありますが気になる方はぜひ参加してみてください!学生さんであれば無料の抽選枠もあります。 その際に紹介されていたコードで、エラーのラップ関数があったのですが、これが「メッチャアタマイイ!!スタイリッシュ!!」と感動しました。そのコードは、Goの公式ページである https://go.dev/ のWebサイトを実装しているリポジトリ pkgsite 内の internal/derrors パッケージで実装されています(GitHubリポジトリはミラ

            Goでスタイリッシュにエラーをラップする方法を学んだ - カミナシ エンジニアブログ
          • Goにおいてアクターモデルを実現するライブラリ"Molizen"とその未来

            こんにちは。@sanposhihoです。 この記事では、アクターモデルとはなんぞやという話から始まり、僕が卒業論文のプロジェクトとして作成したGoのライブラリ、“Molizen”の紹介をします。 わりと長く、乱文ですが、適宜読み飛ばして興味のある部分だけをご覧いただければと思います。 マサカリは優しく投げてください。ここはこうした方がいいんじゃないかみたいなのも参考にしたいので是非。 Twitter(@sanpo_shiho)に投げていただいても、雑にGitHubのissueを立てていただいてもいいです。 sanposhiho/molizen: Molizen is a typed actor framework for Go. Goのアクターモデルのフレームワークを公開しました。未完成なので暖かく成長を見守ってください🌱 sanposhiho/molizen: Molizen is a

              Goにおいてアクターモデルを実現するライブラリ"Molizen"とその未来
            • 私たちはKubernetes SchedulerにWasm拡張の夢を見るか | メルカリエンジニアリング

              この記事はMercari Advent Calendar 2022の21日目の記事です。 こんにちは。メルカリのPlatform Infraチームで働いている @sanposhiho といいます。 個人的にKubernetesやその周辺のOSSにコントリビュートをしていて、特にKubernetesのコントロールプレーンのコンポーネントのうちの一つであるスケジューラー周りを触ってることが多いです。 この記事では、現状のスケジューラーにおける拡張性の課題と、スケジューラーに現代の汎用バイナリとも言えるWasm(WebAssembly)ランタイムを通した拡張性を持たせることができるのかどうかを検証してみます。 Kubernetes Scheduler とは スケジューラーはPodをどのNodeで実行するかを決定しているコンポーネントです。 その時の様々なリソースの状況を見たり、ユーザーが指定した

                私たちはKubernetes SchedulerにWasm拡張の夢を見るか | メルカリエンジニアリング
              • Golangbyexample | สล็อตเว็บตรง PG SLOT รับวอเลท สล็อต เว็บแท้

                Golangbyexample | สล็อตเว็บตรง PG SLOT รับวอเลท สล็อต เว็บแท้ Golangbyexample เว็บสล็อตตรง ไม่ผ่านเอเย่นต์ สล็อตเว็บตรง API แท้ไม่มีล็อคยูส สล็อต ครบทุกค่ายชั้นนำ PG SLOT ฝากถอนวอเลทไม่มีขั้นต่ำ Note: Check out our golang advanced tutorial here Also, check out our system design tutorial series here About Golang Golang Advanced Tutorial Series About GOLANG GO Installation Set up GO Workspace and He

                  Golangbyexample | สล็อตเว็บตรง PG SLOT รับวอเลท สล็อต เว็บแท้
                • 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

                  • GitHub Actions on AWS with CDK - NTT docomo Business Engineers' Blog

                    はじめに こんにちは、イノベーションセンターの福田です。 今回、開発環境改善の取り組みとして GitHub Actions の self-hosted runners を AWS 上に構築しました。 この構築で得られた知見について共有します。 概要 GitHub Actions は GitHub で CI/CD を手軽に実現する機能です。 GitHub が提供している環境を利用して、 CI/CD のジョブを実行できます1。 一方で、ハードウェア等をカスタマイズできないため、例えば容量が大きくより速度の早いストレージを利用したい場合や、より多くのメモリを利用したい場合に対応ができません。 そこで、GitHub Actions には self-hosted runners という機能があり、自身の環境で GitHub Actions の CI/CD ジョブを走らせる環境を用意できます。 今回は

                      GitHub Actions on AWS with CDK - NTT docomo Business Engineers' Blog
                    • Go 1.17 Release Notes - The Go Programming Language

                      Introduction to Go 1.17 The latest Go release, version 1.17, arrives six months after Go 1.16. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language Go 1.17 includes three small enhancements to the l

                        Go 1.17 Release Notes - The Go Programming Language
                      • GoのASTを解析してFeature Toggleを掃除する - freee Developers Hub

                        この記事はfreee Developers Advent Calendar 2023の21日目の記事です。 こんにちは、金融開発部でEMをしている ogugu です。 今回は、Go言語において Feature Toggle の分岐を掃除するCLIを作ったので、ご紹介します。 ※ 毎年恒例の開発合宿 での成果になります。 Feature Toggle とは Feature Toggle とは、特定機能の有効・無効をフラグによって切り替える方法です。 金融開発部では、以下のように Feature Toggle を実現できるライブラリを用意しています。 if featflg.Enabled(ctx, "feature_name") { doNewLogic() } else { doOldLogic() } 一般に、フラグ設定は、設定ファイル・環境変数・ストレージなどから読み出し、それらに対する

                          GoのASTを解析してFeature Toggleを掃除する - freee Developers Hub
                        • 構造化ログと実装 -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 | サイボウズエンジニアのブログ
                          • Lies we tell ourselves to keep using Golang

                            👋 This page was last updated ~3 years ago. Just so you know. In the two years since I’ve posted I want off Mr Golang’s Wild Ride, it’s made the rounds time and time again, on Reddit, on Lobste.rs, on HackerNews, and elsewhere. And every time, it elicits the same responses: You talk about Windows: that’s not what Go is good at! (Also, who cares?) This is very one-sided: you’re not talking about th

                              Lies we tell ourselves to keep using Golang
                            • Go 1.20 Cryptography

                              The first second release candidate of Go 1.20 is out!1 This is the first release I participated in as an independent maintainer, after leaving Google to become a professional Open Source maintainer. (By the way, that’s going great, and I’m going to write more about it here soon!) I’m pretty happy with the work that’s landing in it. There are both exciting new APIs, and invisible deep backend impro

                                Go 1.20 Cryptography
                              • Go 1.20 Release Notes - The Go Programming Language

                                Introduction to Go 1.20 The latest Go release, version 1.20, arrives six months after Go 1.19. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language Go 1.20 includes four changes to the language. Go

                                  Go 1.20 Release Notes - The Go Programming Language
                                • Goの標準ライブラリに学ぶジェネリクス | gihyo.jp

                                  はじめに 2022年3月にリリースされたGo1.18ではジェネリクス(型パラメータ)が導入されました。長年楽しみされてきた機能で、少しずつGoの標準ライブラリでも使用され始めています。一方でリリース時に少し試してはみたものの、使いどころ所が難しいと思った読者の方も多いのではないでしょうか。この記事ではGoの標準ライブラリにおける利用例を紐解きながらジェネリクスへの理解を深めていきます。 timeパッケージ 日付と時刻の操作を扱うtimeパッケージでは内部的にジェネリクスが利用されています。JSONのシリアライズを行うMarshalJSONへのバリデーションの改善とジェネリクスの導入により、9%以上の高速化が成されました。では実装を見てみましょう。 timeパッケージのformat.goより func atoi[bytes []byte | string](s bytes) (x int,

                                    Goの標準ライブラリに学ぶジェネリクス | gihyo.jp
                                  • Go言語で簡単なgRPCサーバーを作成 | DevelopersIO

                                    この記事はGo言語でgRPCサーバーを作る上で学んだことをまとめています。サンプルプロジェクトとしてシンプルな単行RPC(Unary RPC)サーバーとそれを呼び出すコマンドラインのクライアントを作成していきます。 はじめに この記事はGo言語でgRPCサーバーを作る上で学んだことをまとめています。 サンプルプロジェクトとしてシンプルな単行RPC(Unary RPC)サーバーとそれを呼び出すコマンドラインのクライアントを作成していきます。 ※この記事は既にGo言語の開発環境をセットアップ済みで基本的な文法を学習済みの方を想定しています。 動作環境 今回使用した動作環境は以下のとおりです。 PC : Mac M1(Apple Silicon)チップ OS : macOS Big Sir 11.5.2 Go : 1.17.1 gRPCとは gRPCはGoogleの作ったRPCのフレームワークで

                                      Go言語で簡単なgRPCサーバーを作成 | DevelopersIO
                                    • Go 1.18 Release Notes - The Go Programming Language

                                      Introduction to Go 1.18 The latest Go release, version 1.18, is a significant release, including changes to the language, implementation of the toolchain, runtime, and libraries. Go 1.18 arrives seven months after Go 1.17. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language Generics G

                                        Go 1.18 Release Notes - The Go Programming Language
                                      • Darker Corners of Go – Rytis Biel

                                        Note: this article is available as an ebook and as a printed book for easier reading Introduction What is this? When I was first learning Go, I already knew several other programming languages. But after reading an introductory book and the language specification I felt like I really didn’t know enough about Go to use it for real world work. I felt I’d probably need to fall into many traps before

                                          Darker Corners of Go – Rytis Biel
                                        • Go 1.19 Release Notes - The Go Programming Language

                                          Introduction to Go 1.19 The latest Go release, version 1.19, arrives five months after Go 1.18. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language There is only one small change to the language, a

                                            Go 1.19 Release Notes - The Go Programming Language
                                          • Goによる動的なJSON生成パターンの比較検討~Elasticsearch Query生成機構を求めて~ - エムスリーテックブログ

                                            こちらの記事はGo アドベントカレンダー2021の8日目の記事です。 qiita.com エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(@po3rin) です。好きな言語はGo。情報検索系の話が好物です。 弊社の検索基盤ではElasticsearchをGoから叩いています。ElasticsearchのクエリはJSONになるので、ユーザーからのHTTPリクエストから巨大JSONを動的に生成する処理が発生します。これをどのように実装するかはさまざまなパターンがあります。今回はElasticsearchのクエリ生成を例に、JSON生成パターンをまとめて検討していきます。 Elasticsearch Query生成問題 構造体からのJSON生成 map[string]interface http/templateパッケージ CUEパッケージ 比較

                                              Goによる動的なJSON生成パターンの比較検討~Elasticsearch Query生成機構を求めて~ - エムスリーテックブログ
                                            • go vet に含まれないスタンドアロンな静的解析ツールたち | フューチャー技術ブログ

                                              はじめにTIG真野です。育休明けです。 Go言語の特徴の1つに、静的解析ツールがリッチということがあると思いますが、代表格である go vet と付随する(という表現が正しいか不明ですが)ツール群についてまとめます。知っておくと似たようなツールを作ってしまうことを防げるかなという点と、類似のチェックを行いたい場合に参考にしたいこと、ユースケースが合えばこれらを利用してハッピーになりたいという思いがあります。 go vetとはgo vet はGo言語に標準で組み込まれた静的解析ツールで、コンパイラによってキャッチされないエラーや懸念を検出し報告してくれます。Linter(リンター)の一種です。 チェック内容の一覧は go tool vet help コマンドで確認できます。デフォルトでは全て有効になっており(-asmdecl=false などで個別に無効化は可能)、Go1.21時点では30の

                                                go vet に含まれないスタンドアロンな静的解析ツールたち | フューチャー技術ブログ
                                              • Go Fuzzing - The Go Programming Language

                                                Go supports fuzzing in its standard toolchain beginning in Go 1.18. Native Go fuzz tests are supported by OSS-Fuzz. Try out the tutorial for fuzzing with Go. Overview Fuzzing is a type of automated testing which continuously manipulates inputs to a program to find bugs. Go fuzzing uses coverage guidance to intelligently walk through the code being fuzzed to find and report failures to the user. Si

                                                  Go Fuzzing - The Go Programming Language
                                                • 多くのデータベースに対応したマイグレーションツール migrate を MySQL で試した - kakakakakku blog

                                                  データベースのマイグレーションを行うツール migrate を試した.migrate は MySQL / MariaDB / PostgreSQL / Amazon Redshift / MongoDB / Cassandra など,多くのデータベースに対応している.GitHub リポジトリを見るともっと多くのデータベースに対応していることがわかる.他にも GitHub や Amazon S3 に置かれたマイグレーションファイルを直接読み込む機能や Go ライブラリとしてアプリケーションに組み込める機能などもある.今回は MySQL を使ってマイグレーションの基本的な機能を試す❗️ github.com インストール macOS だと Homebrew を使って簡単に migrate CLI をインストールできる.今回は v4.15.2 を使う. $ brew install golang

                                                    多くのデータベースに対応したマイグレーションツール migrate を MySQL で試した - kakakakakku blog
                                                  • go command - cmd/go - Go Packages

                                                    Go is a tool for managing Go source code. Usage: go <command> [arguments] The commands are: bug start a bug report build compile packages and dependencies clean remove object files and cached files doc show documentation for package or symbol env print Go environment information fix update packages to use new APIs fmt gofmt (reformat) package sources generate generate Go files by processing source

                                                    • Go 1.24 Release Notes - The Go Programming Language

                                                      Introduction to Go 1.24 The latest Go release, version 1.24, arrives six months after Go 1.23. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language Go 1.24 now fully supports generic type aliases: a

                                                        Go 1.24 Release Notes - The Go Programming Language
                                                      • Golang on the PlayStation 2 (part 1)

                                                        Golang on the PlayStation 2 (part 1) By Ricardo March 23, 2025 I always wanted to do some weird stuff with consoles. I’m not sure why, but making devices do unexpected things is always an interesting topic for me. And the same applies to the PlayStation 2, the 2000 console released by Sony. Also, Sony, don’t sue me for this lol Let’s get straight into it: I want to run code into consoles (more on

                                                          Golang on the PlayStation 2 (part 1)
                                                        • Plan 9 Desktop Guide

                                                          PLAN 9 DESKTOP GUIDE INDEX What is Plan 9? Limitations and Workarounds Connecting to Other Systems VNC RDP SSH 9P Other methods Porting Applications Emulating other Operating Systems Virtualizing other Operating Systems Basics Window Management Copy Pasting Essential Programs Manipulating Text in the Terminal Acme - The Do It All Application Multiple Workspaces Tiling Windows Plumbing System Admin

                                                          • json/protobuf(wire)/gobをバイナリ効率とかの観点から比べてみる - ちりもつもればミルキーウェイ

                                                            はじめに どうも @convto です。 以前に protobufのwire encodingについて遊んた ことや gobについていろいろ仕様を調べて遊んだ こととかがあったので、いっちょいい感じの比較ができるんではということでやっていきたいと思います。 ついでにgobについては 当時のモチベを調べたりもしたことある のでそのへんもおまけ程度に言及しつつ、こういうときにgobつかえそうだよ〜みたいなのをまとめてみます。 比較するのは json protobuf(wire) gob です。おもな観点はバイナリ効率ですが、それぞれのエンコーディングのメッセージの互換性やら、周辺エコシステムの広がりも含めて評価できればと思います。 ちなみにバイナリの比較についてはせっかくなので稚作の↓をつかってます。そこそこ便利なので用途に合う方はぜひ愛でてあげてください github.com これは Go

                                                              json/protobuf(wire)/gobをバイナリ効率とかの観点から比べてみる - ちりもつもればミルキーウェイ
                                                            • Cloud9 で SAM を利用し AWS サービス毎の請求額を毎日 Slack に通知する | DevelopersIO

                                                              Cloud9 を利用して AWS のサービス毎の料金を毎日 Slack に通知する仕組みを作成しました。 コーヒーが好きな emi です。 AWSサービス毎の請求額を毎日 Slack に通知するため、以下のブログ AWSサービス毎の請求額を毎日Slackに通知してみた を見ながら設定しようとしたのですが、手元の Windows 11 端末に AWS CLI、AWS SAM CLI、Python などの開発環境を整えるのが面倒…!!と思いました。 そこで、AWS Cloud9 を使って手軽に一時的な開発環境を構築し、AWS Serverless Application Model (SAM) でサーバレス通知システムを構築しました。 AWS Serverless Application Model (SAM) とは AWS SAM は、サーバーレスアプリケーション構築用のオープンソースフレー

                                                                Cloud9 で SAM を利用し AWS サービス毎の請求額を毎日 Slack に通知する | DevelopersIO
                                                              • How does Go calculate len()..?

                                                                The impetus for this post was a question on the Gophers Slack a while back. A fellow developer wanted to know where to find more information on len. I want to know how the len func gets called. People chimed in quickly with a correct answer It doesn’t. Len is compiler magic, not an actual function call. … all the types len works on have the same header format, the compiler just treats the object l

                                                                • Why you shouldn’t use Redis as a rate limiter: Part 1 of 2

                                                                  (This is the first of a two part series on rate limiting with Redis. This part will look at possible implementations, and the second part will look at performance) My colleague Eric has informed me that many companies are now using Redis to implement rate limiting, and has witnessed serious businesses doing this, first hand. “Redis?”, I thought. “Isn’t that that thing to cache your slow HTTP page

                                                                    Why you shouldn’t use Redis as a rate limiter: Part 1 of 2
                                                                  • golangのsync.Poolで速度改善したい - ludwig125のブログ

                                                                    golangのsync.Pool Go言語のsync.Poolをうまく使えば性能改善できる、という話を見たので自分の理解を深めつついろいろ検証してみました 整理できていませんがコードはこちらに置きました https://github.com/ludwig125/sync-pool どういった処理に対してどのくらい改善ができるか? 詳細は後述しますが、まずはどういった処理がどのくらい改善したかを表にまとめました。 以下の矢印の左と右はsync.Pool使用前->sync.Pool使用後 を指します。 関数名は記事中で書いたBenchmark関数名を記載しました。 処理(記事中のBenchmark関数名) 実行速度 メモリアロケーション 実行速度改善率 ログ出力(BenchmarkLog) 411 ns/op -> 307 ns/op 3 allocs/op -> 1 allocs/op 33

                                                                      golangのsync.Poolで速度改善したい - ludwig125のブログ
                                                                    • An HTTP Server in Go From scratch

                                                                      An HTTP Server in Go From scratch Follow along while I write an HTTPServer in Go From scratch following a codecrafters challenge. August 2024 I finished the Coder Crafters course “Build your own HTTP server” in Golang. In this post, we’ll go over the code necessary for the challenge, and we’ll also take a look at the refactorization I made at the end to improve the DX. The git repository is availa

                                                                        An HTTP Server in Go From scratch
                                                                      • テストしやすいGoコードのデザイン

                                                                        テストしやすいGoコードのデザイン golang.tokyo #2 12 December 2016 Taichi Nakashima 言いたいこと 明示的であれ! 2 whoami @deeeet / @tcnksm (GitHub) http://deeeet.com A PaaS Dev&Ops (Using go for CLI tool, API, Batch jobs) 3 OSS Tools gcli - The easy way to build Golang command-line application ghr - Create Github Release and upload artifacts in parallel Packages go-httpstat - Go package for tracing golang HTTP request latency

                                                                        • Go 1.18 Release Notes - The Go Programming Language

                                                                          Introduction to Go 1.18 The latest Go release, version 1.18, is a significant release, including changes to the language, implementation of the toolchain, runtime, and libraries. Go 1.18 arrives seven months after Go 1.17. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language Generics G

                                                                            Go 1.18 Release Notes - The Go Programming Language
                                                                          • Testing Your Code in Golang

                                                                            Writing tests for a software application before moving it into production is an essential last step in the software delivery system. However, it is expedient that you know how to write highly maintainable unit tests if you are working with production-ready software up close. Tests reduce the possibility of producing software with bugs and vulnerabilities and making users happy. This article will d

                                                                              Testing Your Code in Golang
                                                                            • Goのxerrorsパッケージを試す - CLOVER🍀

                                                                              これは、なにをしたくて書いたもの? Goのエラー処理に関する情報を見ているとxerrorsというものがよく出てくるので、1度見ておこうかなと思いまして。 xerrorsパッケージ xerrorsパッケージは、Goのエラーハンドリングのためのパッケージです。 xerrors · pkg.go.dev GitHub - golang/xerrors このパッケージの提案内容は、こちら。 Proposal: Go 2 Error Inspection これが標準パッケージ、errorsに取り込まれたのがGo 1.13のようです。 errors - The Go Programming Language errorsパッケージについては、以前このエントリで試してみました。 Goのエラーに関するAPIを学ぶ - CLOVER🍀 xerrorsパッケージが持っている機能のうち、ほとんどのものはerr

                                                                                Goのxerrorsパッケージを試す - CLOVER🍀
                                                                              • pow-captcha

                                                                                💥PoW! Captcha A proof of work based captcha similar to mCaptcha. Compared to mainstream captchas like recaptcha, hcaptcha, friendlycaptcha, this one is better for a few reasons: It is lightweight & all dependencies are included; total front-end unminified gzipped file size is about 50KB. It is self-hosted. It does not spy on you or your users; you can tell because you run it on your own server, y

                                                                                  pow-captcha
                                                                                • research!rsc: Hash-Based Bisect Debugging in Compilers and Runtimes

                                                                                  Setting the Stage Does this sound familar? You make a change to a library to optimize its performance or clean up technical debt or fix a bug, only to get a bug report: some very large, incomprehensibly opaque test is now failing. Or you add a new compiler optimization with a similar result. Now you have a major debugging job in an unfamiliar code base. What if I told you that a magic wand exists