3日間 iOSDC2023:Day2
External Accessory入門 - 公式Frameworkを使ってレシートプリンターを制御する!:@trickart4121 trickart
機器ごとにプロトコルが違うのでそれを入れておく。
入れないと通信ができない。。(設定は簡単だが割と詰まるらしい)
展示ルームにて
複雑さに立ち向かうためのコードリーディング入門:@stzn3 shiz
メモの時点ですごく長くなってしまったので抜粋します。
認知プロセスを活用したコードの読み方
自分の知らないコードを読むことが多い
すぐ把握は難しい->調べる->しかし時間がかかる。そしてタスクは増えていく->もっと調べる。-> 疲れたりネガティブになってしまう
情報過多シンドローム
コードの読み方と認知機能に関連があると気がついた。
書き方は多く学ぶが読み方を学ぼうとする人は少ない
なぜ複雑に感じるのか
知識不足による複雑さ・情報不足による複雑さ・処理能力不足からくる複雑さ
認知プロセスが妨げられている
短期記憶:一時的にほじ
ワーキングメモリ:一時情報から情報を操作・解釈
長期記憶:情報を永続的に保持(忘れることがある)
対策
短期記憶:チャンク化
人間が1度に処理できる情報の単位
C a t -> cat
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大会 後半戦
お読みいただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?