Firebase.yebisu #2 に参加してきた!
今年はFirebaseを学ぶという目標があるので、その一歩目として参加。
申し込もうと思ったときには一般枠が空いてなかったので、Twitter実況枠で参加してきた。
席があった #firebase_yebisu pic.twitter.com/xRHfqwKyRb
— 🤩 (@mutachii) 2018年2月20日
話題には上がるしどうやら使っている人はいそうなFirebase。だけど、いまいち情報が得にくいなという印象があった。
なので、実際にローンチされたサービスの中で得られた知見が発表されていてよかった。 また、自分が新規サービス開発に関わっていることもあり、LTを含めて少ないエンジニア(1人とか)でもFirebase使えばサービスを作れるという事例には勇気をもらった。
発表者の方がインフルエンザで聞けなかったけど、Firestoreのrulesとかひたすらだるそうなのでこのあたりの話も次回聞きたい。 (資料は上がっているのでそれを読む)
イベントで紹介されていた社内発OSS
あとは、
「Komerco で使ってる技術はなるべく外に出そうと思っていて」
— もりしん (@morishin127) 2018年2月20日
#firebase_yebisu
と言っているように、メンバーがFirebaseまわりのOSSを色々作ってパブリックにしているのは良いなと思った。
starhoshi/mission-completed
Cloud Functions はときに複数回実行されることがあるが(ドキュメントにも書かれているw*1)、決済の処理など複数回実行されると困る場合がある。mission-completedはそれを防ぐためのライブラリ。 名前がかっこいい。
1amageek/pring.ts
Cloud Firestore の ORM(?)モデルとそのAttributeの型を定義できる。(理解が曖昧...) PringというiOSのライブラリのTypescript版
miuP/Tsuchi
Firebase Cloud Messagingのラッパー。 実装がだるそうかつどのアプリでも同じコードを書くことになるFirebase Cloud Messagingの処理をシンプルに書ける。
その他
- 初めて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
Parcelでbabelのscoped packagesが使えなかった
結論
Parcelがbabel7に対応していない。
対応
babel6までの方法で対応する。
つまり、@babel/preset-env
などの scoped packages ではなく、babel-preset-env
をyarn add
して使う。
Parcelでもbabel7への対応は進んでいる
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
を使ったが上下左右すべての余白が切り取られてしまい困った。
参考
nmp 3 で progress bar の表示が崩れてしまった時の対処法
PCを新しくして、環境を再構築してから発生しているから最近の問題だと思うのですが、
npm install
した時の、コマンドライン上の出力が見づらくなってしまう現象に遭遇しました。
具体的には、下の画像のようになってしまう。*1
以下のようなissueも立っている。
解決策
このコメントの方法を試してみたら、綺麗に表示されるようになった。
/usr/local/lib/node_modules/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js
のProgressBar.unicode
を以下のように書き換えれば良い。
ProgressBar.unicode = { startgroup: "⊣", endgroup: "⊢", complete: "█", incomplete: "░", spinner: "◐◓◑◒", subsection: "→" }
ちなみに自分の環境は以下のとおり
- iterm2
- Yosemite 10.10.5
- node 5.3.0
- npm 3.3.12
- font RictyDiminished