kei0425tan’s blog

技術的なことを主に

Firebase Meetup #4に参加してきました

はじめに

先日こちらに参加してきましたので、そのレポートを残しておきます。

firebase-community.connpass.com

中継がyoutubeにアップされていました。
www.youtube.com

Firestoreのセキュリティルールについて (Web) コキチーズ

スライド
speakerdeck.com

個人的に、今回の目玉。

先日公開された以下の記事に対しての話
gigazine.net

こちらの記事はセキュリティの設定がちゃんとしてないで使っているのが悪いのですが、実はちゃんとセキュリティ設定するのは難しいよという話。

特に、realtime databaseは、jsonで設定するため、いろいろと罠がありますよということでした。

個人的には、realtime databaseのチュートリアルとかをみると、「おためしなので、とりあえずセキュリティは考えないでやります」みたいなのが多いせいな気がします。

まとめは、最初からセキュリティルールを記述したほうがいい。どうせ書かなきゃダメなんだから。

Firebaseを使ってプッシュ通知基盤を作ったときにハマったところ、よかったところ danno

スライド
speakerdeck.com

こちらは、テレビ東京での使用例。
楽しそうでした。

TBD (iOS) 1amageek

スライド
speakerdeck.com

最近ちょっとバズってたツイート

この本人さん降臨でした。

これからは、新しいサービスを高速に提供できるエンジニアが必要。フルスタックである必要はない。
そのためには、firebaseを使いこなせるエンジニアが有効とのこと。

ライブコーディングでささっと写真をアップするiOSアプリを作成してました。
字が小さくて何をしているのかがよくわからなかったのが残念です。
(字が読めても、そもそもiOSアプリもswiftもよくわからないのは内緒)

AndroidでMLKitを試す yamacraft¶

スライド
speakerdeck.com

MLKitは簡単なんだけど、カメラまわりが大変で終わらなかったそうです。

Firebase Authenticationで色々使ってみた teyosh

Firebase Authenticationを使うと、いろいろな認証が簡単にできるよという話。
しかも、その紐付も簡単です。

個人的には、LINE認証も対応してくれたらいいのにと思いました。

Firestoreをもっと手軽に使えるfirestore-simpleを作った Kesin

スライド
speakerdeck.com

javascriptでいまいち使いづらいところを簡単に使えるツールを作った話。

  • pathを一度に指定する。
  • getしたら、jsonオブジェクトを返す。
  • Arrayを返す。

などなど

詳しくはこちら
kesin.hatenablog.com

懇親会

web系、Android系、iOS系、その他に分かれて懇親会
ピザとかビールとかでました。

どこに行ったらよいのかよくわからず、web系の人たちとお話ししました。
実際にプロダクトで利用している人の話も聞けて楽しい時間を過ごせました。
でも、最近、IoTに興味あるから、その他だったのかなぁ??

もくもく温泉 開発合宿 #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カノジョ

ちょっと人の目が気になってあまりできなかったのです。
開き直ってもっとやればよかったなぁと反省。

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
f:id:kei0425tan:20180413082632p:plain
GitLabのロゴ
ずっとキツネだと思っていたのですが、実はタヌキだそうです。

「GitLabのイシュートラッカー活用術」 (5分)

イシュートラッカーが充実しているので活用しましょう。

「コンテナとGitLab」 (5分)

Dockerのコンテナ内でDockerを起動するdindのデモ

「無料のGitLab.com&その他で毎日オススメカブを見つけてる話」 (5分)

CI機能やGitLab Pagesを活用して、毎日オススメカブ情報を更新。すべて無料で実現。

「State of Community Contributions to GitLab CE & GitLab 11.0」 (5分)

GitLab11.0の紹介。

スポンサーLT (5分)

食事スポンサーのクリエーションライン社による会社案内。GitLabのコンサルもしてくれるそうです。

懇親会(ネットワーキング)

お寿司でした!

懇親会での話では、やっぱり、どこもなかなかgitを普及させるのには苦労しているようです。

おわりに

今までずっとGitLabはGitHubのクローンと思っていましたが、機能的にはGitHubよりも高機能になっていました。
GitHubでは単体ではなく、CIツールやDockerリポジトリなども組み合わせないといけないところが統合されているのが便利ですね。

ただし、結構重いです。Dockerコンテナでも動作しますが、チープなホストの場合、他のコンテナに影響しまくります。
あとは、バージョンアップが激しすぎです。(毎月22日)

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などもあるが省略可能。

どうすれば?

こんなのを作ってみました。


gist53010bc269a7056e7f95ab9c19be6d20

使い方

いつも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の拡張とかしてボタン一つでアップロードできたらいいな。。。。


※ この前ネットサーフィンしてみたら、このフォーマットで書くと分かりやすいとのことだったのでパクってみました!

朝活2

今日も早く起きれたので朝活

今日はドトールにしました。


ドトールのいいところ

  • 電源がある
  • wi-fiがある
  • タバコが吸える

悪いところ

  • 騒がしい

今日はモバイルバッテリーを充電し忘れたので電源欲しさにドトールにしました。

でも、ついついスマホで遊んじゃってあんまりはかどってないなぁ。
がんばらないと。

朝活

皆様お久しぶりです。

最近ずっと時間がとれなくておさぼりしていました。

なので、今日はちょっと早起きしてプロントで書いています。


プロントはwifiもあっていいですね。
今日はトーストセット390円でした。

これからもなるべくできるときにはやりたいなー