@Konboi memo

主に技術に関してつらつらと。

夏のドキッとしたmigrateの話

はじめに 現在担当しているプロジェクトではmigrateにGitDDLを使っております。 先日本番環境でそれなりにデータが入ったテーブルに対してALTERをかけました。 その際に起こったちょっとドキッとする話を今後の自分のためにも書いてこうと思います。 GitDDLにつ…

branchの絞り込みをpecoを使うようにしたら捗る

alias br='git checkout $(git branch | peco)' を .bashrc に記述するとbranchをいい感じに絞り込めるので非常に良い。

HERO

映画『HERO』公式サイトwww.hero-movie.com

バケモノの子

「バケモノの子」公式サイトwww.bakemono-no-ko.jp

雑にindexの効果を調べた

メンターをしている後輩くんのソースをレビューしててindexが足りてなかった。 それがなんでダメなのか雑に調べた。 player_hoge id player_id index_id created_at updated_at みたいなテーブルがある。 使われ方はplayer_idとindex_idの2つでselectする機会が…

docker composeのlinksの値をアプリケーションコードで使用する

はじめに 前回の記事では コマンドライン上から使ってみた。 ただ、実際はアプリケーションのコード側で使いたい場合が多い。 なので、そうするにはどうしたらいいのか調べてみた。 準備 まずは実行するための環境を作ります。 アプリを実行するコンテナを作ります…

docker compose を使ってみた

はじめに 実際に docker-compose を使ってみた。 今回はsampleとしてredis-serverのコンテナとredis-clientのコンテナをそれぞれたて、 client側からserverへベンチをかけてみる。 設定 # docker-compose.yml server: command: redis-server image: redis:2.8 c…

figあらためdocker-composeのインストール

はじめに figに関しては下記の記事が参考になると思います Dockerの構成管理「Fig」で開発環境を整備しよう boot2docker + figで始めるDockerコンテナ・オーケストレーション ただfigは昨年、docker社が買収し 、現在は Docker Compose となった模様です とい…

boot2docker の https での通信をoff にする

はじめに dockerをdockerコマンドではなくライブラリを使って接続しようとしたときにhttpsの認証周りが上手くできなかったので色々やってみました。 前提条件 boo2docker, docker は homebrew を使ってインストールしています dockerコマンド経由だったらhttp…

ワイルドスピード スカイミッションを見た

GWの締めにとワイルドスピード スカイミッションを見た。 IMAX 3D で見たけど、映画の内容と相まってすごい迫力で非常によかった。 ネタバレになるからあまり書かないけど、ほんとに出演者のポール・ウォーカーさんが亡くなったんだなってつらくなった。 次回作も…

若手Webエンジニア交流会 #9 で発表しました #wakateweb

はじめに 運営していただいた方々、非常に楽しい時間を過ごせました! そして、会場提供していただいた、SmartNewsさんありがとうございました。 オフィス見学もさせていただき非常に綺麗なオフィスで羨ましかったです!! 発表資料 こちら発表になります サンプ…

旅する勉強会 #0 運用x効率化の話をしました

はじめに 旅する勉強会ってなんぞやという方はこちらの記事をご覧ください 旅する勉強会 - tech.kayac meetup #0 を開催します 発表資料 資料です 感想 当日は社外で発表するという経験がないので緊張し早口になってしまい、聞きづらい発表になってしまったか…

dockerでhost解決ができなくなったら

はじめに いつのまにか awsのインスタンス上に立てたdocker内でhost解決ができなくなった dockerのバージョンは 1.3.3 docker run -i <image> /bin/bash して ping google.com しても ping: unknown host google.com とかでて困った。 試してみたこと 調べてみると -</image>…

docker runで起動したコンテナの時間がずれていく際の解決方法

はじめに dockerで動かしているコンテナ内の時間と母艦のcentosとの時間がずれて困っていた。 解決方法 -v で 母艦の /etc/localtime を コンテナにマウントしてあげれば解決した docker run -v /etc/localtime:/etc/localtime:ro まとめ -v オプションしらな…

初回だけじゃない rails application template

最近rails書いてないですがrailsネタを。 はじめに ご存知の人もいるかと思いますが、 rails template は初回だけじゃなくても適用できます。 実行環境 今回の実行環境は rails: 4.0.0 ruby: 2.0.0p576 です。 やってみる 今回はサンプル用に Konboi/rails-templ…

Golangでinterfaceなsliceの長さを調べる

日本語の使い方的にどうなのっていうのはあるがそこは置いく。 コードを見てもらったほうが早いと思うので。 こちらになります。 package main import ( "encoding/json" "fmt" "reflect" "strings" "github.com/mattn/go-jsonpointer" ) func main() { var i i…

ghooks というGithubのWeb Hook Receiver をgolangで書いた

はじめに goの練習がてらに Github::Hooks::Receiver、 octoks をgolangで書いてみました。 ghooks 使い方 README.md にかいてありますが、こんな感じで使います // sample.go package main import ( "fmt" "log" "github.com/Konboi/ghooks" ) func main() { p…

Golangでどんな json が返ってくるかわからない時に const で定義するまでじゃないんだけど、 interface だと呼び出しが面倒なのどうしたらいいんだろう問題

package main import ( "bytes" "encoding/json" "fmt" ) func main() { b := []byte(`{"foo": "bar", "hoge": {"fuga": "hoga"}}`) dec := json.NewDecoder(bytes.NewReader(b)) var jsonData interface{} dec.Decode(&jsonData) fmt.Println(jsonData) fmt…

Golang で Headerの中身を取得する

func Hoge(w http.ResponseWriter, req *http.Request) { header_hoge := req.Header.Get(“Hoge”) } でできる 逆にセットする場合は req.Header..Set(“Hoge”) = “fuafuga” でできる。

go-bindata を使って静的ファイルもビルドファイルに含めてみる

追記 2018/02/08 go-bindata の作者が GitHub アカウントを削除し、他の誰かが同じ名前のアカウントと go-bindata を作成しました。現時点では新しいユーザが良い意味でアカウントを作ったという保証はないのでリポジトリを使用している場合は、まず確認する…

goma っていうmarkdown preview tool を書いてみた

はじめに golangの練習がてらにmarkdownをブラウザでプレビューするやつを作ってみました。 Konboi/goma 使い方は goma --path path/for/README.md してブラウザで localhost:5858 にアクセスすれば大丈夫なはずです。 作る前の目標として対象の markdown ファ…

golang でファイルを取得する

io/ioutil を使う file, err := ioutil.ReadFile(path) こんな感じで引数は byte

# goalng でコマンドライン入力を受け取る

flagを使うのがいいらしい var ip = flag.Int("flagname", 1234, "help message for flagname") こんな感じで使う flag.XXX の XXX には受け取りたい型を指定する 引数は大体の場合3つある flag.Int を例に出すと 1つ目は 引数の名前 2つ目は デフォルトの値…

ISUCON4 予選に参加して惨敗しました。

結果がでましたが、やはりダメでした。 反省を込めて、やったことをまとめておきます。 9/27 1日目に同期の@tkuchikiと先輩の@hilotterの2人とチーム 「流れ弾」として参加してきました。 事前準備 事前準備としては、マシン1台だからDBの負荷がかかる系だよねとか…

Golangでjsonのレスポンスを入れ子にする

はじめに jsonのレスポンスだと { status: 200, results: { message: “ok” } } というようなレスポンスをよく見る。 それをGoでどうすればいいのか調べたのでそれのメモ。 jsonのレスポンスを入れ子にする type Ping struct { Status int `json:"status"` Resu…

Golangでredirectのテストをしようとしたら嵌った

はじめに post以外のメソッドでアクセスしてきた場合は `/‘へリダイレクトするURLに対してきちんとリダイレクトするかのテストを書こうとしたら嵌った 嵌った func TestRedirectHandler(t *testing.T) { ts := httptest.NewServer(http.HandlerFunc(redirect…

GolangでレスポンスにJSONで返す

はじめに railsとかだと render json: HASH とかでよしなにjson形式にして返してくれるんですが、 goだと結構嵌ったのでメモ。 今回はサンプルで /pingにアクセスすると { status: 200, result: “ok” } というjsonを返す例を作ってみたいと思います。 jsonで返…

GoでHTTPのリクエストメソッドを取得する

Getのときは〇〇で Postの時は××したいみたいなのよくある そんなときは http.Request の Method を使えば取得できる func postHandler(w http.ResponseWriter, r *http.Request) { log.Printf(r.Method) } 下記がアクセスしたときのlog 2014/09/21 16:18:59…

Furlを使ってjsonをpostしようとしたら嵌った

嵌ったコード use Furl; … my $furl = Furl->new; my $args = { höge => ‘fuga’, piyp => ‘puyo’ }; $furl->post( $url, [], $args ); 解決したコード use Furl; use JSON::XS; … my $furl = Furl->new; my $args = { höge => ‘fuga’, piyp => ‘puyo’ }; $fu…

【読了】海賊とよばれた男

読んだ 海賊とよばれた男(上) (講談社文庫)作者: 百田尚樹出版社/メーカー: 講談社発売日: 2014/07/15メディア: 文庫この商品を含むブログ (7件) を見る 海賊とよばれた男 上作者: 百田尚樹出版社/メーカー: 講談社発売日: 2012/07/12メディア: 単行本購入: …