タグ

golangに関するytackyのブックマーク (7)

  • Go Style

    Documents The Style Guide outlines the foundation of Go style at Google. This document is definitive and is used as the basis for the recommendations in Style Decisions and Best Practices. Style Decisions is a more verbose document that summarizes decisions on specific style points and discusses the reasoning behind the decisions where appropriate. These decisions may occasionally change based on

  • multipart/form-data形式のファイルが突然アップロードに失敗する問題を仮説を立てながら解決する話

    こんにちは、株式会社カミナシのエンジニア @imu です。 はじめに 突然ですがファイルアップロードに失敗することってありますよね? カミナシレポートのプロダクトはオフライン機能を実装しており、オフラインで記録したデータをアップロードしたときに失敗するケースが、特定の条件下で起きるようになりました。そのため一部のお客様のデータが端末に残り続け、なんとかしてほしいとサポート依頼が発生しておりました。 私自身、半年ぶりにカミナシレポートのプロダクトに戻ってきたばかりで、リハビリのissueとなりました(笑) 今回は問題を解決するまでの仮説や、調査から解決までお話したいと思います! ※オフライン対応をなぜしているのかは以前書いたこちらを参照いただければと思います。 kaminashi-developer.hatenablog.jp 結論 何が問題だったか結論だけ知りたい方はこちらへ 開発環境 g

    multipart/form-data形式のファイルが突然アップロードに失敗する問題を仮説を立てながら解決する話
  • Goにおけるフラットアプリケーション構造 - 技術メモ

    こちらは Flat Application Structure in Go の日語訳です。 Flat Application Structure in Go コードをパッケージに分割する方法を見つけ出すのに時間を費やすよりも、フラットな構造を持つアプリケーションでは、すべての .go ファイルを単一のパッケージに配置します。 myapp/ main.go server.go user.go lesson.go course.go フラットなアプリケーション構造は、ほとんどの人が Go を始めるときに最初に使うものです。A Tour of Go のすべてのプログラム、Gophercises のほとんどの練習問題、その他多くの初期の Go プログラムは、パッケージに分割されていません。その代わりに、いくつかの .go ファイルを作成して、すべてのコードを同じ(多くの場合はメインの)パッケージ

    Goにおけるフラットアプリケーション構造 - 技術メモ
  • golang は ゆるふわに JSON を扱えまぁす! — KaoriYa

    以下のツイートにもある通り、一見 golang は struct を定義しないと JSON を扱えないように見えます。他にも似たようなツイートをチラホラと見かけましたが、それらは全部誤解です。そこでこの記事では、golang でゆるふわ (structを定義せず) に JSON を扱う方法を紹介します。 golangrubyのようにゆるふわにJSONは扱えない? https://t.co/olsryDHc5G — bamchoh (@bamchoh) 2016年6月24日 この記事では入力の json.Unmarshal() を取り扱いますが、出力の json.Marshal() にも応用できます。 TL;DR json.Unmarshal() には *interface{} を渡せます interface{} は dproxy を使うと、値のアクセスで楽ができます json.Unmar

  • Go1.11から試験導入されるバージョン管理機能(vgo)について

    Go1.11から、goコマンドにバージョン管理機能が試験的に導入される予定です。 Go1.12から正式サポートを目指しており、現在はプロトタイプ版としてvgoコマンドを使用することができます。 vgoは従来のdepとは異なるアプローチでバージョン管理を行います。 記事は、vgoによって変更が発生するポイントについてまとめたものです。 vgoの詳細はこちらから確認できます。 https://research.swtch.com/vgo 依存関係の解決はbuild時に行う ビルドはvgo buildで行います。 vgo buildの実行時に未知のimportを検出すると、その最新バージョンを取得します。 個別にvgo getする必要はありません(することもできます)。 $ vgo build vgo: resolving import "rsc.io/quote" vgo: finding

    Go1.11から試験導入されるバージョン管理機能(vgo)について
  • ʕ  ゚皿゚ ʔ GolangのWeb Application Frameworkを色々試してみてもいいかしら? - ( ꒪⌓꒪) ゆるよろ日記

    うちのメロンちゃんはLv.117です。 Golangで、簡単なWebアプリケーションをいくつかのフレームワークを用いて作成してみた。 サンプルアプリケーションは、こんな感じのPhotoギャラリーアプリケーションで、画像URLを入力すると追加される。 PureというCSSフレームワークのサンプルから拝借した。 Photo Gallery – Layout Examples – Pure ソースコードはGithubで公開している。 yuroyoro/golang_webapp_framework_samples · GitHub 今回試したのは、net/httpパッケージ、Martini、 Revel の3つ。 net/http編 まずは基net/http編。ソースコードはこちら。 http - The Go Programming Language net/httpパッケージでサーバーを

    ʕ  ゚皿゚ ʔ GolangのWeb Application Frameworkを色々試してみてもいいかしら? - ( ꒪⌓꒪) ゆるよろ日記
    ytacky
    ytacky 2018/03/28
    “github.com/yuroyoro/go_shugyo/revel_sample/app/models”
  • Go言語を学び始める人へ ~2017冬~

    この記事はAizu Advent Calendar 10日目の記事です。 最近、Go言語を最近始めた人からGo言語の周辺情報を教えて欲しいと言われました。 例えばWAFは何を使うか、ビルドするために何を使っているのか、情報を収集するのにどこを見ているのかというような情報です。 確かに新しい言語を始めるにあたってそのような情報は知っておきたいですが、意外とまとまってなかったりします。(すぐ陳腐化するからでしょうか) なので、ここでは自分なりの周辺情報をまとめておきます。もちろん、これがすべてで必ず正しいわけではありませんので、ご了承ください。 インストール方法Go言語では他の言語のように同じ環境に複数のバージョンをインストールするということはほとんどしません(Go言語自体の開発などを除く)。 そのため、そのままグローバルにインストールして大丈夫です。 macOS、Ubuntuでのインストール

  • 1