第一回 学生セキュリティ勉強会 へ参加した

2017/9/23に第一回 学生セキュリティ勉強会へ参加しました。

student-security.connpass.com

僕自身、初心者だったのでどんなことをやるのかドキドキしました。

アキバの謎の黒いビルの中だったのでどうやって入るか迷いつつも無事にカスペルスキーの会議室へついたときは結構人がいて変な挙動をしました。(狭い空間にあんなに人いたら変なテンションになりますよね(なりますよね!!))

最初に、カスペルスキーの松岡さんに講演があり、普段あまり聞かないセキュリティ会社の人のお話でとてもためになりました。

ハンズオンは、「SQL injection」という単語が出てこないでなんだっけなんだっけって最初の方積んでいたり、XSS実践では、nameにScriptタグを入れて遊んでる中、なんか面白いのないかなってJanetterのあれを入れたりして遊びました。(Twitterに乗せてしまったので、もしやってしまった人がいたらすいません)

懇親会では、ピザとLTがあり、シェル芸のLTはとてもYABAIと思いました。

次も機会があったら参加したいです。

ionicとReact Native

(先に書いときますが、これは個人的に使った感想を簡単に書いてるだけです)

どちらも触ってみてどちらも特徴がしっかり分かれていました。

エミュレータ必須のReact Native(以後RN)はスペックがとても必要であり、ある程度スペックがないとMacが重くなり、作業へ影響がありました。ですが、起動時の安定性は高いです。

ここまで、RNについて言っていたので、次はionicについて (ここで言うIonicはv2の時のです)

IonicはAngularベースで書かかれていると言ってもなんか中身はまるっきり違っている感じで、RNと違ってWebブラウザで開発できるのでWindowsでも環境を整えると簡単に作るとこができます。 しかし、実機でするときは少し変な挙動などが見られました。あとは、リリースするときいろいろいじらないと重たいです。

以上どちらもいいですが、用途によって使い分けられるんでやってみるのも面白いです。

#ng_japan 2017へ参加しました

本日(2017/6/17)、ng-japan 2017に参加しました。
会場は、日本マイクロソフト品川本社でした

いや~どれも聞いてて楽しく、有益な情報ばかりでした

見たセッションと感想

  • Keynote -Stephen Fluin (Angular Core Team)
    資料 -> 2017-06-17 - How to Think About Angular - Speaking Engagement - Google スライド
    実際に英語のスピーチを前で聞くことがないので大丈夫かなと思いましたが、テンションが上がりました。

  • Angularとionicで挑戦したモバイルアプリ開発 -Yasunobu Ikeda
    資料 ->AngularとElectronやIonicで挑戦した デスクトップ・モバイルアプリ開発
    Ionicのお話を聞けると聞いていったらAngular+Electronのお話も聞けてとてもよかったです!!
    特にタップの話はほんと対策の方法が"touchstart"にしたのは笑ってしまいました(同じこと思ってたので)

  • You need to know SSR -Yosuke Furukawa
    資料 ->You Need to know SSR // Speaker Deck
    SSR自体が名前をよく聞いてサーバーでレンダリングまでするようなあやふやなことしかしたらなかったのでちゃんと聞いてみようと思って聞きました。
    短い時間でしたが、SSRSEOや表示スピードに大きく影響を与えることがよくわかったり、「個人的にはパフォーマンスでは妥協したくない」がとても響きました。

  • Visual StudioVisual Studio Codeで快適開発生活(仮) -Saki Homma
    資料 ->Visual Studio Code で快適開発生活 -拡張を作って公開しよう-
    拡張の作り方や登録して公開する方法まで一通り分かったので活用していきたいです。

  • Web Payments + Credential Management API -Eiji Kitamura
    Web PaymentsもCredential Managemeny APIもどちらもとても聞いてて面白い話だったんですが、やっぱりCredential Managemeny APIがすごくてこれからいろいろ調べていきたいと思いました。(使いたい!!!)

  • Angular, Firebase, Cloud Functions for Firebase -Tomohiro Noguchi
    資料 ->ng-japan 2017 - Google スライド
    ちきさん転職おめでとうございます! 僕がFirebaseを使い始めるときからずっと見かけていた人でなんどか話とかも聞いてたので今回もどんな話なのかとても楽しみで、予想通りとてもためになり楽しかったです demoを使って実際にみんなで使えたりと体験もよかったですし、所々笑えることが入ってたりよかったです!

  • webrtc + Firebase + Angular でのリアクティブweb app開発 -Yuta Moriyama
    ディスカッションのシステムで容量を減らすために静止画にしてFirebaseのstorageに投げるやつはいいと思ったので活用していきたいと思いました。AngularでWebRTCはやったことがあったんですが挫折しているので僕も再挑戦したいです!

最後の2つはあまり覚えてないので割愛します。(疲れてて少し寝てしまったので)

最後に、参加できてとてもよかったので来年もあったら参加したいです!!!!

(時間ができたらもう少し整えます)

WebRTCでビデオチャット(Firebaseを添えて①)

WebRTCでビデオチャットを作成しました
最初は普通のシグナリングでやろうと思いましたが、サーバーを立てる気もないし時間もないので、WebサーバーはGitHub Pagesを使い、シグナリングサーバーを使う代わりにFirebaseを使用しました。
半分以上はWebRTCハンズオンとがねこまさしさんのFirebaseで楽々シグナリングからコードをコピペでしてますが、それに少し少し変えてます。

今回は、Firebase周りのすることだけです。(タイトルでできる感じに見えますがすいません)

サイト

f:id:NISHI3:20170520122600p:plain BootStrapを使用してまあまあ見やすいと思うサイトにしました(なにをしてるかわかりませんよね)

シグナリングサーバー

シグナリングにはsocket.ioやWebSocketを使用します。あとは、手動でシグナリングを行うこともできますが、一般的にはWebSocketが多く使われます。
また、ローカルで開発/使用するときはセキュアでなくてもいいですが、外部へ公開するときやhttps://~から取得されたHTML/JavaScriptからWebSocketサーバーに接続する場合は、セキュアでなくてはならないので証明書が必要になります。そこで今回はFirebaseのRealtime Databaseを使用して、シグナリングを行います。

Firebaseでシグナリング

Firebaseへログインして、プロジェクトを作成しておいてください。

ブラウザでFirebaseを使用するために、ライブラリを読み込みます。前は数個入れなければならなかったですが、現在は下のjsファイルを読み込めば使えます。

<script src="https://www.gstatic.com/firebasejs/4.0.0/firebase.js"></script>

次に、取得した情報を入れてます。

var config = {
    apiKey: "",
    authDomain: "",
    databaseURL: "",
    projectId: "",
    storageBucket: "",
    messagingSenderId: ""
  };
  firebase.initializeApp(config);

(たぶん、apiKeyとdatabaseURLだけでいいと思います)

Databaseの構造

Firebaseの構造は、がねこまさしさんのやつを見たほうが早いです!

  • myAppRoot -> アプリのルート
    • multi -> ルート
      • room_*** -> ルームのルート
        • join -> メンバーの振り出し用
        • _broadcast -> ルーム内のブロードキャスト用
        • direct -> 特定メンバー宛てのメッセージ用 自分もはっきりわかってないので実際にやって見てほしいです(たぶん別の記事で書きます)

Firebaseのルール設定

これを忘れることが多分多いと思います(自分も忘れて1週間近くできね〜ってなったので)

{
  "rules": {
    ".read": "auth !=null",
    ".write": "auth !=null",
    "yourAppRoot": {
      "multi": {
        ".read": true,
        ".write": true
      }
    }
  }
}

次回

たぶん、WebRTCでビデオチャット(Firebaseを添えて②)なのでちゃんとビデオチャットをやる予定です(でも、webRTCでのビデオチャットのやり方を書いてなかったのでそれを挟むと思います)

5/8

GWが終わったので、今週から週イチで書いていきますマル

せっかくなのでGWやったこと 4/28~5/3 岡山

鳥取砂丘でドローン飛ばした

帰りに寄った

コレ以降は、病院と家でゴロゴロしてた

明日から大学なので頑張る

Firebase for Swift3(導入)

前にIonic2のFirebase導入記事(こちら)を書いたので、今度はSwift3の導入記事です

といっても、公式ドキュメントを見た方がいいです
(公式ドキュメント => Firebase)

Firebaseプロジェクトに追加(console)

Firebase Consoleよりプロジェクトを作成します

追加しましたら、console画面でiosアプリにFirebaseを追加を選択します
f:id:NISHI3:20170216124736p:plain

1.Register app

ここで、必要な情報を入れます f:id:NISHI3:20170324134747p:plain

2.Download config file

次にGoogleService-Info.plistをダウンロードして、 Xcode プロジェクトのルートに移動し、すべてのターゲットに追加します

3.Add Firebase SDK

cocoaPodsからFirebaseのライブラリを入れてください。
(cocoaPodsを入れてない人はここでインストールしておきましょう -> CocoaPods.org) 終わったら、 .xcworkspaceを開いておきましょう

4. 初期化コードを追加

あとは、 AppDelegateクラスに初期化コードを入れておきましょう

これで、Firebaseの導入は終了です