スキップしてメイン コンテンツに移動

Go:GoでWebAppを作る上で足りないもの…

どうもこんにちは、@CreatorQsFです。
最近は寒くなりましたねぇ。おかげさまでサーバーがお熱いので部屋はそんなにですが。冬はまだいいね(ΦωΦ)フフフ…

さてさて、最近は開発にGoを選択する日本企業も増えて来ました。やっと、というか、海外に比べて約1年半ほどの遅れでしょうか?
まぁ海外が全てではないとは思いますが…どうにか、大企業ほど積極的に新しいもんを取り入れる新風を日本に巻き起こしてほしいものです。そうすると批判がっていうのはなしで。

でも一つ私きになることがあるんです。GoでWebAppを作るとき、みなさんdaemon化はどうされているのでしょう??

あまり気になる方もいらっしゃらないようで、ネット上にはチラホラしか情報がなく、syscallを使ってgoroutineと相性ガガガとか、takamaさんのdaemonを使うとかいろいろあるようではありますが、そのどれもが微妙な気がします。僕としては…GAEのような、そういう感じでGoでdaemon/webappができると嬉しいのですが。

…だったらGAE使えよって言われそうですけど…w

コメント

このブログの人気の投稿

GoでPodcast用のサーバーを組むときに良い(良さそうな)lib

いい感じのライブラリ、あります。 現在作成中のPadio(仮名)というサービスではこれを使っています(が、しかしもしかしたら変えるかも。現状はすごい満足)。 https://github.com/eduncan911/podcast https://godoc.org/github.com/eduncan911/podcast

Vaffle.vimがいい感じ

実はいまのいままで、ずっとUnite.vimを使い続けてきていました。 Shougoさんのunite.vimは確かに素晴らしかったです。しかしながら、私には到底使い切れるものでもなく、もったいないとおもいつつ、ファイラーとmruのみを使う日々が続いておりました。 御存知の通り、随分前にご本人はすでにuniteからdeniteへと移行をしています。 知らなかったわけではないんですが、動いてるし速度にも問題を感じることがなかったので放置していました。 しかし今回、現状に合わせて、この部分を考え直すことにしました。要するにVimのファイラをどうしよう問題です。 で、いろいろ見た限り、わたしには、 https://github.com/cocopon/vaffle.vim これが最も適しているようでした。 ブログ記事はこちらです。 http://cocopon.me/blog/?p=6084 かなり気に入っています。動作はなかなかに速いですし、hjklで移動できる感覚も、なれると良いものですね。 あとはmruをどうしようかなーというところのみとなりました。

NULLのcolumnを含むDBでデータを取得する/Golang

どうも、@CreatorQsFです。我が家にもやっと春が舞い戻ってまいりました。 さて、僕はもともとCとPHPとMySQLでサービス作ってた人です。そんな中で世紀末ぐらい困ったことが会ったので記しておきます。 まず、PHPでの時わたしはDB関連は全て自作していました。これでも一応SQLかけるので。 ですが、Goに変えてからgithubなどのLibraryを積極的に使うようにしています。フレームワークも今はrevelを使ってます(╹◡╹) そして、当然のごとくgorpを使いはじめるわけなんですが…これが意外と難しい。というよりPHPの成り上がり下克上果たせなかった系Goプログラマには結構問題点が多くて。私自身にですが。 まず、DBを使うのに、structと組み合わせるためにマッピングしなきゃならない。いや正確に言うと、今まではDBから取得したらそれが自動的にオブジェクトに落とし込めていたので、なんか気にすることなかったんですな。 だけど、最近のモダンなやつ見てるとどうもそうでもないらしい。構造体を作ってそこに落としこむのが主流なのかな。 ってことで、やってみたのはいいものの… …動かないっす先輩。 思ったとおりに行かないっす 原因は、MySQLのcolumnにNULLが含まれているためでした。そこで、sql.NullStringの存在を知ります。 で、それを   for _, l := range list {     p := l.(*models.A)     fmt.Printf("%d,%t, %s\n", p.Id,p.Status,p.Url)               } こんなかんじに調理したとします。 この青四角のところが大問題なわけで、最初こう書きました。 result string = p.Url そうすると、みんな大好き型エラー。 で、次にこう。 result string = fmt.Sprintf("%v",p.Url) いや、動いたんですけど…。問題はそうじゃなくて、吐出されたものがめちゃめちゃに汚い。オエッの方じゃなくて。 で、なんじゃこりゃと思って、次...