emahiro/b.log

Drastically Repeat Yourself !!!!

2017-11-01から1ヶ月間の記事一覧

go ✕ ajaxを書いてみた

go

サマリ goで簡易的なajax通信するアプリを作ったのでそのメモ 構成 環境 jquery 3.2.1 go 1.9.2 ディレクトリ構成 - src - app - main.go - handler - handler.go - render - render.go - templates - index.tmpl sampleコード main.go var port = "8080" fu…

GoLandの設定をremoteで管理する

Golandの設定をremoteで管理したかったので、その設定方法をメモとして書いておきます。 背景 PC変えたりすると使っていたPCの設定が全て初期化されて1から作り直すのめんどくさいです。 PCやeditorくらいであればもしかしたら、設定ファイルをgithub等にあ…

QiitaのAPIで遊ぶ

go

サマリ APIで遊びながらgoの学習をするシリーズ第二弾で、Qiitaで記事を検索するクライアント goota をgoで書きました。 コードはこちら github.com demo ざっくり仕様 Requirement tagを指定できる。 tagはカンマ区切りでOR条件で検索出来る。 ストック数が…

githubのSearchAPIで遊んだ話

go

githubのsearchAPIを簡単にラップしたGUI作りました。 久しぶりにjqueryとか触ったらすごい懐かしい匂いがして色々つまりました。 request処理とかしててハマったところがあるので別でエントリでまとめようと思います。 コードは以下 github.com refs: はま…

Goでファイル読み込みを調べた話

go

サマリ io.Readerの読み込みついて調べた io.ReaderをWrapして文字列置換 io.Readerが一括読み込みでなくstream的な動作で順次読み込みされている io.Readerについて refs: io - The Go Programming Language io.ReaderはデフォルトのReadのWrap。 ioパッケ…

GAE/GOのversionを上げたらContextが違ってコードが動かなくなってた話

go

有名な話です。が、いざ自分が体験したので備忘録としてまとめます。 github.com 上記で上げられている netcontextとcontext周りで死ぬ というのに引っかかりました。 課題 go1.6上で以下のようなリクエスト比較するコードを書いてました。 ※ コードはあくま…

time.IsZero()の挙動でハマった話

go

サマリ goのtimeパッケージの IsZero() はUnixTime = 0ではない GAEのdatasotreのdefaultの時刻で IsZero() を使ってもtrueを返さない IsZero()メソッドについて refs: time package - time - pkg.go.dev IsZero reports whether t represents the zero time…

【続】FWに頼らないオレオレroutingを実装する

go

前回書いた記事の中でオレオレroutingを実装する際に標準の net/http パッケージだけだと足りないと書いてましたがこれ、間違いでした。 ema-hiro.hatenablog.com 標準の net/http パッケージだけでオレオレroutingを実装する方法は以下 main.go package mai…

GogLandでtmplファイルをhtmlのシンタックス対象に加える

いつからはわからないですが、GogLand EAPをアップデートしたらtmplファイルがhtmlのシンタックス対象から外れてて、htmlを開いてもxmlと判別されてエラーがうるさくなってしまったので、カスタムファイルとしてtmplファイルのときは、htmlのシンタックスを…

【go】FWに頼らないオレオレroutingを実装する

go

goでFWに頼らず、net/http だけで簡単なWeb Serverを立てたいと思ったので作ってみた。 routing設定 まず躓いたのはroutingをどうするかということ。 net/httpパッケージを使用する場合、全てmain.goにroutingを書いてしまうことになりますが、FWの構造に則…

depを使ってみる

go

golangのオフィシャル謹製パッケージマネージャ「dep」 github.com 個人プロジェクトではglideから乗り換えました。 install 公式の手順に則っておけば問題ないです。 Macでは brew でインストール出来ます。 $ brew install dep ディレクトリ構成 - $GOPATH…

goのsortで複数条件でのsortを実現する上で考えたこと

go

サマリ 特定のModelに対して複数条件でsortしたい場合の実装方法についての考察 実装方法 sortしたいfield毎にモデルにsortのinterfaceを実装をする - ➀ embedで親のsortパッケージを継承する(sort条件を上書きする) - ➁ ➀のとき sortしたいStructのfield毎…