golang

【Go】goでhttp.Requestを使ってみる

Goでwebプログラミングを勉強してます。 この本をもとにして写経してます。 suganoo.hatenablog.comhttp.Requestの値は何が取ってこられるかやってみました。URIパスは RequestURIでとってこられるんですね。 httpのrequesthttp - The Go Programming Langua…

【Go】exec.Commandで外部コマンドを実行する

たまたま気になったので調べてみました。ざっくりいうと exec.Command("hoge")で実行コマンドを指定します。 .Run() : 返却値を無視 .Output() : 返却値を取得 .Start() : 完了を待たない .Wait() : 完了を待つ ソースコードは後述の参考Qiitaを参考にしてい…

「Goプログラミング実践入門」はかなりいい本だった

Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る impress top gearシリーズ作者: Sau Sheong Chang,武舎広幸,阿部和也,上西昌弘出版社/メーカー: インプレス発売日: 2017/03/17メディア: Kindle版この商品を含むブログ (1件) を見るこん…

【Golang】Go言語でjsonを扱う

「Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る」を読んでいたら、jsonを扱う項目があったので練習がてら自分でも書いてみました。ほかにもやり方はあるようですが、まずはオーソドックスなやり方のencoding/json使ってやってみます。…

【Golang】userパッケージを使ってみる

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…

【Golang】runtimeを調べてみた

Go言語のruntimeはOSやプロセスの情報を得ることができます。 runtime - The Go Programming Language CPU情報はDeprecatedになってしまったようですね。下記のサンプルコードをもとにちょっと自分でも書いてみました。 golangcode.com package main import …

Go言語人気日本でも1位らしいよ

こんな記事を見つけました。 (日経 xTECH) tech.nikkeibp.co.jp 時間が経つと読めなくなってしまうようなのでざっくり要約 年収アップにどのプログラミング言語学んだ方がいいんだろ。 ビズリーチが2018年収ランキング公開したよ。 1位「Go」2位「Scala」3位…

【Golang】tmpファイルを扱う

Golangにはtempとしてのファイル操作関数があるんですね。便利ですね。 あまり使う用途ないかもしれませんが、パッと見関数で何やってるかわかって可読性がちょっとよくなるかもしれません。 サンプルコード ポイント ioutil.TempFile ioutil.TempDir os.Tem…

【Golang】文字列数字をソートする

string型数字のスライスを小さい順にソートする方法です。例えば、"2", "1", "11" があった場合にそのままソートしようとすると文字列ソートになってしまいますから、下記のような順序になりますね。 "1" "11" "2""11"が最後に来るべきですよね。 サンプルコ…

Goで基礎的なwebアプリの学習

Goと言えば処理速度が速いことにメリットがあります。最近のWebサイトもGoで作られる話もよく聞きますし、 Goのwebフレームワークもいろいろ出てきています。Gin、goji、matini、beego....いろいろありますね。 フレームワークを使う前に単純にwebプログラミ…

Go言語の書籍

whatpixel.com最近自分の中でGo言語がアツいです。そこでたまたまGo言語の本を紹介している サイトを見つけてしまったので紹介しようと思います。冒頭のサイトが英語版ですが有名どころがまとめられています。 なので日本語版、無料版をピックアップしてみま…

【Go】配列の途中までのポインタは取れない(cannot take the address of ...)

文字列を[]byteにして、途中までの配列について ポインタと取りたいと思ってました。実際やってみたところエラーになった。 test_str := "aaabbbccc" t_b := []byte(test_str) fmt.Println(&t_b[0:5]) こんなエラーがでる cannot take the address of t_b[0:…

Goでトークナイズ処理してみる。

Goのtext/scannerを使うと、トークナイズ処理ができるらしい。やりたいことは単純で スペースに区切られたログをタブ区切りにしたい。 一回の読み込みでスペース区切りしてみたい。(→なのでトークナイザを使う) ただ少し難点があって "aaa bbb ccc" [2018-04…

「プログラミング言語 Go」を読んでみた

えーっとしばらくぶりに更新します。サボってました。いろんな読みたい本を読んでたり、子育てや家事をやってると あっという間に一週間が経ち一か月が経ってしまうなあ。今回もGo言語の本を読んでみました。プログラミング言語Go (ADDISON-WESLEY PROFESSIO…

プロセスの並列とCPUの効率性

Goでプログラムを書くと処理が早い。ファイル処理のプログラムを書いていたのだけど 1ファイルの変換プログラムを書いたら、そのまま並列処理をさせようと設計検討をしていた。そしたら上司から「順番は意識しなくていいのだから、1CPUで1ファイル処理させる…

Goでロガーを作ってみた

Goでロガーを使おうとするとなかなかいいのがない。logパッケージのやつをそのまま使おうとするとなんか物足りなく使いにくい。 誰かが作ったやつも使いにくい。blog.hde.co.jpこういうのあるみたいだけどなんかしっくりこない。。。なのでlogパッケージをも…

Go言語でプロキシ経由でs3からダウンロードする

go言語でs3からダウンロードする方法は探せばなんとか見つかりました。 でもプロキシを使うケースがよくわからず、なんとかコーディングしてみたので備忘として載せておく。 Go言語でs3からファイルダウンロード+プロキシ使う版

「みんなのGo言語【現場で使えるテクニック】」を読んでみた

みんなのGo言語【現場で使える実践テクニック】作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太,稲葉貴洋出版社/メーカー: 技術評論社発売日: 2016/09/09メディア: 大型本この商品を含むブログ (4件) を見る 実践的な技術書 go言語の本ってあんま…

プログラムの処理時間を計測する簡単な方法(ボトルネックを探す)

プログラムを作ってる時、機能的なエラーは作ってるうちにわかりますよね。 ですが性能的なボトルネックは使ってみないとわかりませんよね。 この関数かな?とあたりをつけて改善していくことでしょう。たまたま1ファイルの処理についてのプログラムを書い…

大きいファイルの作成時刻を取得する時は要注意

ファイルが作られた時刻を取得したくてGoで調べてました。やりたかったことは、あるディレクトリを監視して ファイルが増えたら、新しいファイルのみ取得したいと思ってました。じゃあこうしよう 「保存用最大ファイル作成時刻」とした変数を0としておく デ…

「Goならわかるシステムプログラミング」を読んでみたがいい本だった

会社がどんどん技術書を買ってくれるありがたーい会社で この本を買ってたので読んでみました。 冬休みを使って読んだけど、Goの基礎を終えてから読むととってもよかった!linuxに近いレイヤーのシステムコールなどの解説がよく書かれています。 あんまり理…

「基礎からわかるGo言語」読んでみた

最近はもっぱらGo をやっています。pythonでログをインポートするようなツールを作っていたのですが いかんせんやっぱり遅い。 そこでGoでやりましょうと言うことでGoを勉強しています。GoはC言語のようなポインタや構造体を使ってて面白いです。 10年近く前…