Quantcast
Channel: Go3 Advent Calendarの記事 - Qiita
Browsing all 25 articles
Browse latest View live

redisを扱うコードをユニットテストする #golang

はじめに この記事は、Go3 AdventCalendarの1日目の記事です。 RedisやMySQLを扱うような技術的実装については、interfaceで抽象化するといった使用コード側のユニットテストノウハウはよく見られますが、技術的実装自体をテストする方法はノウハウがあまり見られないなと思いますので、今回はそういう場合のテストの方法について紹介できればと思います。...

View Article


標準パッケージから見るパッケージ構成のパターンの解説

こんにちは!これはGo3 Advent Calendar 2018、2日目の記事です。 1日目は、higasgtさんのredisを扱うコードをユニットテストするでした。 TL;DR Goのパッケージ構成は、標準パッケージでも複数パターンの構成が存在している 習う際は、いくつかのパッケージ構造を比較してどのように実装するかを決めるのが良い io と database/sql...

View Article


Goで簡易なプロトコルの実装をしてみた

こちらは、Go3 Advent Calendar 2018 の 3 日目の記事です。 昨日は、@takochuu さんの 標準パッケージから見るパッケージ構成のパターンの解説でした。 (標準パッケージでも、様々な構成があって勉強になりました。) 概要 Go で非常に簡単なプロトコルを実装してみました。 (本当に簡単なのでご容赦ください。) 対象 プロトコルってどうやって作るのか気になる方...

View Article

Goでサーバー開発するときのMakefileを晒してみる

はじめに この記事は、Go3 Advent Calendar の4日目の記事です。 Goで開発する際にはテストの実行やlintの実施といった細々としたコマンドを Makefile にまとめることが多いと思います。...

View Article

Go標準のflagパッケージと比べてみようサードパーティflagライブラリ

tl;dr GoでCLIのツールを作るとき、皆さんフラグをどう実装しますか? 標準のflagパッケージでシンプルにしますか? それともCLIコマンドライブラリで複雑でリッチなモダンコマンドにしますか? 今回はいくつもあるCLIコマンドライブラリから、フラグを制御するライブラリに着目しようと思います。...

View Article


Image may be NSFW.
Clik here to view.

Go + Google Cloud Pub/Sub で GAE SE (gen1) から Publish するときの注意点

Go3 Advent Calendar 2018 6日目を担当する avvmoto です。よろしくお願いします。 この記事では、Go (gen 1) on Google App Engine SE (GAE SE) から Google Cloud Pub/Sub で Publish するときの注意点を解説します。 なお、go 1.11 以降の gen2 はこの記事の対象外です。 はじめに GAE...

View Article

Image may be NSFW.
Clik here to view.

Go でアプリケーションとクライアントのミドルウェアを作成する方法知ってますか?

世の中に沢山の「ミドルウェア」が存在しますが、ここで紹介するミドルウェアは、あるメインロジックを大きく変更することなく、その前後に挟む処理のことを指します。 アプリケーションを作成する場合に、メインロジックのハンドラを mainHandler として、ミドルウェア A, B, C を使用していた場合の挙動は以下の順序の通りになります。 request -> A -> B -> C...

View Article

「例外」がないからGo言語はイケてないとかって言ってるヤツが本当にイケてない件

 この記事は、Go3 Advent Calendar 2018 の8日目の記事です。  7日目は @codehex さんによる「Go でアプリケーションとクライアントのミドルウェアを作成する方法知ってますか?」でした。  本日はネタ全開でお送りいたします。 Disclaimer(免責事項)  はじめに言い訳というか、これを書いた経緯というか。...

View Article


Goの開発環境でDockerを利用する

Go3 Advent Calendar 2018の9日目を担当するtheoden9014です。よろしくお願いします。 Makefileについて書こうと思ったのですが、内容が同じような記事が先に出てしまったようなので、少し趣向を変えたタイトルにしました。...

View Article


Image may be NSFW.
Clik here to view.

ひとりかんばん的な ToDo 管理アプリ「hashira」を Go で作っているぞ

この記事は、Go3 Advent Calendar 2018 の 10 日目の記事です。 どうもいつも元気な @pankona です。 長い話を短くすると 現在製作中な ToDo 管理アプリの紹介です。名前は「hashira」。Go で作ってます。 見た目はこんな感じです。 柱が 4 本立ってるっぽく見える気がするので hashira という名前にしました。 ターミナル上で動作する (TUI)...

View Article

goroutineとスレッドの違いって?

この記事は、Go3 Advent Calendar 2018 の11日目の記事です。 はじめに Goにはgoroutineという並行処理を簡単に実行できる機能があります。 goroutineは「goroutineとは軽量スレッドである」と説明されていますが、結局goroutineとスレッドって何が違うのかということを調べてみました。 まず最初に言うとgoroutineの実体はスレッドです。...

View Article

Go でテキストエディタを開発しよう!!

この記事は Go3 Advent Calendar12日目の記事です。 Target この記事のターゲットは以下です。 テキストエディタを開発することに必要なことを知る Go でテキストエディタを開発することに必要なことを知る 筆者がテキストエディタ開発で体験したこと(得られたこと)を知る Background 私は、テキストエディタが好きです。...

View Article

Image may be NSFW.
Clik here to view.

最速でGoのAPIサーバを公開する方法

はじめに Web系の開発やってるとサクッとWebAPIサーバ建てたい・・・!けどめんどくさいことは抜きにしたい!というときありますよね? コールバック先を指定したいけどいい感じの公開サーバがないときとか・・・ どっかのサーバからリクエスト流してもらって中身確認したい時とか・・・ シンプルに開発中のサーバを一回公開したいとか・・・...

View Article


Goでのprotocプラグインのテストの書き方

External article

View Article

Image may be NSFW.
Clik here to view.

安全にサーバオペレーションするための、バックアップするだけの簡易コマンドをGoで作った

この記事は Go3 Advent Calendar15日目の記事です。 サーバオペレーション用に作成したツールについて語ります。1 作った経緯 AWS上でサーバ構築のオペレーションをやっていたときに 設定を変更する前に設定ファイルのバックアップをとりわすれることが度々あって、 それを解消したいと思ったからです。 最近でしたらInfrastructure as Codeを推進する動きもあるので...

View Article


GolangのコードをPythonへ移植した話

この記事はGo3 Advent Calendar 2018の16日目の記事です。Golangで書かれたコードをpythonへ移植したときに得られた気づきを共有します。 背景 snakebiteというSpotifyで開発されたpure pythonのhdfsクライアントに copyFromLocal の機能がなかったので自分で実装することにしました。...

View Article

go-manというツールを作っている話

External article

View Article


iOS(Swift)エンジニアがGoでAPI作って感じたこと

External article

View Article

Image may be NSFW.
Clik here to view.

Realize が Go 1.11 の Modules で使えない

去年、 [Go] Realizeが便利なので、もう少し仲良くなってみる という記事を公開してから今でもたまにいいねしていただけるのですが、ホットリロードツールとしては本当に realize は使いやすいですよね。 ※ もうこの時点で 「いや、こっちのツールのほうがいいよ」 などありましたら、ぜひコメントで教えていただけると泣いて喜びます しかし、 Go 1.11 から組み込まれた Modules...

View Article

自分たちが本番でどのように `Wrap(err)` しているかを書きました

External article

View Article
Browsing all 25 articles
Browse latest View live