Firebase Meetup #4に参加してきました
はじめに
先日こちらに参加してきましたので、そのレポートを残しておきます。
firebase-community.connpass.com
中継がyoutubeにアップされていました。
www.youtube.com
Firestoreのセキュリティルールについて (Web) コキチーズ
スライド
speakerdeck.com
個人的に、今回の目玉。
先日公開された以下の記事に対しての話
gigazine.net
こちらの記事はセキュリティの設定がちゃんとしてないで使っているのが悪いのですが、実はちゃんとセキュリティ設定するのは難しいよという話。
特に、realtime databaseは、jsonで設定するため、いろいろと罠がありますよということでした。
個人的には、realtime databaseのチュートリアルとかをみると、「おためしなので、とりあえずセキュリティは考えないでやります」みたいなのが多いせいな気がします。
まとめは、最初からセキュリティルールを記述したほうがいい。どうせ書かなきゃダメなんだから。
TBD (iOS) 1amageek
スライド
speakerdeck.com
最近ちょっとバズってたツイート
Firebaseを使いこなせるエンジニアがひっきりなしになる時代がくる。
— nori (@1amageek) June 26, 2018
現在のフルスタックエンジニアよりももっと価値が高い。なぜならRailsを書くよりも圧倒的に早くサービスを立ち上げる事が出来るから、このスキルを持つエンジニアの相場は国内で年収800万円~1000万円くらいになるだろう。
この本人さん降臨でした。
これからは、新しいサービスを高速に提供できるエンジニアが必要。フルスタックである必要はない。
そのためには、firebaseを使いこなせるエンジニアが有効とのこと。
ライブコーディングでささっと写真をアップするiOSアプリを作成してました。
字が小さくて何をしているのかがよくわからなかったのが残念です。
(字が読めても、そもそもiOSアプリもswiftもよくわからないのは内緒)
Firebase Authenticationで色々使ってみた teyosh
Firebase Authenticationを使うと、いろいろな認証が簡単にできるよという話。
しかも、その紐付も簡単です。
個人的には、LINE認証も対応してくれたらいいのにと思いました。
Firestoreをもっと手軽に使えるfirestore-simpleを作った Kesin
スライド
speakerdeck.com
javascriptでいまいち使いづらいところを簡単に使えるツールを作った話。
- pathを一度に指定する。
- getしたら、jsonオブジェクトを返す。
- Arrayを返す。
などなど
詳しくはこちら
kesin.hatenablog.com
もくもく温泉 開発合宿 #11に行ってきました。
はじめに
もくもく温泉 開発合宿 #11に行ってきました。
https://mokumoku-onsen.connpass.com/event/81410/
以前、土善温泉で開発合宿をするとすごく快適ということを知り、行ってみたいと思っていましたが、ちょうどゴールデンウィークに募集していたため、行ってきました。
日程など
4/28~4/30の2泊3日
料金は、初めて枠で行ったので、23000円(あとから予算が足りなくなり2000円追加で払いました)
参加人数は19人で過去最大人数だそうです。女性も参加することも多いようですが今回は男のみでした。
年齢層は学生さんから年配の方まで幅広かったです。
ルール、目的など
この開発合宿は以下のルールがあります。
・食事は必ず、みんなで集まって食べましょう。
・人に迷惑をかけることはしない。
この二つだけで、あとは何をしてても構わないという自由奔放な合宿でした。
私は、Firebaseを使ったことがなかったので、Firebaseを使ったインタラクティブなサイトの作成を目標としました。
他の人もいろいろでしたが、目立ったものは以下です。
・Goの勉強をする人が3人ほど
・フロントの勉強
・Ralsとか
意外と、機械学習とかIoTをする人はいませんでした。
食事とか
基本的には、宿代に食事などは含まれるのですが、酒などは持ち込んだほうが安いので大量に持ち込んでいます。
レッドブルの山
大量の日本酒
1日目のお昼はコンビニで買い出して食べました。
1日目の夕食
おかずがいっぱいです。どれもおいしかったです。
2日目の朝食
朝からおかずがいっぱいです!
2日目差し入れ?のデザートババロア
作業をしていると差し入れがありました。
もしかすると、運営の人が頼んでくれたのかもしれません。
頭脳労働に甘いものはいいですね。
2日目お昼
かつ丼として食べてもそのまま食べてもOKです。
2日目夕食
ここから宴会コーススタートだそうです。
前の日も豪華だったのですが、さらに豪華になっています。
残念ながら結構残していたようです。
(私の分は全部食べました!!)
3日目朝食
朝ごはんも豪華でした。
写真では見切れてしまいましたが、コンロにいも煮がはいっていました。
3日目昼カレー
カレーのカツ添え。カレーはいつでも食べられますね。
3日目デザートプリン
手作りなのでしょうか?
甘さ控えめでおいしかったです。
設備とか
200インチのスクリーンとか、人をダメにするクッションとか、ディスプレイがたいりょうにあるとかいろいろ特筆すべき点はあるのですが、一番は何と言ってもこちら
はなちゃん
人なれしてて、全然逃げません。
でも、少しお歳なのかもしれませんね。
お風呂
こんな感じのお風呂が24時間いつでも入れます。
素敵な中庭
いやされますー
成果
firebaseでチャットを作りました。
https://chat.mokumoku-onsen.work/
いろいろな参加者がいて、業界の裏話がきけたりとなかなか楽しかったです。
日本酒が(ほぼ)飲み放題だったので日本酒が好きな人にはたまらないかと思います。
裏目的として、WindowsMRを広い場所でやるというのがありました。
VRカノジョ
ちょっと人の目が気になってあまりできなかったのです。
開き直ってもっとやればよかったなぁと反省。
参考
他の参加者の感想
https://note.mu/garbageable/n/n2cefc2fb0576
http://kuntalog.hatenablog.jp/entry/2018/05/01/
https://medium.com/@yusukemisawa1914/gw%E3%81%AB%E9%96%8B%E7%99%BA%E5%90%88%E5%AE%BF-produced-by-%E3%82%82%E3%81%8F%E3%82%82%E3%81%8F%E6%B8%A9%E6%B3%89-%E3%81%AB%E8%A1%8C%E3%81%8F%E3%81%AE%E3%81%93%E3%81%A8-767c653cb508
http://takanakahiko.hatenablog.com/entry/2018/05/05/204724
http://atofaer.hatenablog.jp/entry/2018/05/06/163617
GitLab Meetup Tokyo #7: 新年度応援&GitLab 11.0 参加してきました
はじめに
最近勉強会によく参加しています。
参加してしっぱなしなことが多かったので簡単にレポート書いておきます。
GitLab Meetup Tokyo #7
GitLabの交流会第7回だそうです。
場所はサイボウズ社オフィスでした。
最近のITオフィスはおしゃれですね。
こういうところでお仕事してみたいものです。
参加したきっかけ
たまたまネットでGitLab 11がリリースされることを知り、リリースノートをみたところ、今までの認識と全然違ったのでもっといろいろ知りたくなりました。
内容
日本初のGitLab本「GitLab活用ガイド」の作者の北山 晋吾さんによる、「GitLabによるComplete DevOps」の話が中心。
他はLTでした。
「GitLabによるComplete DevOps」
GitLabはただのGitHubのクローンじゃないよという話。
DevOpsが流行っていますが、さまざまなツールがあり、選定が難しくなっています。
GitLabはComplete DevOpsを提唱しており、プランニングからリリース後のフィードバックまですべてを統括して管理できることを目指しています。
開発者、運用者の壁をなくす!
11.0の新機能として、「GCP kubernetes」とも連携できるようになりました。
他にも、競合のGitHubとも連携が可能です。
「How does GitLab manage git repositories?」 (5分)
goで書かれたGitalyで操作しているそうです。連携はgRPC
GitLabのロゴ
ずっとキツネだと思っていたのですが、実はタヌキだそうです。
「GitLabのイシュートラッカー活用術」 (5分)
イシュートラッカーが充実しているので活用しましょう。
「コンテナとGitLab」 (5分)
Dockerのコンテナ内でDockerを起動するdindのデモ
「State of Community Contributions to GitLab CE & GitLab 11.0」 (5分)
GitLab11.0の紹介。
スポンサーLT (5分)
食事スポンサーのクリエーションライン社による会社案内。GitLabのコンサルもしてくれるそうです。
懇親会(ネットワーキング)
お寿司でした!
懇親会での話では、やっぱり、どこもなかなかgitを普及させるのには苦労しているようです。
jupyter notebookファイルをバージョン管理したい
jupyter notebookの形式をいろいろ調べています。
jupyter 便利なのですが、書き捨てにすることが多く、バージョン管理したいと思ってもなかなかできないので作ってみました。
どういうこと?
jupyter notebookのipynbファイルはjsonなんですが、いろいろと実行時に変わってしまうデータがあって、そのままバージョン管理すると差分だらけで大変。
どうして?
jupyterのjsonの形式は以下になります。
※ ただし、nbformat: 4, nbformat_minor: 2 のもの
- ルート
キー | 種別 | 内容 |
cells | リスト | セルのリスト |
metadata | 辞書 | カーネル情報など |
nbformat | 数値 | ファイルフォーマットバージョン |
nbformat_minor | 数値 | ファイルフォーマットバージョン |
- セル
キー | 種別 | 内容 |
cell_type | 文字 | セルの種類code,markdown,rawの3種類 |
source | リスト | セルの入力内容。1行毎 |
metadata | 辞書 | その他の情報。拡張などで利用 |
- cell_type=codeの場合のみ
execution_count | 数値 | セルの実行回数(In [x]のxの数字)nullで指定なし。 |
outputs | 辞書 | 出力 |
他にも、scrolledなどもあるが省略可能。
使い方
いつもjupyter notebookを直接ライブラリ的に読み込んでいるのでこんな感じ。
%load_ext jupyter_cms
from mywb.ipynbconvert import save_py, load_py
コマンドラインで実行したい人は、mainつけてくださいね。
- pyに変換
save_py('xxxx.ipynb', 出力ファイル名(省略可能))
- 上記pyに変換したファイルからipynbに変換
load_py('xxxx.py', 出力ファイル名(省略可能))
注意
マジックコマンドなどそのまま出力されるため、そのまま実行は難しいです。
バージョン管理用ファイルになればよいかと思います。(diffもたぶん見やすいかと)
ダウロードpyとの違い
- マジックコマンドも表記のまま出力
- マークダウンコメントを"""で対応
- In [xx] は省略しているため、実行順など記録しないので差分をとりやすい。
- メタデータなどの保持(cells以外全て)
※ この前ネットサーフィンしてみたら、このフォーマットで書くと分かりやすいとのことだったのでパクってみました!
jupyterで書いたノートブックをはてなブログに載せたい
今日も朝活しています。
なかなか時間取れないことが多いけど朝はいいですね。
プロントのチーズオムレツセット490円
どういうこと?
最近、jupyterを結構使っています。
前まではとりあえずやってみて、あとから何やったかよくわかんなくなっちゃうことが多かったのですが、jupyterにコメントを書きながらやることが多くなりました。
じゃあ、それをはてなブログにそのまま載せられたらいいのになーって思って調べてみました。
どうして?
ブログ面倒なので少しでも楽に書けたらいいな。
どうすれば?
はてなブログについて
はてなブログにはAPIがあって、投稿とか簡単にできるそうです。
はてなブログAtomPub - Hatena Developer Center
ここの「ブログエントリの投稿」をみると投稿はXML形式で行うようです。
どういう形式なのか具体的によくわからなかったので、「ブログエントリの取得」でエントリも取得できるようです。
ここからはエントリを取得したりしながら色々調べてみたいと思います。
将来的には、jupyterの拡張とかしてボタン一つでアップロードできたらいいな。。。。
※ この前ネットサーフィンしてみたら、このフォーマットで書くと分かりやすいとのことだったのでパクってみました!