Firebase.yebisu #2 に参加してきた!

今年はFirebaseを学ぶという目標があるので、その一歩目として参加。

connpass.com

申し込もうと思ったときには一般枠が空いてなかったので、Twitter実況枠で参加してきた。

話題には上がるしどうやら使っている人はいそうなFirebase。だけど、いまいち情報が得にくいなという印象があった。

なので、実際にローンチされたサービスの中で得られた知見が発表されていてよかった。 また、自分が新規サービス開発に関わっていることもあり、LTを含めて少ないエンジニア(1人とか)でもFirebase使えばサービスを作れるという事例には勇気をもらった。

発表者の方がインフルエンザで聞けなかったけど、Firestoreのrulesとかひたすらだるそうなのでこのあたりの話も次回聞きたい。 (資料は上がっているのでそれを読む)

qiita.com

イベントで紹介されていた社内発OSS

あとは、

と言っているように、メンバーがFirebaseまわりのOSSを色々作ってパブリックにしているのは良いなと思った。

starhoshi/mission-completed

Cloud Functions はときに複数回実行されることがあるが(ドキュメントにも書かれているw*1)、決済の処理など複数回実行されると困る場合がある。mission-completedはそれを防ぐためのライブラリ。 名前がかっこいい。

github.com

1amageek/pring.ts

Cloud Firestore の ORM(?)モデルとそのAttributeの型を定義できる。(理解が曖昧...) PringというiOSのライブラリのTypescript版

github.com

miuP/Tsuchi

Firebase Cloud Messagingのラッパー。 実装がだるそうかつどのアプリでも同じコードを書くことになるFirebase Cloud Messagingの処理をシンプルに書ける。

github.com

その他

  • 初めてTwitter実況したけど、聞きながらツイートするのが難しく、LTのときには力尽きてしまった😂
  • 懇親会のご飯が美味しかった。野菜が多くて健康的。
  • プロジェクターの位置がが低くて(?)スライドのしたのほうが見えないことがあった。

採用目的のイベントって明確に言っていたので、FirebaseとCookpadに興味がある方はぜひ参加すると良いと思います!

*1:Trigger events are delivered at least once, which means that rarely, spurious duplicates may occur. https://cloud.google.com/functions/docs/concepts/events-triggers

ImageMagickを使って画像の下部にある余白を切り取る

convert hoge.png \
  -background white -splice 0x1 -background black -splice 0x1 \
  -trim +repage -chop 0x1 trim_hoge.png

複数ファイルの場合、

for name in *.png
  convert $name \
  -background white -splice 0x1 -background black -splice 0x1 \
  -trim +repage -chop 0x1 trim_{$name}
end

きっかけ

-trimを使ったが上下左右すべての余白が切り取られてしまい困った。

参考

http://www.imagemagick.org/Usage/crop/#trim_oneside

nmp 3 で progress bar の表示が崩れてしまった時の対処法

PCを新しくして、環境を再構築してから発生しているから最近の問題だと思うのですが、 npm installした時の、コマンドライン上の出力が見づらくなってしまう現象に遭遇しました。

具体的には、下の画像のようになってしまう。*1

https://cloud.githubusercontent.com/assets/1193520/10946123/d9217b5e-8320-11e5-8c0f-6712efcec186.png

以下のようなissueも立っている。

github.com

解決策

このコメントの方法を試してみたら、綺麗に表示されるようになった。

/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/progress-bar.jsProgressBar.unicodeを以下のように書き換えれば良い。

ProgressBar.unicode = {
  startgroup: "⊣",
  endgroup: "⊢",
  complete: "█",
  incomplete: "░",
  spinner: "◐◓◑◒",
  subsection: "→"
}

ちなみに自分の環境は以下のとおり

  • iterm2
  • Yosemite 10.10.5
  • node 5.3.0
  • npm 3.3.12
  • font RictyDiminished