タグ Go言語
人気順 10 users 50 users 100 users 500 users 1000 usersUbieにおけるGo言語のエラーハンドリング
背景 Ubieでは以下の記事にあるように、一昨年から新しく始めるプロジェクトにはGoとTypeScriptを積極的に採用しています。私は本来プロダクトセキュリティが主な専門領域なのですが、公私ともに普段からGoでツールやサービスの開発をしているため、社内のGo言語の普及をサポートしたりプロダクト開発に参加したりしてい... 続きを読む
Goのテスト安定性向上のためにFlakyなテストを再試行する機能を導入する提案 - tomato3713’s blog
Go言語にFlakyなテストへのサポートを追加する提案が面白かったので紹介します。 概要 Flakyなテストとは、コードに変更がないにもかかわらずテストが成功したり失敗したりと不安定な実行結果になるテストのことです。 テスト結果は本来なら全て成功ならリリース可能、1つでも失敗すればバグがあるのでリリース不可のよ... 続きを読む
ebpf-goによるLinuxカーネルトレース入門
ebpf-goによるLinuxカーネルトレース入門 ebpf-goを使用したLinuxカーネルトレース(fentry)について紹介します。 ebpf-goは、eBPFのGo向けライブラリです。このライブラリは、libbpfに依存せず(cgoを使用せず)にeBPFプログラムとデータのやり取りが可能であるため、ポータビリティが高くGo言語に適したeBPFライブラリと... 続きを読む
Go言語で書かれたPHPアプリケーションサーバ「FrankenPHP 1.0」がリリース
FrankenPHP 1.0には、Symphony、Laravel、WordPressなどのネイティブサポートが含まれるほか、Caddyを搭載したプロダクショングレードのPHPサーバであり、PHPアプリのスタンドアロンで実行可能なバイナリとしてのパッケージ化が可能となっている。 さらに、PHP-FPMとNgnixを個別に実行する必要がなく、1つのサービスのみ... 続きを読む
機械学習モデルのA/BテストをしやすくするGo言語のAPI設計 - エムスリーテックブログ
こちらはエムスリー Advent Calendar 2023 11日目の記事です。 DALL-Eでサムネ作るの楽勝だぜとなりそうでならない Overview A/Bテストをしまくっている、機械学習エンジニアの農見(@rookzeno)です。皆さんA/Bテストをしてますでしょうか。エムスリーでは色々な施策の効果を見るために沢山のA/Bテストをしています。その... 続きを読む
Go言語のAPIサーバーの冗長なエラーログを40%削減した話 #LayerXテックアドカレ - LayerX エンジニアブログ
こんにちは。バクラク申請・経費精算エンジニアの@upamuneです。先週末は30kmのトレイルレースがありましたが、今週末はフルマラソンがあるので満身創痍です。 この記事はLayerXテックアドカレ2023の22日目の記事です。 私はなぜか3日分もテックアドカレに入れてしまったのですが、2回目の今回はAPIサーバーのエラーログ... 続きを読む
Goで非推奨(Deprecated)や撤回(Retracted)を明示する方法 - Plan 9とGo言語のブログ
最近のGoには、関数やパッケージを非推奨と扱う方法があります。まとまっていると便利かなと思うので、種類ごとにまとめてみました。GoDocコメントを多用するので、GoDocを書き慣れていない場合は以下も参考にしてください。 blog.lufia.org 関数と型を非推奨にする 関数コメントに、// Deprecated: ではじまる段落を追... 続きを読む
Goのテーブル駆動テストではテストケースの定義位置を知りたいのでライブラリを書いた - 詩と創作・思索のひろば
Go言語でテストを書く際のベストプラクティスとして、テーブル駆動テスト(Table dirven tests) というのが推奨されている。ようはデータとふるまいを分離しましょうという話で、正直わざわざ名前をつけるようなものでもなかろうという気持ちもないではないが、まあ話がはやくていいね。 けどみんなほんとにこれで満足... 続きを読む
Go 1.21リリース、WASI(WebAssembly System Interface)サポート、実行時プロファイルでコンパイル最適化
Go 1.21リリース、WASI(WebAssembly System Interface)サポート、実行時プロファイルでコンパイル最適化 Googleが中心となってオープンソースで開発されているGo言語の最新バージョン「Go 1.21」が先々月(2023年8月)リリースされました。 Go 1.21では、WebAssemblyをクロスプラットフォーム対応にするWebAssembly Sy... 続きを読む
Go言語で高速JSONライブラリをメモリ安全にしたらさらに速くなった話
はじめに こんにちは。Sugawara Yuutaです。"Go言語で最速のJSONデコーダーを作った話", "それでも僕はGoで最速のJSONデコーダーを作りたかった"...以来の方はまた読んでいただきありがとうございます。まだの方は、経緯を伝えやすくなると思うので、そちらの方も読んでいただけたら幸いです。 その後 Go言語チームのメ... 続きを読む
Go言語でsliceの重複排除 (slicesやsamber/loパッケージを使う場合) - stefafafan の fa は3つです
Go言語でsliceの重複排除について書きます。Go 1.21前提です。 slices パッケージを使っての重複排除 Go 1.21から slices パッケージが増えました。ここに生えている関数を利用して重複削除のコードが書けます。 pkg.go.dev 例えば int の slice の重複排除は以下のように書けます。 integers := []int{1, 2, 2, 1} slic... 続きを読む
テストケースの名前には条件と結果を含めた方が良い - 感情を込める
という考えにたどり着いたので、考えのスナップショットを取っておく。 Go言語における、テスト関数名とサブテストのname引数の値を「テストケースの名前」・「テスト名」と呼ぶことにしている。 (*testing.T).Run(name string, f func(t *testing.T)) bool テスト名に近いものとして、(*testing.T).Errorや(*testing.T)... 続きを読む
Go言語、実行時プロファイル情報による最適化「Profile-guided optimization」が正式機能に。Go 1.21リリース
Go言語の開発チームは8月8日にリリースしたGo 1.21で、実行時のプロファイル情報を用いてコンパイルを最適化し、実行速度の改善を図る「Profile-guided optimization」機能が正式版になったことを明らかにしました。 Go言語のコンパイルはソースコードの静的な解析を基にして高速なバイナリを生成するような最適化が行わ... 続きを読む
Go言語を習得するために、Goちゃんねるを作った
先週、A Tour of Go やってみた TIL というブログを書いてみた通り、Go言語を始めた。 で、ちまちま勉強をしていたのだが、つい最近たまたま ISUCON の過去問をやる機会があって Go のスコアを見たら初期値ですら、チューニング済みの他の言語のスコアを超えていて、絶対に習得するぞの気持ちにさせられた。 ちなみに私... 続きを読む
公式GoクライアントindigoでBlueskyのAPIを使ってみた - 小野マトペの納豆ペペロンチーノ日記
みなさんはまだXで消耗してますか?Blueskyに移住中の小野マトペです。 Go言語でBlueskyにポストを投稿するコードを書いたのですが、ベータ版とあってドキュメントも少なくやや難儀したので、メモとして残します。記事を通じて、Blueskyのアーキテクチャのユニークさも少しだけ伝われば良いなと思います。 クライアント... 続きを読む
「Go言語で楽しくなるシステム開発:基礎から実践テクニック」mattn × 渋川よしき | ITエンジニア向けのトレンド情報
【Go言語入門】Go言語とは? まずはGo言語の基礎をおさらいしていきましょう。 Go言語は、Googleと世界的エンジニアが共同開発した言語 Go言語は、Googleによってプログラミング環境を改善する目的で開発されました。この開発には、C言語を設計した世界的なエンジニアが携わっています。 Kenneth Lane Thompson (Ken Th... 続きを読む
Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ
Go言語1.21で、WebAssembly System Interface(WASI)の実験的サポートへ Googleが中心となってオープンソースで開発されているGo言語の次期バージョン「Go 1.21」では、WebAssembly System Interface(WASI)が実験的にサポートされることが明らかになりました。 これによりGo言語で簡単にファイルアクセスなどOSの主要... 続きを読む
Go言語の例外処理がないってのは結局どういうこと? - Qiita
はじめに はじめまして。インターンをしているイナです。 今回は初心者がGo言語の例外処理がないって本当なの?という部分について概念を中心に調べたものをまとめました。 Q. 例外処理とは まずは兎にも角にも、例外処理とはなんぞやってところからです。 いくつかのサイトで例外処理の定義について調べてみましたが、... 続きを読む
Linuxルーターを狙ったGo言語で書かれたマルウェアGobRAT - JPCERT/CC Eyes
JPCERT/CCでは、2023年2月頃、国内のルーターにマルウェアを感染させる攻撃を確認しています。今回は、JPCERT/CCが確認した攻撃および使用されたマルウェアGobRATの詳細について解説します。 マルウェア実行までの攻撃の流れ 初めに攻撃者はWEBUIが外向けに開いているルーターを狙って脆弱性などを使用し、各種スクリプ... 続きを読む
『Go言語プログラミングエッセンス』を読み始めた - Magnolia Tech
Go言語プログラミングエッセンス エンジニア選書 作者:mattn技術評論社Amazon 『Go言語プログラミングエッセンス』、C言語の勉強に役立つなぁ(?)— magnoliak🍧 (@magnolia_k_) 2023年3月11日 普段、Go言語のコードを書くことは無いのだけど、ざっと読むくらいのスキルは身につけておきたいなーと思って、『Go言語プロ... 続きを読む
データベースの仕組み(アーキテクチャ)をざっくり理解する
フリーランスエンジニアをしているrevenue-hackです! 普段はGo言語でバックエンドを中心にやっています〜 今回はデータベースの特にRDBの仕組み(アーキテクチャ)についてざっくり理解して、なにかに役立てようぜ〜 というような内容になります。 ↓普段は主に設計やアーキテクチャが好きで、ツイートなどしてます↓ またM... 続きを読む
Go言語で最速のJSONデコーダーを作った話
はじめに こんにちは。Sugawara Yuutaです。今回は高校の休み時間に考え、空いた時間で作ったJSONデコーダーについて紹介したいと思います。 知ってる限りでは、汎用型受け入れ型をとっているデコーダー(つまり、標準パッケージと同じスタイルという意味です)の中では最速です。 モチベーション Go言語で開発を始めて... 続きを読む
Go言語の不満 - まめめも
ちょっとバイナリ配布したいツール↓があったので、Go言語と戯れました。 zenn.dev ほぼはじめてGoを使ったので、にわかほど語りたがる法則に従って、Go言語の感想を書きます。 新しい言語にふれたときは、できることには気づきにくく、できないことに気づきやすいので、不満が多めです。主な比較対象はRuby、C言語、JS/T... 続きを読む
hugoの日付書式がクソすぎる(悪いのはgo言語です) - やってみる
yyyy-MM-dd HH:mm:ssのような書式ではなく2006-01-02 15:04:05である。この数値でなければ正しく表示されない。は? なにこれ? ひどくない? 手順 Go言語をインストールする hugoをインストールする プロジェクト作成&pulpテーマ適用 以下のように設定ファイルを編集する コード 日付の表示形式をyyyy-MM-ddに変更し... 続きを読む
Go言語でポータブルなCI/CDパイプラインが定義可能に。「Dagger」がGo SDKを発表
CI/CDパイプラインをポータブルにする「Dagger」をGo言語に対応させる「Go SDK」が発表されました。これによりGo言語でどこでも動くポータブルなCI/CDパイプラインの定義が可能になります。 Introducing the Dagger Go SDK: a new way to develop your CI/CD pipelines as code, and run them in containers anywhere. h... 続きを読む