投稿するの忘れてた ('・ω・')
ランチセッション
施策・気づき
座談会を実施している
- 開発する機能に関してユーザーから直接ヒアリングする
- ユーザーからの評価が高いユーザーなどに直接ヒヤリングなどして、意見を拾っていく
- 密に連絡をとっているユーザーがいる
評価は1日が終わったあとに、まとめて評価している
- 思い出さなければならない
- ワンショット評価
- カードをスワイプで評価している
- ドライバーからヒヤリングした結果を表示している
評価フロー
- 評価の基準がわからない
- 基準が人によってぶれている
- 星3の参考値などを出すようにしている
- 5か1によるので、2択にした
体制
iOS 2
Android 2
server 1
SRE 1
PO/PM 3
Design 2
- 一週間のサイクルでスクラム
- 意味を輪読会
- 正しいものを正しく作る
- アーキテクチャはviper
- 交流イベントもあり 恵比寿 9/13(Fri) 20:00 ~
- スクラムマスターが存在したことで、スクラム化が進んでいった
- 物理カンバンを使っている
ユーザーヒヤリングについて
- 考えていることを口に出して言ってください
- 心理的安全を作る
- 一部のユーザーには先にβとして使ってもらったりもする
開発でドライバーとライダー、どっちを優先するのか
- KPIを追っていない、直接聞いて対応している
- プロダクトチームはUXに軸を置く
クリーンコード
- 提唱 -> Uncle bob
読みやすいコードとは
- わかりやすい
- 安全である
- バグに強い
- 変更に強い
KickStarterを参考にできる
クリーンコードを書くには
ジェネリック
- 具体的なデータ型に依存しない
- 汎用的に利用できる
プロトコル
- static ジェネリティクスの型安全
- dynamic 直接方として
な面がある
よりジェネリックにするために、protocolを使う
ここの問題を解決し、ジェネリックな解決策を抽出する
APIで通信する場合に、ジェネリックを利用して、共通した処理を書く
プロトコルを利用してきれいに書く
ジェネリクスの型制約
PATにぶつかったときは、protocolを配列として使うかどうかを考える
重複削除や、再利用という点で、ジェネリックにする
プロトコルにこだわるのではなく、選択する
まずは具体的な問題を具体的に解決する
パターンを考えるのではなく、具体的に考える
クリーンに書き続けるには
コードをチェックアウトしたときよりも、コードをキレイにしていく
Bluetooth
BLE
仕組み
Central -> 電波探す
Periphreral -> 電波を発信
ペリフェラルになれない端末が存在する
最適なデータ交換について説明する
L2CAP
端末同士を接続して、双方向でデータ送受信を行う方法
iOS 11 以上
ANdroid 10
でないと使えない
メリット
BLEの仕様を知らなくても使える
接続し終わったらあとはただのストリームのプログラミング
チャンネルを開くとPSM(UInt)がとれる
もう片方の端末で、チャンネルのオープンを試みる
(コルーチン?)
双方向通信
inputStream, outputStream
どのくらい送れるのか
普通のBLE: 20バイト
L2CAP: 2048バイト
シーケンスをまとめる
最適なバイト数がわからない場合、送信されたデータをペリフェラルから返す
ペリフェラルは複数の端末から接続される場合がある
iOS のプロパティにBLEを必ず保持しておく
バイトオーダーの問題がある
AppStoreReview
- fastlaneのプラグインに、ipaのリジェクトチェックができる
- PrivateFrameworkを使っていないか
- frameworkをインストールすると、iPhoneの中に入る、アプリはそのヘッダーを利用している
iOKitというのは、使っているとリジェクトされる - warningが出ていれば、リジェクトされる可能性があり
- AppCheckerを使って、CIツールでビルド後にチェックする
- ガイドラインはdiffをとることで、わかりやすい
- IDFAを使っているかどうかチェックできるのか? -> 不明
EAR(輸出規制)
- iOSはappleが配信しているため、輸出になる
- httpsは暗号化技術
- 判定チャートがある
- 一般に入手可能化?一般なものはマスマーケット品目となる
- EARで規制されない
- 自己番号分類報告を提出しないといけない
- 報告は、2箇所のメールアドレスに送る
- 暗号化 -> 「はい」 満たしているか -> 「はい」となる
XCFrameworks
- xcode11から、フレームワークをバイナリ配布するようになった
- Swift 5.1 module stability -> バージョンの違いがなくなる