タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

golangに関するmono_maniaのブックマーク (4)

  • gocraft/dbrでPostgreSQLのinsert IDを取得する

    Go言語でのORMライブラリもいろいろありますが、今はgocraft/dbrを使ってみています。 PostgreSQLでinsertをした時にプライマリキーがserialの場合はIDを取得したいケースがよくあると思います。 このライブラリに限ったことではないのかもしれませんが、どうもデフォルトの機能ではうまく取得ができないので、やり方を調べてみました。 標準の機能 dbrでのinsert実行は以下のコードで実行されます。 func (b *InsertBuilder) Exec() (sql.Result, error) { result, err := exec(b.runner, b.EventReceiver, b, b.Dialect) if err != nil { return nil, err } if b.RecordID.IsValid() { if id, err :=

    gocraft/dbrでPostgreSQLのinsert IDを取得する
  • Docker内のGo製Webアプリをソース変更後リロードするだけで確認できるようにする

    ここ数日でDocker関連とGo言語の開発環境について書いてきました。 今回はそれらを組み合わせて、Go言語の開発をDockerコンテナ上で行いたいと思います。 ということで、今回は今までの記事を読んでいることが前提です。 今回目指すところ Dockerコンテナ内でGoのWebアプリをビルドしてMacから動作確認できるようにする。 ソースを保存するだけで自動的にビルド&起動されるようにする。 HotReloadのしくみ PHPなどのスクリプト言語ではコンパイルが不要なので保存すればすぐに動作の確認ができますが、GoJavaなどの言語は一旦コンパイルしないと動作させることができません。 そのような場合、gulpやGruntのようなタスクランナーを使ってファイルの変更を監視し、ビルドタスクを走らせることで動作確認の際のビルド&再起動を自動化することができます。 今回はGo製のタスクランナー、

    Docker内のGo製Webアプリをソース変更後リロードするだけで確認できるようにする
  • MacにGo言語の開発環境を構築する【IDE編】

    前回はGo言語のベースとなる開発環境をプロジェクトごとの管理を意識して作ってみました。 今回は実際にコーディングを進めていく上で使うツールとなるIDEの導入を行いたいと思います。今回選んだのはIntelliJ IDEAです。 これはJetBrains社の製品で、PhpStormやAppCodeをずっと使っており使い勝手が慣れているのと信頼性が高いことから選びました。 IntelliJ IDEAをインストールする 公式サイトからCommunity Editionをダウンロードするか、Ultimateの人はHomebrew Caskでも入れられます。 $ brew cask install intellij-idea なお、Ultimateは有料で30日間のトライアル付きです($499/年)。 Goプラグインをインストールする IntelliJ IDEAをインストールしたら、早速起動してプラグ

    MacにGo言語の開発環境を構築する【IDE編】
  • MacにGo言語の開発環境を構築する【準備編】 (direnv+go1.5Vendoring+glide)

    Go言語の開発をしようとして色々調べたんだけど結構大変だったのでまとめ。 基的にMacでの作業を前提としています。 Goのインストール MacならHomebrewで一発。 $ brew install go GOPATH環境変数? Goでは、GOPATHという環境変数を設定すると、そこが作業スペースとなります。 ひとまずどこでも好きな場所をGOPATHに設定しましょう。 また、$GOPATH/binをPATHに通しておきます。 $ export GOPATH=$HOME/go $ export PATH=$PATH:$GOPATH/bin 同様の内容を.bashrcなどにも入れておきます。 すると、 $ go get [package name] とすることで、importできるパッケージが自動的にダウンロードしてインストールするという便利な仕組みがあります。 例えば、revelというW

    MacにGo言語の開発環境を構築する【準備編】 (direnv+go1.5Vendoring+glide)
  • 1