ようへいの日々精進XP

よかろうもん

2017 年 08 月 13 日(日)

世界陸上 4 x 100M リレー

早起きして日本チームを応援した。

結果はジャマイカのボルトが足を痛めてしまって棄権となり残念な引退レースとなってしまったが、日本は三位で銅メダル!素晴らしい!

news.livedoor.com

news.livedoor.com

こんな賛否両論もあるけど、置かれている状況も含めてのレースだし、実力なんぢゃないかと思うので、リレーメンバー(補欠メンバーも含めて)全員で勝ち取ったメダルなんだと思う。

お墓参り

初めて奥さんのご先祖が眠るお墓に参ることが出来た。

暑さを考慮して朝の 6 時半に自宅を出て、お墓近辺で奥さんの記憶を頼りにお墓を探すもなかなか見つからず、犬の散歩していたおばちゃんに聞いたら一瞬で場所を教えてくれた。

有難い。きっと、義父が導いてくれたのかもしれない。

宇美八幡宮

初めて訪れた。

大木がとても印象的で、すごく荘厳な感じな神社だった。

ジョギング

義父の墓参りから戻ってきてからジョギング。

足が張ってる。

日課

  • (腕立て x 30 + 腹筋 x 30) x 3

世界陸上 50 キロ競歩

地味な感じだけど、失格というリスクと隣合わせになりながら早歩きして順位を争っている姿はマラソンとはちょっと違った面白さがある。

2017 年 08 月 12 日(土)

ジョギング

鴨池運動公園の周りを 1 周走ってから長水路を走った。

f:id:inokara:20170813153420p:plain

こんな感じで 7.5 キロくらい。

朝食

母が用意してくれた朝食。ご飯と味噌汁、納豆、鮭、大根おろしととてもシンプルなんだけど美味しかった。

ノリばあちゃんと。

ノリばあちゃんと。

枕崎のノリばあちゃんを訪ねる。

齢 95 歳、だいぶん耳が遠くなっていて大声で話さないといけないけど、まだまだ長生きしてくれそうな感じ。

ただ、ノリばあちゃん曰く「長生きも辛い」とのこと。何も考えずに「長生きしてね!」と言ってしまっていたけど、ノリばあちゃんにとっての本当の幸せって何なんだろうと考えさせられた。

走りまくった

ノリばあちゃんに会ったあと、親戚のおじさん、おばさん達にもアポ無し訪問を済ませたあと福岡へ。

f:id:inokara:20170813154225p:plain

往復 800 キロ、だいぶん走ったなあ。

2017 年 08 月 11 日(金)

ジョギング

帰省

敬天愛人

お盆という意識は全く無かったけど、たまにはお墓参りしたり、ご無沙汰していた親戚にも挨拶したいなって思って帰省した。

心配された渋滞もそこまで酷くなくて 4 時間くらい掛けてゆっくりと車を走らせた。

夕飯はウェルビュー鹿児島って近所にあるホテルのレストランに特設されたビアガーデンで。

www.welview.com

奥さん、両親、弟弐号の家族と乾杯した。

久しぶりに顔を突き合わせて色々と喋った気がしたけどあんまり覚えていない。

2017 年 08 月 09 日(水)

長崎に原爆が投下された日

72 年前、長崎に原爆が投下された日。当初は北九州に投下する予定だったらしいが、天候不良で長崎になったとのこと。

核兵器の無い世の中を切に願う。

ジョギング

  • 突然の大雨でお休み

日課

  • (腕立て x 30 + 腹筋 x 30) x 3

ちょっと涼しい瞬間が

突然の大雨の後、数時間だったけど涼しい瞬間があったので久しぶりにベランダで仕事をした。

2017 年 08 月 08 日(火)

ジョギング

昨日の中学生カップル + アルファは今日は散歩していなかった。

日課

  • (腕立て x 30 + 腹筋 x 30) x 3

夕飯

年に一回くらい奥さんがめっちゃ気合を入れたらしく、三品作って全部美味しかった。流石、奥さん。

2017 年 08 月 07 日(月)

ジョギング

体操服を着た中学生ぽいカップルが恋人つなぎで散歩してた。微笑ましいのであるが、その中学生の男友達と思しき一人もそのカップルと一緒に散歩してて笑えた。その男友達はどんな気分で歩いていたんだろう。

日課

  • (腕立て x 30 + 腹筋 x 30) x 3

カレー

昼飯、夕飯ともにカレー。安定の美味しさ。

2017 年 08 月 06 日(日)

原爆記念日

www3.nhk.or.jp

72 回目の原爆記念日

合掌。核兵器の無い世界を切に願う。

帰福

早めに空港に来て、いつもの立ち食い寿司で朝ごはん。美味しいけど高いのが辛い。

その後、エアポートラウンジで gom をイジったり、Golang から MySQL をイジる一番シンプルな方法を模索したりした。

ペパボの P山さんと飛行機が一緒になって、色々と話をさせて頂いたのがハイライトだった。

こうちゃん

金町に住んでいた時の飲み友達だったこうちゃんが家族連れで福岡に来ていたので、こうちゃんの高校時代の友人達も交えて博多で鶏皮つつきながら呑んだ。

こうちゃんは金町に住んでいた頃よりも白髪が増えて色々と苦労しているようだったけど、当時と変わらないテンションで占めの豚骨ラーメンまでガッツリ食べて呑んでいた。

明日から長崎、熊本、大分と家族旅行するらしいので、お子さん達の良い思い出になる旅にして欲しいと思う次第。

ここがクソだよ日本人エンジニア

anond.hatelabo.jp

すごく耳の痛いけど、正論言っているなという記事が Twitter のタイムラインに流れてきたので、何度も読み返した。

まさに、自分のブログはこの記事中で言われている「ク●記事」の巣窟になってしまっているし、Qiita 等の記事を参考にして、有難がっているクソエンジニアであるのも事実。また、「英語」というファイヤーウォールに対する拒否反応についても確かに有る。

何度も読み返しているうちにエンジニアを止めたくなってきたんだけど、ま、自分の中での落とし所としては、(この記事で言いたかった事の本質とは外れるかもしれないけど)

  • 何らかの新しいツールや技術に触れる際には、まずは公式ドキュメント(言語を問わず)を読む
  • 英語で書かれた資料も頑張って読む
  • ク●記事はこれからも書く(クソ記事自体はあくまでも自分の為に書いているので)
  • Github でスターを貰えるような何かを作る

というところで、これからも頑張っていこうと思った記事だった。

この記事は印刷して机の前に貼っておこうかなとも思っている。

gom の使い方メモ

gom とは

Go のパッケージを gem のように管理するツールという認識です。

github.com

試した環境

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.11.6
BuildVersion:   15G1421

$ go version
go version go1.8.3 darwin/amd64

gom の導入

go get github.com/mattn/gom

以上です。簡単ですな。

gom を使ったパッケージの導入

Gomfile という名前のファイルに以下のように導入したいパッケージ名を記載します。

gom 'github.com/gin-gonic/gin'

あとは gom install を実行するだけ。

$ gom install
downloading github.com/gin-gonic/gin
...

とっても簡単です。

ハマった

ところが、何も考えずに以下のように記載して、gom run したところ…

$ gom run main.go
main.go:3:8: cannot find package "github.com/gin-gonic/gin" in any of:
        /usr/local/Cellar/go/1.8.3/libexec/src/github.com/gin-gonic/gin (from $GOROOT)
        /Users/xxxxxxx/sandboxies/go-gin/vendor/src/github.com/gin-gonic/gin (from $GOPATH)
        /Users/xxxxxxx/sandboxies/go-gin/src/github.com/gin-gonic/gin
        /Users/xxxxxxx/golang/src/github.com/gin-gonic/gin
gom:  exit status 1

あれー、なんでやろー。

vendroing

Golang の vendroing という機能を利用すると、プロジェクトディレクトリ以下に vendor というディレクトリがあれば、import 分で読み込むパッケージの依存解決順序を vendor$GOROOT$GOPATH という風にしてくれるものらしい。

h3poteto.hatenablog.com

但し、$GOPATH 配下にプロジェクトディレクトリが存在していないといけないという制約があるとのこと。

ということで、プロジェクトディレクトリ(gingingin)を以下のように配置してやり直し。

$GOPATH/src/gingingin

gingingin ディレクトリ以下に Gomfile を設置して、改めて gom install する。

$ pwd
$GOPATH/src/gingingin
$ cat Gomfile
gom 'github.com/gin-gonic/gin'
$ gom install
...
$ tree -L 2
.
├── Gomfile
├── main.go
└── vendor
    ├── github.com
    ├── golang.org
    ├── gopkg.in
    └── pkg

5 directories, 2 files

Gin を起動

github.com

WAF の Gin を試してみたかったので、以下のように Gin の README を参考にしてアプリケーションを作成してみた。

$ cat example.go
package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    r.Run() // listen and serve on 0.0.0.0:8080
}

以下のように gom run してみる。

$ gom run example.go
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /ping                     --> main.main.func1 (3 handlers)
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on :8080

おお、起動した。

以上

メモでした。

以下、gom のヘルプ。色々と機能があるので、ボチボチ使っていきたいと思います。

$ gom -h
Usage of gom:
 Tasks:
   gom build   [options]   : Build with _vendor packages
   gom install [options]   : Install bundled packages into _vendor directory, by default.
                              GOM_VENDOR_NAME=. gom install [options], for regular src folder.
   gom test    [options]   : Run tests with bundles
   gom run     [options]   : Run go file with bundles
   gom doc     [options]   : Run godoc for bundles
   gom exec    [arguments] : Execute command with bundle environment
   gom tool    [options]   : Run go tool with bundles
   gom env     [arguments] : Run go env
   gom fmt     [arguments] : Run go fmt
   gom list    [arguments] : Run go list
   gom vet     [arguments] : Run go vet
   gom update              : Update all dependencies (Experiment)
   gom gen travis-yml      : Generate .travis.yml which uses "gom test"
   gom gen gomfile         : Scan packages from current directory as root
                              recursively, and generate Gomfile
   gom lock                : Generate Gomfile.lock

2017 年 08 月 05 日(土)

登壇

職場の就職セミナーに参加。チームを紹介する話を 15 分程させて頂いた。

cloudpack.jp

ずーっと、参加者の皆さんと話を聞いていたんだけど、他のチームがどんな仕事をしていて、どんな課題を抱えているのが判ってとても参考になった。また機会があれば参加したい。

懇親会の後は杉原さんと新橋に繰り出して餃子を食べる。餃子自体はとても美味しかったんだけど、店員さんが全員中国の方で配膳とかもすごく雑な感じで面白かった。

その後、1p さんとカツトシさんと合流してカラオケ。突然、2001 年縛りとか夏縛りとか始まって選曲に戸惑ったりしつつ楽しい時間を過ごせた。コブクロの流星を歌ってみたけど、流星と名の付く曲に心を動かされない曲は無いなと思ったくらいグラグラきた。

youtu.be

遅くまで付き合ってくれた杉原さん、1p さん、カツトシさんあざます。

世界陸上

ホテルに帰ってボンヤリ世界陸上を見ながらビールを呑む。織田裕二がだいぶんおとなしいのがとても残念。

リーダブルコード

飛行機の中で読もうと思って、前々から読みたいと思っていたリーダブルコードを読み始めた。

www.oreilly.co.jp

最近、ギョームで辿々しいながらもコードを書く機会が増えてきたので、少しでもコーディングのお作法的なことを学びたいと思っている。

読み終わったら感想をまとめてみたい。