タグ

ブックマーク / qiita.com/taizo (5)

  • GoとDockerとMicroservices 最初の一歩 - Qiita

    この記事は Go その2 Advent Calendar 2015 10日目の記事です。 今回はgodockerを使ってMicroserviceっぽく、ウェブアプリケーションを作っていく時のさわりの部分を書いてみました。 Microservice Hello World macdocker toolboxインストールして、docker-machine start devとdocker-machineを立ち上げた後から。 Hello Worldを返すウェブサーバーのdockerイメージを用意してみます。 package main import "net/http" func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello World"))

    GoとDockerとMicroservices 最初の一歩 - Qiita
  • Goのsyncパッケージで相互排他ロックを行う - Qiita

    syncパッケージには、相互排他ロックがあります。 これを使うと意図的に処理にブロックを入れることが出来て goroutineのチャンネルのやりとりのウェイトのようなことが実装出来ます。 Mutex型 相互排他ロック。 使わない場合 package main import ( "fmt" "time" ) func main() { c := make(chan bool) for i := 0; i < 5; i++ { go func(i int) { time.Sleep(500 * time.Millisecond) fmt.Println(i) c <- true }(i) } for i := 0; i < 5; i++ { <-c } } package main import ( "fmt" "sync" "time" ) func main() { m := new(sy

    Goのsyncパッケージで相互排他ロックを行う - Qiita
  • Goでwebサーバー作るときに考えたこと - Qiita

    Goでwebサーバーを作るときに考えたことをまとめておきます。 dockerコンテナで動かす場合を少し考慮してます。 フルスタックフレームワークか軽量系フレームワークか 最初に突きつけられる問題です。 フルスタックフレームワーク revel beego 軽量系フレームワーク goji negroni どんなフレームワークもそうですが、フルスタックなフレームワークならば、 その道に乗っかることで余計なことを考えずにすみます。 だけどその道から外れることをする場合に苦労が伴います。 golangの場合、Go初心者ならばフルスタックでもいいけれど、 ある程度Goに慣れてくると標準のライブラリといくつかのライブラリを使うだけで webサーバーを作る場合、十分な場合があります。 前にrevelを使っていたときは、最初はrevelの機能を使っていたけれど、途中で他のライブラリを使ったほうが楽なんじゃな

    Goでwebサーバー作るときに考えたこと - Qiita
    clavier
    clavier 2015/06/29
    Goでwebサーバー作るときに考えたこと - Qiita
  • Goを勉強しはじめた時にたどり着いたリンク集 - Qiita

    1ヶ月くらいGoの勉強をしたときにたどり着いたリンク集。 (適時追加中) ページ A Tour of Go - 最初にここ。ただし、量と途中のエクササイズの問題の分かりにくさで、最初から全てを理解するのは大変。 go-wiki tips的な Golang JP - Google+のコミュニティ build web application with golang - Goでウェブサービスを開発する場合の説明。 Go言語での構造体実装パターン - 構造体の使い方 Go Language Patterns - 『You should have already read the Go Tutorial and Effective Go. This site is the next step.』 スライド Go For Perl Mongers - YAPC::Asia TOKYO 2014のプレゼ

    Goを勉強しはじめた時にたどり着いたリンク集 - Qiita
  • Revelの主な処理の流れ - Qiita

    Go製フレームワークRevelの処理の流れです。 ざっくりとした処理の流れの話です。 以下、社内勉強会用資料。 revelの主な処理の流れ http://revel.github.io/manual/concepts.html Play Frameworkを参考に作っている。 基的にはMVC。 revel アプリの作成方法 revel アプリケーションの作成 $ revel new sample ~ ~ revel! http://revel.github.io ~ Your application is ready: /Users/username/.go/src/sample You can run it with: revel run sample . ├── app │   ├── controllers │   │   └── app.go │   ├── init.go │ 

    Revelの主な処理の流れ - Qiita
  • 1