Hatena::Groupbabel

babel 作業の記録 TP このページをアンテナに追加 RSSフィード

2014-10-15go MessagePack

ちょっと悩む。

| 20:00 | ちょっと悩む。 - babel 作業の記録 TP を含むブックマーク はてなブックマーク - ちょっと悩む。 - babel 作業の記録 TP ちょっと悩む。 - babel 作業の記録 TP のブックマークコメント

MessagePack の形式でただ単に、出力(encode)したいだけなので下記でも良いって思っていたんですが、

https://github.com/msgpack/msgpack-go

今後 RPC をやっぱり使いたいってなった場合、面倒な事になりそうなので、

公式にも書いて有る http://github.com/ugorji/go の codec を使おうと思いますが、使い方が今は良く分から無いです。


下記を参考に使って行こうと思います。

Go の msgpack ライブラリ比較

mimic28号でした。

2014-10-11martini

JSON (の値) を POST 送信して JSON を返却する。

| 20:00 | JSON (の値) を POST 送信して JSON を返却する。 - babel 作業の記録 TP を含むブックマーク はてなブックマーク - JSON (の値) を POST 送信して JSON を返却する。 - babel 作業の記録 TP JSON (の値) を POST 送信して JSON を返却する。 - babel 作業の記録 TP のブックマークコメント

import したいので、下記を実行。

$ go get github.com/codegangsta/martini
$ go get github.com/martini-contrib/binding
$ go get github.com/martini-contrib/render

post_server.go を下記にする。

package main

import (
    "net/http"

    "github.com/codegangsta/martini"
    "github.com/martini-contrib/binding"
    "github.com/martini-contrib/render"
)

type Post struct {
    Key string `json:"key" binding:"required"`
    Value string `json:"value"`
}

func (p Post) Validate(errors *binding.Errors, req *http.Request) {
    if len(p.Key) < 1 {
        errors.Add([]string{}, "PostError", "Too short; minimum 1 characters")
    } else if 120 < len(p.Key) {
        errors.Add([]string{}, "PostError", "Too long; maximum 120 characters")
    }
}

func main() {
    m := martini.Classic()
    m.Use(render.Renderer())

    m.Post("/api", binding.Json(Post{}), binding.ErrorHandler, func(post Post, r render.Render) {
        r.JSON(200, map[string]interface{}{"hello": "world"})
    })

    m.Run()
}
$ go run post_server.go
[martini] listening on :3000 (development)

別の端末から下記を実行。

$ curl -d '{"key":"1","value":""}' http://localhost:3000/api

content は下記が返却されます。

{"hello":"world"}

色々、拙い実装だとは思いますが、私が良く分から無い所が多い golang 何で、兎に角、世(blog)に出します。


mimic28号でした。

2014-10-10Vagrant Windows tips

Windows で vagrant up する batch

| 12:00 | Windows で vagrant up する batch - babel 作業の記録 TP を含むブックマーク はてなブックマーク - Windows で vagrant up する batch - babel 作業の記録 TP Windows で vagrant up する batch - babel 作業の記録 TP のブックマークコメント

VagrantWindows で使う上で vagrant up するだけの batch を作った方が楽だなって思いました。

自身が存在する file を知りたくなり、調べたら下記に記載されていたので、良かったです。

http://d.hatena.ne.jp/fuzzhead/20080930/p1

up.bat

cd /d %~dp0
vagrant up

これで "cd で change directory をするのはだるいよね"ってなった時が programmer の腕の魅せ所って感じですかね。

実際に使ったら、不便でした。

cd.bat

cd /d %~dp0

こちらを cmd を起動してそちらへ放り込んで下記を実行した方が使い勝手が良い事が分かった。

> vagrant up

mimic28号でした。

2014-09-20あんだって!?もぐらの件

あんだって!?もぐらを Cocos2d-x で作って行こう。

| 22:30 | あんだって!?もぐらを Cocos2d-x で作って行こう。 - babel 作業の記録 TP を含むブックマーク はてなブックマーク - あんだって!?もぐらを Cocos2d-x で作って行こう。 - babel 作業の記録 TP あんだって!?もぐらを Cocos2d-x で作って行こう。 - babel 作業の記録 TP のブックマークコメント

いきなりですが、

色々やりたいんですが、

まず、あんだって!?もぐらを Cocos2d-x で作って行こう。

どんな game かと言うと、スマートフォン向けに作りたくて、

その場合、比較的簡単に作れそうな、もぐら叩きです。


GithubURL はこちら https://github.com/babel-project/Even-what-Mole


mimic28号でした。