@Konboi memo

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

エンジニアの立ち振舞: 出来ない時でも代価案を出す

お題「エンジニア立ち居振舞い」 はじめに エンジニアの立ち居振舞いについての知見を集めていきたい というお題があって面白そうなので乗っかってみる 今回は出来ない時でも代価案を出すについて 代価案を出す エンジニアをやっているとディレクターから 〇…

みんなのGo言語を読んで

iPhone7の発表やRubyKaigiのことでTLが賑わう今日この頃、みなさんいかがお過ごしでしょうか。 自分は新型PS4が気になるところです。 さてみなさん、明日 9月9日は何の日でしょうか? そうですね!! みんなのGo言語 の発売日ですね!! みんなのGo言語[現場で使…

No patch utility found の対処法

$plenv install 5.xx.xx … No patch utility found ABORT となりエラーになった $ which patch /usr/bin/which: no patch … となり patch コマンドがインストールされていないのが原因だった $ sudo yum install -y patch して無事解決 めでたしめでたし 参…

brewでのnginx openrestyのインストールに嵌ったのでメモ

はじめに OpenResty を使ってやりたいことがあったので 手元の環境(Mac)にhomebrewを使ってインストールしようと思ったらエラーがでて嵌ったのでメモ TL;DR brew install opensll brew link --force opensll brew install ngx_openresty エラーになる nginx …

net/httpで静的ファイルを返す

追記 (2016/04/13) 完全に読み間違えていましたね やっちゃいけないそうです shogo82148.github.io やるならこう func main() { http.HandleFunc("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) http.ListenAndServe(":30…

GoでMySQLからdatetimeのデータを引いてtime.Time に食わせるときに嵌った

db, err := sql.Open("mysql", "<user>:<password>@/<db name>?parseTime=true&loc=Asia%2FTokyo") parseTime=true をつけるといい感じにparesしてくれる ただこれだとUTCになるっぽうので loc=Asia/Tokyo をつけるとよい github.com</db></password></user>

#shibuyago #2でLTしてきました

はじめに @suzu_v さん VOYAGE GROUP さん会場提供及び、 との提供ありがとうございました と ごちそうさまです #shibuyago pic.twitter.com/JnHK8nh7RB— こんぼい。 (@Konboi) 2016年3月22日 発表資料 こちら発表資料になります 自分のツールの紹介もしつつ、…

Goのflag package で同じオプション名で複数の値を受け取る

はじめに コマンドラインツールを作っていると同一オプションで複数の値を受け取りたい事があります 今回は -ignore hoge -ignore fuga の用に特定の文字列を結果から除きく ignore というオプション名で複数のStringを受け取りたい という事にします Goのfl…

それやる意味本当にある? を定期的に自分に問いかける

新しい人がチームに入ってきたらやっているMTGとか(今回は夕会を例にあげる)を どうしてやってるか なんのためにやってるか を簡単でいいからスライドにしてきちんと説明するようにしている スライドにすることで 自分の話したい事が整理される 口頭だけで説…

PerlでJsonをencodeするときにsortされた状態で出力したい

TL;DR use JSON::PP JSON::PP->new->utf8->canoical(1)->encode(...) すればkeyのalphabet順になる refs: http://stackoverflow.com/questions/3532067/perl-how-to-sort-a-json-structure-on-something-other-than-root-key-attributes はじめに クライアン…

redis-cli monitor のログをプロファイルするツールを作った

TL;DR rmlp という redis-cli monitor で出力されたログのプロファイラを作りました redis-cli monitor のログを調べる必要がある時は、使ってみて下さい。 はじめに 時間帯によってはredis serverのcpu使用率が高くなるときがあった アプリのコードレベルでは…

Materialってなんだ

はじめに 最近Unity入門していて タイトルの通りMaterialってなんだってなって近くのエンジニアに教えてもらったのでメモ Materialとは shader と texture を組み合わせたもの texture は 画像ファイル shader は texture を オブジェクトに対してどのように…

スター・ウォーズ フォースの覚醒をみた

www.youtube.com なるほどー!! という感じで大分満足した 早く続編がみたい

シリコンバレー式 自分を変える最強の食事

知り合いが読んでて面白そうだなと思って読んでみた シリコンバレー式 自分を変える最強の食事作者: デイヴ・アスプリー,栗原百代出版社/メーカー: ダイヤモンド社発売日: 2015/09/18メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る 個…

Karabinerの v10.15.0のアップデートで Key Repeat がおかしくなったと思ったら

はじめに 自分も含めて困っている人が何人かいたのでブログっておく karabinerアップデートしたらkeyrepeatおかしいけど https://t.co/GhFYJdqH3K ここに前のバージョンの設定方法が書いてあった ε-(´∀`*)ホッ— こんぼい。 (@Konboi) 2016, 1月 4 @songmu い…

Google Play の レビューを取得してSlackに投稿するやつ作った

はじめに @Konboi ブログお待ちしております— ひさいち (@hisaichi5518) 2016, 1月 5 といわれたので書く 作りました 同僚のエンジニアが App StoreのレビューをSlackに流すbotを作ってて それを使ってみたら なかなかよかった App Store も流し始めたら Goo…

#師弟登壇2015 で発表してきました

はじめに 企画運営してくれた ペパボ のみなさま 会場提供していただきたCOOKPADのみなさま 本当にありがとうございました。 おかげで非常に楽しめました。 発表資料 こちらになります speakerdeck.com 振り返って 発表自体は良かったと言われたのでよかったと…

AWS で docker を v1.6 以上にアップデートする

はじめに Docker Hub Deprecation for Clients 1.5 and Earlier ということで dockerのバージョンが1.5以下では 11/19 日からdocker hub へのpush 12/7 から docker hub からの pull が出来なくなります。 dockerのバージョンが1.5以下の物を使っている場合は…

Route53でダイナミックDNSをする 実装編

はじめに Route53でダイナミックDNSをする 事前調査編 Route53でダイナミックDNSをする ドメイン編 Route53でダイナミックDNSをする IAM編 過去3回に渡って色々準備してきました。 最後これらを使って実際にグローバルIPが変わった時にDNSを変更するクライア…

Route53でダイナミックDNSをする IAM編

はじめに 第334回 Route 53でダイナミックDNSを運用する こちらの記事を本に設定したHosted Zoneを操作するIAM(AWS Identity and Access Management)ユーザーを作ります ユーザーを作る AWS Consle > IAM > 新規ユーザーの作成 で任意のユーザー名を入力し作…

Route53でダイナミックDNSをする ドメイン編

DDNS用のゾーンを作成する 既にドメインをゾーンで設定している。 今回は登録しているドメインのサブドメインをzoneに登録する Create Hosted Zone から設定したいドメインを入力する。 今回はサンプルとして aws.example.amazon というドメインとする 既に登…

Route53でダイナミックDNSをする 事前調査編

ダイナミックDNSとは 自宅に引いているインターネットサービスではIPアドレスが固定でない場合が多い。 IPアドレスが変わってしまうとIPアドレスに割り振ったドメインが使えなくなってしまう。 しかし、IPアドレスを固定にする場合は大抵の場合、別途有料のサー…

docker-mahcine使ってみた

init $ docker-machine create —driver virtual box doc INFO[0000] Creating SSH key... INFO[0000] Creating VirtualBox VM... ERRO[0009] Error creating machine: exit status 1 WARN[0009] You will want to check the provider to make sure the machi…

YAPC::Asia 2015 に参加してきた #yapcasia

ブログを書くまではYAPC::Asiaということで!! 今年もYAPCに参加してきました!! とりあえず、最高だった。 コミケ#YAPC::Asia #yapc 聞いて印象に残ったトーク 1日目 Managing Containers at Scale with CoreOS and Kubernetes CoreOSってよりかはk8sの話が…

自宅のルータからraspiへ振られるlocal ipを固定する

はじめに 自宅で使っているルータはElecomのWRC-F300NF お、お前エンジニアなのにそんなルータなのかよ… とdisが飛んでくるかもしれませんが、 日常で使う分には全然困らない程度に速度出るし、安かったのでこれを使っています。 macアドレスを調べる pi@raspber…

pull request builder plugin を使わずgithub上にテストの結果を表示する

はじめに 現在のプロジェクトではJenkinsを使ってCIを行っています。 当初ビルドのタイミングはポーリングで行っていました。 しかしポーリングだと再度ビルドを走らせる必要がある時に空コミットする必要があったり、jenkinsのrebuild pluginを追加しポチポチ…

raspberry pi で自宅サーバー構築

はじめに 毎日の業務ではAWSを使っていて簡単にサーバー追加とかインスタンスサイズ変更とできて非常に便利に感じている。 ただ普段あまり意識しないもう少し低いレイヤーのことも出来なきゃなと思ったのでが自宅サーバーを運用しようと思う。 ただ、いきなりが…

ジュラシック・ワールド

映画『ジュラシック・ワールド』公式サイト 大ヒット上映中!www.jurassicworld.jp IMAX 3D で見たけど大分良かった。

テストをコケたままにしない理由

はじめに 現在担当しているモバイルアプリゲームではマスターデータのテストを行っています。 リレーション先のデータが存在しているか 入力されているデータが想定しているデータか シソーラスのチェック などヒューマンエラーがおきやすい所、おきた所を防ぐ…

本番のマスターのDBでhistoryを残さないために

本番のマスターのDBで直接SQLを叩くことはほとんどありません。 が、どうしてもやんごとない事情でSQLを直接叩かないといけない時がでてきます。 SQLの実行自体はいいのですが、他の人が誤ってhistoryから実行したら怖いですね。 そうならないように現在のプロジ…

夏のドキッとした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 を使って静的ファイルもビルドファイルに含めてみる

はじめに 先日, gomaっていうmarkdown preview tool を練習がてら作ってみましたが、自分の手元に持ってきたら静的ファイルが含まれてないので、エラーになり使うことができませんでした。 perl でいう__DATA__ みたいなのをどうやるいのか調べていたところ @Ko…