見出し画像

3日間 iOSDC2023:Day2

External Accessory入門 - 公式Frameworkを使ってレシートプリンターを制御する!:@trickart4121 trickart


  • 機器ごとにプロトコルが違うのでそれを入れておく。

  • 入れないと通信ができない。。(設定は簡単だが割と詰まるらしい)

展示ルームにて


複雑さに立ち向かうためのコードリーディング入門:@stzn3 shiz

メモの時点ですごく長くなってしまったので抜粋します。

  • 認知プロセスを活用したコードの読み方

  • 自分の知らないコードを読むことが多い

    • すぐ把握は難しい->調べる->しかし時間がかかる。そしてタスクは増えていく->もっと調べる。-> 疲れたりネガティブになってしまう

    • 情報過多シンドローム

    • コードの読み方と認知機能に関連があると気がついた。

    • 書き方は多く学ぶが読み方を学ぼうとする人は少ない

  • なぜ複雑に感じるのか

    • 知識不足による複雑さ・情報不足による複雑さ・処理能力不足からくる複雑さ

  • 認知プロセスが妨げられている

    • 短期記憶:一時的にほじ

    • ワーキングメモリ:一時情報から情報を操作・解釈

    • 長期記憶:情報を永続的に保持(忘れることがある)

  • 対策

    • 短期記憶:チャンク化

      • 人間が1度に処理できる情報の単位

        1. C a t -> cat

        2. 090 XXX BBB -> 電話番号

      • 30秒で覚えて30秒で再現する

    • 長期記憶が情報をインプットする仕組み

      • スキーマ:似た記憶が紐づいたネットワーク

      • 定期的に情報に触れる

      • 忘却曲線

      • 複数の感覚を使う

      • 感覚記憶

      • 保存強度:上がる

      • 検索強度:上がらない

        • なかなか思い出せないが起きる

        • 意識的な練習

          • 積極的なチャンク化

          • どんどん深掘り

          • 繋がりが強くなって

          • 思い出せやすくなる

    • ワーキングメモリ:認知負荷

      • 課題内在性負荷:問題本来の難しさからくる

      • 課題外在世負荷:問題とは関係のない難しさ

      • 学習関連負荷:長期記憶への保持で発生する

        • 発生させたい

        • が上記二つが邪魔をする

      • 認知的リファクタリング

        • map -> for inにするなど

      • 問題本来の難しさを分散させる

    • 長期記憶:誤認識

      • 間違っているのに正しいと確信している状態

      • 既成概念の上書き:アンラーニング

      • 他の視点から思い込みを確認する

        • レビュー・ペアプロ・ベアプロ・テストを書く

  • もっと先の問題

    • コードの意図がつかめない

    • コード全体の中でどういった役割があるのかつかめない

  • 対策

    • コードのイメージを掴む

    • その内容を思い出す

    • 点から理解を広げていく

    • 変数の役割を考える

    • 文章読解術を応用する

      • 自然言語の文章とプログラミング言語のコードを読む時同じ脳の部位が活性化していると言われている。

  • 汎用的な対策

    • 余計な情報を入れないようにする

    • 割り込みを減らす

    • 割り込みから復帰しやすくする

      • エラーのままにしておく(気持ち悪いので記憶される)

  • コードの書き方にも通ずる

    • 読み手に余計な負荷をかけない(問題本来とは関係のない情報)

      • コードスメル

      • カスタムオペレータ

    • 記憶・検索しやすくする

      • コードに一貫性を持たせる

      • デザインパターンでチャンク化

      • 自動ツール

    • 誤用しづらくする

      • 勘違いを早く気づかせる

      • コンパイラの力を借りる

      • テストを書く

      • 見えるところにドキュメントを書く

    • しかしチームの合意が必要


CoreHaptics入門:@shiba1014_ Satsuki Hashiba

  • エフェクトにハプティクスがある

  • Taptic Engine搭載

  • foreground

  • システム設定で有効にする

  • ライブラリ:UIKit・CoreHaptics

  • CoreHaptics

    • Event:単一

    • パターン:一連の

    • Eventからパターンを作る

    • パターンをEngineから呼び出してPlayeraで再生

  • AHAPファイル

  • ベストプラクティス

    • 一貫性を持たせる

    • 他のフィードバックを補完する

    • 使いすぎない

    • オンオフできるようにする。

    • 別の操作を邪魔しないようにする。

  • エディターがあるとデザイナーさんなどに確認してもらえやすい。

  • Taptic Engineの動き

LT大会 前半戦

LT大会 後半戦


お読みいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?