Go

【OSS探訪記】hq

背景・モチベーション Goで並行処理について公式ドキュメントや書籍を読んだが、実際にどのように使われているのか、そしてどのようなプロダクトがあるのか気になった。そこで、awesome-goを見て並行処理をしていそうなOSSを読んでみようと思う。 ざっくり気…

競技プログラミング in Go #3

前回 prelude.hatenablog.jp 今回 今回は下記の記事を参考に迷路の最短路と特殊な状態の列挙のAtCoderの問題を解いていく。 qiita.com 幅優先探索 問題:C - 幅優先探索 解答:Submission #20044513 - AtCoder Beginner Contest 007 考えたこととか [][]rune…

競技プログラミング in Go #2

前回 競技プログラミング in Go #1 - Prelude 今回 今回は下記の記事を参考に部分和とLake CountingのAtCoderの問題を解いていく。 qiita.com たくさんの数式 問題:C - Many Formulas 解答:Submission #19722074 - AtCoder Regular Contest 061 考えたこと…

サーバーサイドGo入門 #5 ~redisを使う~

DB Go

前回はこちら prelude.hatenablog.jp 今回作るもの ユーザーIDの追加 redisの導入 redis clientの初期化 redisを使う redisを動かす curlで確認 コード全文 まとめ 雑談 今回作るもの redisを用いてReadのレスポンスを早めましょう。 ユーザーIDの追加 redis…

競技プログラミング in Go #1

背景 2年半くらい前に少しやって以来あまりできていない。たまに思い立ったように問題を解いたり蟻本を読んでみたりするものの、以前の内容を憶えておらず同じような内容を初見の顔をして勉強していることが多い。 まずはこの現状を打破して継続できるように…

Go言語による並行処理を読んだ

結構前に下記の本を読んだ。メモをしていたのでここにも残しておこうと思う。 Go言語による並行処理作者:Katherine Cox-Buday発売日: 2018/10/26メディア: 単行本(ソフトカバー) 前提知識 今までgoroutineを使うことはあってもいくつか作ってsync.WaitGrou…

Go言語の並行処理に関する公式ドキュメント

Go

背景 goroutineなんもわからん。書くことができても使いこなすことができてるとは言い難いなあと日々感じている。Goは並行処理の理解の助けのため、リポジトリのwikiにたくさんの資料がある。 資料を全部読んだ上で解説したいものだが、一部しか読めていない…

サーバーサイドGo入門 #4 ~test~

前回はこちら prelude.hatenablog.jp 今回作るもの testing HTTPサーバーのテスト net/http/httptest DBのテスト DATA-DOG/go-sqlmock テスト 補足 まとめ 今回作るもの ginとgormを使ったTODOアプリが完成しました。今回はこれらのテストを行います。 基本…

サーバーサイドGo入門 #3 ~gin, gormを使う~

Go

前回はこちら prelude.hatenablog.jp 今回作るもの net/http関連のライブラリ ベンチマーク database/sql関連のライブラリ ライブラリを使って書き換え ginの使用 gormの使用 curlで確認 まとめ 雑談 今回作るもの 前回まででnet/httpでリクエストを受け取り…

サーバーサイドGo入門 #2 ~database/sqlでDBを扱う~

DB Go

前回はこちら prelude.hatenablog.jp 今回作るもの Dockerで動かす コンテナを立てる MySQLの中に入る GoからDBを扱う SQLを渡す DBを読み込む TODOをインメモリからDBへ まとめ 雑談 今回作るもの 今回は、インメモリに作成したデータをDBに永続化します。 …

サーバーサイドGo入門 #1 ~net/httpでサーバーを立てる~

Go

背景・モチベーション 作るもの プロジェクトを作る サーバーを立てる 処理を加える JSONを返却する モデルを定義する レスポンスを返却する TODOを登録する まとめ 雑談 背景・モチベーション 前職の同僚が、Goでサーバーサイド開発をすることになったけれ…

Go言語でgit操作してGitHubにPRを出す

背景・モチベーション アプローチ 作ったもの 使ったもの 特徴 感想 ドキュメントがわかりやすい gitわからん sshわからん モチベーションの整理大事 雑談 背景・モチベーション 社内ツールにos.Execを多用しているGoのツールがあり非常に厳しい感情になって…

死んだブランチをslackに通知するツールを作った

ブランチ同士で依存が複雑な開発を乗り越えた後ってブランチの消し忘れが案外多かったりしますよね。しかも、消し忘れたとしても実害はない上に、消そうと思えばすぐに消せることも相まって後回しにしてしまうことも多いです。(自分はそう) しかし、消し忘…