golang
こんにちは suganoo です。ここ最近3月4月とブログをあまり更新してませんでした。というのも「Go言語による並行処理」が勉強になったと以前投稿したのですが、 読んでるだけじゃだめだ!やっぱ写経しないと!っと思ってサンプルコードを写経してたわけで更…
久しぶりの投稿でございます。たまたま社内のjiraにAPIでissueを作ろうと思ったのですが、 その前のプロキシーサーバーがDigest認証になってました。はてと困りました。結局はプログラムで解決するのは難しそうなので、直接curlでどうにかしようと思いました…
「Go言語による並行処理」を写経してるんですが、チャネルのところで理解が甘かったところがありました。やってみて、ああそうだったのか!?と気づきました。わかってなかったことは下記の2つ チャネルってgoroutineで使うもの。 そのgoroutineの中でclose…
久しぶりの更新になりました。2月半ばにこんな企画を見つけたのでUdemyやってました。 zine.qiita.comUdemyって年末年始に90%オフセールしたりして安くなるんですが、買った後なにもやらずにそのままにしちゃうんですよね。いわゆる積んdemy。それをこの機会…
Qiitaに書いてみた。Go言語のポリモーフィズムの実現方法です。qiita.com
golang.tokyo#21「Goエンジニアの採用」というイベントがあったそうです。 行ってみたかった。 golangtokyo.connpass.comそのイベントでレポートをアップした方がいましたが、内容がとても良かった。 その中で身を引き締まる内容がありました。 mom0tomo.git…
Qiitaに書いてみました。Go言語でいいなーと思うロガーが無かったので作ってみた。qiita.comまあそんな使う人いないだろうね。
こんにちは suganoo です。Go言語からのDB操作を復習したいと思います。「Goプログラミング実践入門」でDBの操作が出ていたので、おさらいをしておきたいなと思ってました。 今回はORMは使いません。それはそれでいつかまた調べて記事にしてみようと思います…
こんにちは suganoo です。今月号のSoftware Design (2019年2月号)に「”速い”コードの書き方」という特集がありました。Go言語についても書かれていたので、おお!っとさっそく読み込んでしまいました。ソフトウェアデザイン 2019年2月号作者: なぎせゆうき,…
こんにちは suganoo です。 「Real World HTTP」を読んでみました。 会社に置いてある本だったのですが、HTTP通信のところについては勉強しておきたいなと前々から考えていたので今回読んでみました。実は以前も読んでみたのですが、1/3くらい読んで難しくな…
Goでちゃんとテストコードを書こうとようやく重い腰をあげてみました。コーディングしてるとテストコードは後回しにしてしまうんですよね。ちゃんとやってみます。後回しにするの良くないっすね(汗)。。。go testについて調べたことを記事にしてみようと思い…
GoでWebプログラミングを学んでます。今回はtemplateの使い方の紹介です。 基礎的な使い方 まずはソースコードから。 main.go package main import ( "html/template" "net/http" ) func process(w http.ResponseWriter, r *http.Request){ t := template.Mu…
HadoopへファイルをGo言語でインポートしたくて、webhdfs経由で入れようとしていました。 そこでGoのクライアントライブラリーを使ってやってみたんだけど、少し苦労したって話です。 Go言語のwebhdfsクライアントってあんまりない。 Go言語でアプリを作って…
ファイル名にタイムスタンプを入れたいなと思ってtime パッケージを調べてたんですが、便利な機能が意外とあるなと気づいたのでまとめてみました。ちょくちょく調べることがあるので、この際いっきにまとめてみることにした。自分でも知らない機能があったり…
たまたまgzファイルを一つにまとめる(=コンカチする)必要があったのでやってみました。 読み込んだ時にバイナリーで扱ってるんで、そのまま書いてしまえばいいから簡単ですね。 準備 ファイル フォルダ構成 実行スクリプト goのコード os.OpenFile ReadFile…
たまにこんなエラーが出て戸惑いました。 あんまり調べなかったせいか、ググってもよくわからなくて引数かな?とか考えてたら全然違ってました。結論から言うと、返り値が2つなのに1変数しか受取ろうとしてないぞ! っていうエラーでした。アホ過ぎて、よく…
Go言語による並行処理作者: Katherine Cox-Buday,山口能迪出版社/メーカー: オライリージャパン発売日: 2018/10/26メディア: 単行本(ソフトカバー)この商品を含むブログを見る2018年10月に出版されたようです。 Twitterで「献本いただきましたー」とかよく…
サンプルソースを写経していて、どーしても気になるところがあったのでメモしておきます。 blog.suganoo.net(※2018/12/06更新 全然ちがうところ修正していたので更新) 開始ユーザーが表示されない User.Nameって無いよね ここの部分の .User.Name が無いせい…
先日読んだこの本について内容がよかったので写経に挑戦してます。 blog.suganoo.netやっと9割がた終わったのですが、とてもよかったです。 写経するの実は今回初めてだったのですが、かなり学びになりますね。ところどころ端折ってしまったところも多々ある…
golang の web フレームワーク gin の日本語ドキュメントを書いたのでよろしくね。 https://t.co/4bwWS7Usja— Sai (@sairoutine) 2018年11月28日Go言語にはRuby on RailsのようにデファクトのWebフレームワークがありません。GoでWebプログラミングをしてて…
Goでwebプログラミングを勉強してます。 この本をもとにして写経してます。 suganoo.hatenablog.comhttp.Requestの値は何が取ってこられるかやってみました。URIパスは RequestURIでとってこられるんですね。 httpのrequesthttp - The Go Programming Langua…
たまたま気になったので調べてみました。ざっくりいうと exec.Command("hoge")で実行コマンドを指定します。 .Run() : 返却値を無視 .Output() : 返却値を取得 .Start() : 完了を待たない .Wait() : 完了を待つ ソースコードは後述の参考Qiitaを参考にしてい…
Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る impress top gearシリーズ作者: Sau Sheong Chang,武舎広幸,阿部和也,上西昌弘出版社/メーカー: インプレス発売日: 2017/03/17メディア: Kindle版この商品を含むブログ (1件) を見るこん…
「Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る」を読んでいたら、jsonを扱う項目があったので練習がてら自分でも書いてみました。ほかにもやり方はあるようですが、まずはオーソドックスなやり方のencoding/json使ってやってみます。…
userパッケージを使ってみました。user - The Go Programming Language package main import ( "fmt" "os/user" ) func main() { user, err := user.Current() if err != nil { panic(err) } fmt.Println("User.Name : " + user.Name) fmt.Println("User.Uid…
Go言語のruntimeはOSやプロセスの情報を得ることができます。 runtime - The Go Programming Language CPU情報はDeprecatedになってしまったようですね。下記のサンプルコードをもとにちょっと自分でも書いてみました。 golangcode.com package main import …
こんな記事を見つけました。 (日経 xTECH) tech.nikkeibp.co.jp 時間が経つと読めなくなってしまうようなのでざっくり要約 年収アップにどのプログラミング言語学んだ方がいいんだろ。 ビズリーチが2018年収ランキング公開したよ。 1位「Go」2位「Scala」3位…
Golangにはtempとしてのファイル操作関数があるんですね。便利ですね。 あまり使う用途ないかもしれませんが、パッと見関数で何やってるかわかって可読性がちょっとよくなるかもしれません。 サンプルコード ポイント ioutil.TempFile ioutil.TempDir os.Tem…
string型数字のスライスを小さい順にソートする方法です。例えば、"2", "1", "11" があった場合にそのままソートしようとすると文字列ソートになってしまいますから、下記のような順序になりますね。 "1" "11" "2""11"が最後に来るべきですよね。 サンプルコ…
Goと言えば処理速度が速いことにメリットがあります。最近のWebサイトもGoで作られる話もよく聞きますし、 Goのwebフレームワークもいろいろ出てきています。Gin、goji、matini、beego....いろいろありますね。 フレームワークを使う前に単純にwebプログラミ…