# アクティビティ
1【20日前】Firebaseを利用したログインに挑戦しました! Email、Twitter、匿名ログインの3種でのユーザー新規作成、ログインに成功しています。 一方で、Twitterの外部遷移周りに不具合があり、少々つまずいていたりします。Callbackがうまくハンドルできていないっぽい臭いがします。 内部は軽めにVIPERを採用予定です。Builder (DI) とWireframeが同一class内にあること、Repository以降の層がないことが不安です。 後者については https://qiita.com/shiz/items/605ad32ab799530d57aa のようにAPI側の実装を分離させることで解決するようです。が、それってVIPERではなく "A VIPER" じゃないかと突っ込みたくなりますね笑 今回はそのような対症療法的なアプローチを採用し、複雑なことを考えずにAppDelegate.swiftではFirebaseServiceとしてラップしたServiceを利用しました。大きくなる予定はなさそうですしこんなものでしょう。 今回は秘密鍵等々の関係でスクショのみですー! 参考は以下の通りです。 # Firebase ## Authentication #### Console - [Firebase Console](https://console.firebase.google.com/) #### Introductions - [Firebase Authentication](https://firebase.google.com/docs/auth/) #### FirebaseUI - [FirebaseUI を使用して iOS アプリにログインを追加する簡単な方法](https://firebase.google.com/docs/auth/ios/firebaseui?authuser=0) - [【Swift】FirebaseUIでユーザー認証画面を実装する](https://qiita.com/matsuei/items/4f56c0f8d9a1b96cd9f0) #### Email links - [iOS でメールリンクを使用して Firebase 認証を行う](https://firebase.google.com/docs/auth/ios/email-link-auth) - [【Firebase】メールリンク認証の実装【iOS】](https://qiita.com/shiba1014/items/444c21ef009c2b2514af) #### Twitter auth - [iOS で Twitter ログインを使用して認証する](https://firebase.google.com/docs/auth/ios/twitter-login) - [TwitterがインストールされていないとTwitterKitで認証できない](https://qiita.com/Takumi_Mori/items/4a59ab1751a3a1e6b501) - [Firebase/Authenticationを使用してTwitterLoginを実装](https://qiita.com/giiiita/items/d7c367deb10650ebd14e) - [Twitter Developer](https://developer.twitter.com) #### Dynamic links - [Receive Dynamic Links on iOS](https://firebase.google.com/docs/dynamic-links/ios/receive)

5 0 0 0
2【21日前】ゴールデンウィーク9日目です! 個人的なニュースとして、蛍光灯を買いました! よって、下側のスイッチも使用可能になりました。 それに伴い、下側にもモータを取り付け、どちらも動かせるように設置し直しました。 今回はモータの制御にPCA9685(動画にて赤色点灯しているボード)を使用しています。 モータ用のドライバを挟むことで、モータを動作させる信号を安定させ、持続的に動作させられるように改良しています。 言語はSwift onlyであることに変わりはないのですが、GPIOライブラリをドライバに合わせ、以下を使用しています。 https://github.com/Kaiede/PCA9685 そんな感じ!

8 0 0 0
3【26日前】ゴールデンウィーク4日目です! チュートリアルばかりしていても意味がないのでそろそろちゃんと動くものを作ろうと、Scalaでユーザー作成と記事のpostができる程度のTwitter cloneに挑戦してみます。 Swiftしか出来ないおにいさんから、万能な型おじさんへキャリアアップするぞ⤴️⤴️⤴️ 関数型としてのScalaが、RxSwiftのFRPな部分の補強するという意図と、DB操作に高階関数を始めとする関数型の恩恵が得られ、Reactiveな知見を般化させられるという想定からの選択です。 今日はScalaのチュートリアルおよび技術選定で終了です。 Play2というFrameworkを元に、Akka-HTTPによるRouting、SlickによるORMでいきたいと思います。 Twitter自体もScalaだそうなので、できないことはないでしょう。 リポジトリは以下にて作業中です。 https://github.com/YutoMizutani/twitterclone 以下参照です。 ## Commands ```sh $ sbt new playframework/play-scala-seed.g8 $ sbt run ``` ## Introductions [Scala - ドワンゴオリジナルの、新卒エンジニア向けの研修資料](http://dwango.github.io/scala_text/) [Get Started with Lightbend Technologies](https://developer.lightbend.com/start/) ## Case class [case class‥ってなんだ?](https://qiita.com/4245Ryomt/items/ae1468e634523c83d571) ## Libs (Akka, Play2, Slick, ...) #### Akka [Akka HTTP - 1. Introduction](https://doc.akka.io/docs/akka-http/current/introduction.html) [Akka HTTP - Documentation](https://doc.akka.io/docs/akka-http/current/index.html) [Play2を使うならAkkaも使っちゃおうぜな話](https://tech-magazine.opt.ne.jp/entry/2016/04/07/100833) [Akka HTTPの仕組みを理解する](https://engineering.linecorp.com/ja/blog/how-akka-http-works/) [Akka-HttpでREST APIを作る](https://qiita.com/t-hiroyoshi/items/7f28f40f043e7abee3d0) #### Play2 [Play Framework makes it easy to build web applications with Java & Scala.](https://www.playframework.com) [Scala & Play2 学習ノート(1)](https://qiita.com/yossy6954/items/567bfe9209527588ce8d) [Scala & Play2 学習ノート(2)](https://qiita.com/yossy6954/items/95fcd7cb935000efaa63) [Play2 scalaを2年やって学んだこと](https://www.slideshare.net/dcubeio/play2-scala2) [Play 2.5 + Slick 3.1ハンズオン](http://bizreach.github.io/play2-hands-on/play2.5-slick3.1/introduction.html) [Getting Started with Play Framework](https://www.playframework.com/getting-started) #### Slick [slick/slick](https://github.com/slick/slick) [SQLからSlickを利用する人へ](http://krrrr38.github.io/slick-doc-ja/v3.0.out/SQLからSlickを利用する人へ.html) [GitHubのスター数で見るScalaのDBアクセスライブラリ](https://takezoe.hatenablog.com/entry/2017/11/19/134208) #### ScalikeJDBC [Slick vs ScalikeJDBC](https://togetter.com/li/559426) ## UseCases [[email protected] AdFrontend を Scala で書いた話](https://www.slideshare.net/ssuser4227af/jissen-scala?next_slideshow=1) [ニコニコAndroid(サーバ編) - Scalaを業務で使って](https://www.slideshare.net/daichimashima/2013jjug-spring) ## Twitter clone [Twitterクローンの屍を越えてゆけ](https://hatebu.me/entry/2017/04/15/073606) [Twitterのクローンを作ろうとしています。データベース設計( ER図?)で行き詰まっています。](https://teratail.com/questions/59051) [bytesource/tweetclone_sequel.rb](https://gist.github.com/bytesource/4110827)

8 0 0 0
4【27日前】ゴールデンウィーク3日目です! RFID-RC522 を用いたカードリーダの操作に挑戦していました。 Bluetoothについては散々学んだのですが,RFIDリーダについては勉強不足のため,記事のみとします。 Felicaとはまた異なり,Felicaはモジュール単位での販売は行っていないそうですね。規格についても学ぶことになりました。 Alexa,POSTは飛ぶのですがそれを音声に変えてResponseとして返せない状態で,まだまだ時間がかかりそうです。。 恐らく動くコードのまとめは以下から。 https://github.com/YutoMizutani/til/blob/4f9ae02ead8cb0356c0490a0682d8b6e33d663af/hardware/RFID-RC522/about.md

10 0 0 0
5【28日前】ゴールデンウィーク2日目です! Amazon echoでのスキル作成にNode.jsの知識が必要だったので,そのチュートリアルとしてSocket.IOを用いたチャットアプリを作成し始めました。 以前作成し温めていたElectron + AngularのTerminal風UI実装に,Socket.IOによるチャット機能を足してみました。 内部ではAngular上でinput fieldからのキー入力を受け,文字コードに変換しつつコマンドを処理しています。そして,エンター入力時に指定したコマンドが存在した場合にそれに基づくfunctionを投げています。 rxjsのObserveに慣れず,今日は送信までで終了です。 Angularしぐさは機能単位のまとまりで,肥大化する部分が局在化しそうで少し不安になりますね。もっと扱いが上手くなれば分散させられるようになるのでしょうか。 Rxの重みはまだ感じませんが,生成負荷は感じるので,そのあたりも習得していきたいですね。 前回のVue.jsに一部UIを反映させたいのですが,メタな視点での理解が及ばず,cssのフォントだけでも移植には苦労しそうです笑 ソースコードは以下から確認できます。 https://github.com/YutoMizutani/terminal-chat-room

8 0 0 0