はじめに Go 強化月間 と聞いたので Go の記事を書きます。 Go で Stack や FIFO を実装する時には container/list を使います。この container/list は Stack と FIFO に必要となるベースのみ提供されます。なぜなら Stack も FIFO も仕組みは同じで、取り出す時に先頭か最後かの違いしかないからです。 Stack container/list をフィールドに持ち、末端に追加、末端から取り出すのが Stack ですね。 package main import ( "container/list" "fmt" ) type Stack struct { v *list.List } func NewStack() *Stack { return &Stack{v: list.New()} } func (s *Stack) Pus
プログラミング言語「Go」の分野で著名なtenntenn氏と話せる! 日本最大級のエンジニアコミュニティ「Qiita」が 「Devトーク スペシャル第4弾」の募集を開始株式会社エイチームのグループ会社であるQiita株式会社(本社:名古屋市中村区、代表取締役社長:柴田健介)が運営する「Qiita Jobs」は、エンジニアが特定のテーマを軸にマッチングし、知識共有や交流ができる機能「Devトーク」の特別企画として、Goの分野で著名な、バックエンドエンジニアのtenntenn氏との「Devトークスペシャル」の募集を、7月26日(火)より開始しました。 ※注釈:「最大級」は、エンジニアが集うオンラインコミュニティを市場として、IT人材白書(2020年版)と当社登録会員数・UU数の比較をもとに表現しています Devトーク スペシャル企画 第4弾 Goの分野で著名な、バックエンドエンジニア
概要 2022年7月1日に開催されたQiita Night〜これだけは伝えたい!Goのすごさとその将来性〜のイベントレポート Qiita社の中の人ですが、当日は主に視聴者として参加したので、LT及びトークセッションの視聴レポートをまとめてみました コンテンツ LT 弊社でのGoの取り組み〜どう広げたか、その後の人員戦略〜」/ @bikun_bikun スケールするGo / @tenntenn Googleソフトウェアエンジニアリングに沿った開発をするためのGoの利便性 / @po3rin トークセッション / @tenntenn , @po3rin Goはどんな風に使える?ここが便利! Goを使う仲間をもっと増やしたい!Goの魅力と将来性 LT 弊社でのGoの取り組み〜どう広げたか、その後の人員戦略〜」 スピーカー:@bikun_bikun 所属:ディップ株式会社(2018/05〜) Go
公式サイト A Tour of Go Web上で実行しながら学ぶことができる公式のチュートリアルです。 チュートリアル 公式のチュートリアルです。初学者向けからジェネリクスのチュートリアルなども用意されています。 A Tour of Goが終わった後に取り組むと良いでしょう。 Go Wiki Go Code Review Commentsなどが掲載されているGitHub上のWikiです。 パッケージドキュメント 標準パッケージやサードパーティ製のパッケージのドキュメントが見れるサイトです。検索もできます。 入門 プログラミング言語Go完全入門 筆者が作っている巨大なGoの入門資料です。なぜGoが作られたのか、から最新のジェネリクスの情報、静的解析まで扱っています。 Gopher道場 Goを体系的に学べる場です。10時間くらいある動画教材(自習室から入手可)もあります。 Go の最初の手順
※随時更新いたします ※予告なく内容が変更になる場合があります。 登壇企業・登壇者(敬称略) ※随時更新いたします 上田 拓也(@tenntenn) / 株式会社メルペイ バックエンドエンジニア メルカリ/メルペイ所属。バックエンドエンジニアとして日々Goを書いている。Google Developer Expert (Go)。一般社団法人Gophers Japan代表。Go Conference主催者。大学時代にGoに出会い、それ以来のめり込む。人類をGopherにしたいと考え、Goの普及に取り組んでいる。複数社でGoに関する技術アドバイザーをしている。マスコットのGopherの絵を描くのも好き。 Twitter:https://twitter.com/tenntenn ブログ:https://tenntenn.dev/ 中村 弘武 (@po3rin) / エムスリー株式会社 ソフトウェア
概要 以前、GORM v1.0からv2.0にアップグレードをしたのですが、その際ハマったポイントとどんな変更があるのかについてまとめていきます。 ハマりポイント GORM v2.0は仕様変更がかなり多く、すんなりv1.0からv2.0に移行できません。 かくいう私もGORMのアップグレードをした際ちゃんと調べなかったので、テストコードを書いている時に挙動のおかしさに気づいてから原因解明までに時間がかかってしまいました。。 実際に私がぶち当たったハマりポイントというのが、外部キーによる参照をした際に、正しく外部キーの参照が行えておらず期待値とは違うSQLが発行されていました。 変更点1 外部キーによる参照を行う際にforeignkey, association_foreignkeyの指定があったのですが、この書き方が変わり、foreignkeyとreferencesを使った書き方に変更されまし
はじめに 先日なんとなしに go.1.19 release note よんでたら、crypto/randの項目で興味深い一文を見つけた Read no longer buffers random data obtained from the operating system between calls. 当時の僕も気になっていたよう ざっと見たけど crypto/rand.Read()で内部バッファ取らなくなったり net パッケージが context.DealineExceededとか context.Canceled を満たす形でエラー返すようになったりがほえ〜ポイントだった。あとは fmt.Append よさそうっすねhttps://t.co/8cfrZ7dBZR— convto (@convto) 2022年6月11日 もともと CVE-2021-3538 をちゃんと読む - ちり
Go 1.18が出てしばらく経ちました。みなさんGenerics使っていますか? @maaashです。 これは Nature Engineering Blog祭 の2日目の記事です。 祭り 最初は歓喜し、mapやfilter的なfor文を少しずつgithub.com/samber/loに切り替えたり、 internalなsliceパッケージを作ってみたり。 ですが心のどこかで欲求不満が蓄積されていくのを感じていました。 使い尽くしていないのでその真価が理解できていなくて物足りないような、 こんなに面白いおもちゃが与えられたのに遊び尽くしていないような感覚です。 Genericsを使ったコードを書きたい!と思いながら日々の業務でREST APIを書いていると、、 あれ、これはかの When To Use Genericsの結論にある: If you find yourself writing
こんにちは。生産プラットフォーム開発部の中嶋です。生産プラットフォーム開発部はアパレル生産のDXを進めている部門です。具体的には服作りのIT化を含めたアパレル生産の効率化の促進と「生産支援」のシステムを主にGoで開発しています。今回はその運用の中でGoプログラムの実行時間をどのように短縮したのかを紹介します。 目次 目次 学べること・解決できること 背景 エラー発生 調査・対応 インスタンスの変更 原因 実装アプローチの見直し ゴルーチンを使ったタイムアウト処理 サンプルコード チャネルのクローズについて Goのメモリマネジメントについて スタックとヒープ ゴルーチンとメモリについて ヒープについて 問題の仮説 どのように解決したか 実装イメージ 利用したパッケージ サンプルコード 結果 まとめ 最後に 参考リンク 学べること・解決できること Goのメモリエラーに対するアプローチ例 Go視
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く