投稿

8月, 2014の投稿を表示しています

yapc::asia 参加して得た希望と闇 #yapcasia

一人のエンジニアが鬱屈している話
自分はperlエンジニアではないので、yapcはそれ以外の講演を聞いたり、
自身のモチベーション回復にもっぱら当てています。
今年は上半期、ほぼプロジェクト炎上の対策に追われていたのでバーンアウト感を払拭したいというのもあります。
完璧を求めるよりもコード書け作りたいものを作る自分がほしい物を作っていく ってのはまぁ、そのとおりぐうのねも出ないんだけど、
自分にそれを置き換えると、今何を書くべきでなにから始めたらよいのかというのが
ぱっと浮かばない。というのをここ数年繰り返している。
年齢が近くてすげー人のすげー講演とか聞いて消耗したりとかね。あれ、私だけ!?

これをしたいというものを見つけなければならない。
物事を大きく変えられる銀の弾丸は存在せず、
とにかく小さなものから始めるしかないんだろう。

悩むよりも書け
モチベーションにはなっている。なっているが、どのように行動していくべきか
まだ、わからないでいる。
結論 ・一歩ずつやるしかない。
・自分がどうあるべきかわからないのでアドバイスくれる人飲みましょう。日本酒の美味しい店なら紹介できます。
・あと、優秀なエンジニアは結婚している率が高まっている気がする。焦燥感。
(結婚していない人が優秀ではない!といっているわけではありません
・スモールスタート、スモールコミット
ま、それはおいておくとして
以下、いろいろと感想。
http://yapcasia.org/2014/talk/show/df196eac-fb65-11e3-b7e8-e4a96aeab6a4

https://twitter.com/studio3104さんは元同僚なのでココらへんの話は色々話してもらった内容の総集編ッて感じがしました。
注目すべき点は彼が持つ危機感を彼はどのように解消していっているか。
Go For Perl Mongers

スライド
Goの話。
Goのはまりポイント、GoならではのGoroutineとは何者か。とかGoとオブジェクト指向はちょいとちがう
的な話が明快にまとめられていて素晴らしいです。 クイズNow!
どのようにhttp://quiznow.me/community/を作ったかの話。
主にチームビルディングのお話。デザイナーとプログラマーの齟齬をなくすための仕掛けな…

Gosublimeのメモ

Gosublimeインストールした後にやること

Ctrl+Shift+PでGoSublime User Setting
設定例 { "env": { "GOROOT": "/opt/boxen/homebrew/Cellar/go/1.3/libexec", "GOPATH": "/Users/mogetta/Documents/go" } } GoSublimeのビルドが失敗する場合は GOROOTのPathを確認GOPATHのPathを確認Goのバージョンを確認ビルドCtrl + 9で9oを起動
go run main.go 等を行うと、由なに処理を実行する。 ループ処理なアプリを切る 9o起動後にtskill
で、終了する処理を選択。

hikarie.goに参加してきた話。revelがどのようにファイル更新によるリロードを実現しているか #golangjp #hikarie_go

先日hikarie.go #2 http://connpass.com/event/7914/ に参加してきました。 hikarie.goで使用されていた、ハンズオン形式で分かりやすくい資料はこちら
https://github.com/yosuke-furukawa/golang-study@yosuke_furukawaさん++!

で、その中でどういう質問だったか曖昧なのですが、
要点はファイルを更新した際に、コンパイルしなおして、Webを再表示するみたいなことはできるのか?
(Gae/Goだとできてたっけ?曖昧)という旨の話があって、revelはそれやってたなーという話

revelがどのようにファイル更新によるリロードを実現しているか。
フルスタックなWebふれーむわーくrevel
https://github.com/revel

revelは本体とcmdが分かれている。
https://github.com/revel/cmd

run.gohttps://github.com/revel/cmd/blob/master/revel/run.go
を見てみると、watchモードだったら
harness.NewHarness().Run() // Never returns. みたいな記述があるので、revel.harness.NewHarnessを見に行く。
Harness.gohttps://github.com/revel/revel/blob/master/harness/harness.go
NewHarness は *Harness を返してくる。
同ファイル内にてメソッドを定義している。
https://github.com/revel/revel/blob/master/harness/harness.go#L153
func (h *Harness) Run() で、Run()内で以下のような、Pathを渡している箇所がある。
paths = append(paths, revel.CodePaths...) watcher = revel.NewWatcher() watcher.Listen(h, paths...) 次はrevel.NewWatcher()を追っていく
watcher.gohttps://github.co…