Goでデータベースなどを扱うサービスを実装する際には、接続情報などの環境ごとの「設定情報」がありますが、今回はそれをどう扱うかについてです。 発表資料 本記事に関する発表資料はこちらです。 Go Applicationでの設定情報の扱い方 実現すること 接続情報を設定ファイルなどGoファイルから分離したい アプリケーションを作るに当たり必須項目ですが、接続先やパスワードをGoの中にべた書きはだめなので、tomlやyamlファイルに分離したい。 パスワードといった秘匿性の高い情報をコードベースから分離したい プロジェクトやチームによって異なるかもしれませんが、databaseのパスワードなどはコードベースからは分離して、本番環境の情報は一部のコアな開発者のみが知っている状態を実現したい。 上記を実現するに当たり、まず設定について考えるに当たり、Twelve-Factor Appを見ていきま
Go言語関連書籍のまとめ 改訂2版 基礎からわかる Go言語 レベル 初級 URL 改訂2版 基礎からわかる Go言語 | 書籍詳細|株式会社 C&R研究所 改訂2版 基礎からわかる Go言語 | 古川 昇 |本 | 通販 | Amazon 内容 基本の説明が本としてまとまっているのが良い。 細かな説明までは踏み込んでいない。 基本的な文法のまとめが1〜8章まで。 よく使うプログラミングパターンのサンプルが9章にまとまっている。 手早く学習するなら、9章を実際に書いて動かして、わからない部分の知識を1〜8章を見直すのが良さそう。 スターティングGo言語 レベル 中級 URL スターティングGo言語(松尾愛賀)|翔泳社の本 スターティングGo言語 (CodeZine BOOKS) | 松尾 愛賀 |本 | 通販 | Amazon 内容 一通りの基本を理解して、もう少し細かいGoの言語仕様を理
以前、 CSV を「安全」に Excel に読み込む Go プログラムを書いたー(pipe2excel.exe) という記事にある pipe2excel.exe というCSVのExcel 変換プログラムを作ったわけだが… これ、巨大な CSV の時にあまりに遅いので、"github.com/tealeg/xlsx" というライブラリで直接 xlsx を出力できるようにしてみた(-oオプションを使う) > はやい < とっても速い。一瞬だ。考えてみたら go-ole だとセル1マス書くだけでも Excel と COM 通信をするわけだから、そりゃそうだ。ただ、セルのデフォルト状態がいろいろ違った。 フォントが MS-Pゴシック でなかった 改行を含む場合に自動で折り返し状態にならなかった 縦方向がセンタリングされなかった。 これらはプログラム的に go-ole 版と互換動作するよう修正した。
Eventually記法 Ginkgo とセットで使われるテストマッチャーの Gomega には Eventually という便利な機能があります。 これを使うと、Eventuallyに渡した処理が期待する結果を返すか、 あるいは規定秒経過するまで、 与えた処理をリトライさせ続けるテストが書けます。 実行完了まで時間のかかる処理をテストしたい場合に有用です。 By("Checking cluster status") Eventually(func() bool { controlPlanes := []string{node1, node2, node3, node4} workers := []string{node5, node6} return checkClusterStatus(status, controlPlanes, workers) }).Should(BeTrue()
[GAE(Google App Engine) で Golang 使った REST API(echo 編)] (https://qiita.com/ynozue/items/1564f957b6a644b24d62)で作成した、[ソースコード](https://github.com/ynozue/hello-gae-go/tree/echo)を元に利用している、golang の バージョンを v1.8 から v1.9 にバージョンアップする。 まずは、Cloud SDK のバージョンアップから開始する。 Cloud SDK のバージョンを確認 $ gcloud components list Your current Cloud SDK version is: 172.0.1 The latest available version is: 212.0.0 ┌───────────────
(io.Reader).Read を「フック」することで、Read の進捗状況を監視する方法の紹介です。 例えば、HTTP でのファイルダウンロードの進捗状況を画面に表示したいという場合に使えます。 方法 (段階的に解説します) 手始めに io.Reader をラッピングするような構造体を定義します。 Go では、構造体のフィールド(無名)として構造体やインターフェイスを埋め込むと、埋め込んだ側の構造体が埋め込まれた側のメソッドの実装を引き継ぐことができます。 io.Reader を埋め込んだ構造体は、自身が io.Reader を実装したかのように振る舞います。 無名フィールドとして埋め込む type MyReader struct { io.Reader } func a() { file, _ := os.Open("hoge.txt") defer file.Close() r :
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く