tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

golang

【go】go modでモジュールのバージョンをupdateする

はじめに タイトルのまんまですが、golangでモジュールをupdateする方法のメモです。 単にgo getすれば良い go modを使っているとgo.modファイルでmoduleとversionが管理されると思います。 各moduleをupdateしたい場合、go getすることでversionをupdateで…

【BigQuery】GolangでGCSのCSVデータからBigQueryにデータを取り込むメモ

はじめに GolangでBigQueryをざつに扱っています。 GolangでGCSにおいたCSVデータをBigQueryに取り込むメモです。 この記事のサンプルコードは以下においてあります。 https://github.com/tweeeety/go-gcs_csv-to-bigquery-sample アジェンダ はじめに アジ…

【BigQuery】GolangでBigQueryのTable Create時のSchema指定方法 - bigquery.Schema, bigquery.InferSchema, bigquery.SchemaFromJSON

はじめに GolangでBigQueryをざつに扱っています。 GolangでBigQueryのtableを作成時のSchema指定方法についての自分メモです。 この記事のサンプルコードは以下においてあります。 https://github.com/tweeeety/go-bigquery-schema-sample アジェンダ はじ…

Golang x Gin(ジン)を5分でためす

はじめに GolangでGin(ジン)を5分で試すサンプルです。 本記事では以下の3要素のみ扱います。 Golang Go Modules Gin アジェンダ はじめに アジェンダ 1. Ginとは 2. Go Moduleで環境用意 ローカル環境 Go Modules 3. Ginを試す Ginいれる GinでGolang書い…

【go】goenvとdirenvとGo Modulesとで新しいgo環境をつくる

はじめに Golang環境は、職場でも数年利用していました。 Macが新しくなった + 日に日に新しくなっているのでこれを機にlocal環境を作りなおしてみるメモです。 アジェンダ 今回の構成 goenvでgoいれる direnvでlocal設定する go modでpackage管理する 実行…

【GAE】appengine(app-engine-go)をhomebrew経由でinstallするgo1.6.3 (appengine-1.9.48)から、cloud sdk経由でinstallするgo version 1.8.5 (appengine-1.9.68) にupdateするメモ

はじめに GAE goな環境を使っています。 結構長いことgo1.6.3 (appengine-1.9.48)で困った事はなかったのですが、 goのversionの関係でtestingパッケージのt.Run()が使えなかったりとあったのでupdateしました。 以前は、homebrew経由でinstallおよびアップ…

【GAE】Google Cloud SDKとgcloudとコンポーネント(components)とgoappをおさらい

はじめに GAE goな環境を利用しています。 最初に環境構築して以来、google-cloud-sdk 周りにはあまり触れていませんでした。 とある事がきっかけで、 google-cloud-sdkとgcloudとgoappってそれぞれなにするやつ? gcloudとコンポーネントとgoappってどうい…

【GAE】goappコマンドについて簡単にまとめてみた

はじめに GAE goな環境で開発しているときに、 $ goapp serve app.yaml という感じで使うわけですが、そもそもgoappってなんぞやという事を軽くまとめてみました。 アジェンダ goappコマンドの簡単な紹介 goappコマンドとは goappコマンドのinstall goapp se…

【go】golangのtestの書き方 - unit testの基本の基本

はじめに そこまでgoにはさわれてませんが、 goのtestに関してもう少しまともに勉強しようと思い まずは基本中の基本からの自分用整理メモです アジェンダ goのtestの概要 testingパッケージ 実行 ファイル名の命名規則 関数名の命名規則 goのtestのものすご…

【go】go言語でgopathを使わずpackageをローカル インポートするメモ - ちょろっとスクリプトでcannot find packageと怒られる時

はじめに go言語でちょっとだけコード試したい時に、 任意のディレクトリに以下のような構成で実行すると cannot find package と言われることがあります 先にやり方を書いてしまうと相対パス指定することでインポートが可能となります。 構成 $ tree . ├── …

【go】golangのエラー処理メモ - ③. pkg/errorsでのエラーハンドリング

はじめに goをさわって数ヶ月ですが、雰囲気では書けていたものの errorやエラーハンドリングについてはもやもやしたままだったので自分理解メモの③ 関連 この記事の関連です。 【go】golangのエラー処理メモ - ①. errorとError型とカスタムErrorと 【go】go…

【go】golangのエラー処理メモ - ②. 例外はないがエラーハンドリングはできるよ(インスタンスや型でハンドリング)

はじめに goをさわって数ヶ月ですが、雰囲気では書けていたものの errorやエラーハンドリングについてはもやもやしたままだったので自分理解メモの② 関連 この記事の関連です。 【go】golangのエラー処理メモ - ①. errorとError型とカスタムErrorと 【go】go…

【go】golangのエラー処理メモ - ①. errorとError型とカスタムErrorと

はじめに goをさわって数ヶ月ですが、雰囲気では書けていたものの errorやエラーハンドリングについてはもやもやしたままだったので自分理解メモの① 関連 この記事の関連です。 【go】golangのエラー処理メモ - ①. errorとError型とカスタムErrorと 【go】go…

【go】funcの引数にstructの値渡し、ポインタ渡ししたときの挙動メモ

はじめに goをなんとなく書き始めて半年経っていないくらいですが、 Goでxxxのポインタを取っているプログラムはだいたい全部間違っている という記事を見てなるほどなーと思いました。 最初のころとか確かに何となく無駄にポインタで渡していた気がする… と…

【go】golangのCLIパッケージ(urfave/cli)を使ってみるメモ

はじめに command line cliなscriptを作りたいとき、 たいていどの言語でも引数を扱うライブラリがありますよね。 golangではとても便利なurfave/cliというパッケージがあります。 (以前は github.com/codegangsta/cli というリポジトリでした) この使い方…

【go】direnvで環境(プロジェクトやディレクトリ)ごとに環境変数を分けるメモ - 例:GOPATH

はじめ golangに限らないですが、 環境ごとに環境変数を切り替えたいときはまぁまぁありますよね。 そんなときのdirenvメモです。 mac x golangな環境を前提に書きますが direnv自体はlinuxでも他の言語や環境でも同じです。 アジェンダ direnvとは direnvの…

【go】golangでyamlを読み込んでstructに入れるメモ - gopkg.in/yaml.v2

はじめに golangでyamlを読み込むときのメモ 読み込みたいyaml例 userのデータが入ってると仮定したyamlです sample.yaml users: - name: ほげ ほげ男 full_name: first_name: ほげ last_name: ほげ男 sex: male birthday: 1990-12-12 self_introduction: lo…

【go】golangはmapは宣言だけだと `panic: assignment to entry in nil map` に...なることがあるよのメモ

はじめに かなり初歩的ですがpanic: assignment to entry in nil map で小一時間悩んだので自分戒めメモ。 わかってるつもりが、mapの宣言と初期化を混同していましたというお恥ずかしいアレです... panic: assignment to entry in nil map が起こった例 map…

【go】【glide】glide installで`[ERROR] Update failed for : Cannot detect VCS` と言われる件

はじめに glide使いはじめたばかりのglide情弱のメモです。 適当なアプリを作って、とりあえずglideを試したかったので何かしらのinstall対象としてechoだけ入れることにしました。 そんなときに出たエラーと対応方法のプチメモ。 参考にこっちもはっておき…

【go】golang環境でFailed parsing input: parser: bad import "syscall" というエラーが出るときのメモ

はじめに golangを開発していて、go getコマンドなどでライブラリなどを入れた場合にこんなエラーが出ることがあります。 2017/01/16 14:00:33 go-app-builder: Failed parsing input: parser: bad import "syscall" in src/golang.org/x/tools/cmd/heapview…

【go】mac vimのGo開発環境を設定するメモ - mac x vim x vundle x go

はじめに macでGo開発するときにvimの環境を整えるメモです。 vimでこんな感じの事ができるようになればいいやーくらいの感じです。 補完 lint 関数定義へジャンプ ドキュメント(GoDocを開く) アジェンダ GOPATH確認 Vundleでvim-goの設定&インストール V…