RubyKaigi中は過去に手をかけられてなかった自分のgemをメンテする絶好のタイミング。
pull requestいただいたmergeしてるけどrubygemsにpushしてないgemがよくあるのでこの機会にリリース。
holiday_jp | RubyGems.org | your community gem host
organizationに移る前に、色々PRを貰ってたのでリリースしました。祝日に山の日が増えてます。
RubyKaigi中は過去に手をかけられてなかった自分のgemをメンテする絶好のタイミング。
pull requestいただいたmergeしてるけどrubygemsにpushしてないgemがよくあるのでこの機会にリリース。
holiday_jp | RubyGems.org | your community gem host
organizationに移る前に、色々PRを貰ってたのでリリースしました。祝日に山の日が増えてます。
RubyKaigi 1日目、各発表は他所のレポートをみていただくとして、Official Partyはやはり大事ですね。
@k1LoWさんとお話させていただく。
holiday_jpをwootheeみたいにorganization作って、言語非依存のyml(各言語用ライブラリではgit submoduleで読み込む)だけにしてはどうかという話。
それがいいですね。今夜やります。
やりました。
@morygonzalezさんとお話。
ステッカー貰いました。

@toyoshiさんとお話。
僕らも今企業向けのサービスを作っているところなので非常に参考になる話をお聞きしました。
インターン、元インターンの方々とご挨拶。毎年のことですがリモートでやっててはじめましての人も多い。
しょうもない俺達と長く話さず沢山の知らない人にどんどん声をかけようという話。
接続できることを確認する。
$ mysql -u root -p -h xxx.xxx.xxx.xxx
Google Container RegistryはプライベートなDocker Registryです。Docker HubのPrivateは有料なので受託開発でGCPつかうならアップ場所はここがよい。
GCPにログインして、デフォルトのPROJECT_IDは設定しておく。
$ gcloud auth login
$ gcloud config set project PROJECT_NAME_12345
イメージにタグを付ける。タグ名はリージョン/プロジェクトID/イメージ名。
リージョンは日本ならasia.gcr.ioがよい。
$ docker tag xxxxxxx asia.gcr.io/PROJECT_NAME_12345/MY_IMAGE
pushする。
$ gcloud docker push asia.gcr.io/PROJECT_NAME_12345/MY_IMAGE
Google Container Registryに管理画面でアップされていることを確認する。
今日はjs, go, railsを使う案件でDocker + GCPということでKubernetesのチュートリアルをチマチマ。
Pod, Deployment, Service, Containerと新しい概念・用語が沢山出てきて混乱しますね。AppEngine使えば楽そうなんだけどなー。
ユーザーの行動を記録して外部のサイトに送りたい。 アクション毎にリクエスト送ると無駄だから離脱時に一括して送りたい。 そういう時はbeforeunloadイベントを使えばいい。Mobile Safariでは動かないので代わりにpagehideイベントを使う。
主要モバイルブラウザ遷移時のイベントの種類と挙動 - Qiita
ただ、非同期でデータを外部に送ると送信を待たずに終わってしまうので同期リクエストにする必要がある。
しかし、今作っているのは色んなサイトに埋め込んでもらうJSプログラム。
それ入れると離脱時に待たされるとか言語道断なのでこういう方法は自サイトじゃないと使え無さそう。
古いgojiのエントリーばっかりで新しいgojiのが見つからないので。
package main
import (
"goji.io"
"goji.io/pat"
"net/http"
"golang.org/x/net/context"
)
func main() {
mux := goji.NewMux()
mux.HandleFuncC(pat.Get("/"), func(ctx context.Context, w http.ResponseWriter, r *http.Request){
// ...
})
mux.Handle(pat.Get("/*"), http.FileServer(http.Dir("public")))
http.ListenAndServe("localhost:8000", mux)
}
public以下に置いたファイルにアクセスできる。
herokuで普通にgit push heroku masterするとrails db:migrateされません。
下記のbuildpackを使うとENVから指定したコマンドをデプロイ時に実行してくれるのでdb:migrateできます。
gunpowderlabs/buildpack-ruby-rake-deploy-tasks: Run arbitrary rake tasks on deploy to Heroku
$ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-ruby -a your-app-name
$ heroku buildpacks:add https://github.com/gunpowderlabs/buildpack-ruby-rake-deploy-tasks -a your-app-name
$ heroku config:set DEPLOY_TASKS='db:migrate' -a your-app-name
Review AppsのAutomatic Deployをやってる時に便利。