Submit Search
Upload
FirebaseでN高生証明botを作ってみた
•
0 likes
•
2,579 views
Yoshimura Soichiro
Follow
第26回 学生エンジニアLT大会!!! in 東京 https://student-lt.connpass.com/event/130936/ にて発表させてもらった内容です。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 23
Download now
Download to read offline
Recommended
良いプログラマーとは
良いプログラマーとは
zaru sakuraba
Java→phpエンジニアに転向した話
Java→phpエンジニアに転向した話
Kuroiwa Takumi
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Makoto Nishimoto
Androidにしゃべらせるために
Androidにしゃべらせるために
Daisuke Takai
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
Kei IWASAKI
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
Kei IWASAKI
LT38テーマ3-2
LT38テーマ3-2
GIG inc.
LT38テーマ2-2
LT38テーマ2-2
GIG inc.
Recommended
良いプログラマーとは
良いプログラマーとは
zaru sakuraba
Java→phpエンジニアに転向した話
Java→phpエンジニアに転向した話
Kuroiwa Takumi
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
Makoto Nishimoto
Androidにしゃべらせるために
Androidにしゃべらせるために
Daisuke Takai
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
Kei IWASAKI
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
Kei IWASAKI
LT38テーマ3-2
LT38テーマ3-2
GIG inc.
LT38テーマ2-2
LT38テーマ2-2
GIG inc.
mie-covid19
mie-covid19
FPC_COMMUNITY
LT38テーマ2-1
LT38テーマ2-1
GIG inc.
Java屋からPHPerになって1年くらい経った
Java屋からPHPerになって1年くらい経った
小川 昌吾
3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?
Makoto Nishimoto
201802 WordBench Nagoya
201802 WordBench Nagoya
takashi ishihara
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
Takeshi Akutsu
本気でPythonで宛名書きした話
本気でPythonで宛名書きした話
Satoshi Yamada
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
210630 python
210630 python
Takuya Nishimoto
Stapy#17LT
Stapy#17LT
drillan
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみよう
Masataka Kono
Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )
Hidenori Matsuki
関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!
雅彦 金井
ODSC East 2017 Report
ODSC East 2017 Report
Takeshi Akutsu
GAE/GoでLINE Messaging API を使う
GAE/GoでLINE Messaging API を使う
Takuya Ueda
独学プログラマーのその後
独学プログラマーのその後
Takayuki Shimizukawa
Git入門
Git入門
Masayasu Kawamura
メタプログラミングとRuby
メタプログラミングとRuby
Kurume Institute of Technology
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。
KyutatsuNishiura
Goの深め方
Goの深め方
Hirata Tomoko
Salesforce dug meetup #5
Salesforce dug meetup #5
Akira Kuratani
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
More Related Content
What's hot
mie-covid19
mie-covid19
FPC_COMMUNITY
LT38テーマ2-1
LT38テーマ2-1
GIG inc.
Java屋からPHPerになって1年くらい経った
Java屋からPHPerになって1年くらい経った
小川 昌吾
3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?
Makoto Nishimoto
201802 WordBench Nagoya
201802 WordBench Nagoya
takashi ishihara
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
Takeshi Akutsu
本気でPythonで宛名書きした話
本気でPythonで宛名書きした話
Satoshi Yamada
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
210630 python
210630 python
Takuya Nishimoto
Stapy#17LT
Stapy#17LT
drillan
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみよう
Masataka Kono
Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )
Hidenori Matsuki
関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!
雅彦 金井
ODSC East 2017 Report
ODSC East 2017 Report
Takeshi Akutsu
GAE/GoでLINE Messaging API を使う
GAE/GoでLINE Messaging API を使う
Takuya Ueda
独学プログラマーのその後
独学プログラマーのその後
Takayuki Shimizukawa
Git入門
Git入門
Masayasu Kawamura
メタプログラミングとRuby
メタプログラミングとRuby
Kurume Institute of Technology
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。
KyutatsuNishiura
Goの深め方
Goの深め方
Hirata Tomoko
What's hot
(20)
mie-covid19
mie-covid19
LT38テーマ2-1
LT38テーマ2-1
Java屋からPHPerになって1年くらい経った
Java屋からPHPerになって1年くらい経った
3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?
201802 WordBench Nagoya
201802 WordBench Nagoya
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
本気でPythonで宛名書きした話
本気でPythonで宛名書きした話
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
210630 python
210630 python
Stapy#17LT
Stapy#17LT
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみよう
Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )
関西FXOS勉強会3rdGIG キーボード大好き!
関西FXOS勉強会3rdGIG キーボード大好き!
ODSC East 2017 Report
ODSC East 2017 Report
GAE/GoでLINE Messaging API を使う
GAE/GoでLINE Messaging API を使う
独学プログラマーのその後
独学プログラマーのその後
Git入門
Git入門
メタプログラミングとRuby
メタプログラミングとRuby
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。
Goの深め方
Goの深め方
Similar to FirebaseでN高生証明botを作ってみた
Salesforce dug meetup #5
Salesforce dug meetup #5
Akira Kuratani
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
プログラミングのお勉強としてscratchをさわってみた
プログラミングのお勉強としてscratchをさわってみた
HirokiIwanaga
ドリコムサマージョブ報告 by 佐々木 誠治
ドリコムサマージョブ報告 by 佐々木 誠治
Drecom Co., Ltd.
Inside CyberAgent's Game Development
Inside CyberAgent's Game Development
Suguru Shirai
スグにできる!Microsoft Flow でこんな連携あんな連携
スグにできる!Microsoft Flow でこんな連携あんな連携
Hirofumi Ota
20141115 CreatorsMeetup22
20141115 CreatorsMeetup22
Seigo Tanaka
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
Pythonを始めよう
Pythonを始めよう
shouta yoshikai
Agile Testing Night #4 LT
Agile Testing Night #4 LT
Yoshifumi Takeshima
アウトプットのすすめ
アウトプットのすすめ
KoichiHirai1
AppCenter
AppCenter
Satoru Fujimori
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
You&I
Arachne Unweaved (JP)
Arachne Unweaved (JP)
Ikuru Kanuma
2017823 pythonを始めよう
2017823 pythonを始めよう
shouta yoshikai
Flex入門
Flex入門
Shinjiro Watanabe
Rosbag search system
Rosbag search system
yusuke shibui
20180914 FiFiC
20180914 FiFiC
祥平 中川
勉強会参加のススメ
勉強会参加のススメ
Yoshito Tabuchi
匠Methodを使った製品開発の現場
匠Methodを使った製品開発の現場
Haruo Sato
Similar to FirebaseでN高生証明botを作ってみた
(20)
Salesforce dug meetup #5
Salesforce dug meetup #5
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
プログラミングのお勉強としてscratchをさわってみた
プログラミングのお勉強としてscratchをさわってみた
ドリコムサマージョブ報告 by 佐々木 誠治
ドリコムサマージョブ報告 by 佐々木 誠治
Inside CyberAgent's Game Development
Inside CyberAgent's Game Development
スグにできる!Microsoft Flow でこんな連携あんな連携
スグにできる!Microsoft Flow でこんな連携あんな連携
20141115 CreatorsMeetup22
20141115 CreatorsMeetup22
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Pythonを始めよう
Pythonを始めよう
Agile Testing Night #4 LT
Agile Testing Night #4 LT
アウトプットのすすめ
アウトプットのすすめ
AppCenter
AppCenter
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
Arachne Unweaved (JP)
Arachne Unweaved (JP)
2017823 pythonを始めよう
2017823 pythonを始めよう
Flex入門
Flex入門
Rosbag search system
Rosbag search system
20180914 FiFiC
20180914 FiFiC
勉強会参加のススメ
勉強会参加のススメ
匠Methodを使った製品開発の現場
匠Methodを使った製品開発の現場
More from Yoshimura Soichiro
N高等学校でやってるプログラミング
N高等学校でやってるプログラミング
Yoshimura Soichiro
失敗の話
失敗の話
Yoshimura Soichiro
ソフトウェア設計のすすめ
ソフトウェア設計のすすめ
Yoshimura Soichiro
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
Obsのプラグイン作ってみた
Obsのプラグイン作ってみた
Yoshimura Soichiro
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Yoshimura Soichiro
チームの目標への柔軟な対応
チームの目標への柔軟な対応
Yoshimura Soichiro
20121126 Solr@ニコニコ生放送
20121126 Solr@ニコニコ生放送
Yoshimura Soichiro
私とインクス
私とインクス
Yoshimura Soichiro
More from Yoshimura Soichiro
(9)
N高等学校でやってるプログラミング
N高等学校でやってるプログラミング
失敗の話
失敗の話
ソフトウェア設計のすすめ
ソフトウェア設計のすすめ
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Obsのプラグイン作ってみた
Obsのプラグイン作ってみた
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
チームの目標への柔軟な対応
チームの目標への柔軟な対応
20121126 Solr@ニコニコ生放送
20121126 Solr@ニコニコ生放送
私とインクス
私とインクス
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Recently uploaded
(9)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
FirebaseでN高生証明botを作ってみた
1.
Firebaseで N高生証明bot 作ってみた N高等学校 キャリア開発部 プログラミング教育課 課長 吉村総一郎
(@sifue)
2.
2 あんた誰? 吉村総一郎 (@sifue) ハンドルネームの読み方はしふー N高のプログラミング教育の責任者 元ニコ生の開発リーダー よく書く言語 JavaScript/Scala 趣味は競技系ネトゲ
LoL/クラロワ
3.
某高校内Slackにて 3
4.
というわけで Twitter アカウントが N高生であるということを 証明するbotを作ることに 4
5.
Firebaseなるものが 流行ってるらしい 5 ● 無料のクラウドサービス ● 爆速でWebアプリ/スマホアプリ作れる これはやるしかない!
6.
大体一週間後、完成! 6https://n-high-auth.firebaseapp.com/
7.
どんな動きをするのか? 7 1. N高のGoogleアカウントでログイン 2. 今ログインしているTwitter情報を取得 3.
両セッション情報確認してボットが証明ツイート
8.
8 そもそも N高等学校って何? ● 2016年にできた通信制のネットの高校 ● 今や生徒数1万人 ●
通学キャンパスも日本に13キャンパス ● プログラミングクラスという、プロエンジニアの元、プロ グラミングを通じた制作を1日やる通学クラスもある ● 生徒にはnnn.ed.jpというドメインのGoogleアカウントが 配布されてそれでSlackやAdobeCCに認証して使う
9.
Googleアカウント使えば、 TwitterアカウントがN高生 だと証明できるんじゃない? という安易な発想 9
10.
10 今回使った Firebaseって何? Webアプリやスマホアプリのバックエンドを簡単に作れる mBaaSという種類のクラウド環境。各言語に対応。 ● 外部認証管理 (Authentication) ●
サーバーサイド処理 (Functions) ● NoSQLのデータベース (Firestore) ● 静的コンテンツ配信 (Hosting) 他にも沢山あって、必要なものが一通り揃っててすごい!
11.
11 そんなFirebaseの 価格は無料! 無料で使えるが、一応リソース制限があり、Functions から外部のWebAPIを実行するのは有料だった。 今回の要件だと、Twitterと通信しないと証明ツイート ができない...。どうしよう...。
12.
課金が全てを解決する! 12 💰
13.
13 Firebaseの 課金プラン ● Flame 月額$25固定 ●
Blaze 従量課金、ただしアクセスが無ければタダ。 無論Blazeを選択。なお、Blazeでは1日の利用制限ができ、 最低$1なので、アクセスされまくると月$30まで行く。 なお、Kyashなどのプリペイドクレジットカードは登録でき ず...。VISAのデビットカードなら行けるらしい?(高校生向 け情報、要確認)。なお今の所、お金はかかってない。
14.
実際に実装した認証のシーケンス図 14
15.
大体1日で実装できた! Firebaseすごい! 15 💪💪💪
16.
16 ここからは 本当は怖いFirebase👻 ❗❗❗ ❗❗❗ ❗❗
17.
Firebaseの脆弱性で1億件 以上の個人情報流出!? 17 👻👻👻
18.
18 なんとFirebase、 デフォルトでFirestoreが全公開状態! ● テストモードとロックモードがある ● デフォルトのテストモードは、どのクライアントからも データを閲覧、更新、削除可能👻 ●
ただしセキュリティールールを設定すれば大丈夫!
19.
19 このプロジェクトでは、 FunctionsからしかFirestoreアクセスで きないようにfirestore.ruleを設定 ● これで安心! ● ちなみにこのプロジェクトで は連投防止、事件時の対応の ためにアカウント関連はDBに 保存してあるので、漏れたら 非常に危険でした。
20.
ちなみに保存しているTwitterアカウン トとGoogleアカウントの紐付け上は警 察に令状と共に求められたりしない限 りは、教職員や生徒にも開示しません ので、安心して利用ください。 20 ��
21.
21 N高生証明botはISC Licenseで コード公開中。ぜひ見てみてください。 https://github.com/sifue/n-high-auth https://n-high-auth.firebaseapp.com/ sifue/n-high-auth
N高生証明botのサイト
22.
22 最後に宣伝!ドワンゴ及びN高では、 学生プログラマのアルバイトを募集中! ● 大学生/大学院生プログラマ向け ○ ドワンゴのN予備校
プログラミング教材制作 ○ N高等学校 通学TA (大学生インターン) ● N高生プログラマ向け ○ 小中学生向けプログラミングスクールNeppsの講師 ■ 学内の案内メールを参照のこと
23.
以上 ご清聴ありがとうございました! 吉村総一郎 ● N高等学校 キャリア開発部 プログラミング教育課
課長 ● @sifue ● https://www.soichiro.org 23
Download now