iOSDC Japan 2021 トーク一覧

採択 他イベントOK 2021/09/19 13:30〜 Track B レギュラートーク(20分)

MultipeerConnectivityを使った動画のリアルタイム端末間共有 〜料理動画撮影アプリの事例〜

mrimjn いまじん mrimjn

みなさんMultipeer Connectivityをご存知ですか?Multipeer ConnectivityはAirDropでも利用されているWi-FiやBluetoothを利用した近距離でのpeer-to-peer通信を実現するフレームワークです。AirDropの登場とともに公開されたこのフレームワークですが、実践導入されている機会は少ないように思います。
私は現在Multipeer Connectivityを使って端末間で撮影している動画のプレビューや動画ファイルの転送をするモバイルアプリを開発しています。このトークではMultipeer Connectivityの概要や実践導入した理由、実際に開発を進めていくにあたって工夫した点、現在抱えている課題などについてご紹介したいと思います。

  • Multipeer Connectivityとは?
    • 概要と簡単なデモの紹介
  • Multipeer Connectivityを使ったサービス開発
    • なぜ撮影のライブプレビューや動画ファイルの転送にMultipeer Connectiviyを使ったのか
    • 動画を扱う難しさ
      • リアルタイムな動画共有の手法
    • スループットの限界や制約について
  • peer-to-peer近距離通信の現在と未来

何かと距離が求められる今だからこそ、近距離通信の世界を覗いてみませんか?

他イベントOK レギュラートーク(20分)

CompositionalLayoutは銀の弾丸となるのか!?~実際に導入してみて得た知見、全て公開しちゃいます~

tosh_3 とし tosh_3

みなさん、年々複雑になっているアプリのUI設計になかなか苦戦していませんか?そんなアプリ設計に銀の弾丸となるべくして登場したCompositionalLayout(個人の感想です)。実際にCompositionalLayoutをZOZOTOWNのHome画面に導入した経験から、どのように使用していくのがアプリの今後にとって良いのかを掴むことができたので、CompositionalLayoutのベストプラクティスとアンチパターンについて紹介していこうとおもいます。

本トークでは、以下の点について話します。

実際にどのような設計で使用するといいのか

  • CollectionViewの中にCollectionViewを置く方法との比較
  • どんなレイアウトとの相性がいいのか
  • どんなレイアウトだと組むのが難しいのか
  • バグとそのワークアラウンドについて
  • iOS12対応がどうするべきなのか

自分のプロダクトにCompositionalLayoutを導入しようと考えている人、iOS13以降のCollectionViewの動きを追いたい人、プロダクトへの新規技術の導入について知りたい人、など多くの人にとって少しでも参考になれば幸いです。

1
他イベントOK LT(5分)

LiDARスキャナはやわかり2021

tama_Ud marica tama_Ud

iPhone 12 Pro 以降に搭載されているLiDARスキャナって何がすごいの?何が違うの?
このLTでは、iPhone 12 Pro と iPhone11 を使って、以下のトピックを中心に比較・解説します。
・LiDARについて
・オクルージョン、平面認識
・暗所オートフォーカス性能
・3Dモデル作成
・iPhone 12 Pro / iPhone11 によるAR/AF性能比較

2
採択 他イベントOK 2021/09/19 11:30〜 Track C レギュラートーク(40分)

作ってわかる!LiDARによるカメラの暗所オートフォーカス機能

tama_Ud marica tama_Ud

iPhone 12 Pro 以降に搭載されたLiDARスキャナにより、
ARだけでなく、カメラのオートフォーカス(以下AF)性能が飛躍的に向上しています。

特に、画像から距離情報を取り出すタイプのAFが苦手とする
暗所での撮影において、非常に高速なAFが実現されています。

この講演では、LiDARスキャナを利用したシンプルなAFと、
対象物の背景にぼかしを作る機能を盛り込んだカメラアプリを作成し、コードを中心に解説します。

AF自体はiOSに標準搭載されていますが、自分で作ってみることでAFとLiDARの理解を深めることができます。

この講演では、以下のトピックを中心にお話しします。
・各AF方式の簡単な説明
・暗所での性能比較 (iPhone12 Pro / iPhone11)
・LiDARによるオートフォーカス機能の実装方法
・背景ぼかし機能の実装方法
・動画によるデモ
・実装が困難だったところとその解決方法の提案

他イベントOK レギュラートーク(40分)

SwiftUI で実プロダクトを音速リリースした話

AkkeyLab AkkeyLab AkkeyLab

寄付体験を身近にすることを目指して開発されたアプリ「dim.」

・SwiftUI 95%以上
・エンジニア1人
・開発期間2ヶ月
・リリース前に大きな仕様変更を2回行う
実はこんな条件下で生まれたアプリです。

皆さんご存知の通り、SwiftUI はまだ実用レベルに達していないと言っても過言ではありません。が、実体験を元に「実用レベルに達していない」と口にしているエンジニアはどれほどいるでしょうか。
SwiftUI が未熟だという周りの声を鵜呑みにして逃げているだけではないですか? SwiftUI を採用しない理由を明確に説明できることは非常に重要です。なぜなら、 SwiftUI が適している要件にも敏感に反応できるようになるからです。
このトークでは主に以下に関して実例と共に SwiftUI の現状をご紹介いたします。

・SwiftUI 採用の理由
→キーワード:チーム開発, デザイナー
・2回もの大型仕様変更への高速対応を可能にした SwiftUI レイアウトテクニック
→キーワード:Modifier, XcodePreviews
・油断禁物! SwiftUI 未対応ライブラリ達
→キーワード:Firebase, 計測ツール
・SwiftUI or UIKit 選択術
→キーワード:フローチャートで分かる「できること」「できないこと」
・結果から振り返る SwiftUI 採用のメリット・デメリット
→キーワード:実務だからこそのメリデメ暴露!

このトークにより、SwiftUI をチームで採用するための説得材料を手にすることができます。また、 SwiftUI による開発方針を「チーム」という広い視野で考える“きっかけ”になるでしょう。

1
他イベントOK レギュラートーク(20分)

"脱 Storyboard" の裏側を大暴露!

AkkeyLab AkkeyLab AkkeyLab

約半年間私は Storyboard を用いた開発を行っておりません。
では、どのようにレイアウトを記述しているのか、それは以下の3つになります。

・AutoLayout with Code
・SwiftUI
・FlexLayout(github.com/layoutBox/FlexLayout)

複数のプロダクトを並列開発していることもあり、上記3パターンのレイアウト方法を並行して利用してきました(一部プロダクトで混合)。その中で「うわぁ、これ AutoLayout じゃないとバグるなぁ」「SwiftUI なら1行なんだけどなぁ」とそれぞれのメリット・デメリットが明確になってきました。

・こういうレイアウトする時は XXX 使ったほうが事故率低くて良いよ!
・"脱 Storyboard" で改善したこと、改悪したこと
・チームに "脱 Storyboard" の波を作る方法の提案

このトークでは以上3点を中心に実例を元に解説いたします。私が何時間も苦戦したバグなどもライブコーディングで再現すると共に、解決策もご紹介いたします。
よって、日頃 Storyboard を利用している方にとっては、それ以外のレイアウト構築方法に対する不安払拭となり、レイアウト構築方法変更により開発効率向上が見込めます。また、既に "脱 Storyboard" されている方にとっては事前に注意ポイントを知ることにより、危険を回避した開発が可能になります。

2
他イベントOK レギュラートーク(20分)

Bluetooth接続デバイスをテストする。

eitarox Eitaro Yamatsuta eitarox

私の所属先ではアプリと連動するBluetoothイヤホンを開発しており、スマートフォンアプリの開発を進めながらもハードウェアのことを考えているメンバーがいます。
例えば、アプリに接続したときにデバイスの各物理ボタンが正しい機能を持っているかを製造元で検証できる環境を用意しなければいけません。

ソフトウェア開発に飽き足らずハードウェア製作してみたい、関わりたいという方にbluetooth接続デバイス開発の現場をお見せします。

一緒にHardware is Hardを過去の幻想にしていきましょう!!

7
他イベントOK LT(5分)

現役プログラミング講師が伝授! iOS エンジニア育成ノウハウ5選

AkkeyLab AkkeyLab AkkeyLab

・iOS エンジニアが足りない
・iOS エンジニアが採用できない

とお悩みのエンジニアの皆さん、別の技術領域で活躍する方に iOS という領域でも活躍してもらうという選択肢はいかがですか?
しかし、この選択肢に目を向けるとすぐに以下のような悩みが見えてきてしまいます。

・新しい技術領域を勉強する時間なんて無い
・教える時間なんて無い

そんな皆さんに、今年約300時間プログラミング講師を務めてきた私が、この問題の解決策を伝授いたします。
例えば、C 言語メインのエンジニアにはポインタの概念を含めて解説することで Swift の特性を一言で伝えることができます。他にも、慣れるまで苦戦しがちな AutoLayout の考え方も一言伝え方を工夫するだけで理解の速度が格段に向上します。

よって、このトークにより iOS エンジニア不足を解消することができ、人事の方々から感謝されることでしょう。さらに、教える側・勉強する側共に少ない時間でこれが可能だと言うのだから驚きです。

他イベントOK LT(5分)

iOSアプリ開発をしているあなたへ〜Swift製のライブラリやツールを使うのもいいよ〜

the_uhooi uhooi the_uhooi

SwiftでiOSアプリを開発しているみなさん!
Swift以外の言語で書かれたツールを使っていませんか?

もちろん優れたツールならば、他の言語で書かれたツールでも積極的に使うべきです。
しかし使い慣れた言語で書かれたツールを使うことに、様々なメリットがあることを知ってほしいです。

  • ツールのソースコードが読みやすく、内部処理を理解しやすい
  • 不具合修正や機能追加のPRを出しやすい

本トークではSwift製のツールを使うメリットを 熱く語る とともに、実際に私が出したPRを 自慢 紹介します。

【アジェンダ】
・Swift製ツールのメリットを語る
・よく使われるSwift製ツールを紹介する
・Swift製ツールを管理する方法を伝える
・Swift製ツールへのPRの例を見せる

【想定する聞き手】
・Swift製ツールをあまり使っていない人
・Swift製ツールのよさを知らずに使っている人

【ゴール】
・Swift製ツールならではのメリットを知る
・Swift製ツールにPRを送りたくなる

2
採択 他イベントOK 2021/09/18 13:30〜 Track A レギュラートーク(20分)

実践 iOS オープンソースプロジェクトの始め方

niw Yoshimasa Niwa niw

iOS で使えるライブラリを作ったからみんなに使って欲しい、仕事の成果をオープンソースで公開したいということはよくあると思います。
Swift Package Manager の登場や Xcode への GitHub の統合などでオープンソースのライブラリの利用はとても簡単になりました。
しかし、そういったオープンソースのライブラリを提供するのはまだ簡単ではありません。

実際に使いやすいライブラリを提供するには、ライブラリそのものの API のデザインだけでなく、
ライブラリを運用するためのバージョンの管理、CI の設定、ドキュメントの作成や、内部のレポジトリと外部のオープンソースのレポジトリの差異、
Issue の管理のなど多岐にわたる問題への対応が必要になります。

このセッションでは、実際に業務の成果をオープンソースとして公開した「Twitter Text Editor」の経験を踏まえて、API のデザインから運用のためのツールの作成などをまとめていきたいと思います。

対象とする方:

  • オープンソースのライブラリを使った iOS アプリの開発の経験がある方
  • ライブラリの開発に興味がある方

前提とする知識:

  • Git
  • GitHub
  • Swift Package Manager
  • Xcode
他イベントOK レギュラートーク(40分)

Swift Concurrency ~After WWDC2021、そしてその先~

stzn3 shiz stzn3

Swift Concurrencyは、2020年の秋にSwift forumにRoadmapが公表されて以来、相当数のスレッドが立てられ、その中で議論が行われ、ついにWWDC2021で発表されました。しかし、機能が完全に揃ったというわけではなく、WWDC後も議論は継続しており、現在も色々な変更が入っています。Swift5.5リリース後、WWDCを参考に試してみたけど「あれ?何かちょっと違うかも?」と思うようなことが出てくるかもしれません。

このトークでは、WWDC後に入った変更も含めた最新の情報を基に

  • Swift Concurrencyの基本的な内容や仕組みとは?
  • GCD(Grand Central Dispatch)との違いは?(なぜより効率が良いと言えるのか?)

などについて見ていきたいと思います。

また、現在議論されているSwift6で起こるとされるルールの変更によるコンパイルエラーのリスクと、それを見据えたSwift Concurrencyを導入する際に注意するべきこと、などについても検討してみたいと思います。

Swift Concurrencyはとても大きな言語の機能です。iOSやmacOSなどのバージョンの制約もあり、プロダクションに導入するのはまだ先かもしれませんが、今後Swift自体の機能として発展していくのは間違いないと思います。まずは一緒に新しい世界を俯瞰してみるのはいかがでしょうか?

5
採択 他イベントOK 2021/09/19 11:30〜 Track B レギュラートーク(40分)

Hello, Swift Concurrency world.

stzn3 shiz stzn3

Swift Concurrencyは、WWDC2021で発表されたSwiftの言語に追加された大きな機能です。個人的な興味から、Swift ForumにSwift Concurrency Roadmapが登場して以来、40以上のスレッドを追っかけてきましたが、様々な機能やルールがあり、とても便利であるように見えるものの、学習コストは決して低いとは言えず、使いこなすのはかなり大変になるのではないかと感じています。

そこで、今回は、みなさまと一緒に、Swift Concurrencyの世界へ最初の一歩を踏み出したいと思い、このプロポーサルを出しました。

このトークでは、これからSwift Concurrencyを学ぶために

  • Swift Concurrencyってそもそも何?どういうものがあるの?何ができるの?
  • Swift Concurrencyは内部の仕組みはどうなっているの?
  • GCD(Grand Central Dispatch)とは何が違うの?

など、Swift Concurrencyのなぜ?や何?を見ていきたいと思います。

また、WWDC2021の時点では機能が完全に揃ったわけではなく、WWDC2021の後も議論は継続しており、現在も色々な変更が入っています。そういった変更点などにも触れていきたいと思います。

Swift Concurrencyの世界はとても壮大ですが、まず一歩、新しい世界へ一緒に踏み出してみるのはいかがでしょうか?

他イベントOK LT(5分)

【知見】Swiftで絵文字のバリデーションをやってみた!

m_t_tion1 Kaoru Muta m_t_tion1

概要

皆さん、iOSアプリ開発の際に絵文字のバリデーションをしたことはありますか??
自分は去年までしたことがありませんでした!!!ただあくまで個人の見解ですが、意外とその母数は少ないんじゃないかな・・??とも考えています。

本LTでは、自分が実際に行った絵文字のバリデーションに関しての話を、可能な限り簡潔にかつわかりやすく供養させていただく予定です。

取り上げるトピック

  • Swiftが提供しているString.UnicodeScalarView, Unicode.Scalar.Propertiesについてざっくり(そもそもUnicodeに関してのところから話す可能性有)
  • Extensionを利用して行った絵文字判定の実例
3
採択 他イベントOK 2021/09/19 10:50〜 Track B レギュラートーク(20分)

バックグラウンドでアプリがキルされても怖くない!アプリの状態を元に戻すリストア機能の全て

coffeegyunyu 日向強 coffeegyunyu

iOSではたびたびバックグラウンドにいるアプリがOSによって終了させられます。
作業途中のアプリに戻ったら、途中までやっていた作業がパーになった、という経験は誰にでもあるかと思います。

こんなことを未然に防ぐために、iOSには状態を保存し、アプリが終了されていても元に戻す、リストアの機能が備わっています。
本セッションでは、あまり知られていないであろうリストアの機能について説明するセッションになります。

  • Storyboardを用いたリストア
  • SceneDelegateを用いたリストア
  • SwiftUIでのリストア

ひょっとしたらユーザーの離脱を防げるかもしれない、リストアを実装するためのポイントについてお話しできればと思います。

他イベントOK レギュラートーク(20分)

FlutterでferryというGraphQLライブラリを使ってみて、ApolloClientと比較してみた

mdk_aza 嶽 雅也 mdk_aza

現在、プロダクションにGraphQLを投入しようと動いています。
その中で、現状はWebフロントエンドのみのサービスで、Reactに事実上GraphQLの標準になりつつあるApolloクライアントを組み合わせる予定です。
ただ、近い未来アプリクライアントの作成も検討されており、その際はFlutterを採用予定です。

先んじて、Flutterでの検証を個人で進めているのですが、Flutter対応のApolloクライアントは現状ありません。
https://pub.dev/packages?q=graphql
Dartのライブラリを検索する限りも、graphqlやartemisなども出てきますが、先人の記事を読む感じではメリット/デメリットあるように見えます。
その中で、Ferryというライブラリがとても使い勝手が良さそうに見えています。
https://pub.dev/packages/ferry

実際にこのFerryを使ってみて簡単なアプリ作成をする中で、本番投入予定のApolloClientとの使い勝手を比較したいと思います。
余裕があれば、WebフロントエンドのReactのApolloClientのサンプルだけではなく、iOSでApolloClientを利用したサンプルも見せられればと思います。

このトークの対象はGraphQLを知らない人も含めて以下の範囲を考えています。

  • GraphQL/ ApolloClient知らない/聞いたことあるけど、使ったことないiOSエンジニア
  • Flutterで開発しているけど、GraphQL聞いたことあるけど使ったことないiOS/Androidエンジニア
  • ReactでApolloClient使ったことあるけど、Flutter/iOSでは開発したことないWebフロントエンジニア
他イベントOK レギュラートーク(20分)

2年使ってきたasync/awaitライブラリのHydraとiOS15から使えるasync/awaitを比較してみた

mdk_aza 嶽 雅也 mdk_aza

WWDC2021の発表でiOS15からasync/awaitが使えるようになりますね。
https://developer.apple.com/videos/play/wwdc2021/10132/
ワクワクしますね。
WWDC2021の内容を共有する勉強会などでもどんどん取り扱われていますね。

ただ、iOS15以降でしか使えなかったりと色々制限はあり、新規でiOS15対応以降のiOSアプリを作るタイミングでない限りは活用できるタイミングはもう少し先になりそうです。

そんな中で、皆さんiOS15に入る前に既存アプリなどでもasync/awaitに慣れておきたくありませんか。
皆さんもご存知かもしれませんが、現状iOS15未満でも使えるasync/awaitな書き方ができるライブラリがあります。

Hydraというライブラリです。
こちらはSwiftDateの作者であるmalcommacさんが作成しています
https://github.com/malcommac/Hydra

もちろん他にもライブラリがあるかもしれませんが、今回はこのHydraを題材にWWDC2021で発表されたasync/awaitと書き方などを比較していきたいと思います。
このライブラリはPromiseもサポートしており、私が本番で2年使ってきたところでその際にこういう処理が書きやすかった、こういう処理に困ったなども含めて共有できると思います。

await/asyncを知らない方、他言語でasync/awaitを知っている方でも大歓迎です。
上記を紹介する中であまりに内容が薄くなりすぎるようでしたら、稚拙ながらasync/awaitの歴史のお話やJavaScript/Dartでのasync/awaitとも比較などをする予定ですので、楽しみにしていてください。

1
採択 他イベントOK 2021/09/19 11:30〜 Track D レギュラートーク(40分)

あらゆる情報を楽に正しく String にフォーマットする - 令和2021年から脱却せよ

treastrain treastrain / Tanaka Ryoga treastrain

私たちは常日頃、日付や時刻、時間、数字、名前などを表示するために、最終的に様々な情報を String に変換しています。
その際に便利な API が Formatter です。Date を String にする DateFormatter が良く使われる一例ですが、実は真の力はそこにとどまりません。

数字を3桁おきに 「,」を入れた表示をしたい
「0.85」を「85%」と表示したい
「-1700」を「(1,700)」と表示したい
1日前を「昨日」、1ヶ月後を「来月」と表示したい
[“Apple”, “Banana”, “Orange”] の Array を「Apple, Banana and Orange」と表示したい

…これらを実現するために独自で実装を行っていませんか?
コーディングのトレーニングのために独自実装する分には問題ありませんが、実プロダクトでは工数がかかり、考慮漏れがあると問題になります。しかし大抵は対応する Formatter が標準で用意されています。

日付、時刻、時間、%、通貨、指数表記、バイトサイズ(MB、GB…)、人の名前、加速度、角度、面積、体積、質量、濃度、期間、電気、エネルギー、周波数、燃費、照度、長さ、圧力、速度、温度…

これらの Formatter は i18n 対応を含めて強力にサポートしてくれますが、1つの言語のみに対応する場合でも Formatter を使うべきです。言語は同じでも地域によって適切なフォーマットが違う場合があるからです。
このセッション(40分版)では標準で用意されている Formatter のすべてと、その使用例、絶対にしてはいけない使い方を紹介します。

誤った使い方をすると、あなたも「令和2021年」に飛ばされますよ…

Happy Formatting!

他イベントOK レギュラートーク(20分)

あらゆる情報を楽に正しく String にフォーマットする - 令和2021年から脱却せよ

treastrain treastrain / Tanaka Ryoga treastrain

私たちは常日頃、日付や時刻、時間、数字、名前などを表示するために、最終的に様々な情報を String に変換しています。
その際に便利な API が Formatter です。Date を String にする DateFormatter が良く使われる一例ですが、実は真の力はそこにとどまりません。

数字を3桁おきに 「,」を入れた表示をしたい
「0.85」を「85%」と表示したい
「+200」を「△200」としたり、「-1700」を「(1,700)」と表示したい
1日前を「昨日」、2日前を「一昨日」、1ヶ月後を「来月」と表示したい
134217728バイトを「134.2 MB」のように表示したい
68°F を 20℃ と表示したい
[“りんご”, “バナナ”, “オレンジ”] の Array を「りんご、バナナ、オレンジ」のように「、」で連結して表示したい
しかし英語の場合は「Apple, Banana and Orange」と表示したい

…これらを実現するために独自で実装を行っていませんか?
コーディングのトレーニングのために独自実装する分には問題ありませんが、実プロダクトでは工数がかかるだけでなく、考慮漏れ、特に地域差を考えずコーディングすると問題になります。

普段の開発で想定されるようなフォーマット事例には、実はすでに対応する Formatter が OS 標準で用意されていることが大半です。
このセッション(20分版)では標準で用意されている Formatter のすべてと、よく使われる事例に絞った使用例、絶対にしてはいけない使い方を紹介します。

誤った使い方をすると、あなたも「令和2021年」に飛ばされますよ…

Happy Formatting!

4
他イベントOK レギュラートーク(20分)

実践!AppClip

saiten saiten saiten

iOS14から登場したAppClipですが、実際に利用されているアプリはまだまだ少なく、AppClipに関する情報も同時に発表されたWidget等に比べると非常に少なく感じます。

AppClipを使えば任意のURLやQRコード、NFCタグ等からアプリをインストールすることなくアプリを起動することができるため、これまでとは異なるアプリ体験をユーザに提供することができます。

このトークでは実際にAppClipを含むアプリをリリースした経験から、実装方法やテスト手法、リリースする中で躓きやすい点と、それを回避するためのテクニックを紹介していきたいと思います。

・AppClipの実装方法
・AppClipの制限について
・AppClipの起動方法とテストについて
・AppClipのサイズ制限の回避方法
・AppStore ConnectでのAppClip Experienceの登録方法

1
他イベントOK レギュラートーク(40分)

3年かけてコツコツと積み上げてきたみてねのデザインシステムについて

_rockname ロクネム _rockname

アプリのデザインおよびUI周りの実装を続けていると、良い設計について検討する十分な時間を確保できずに「その場限りの対応」に迫られることがしばしばあります。
これがなんの指針もなく続けられていくと、いわゆる「デザイン的負債」が積み上がっていきます。

デザインはもはや、プロダクト開発におけるスケーラブルで再利用可能な「システム」として機能するようになってきました。
このシステムはカオスになりがちなUI周りの開発を管理しやすくし、より良いプロダクト開発に貢献してくれます。

しかし、プロダクト開発においてそのシステムを構築することは決して優先順位が高く見られない傾向があります。

そこで、「家族アルバム みてね」では、デザイナとエンジニア数名で小さなチームを作って、週1日程度の時間を確保しながら、まずはiOS, Androidに絞って少しずつこの「デザインシステム」を構築していきました。

コツコツとシステムの構築を積み重ねて約3年が経ちましたので、本セッションではみてねにおけるデザインシステムがどのように構築されていったのか、その過程およびプラクティスについて、iOSアプリにおける具体的な実装方法を交えながら紹介させていただきます。

[アジェンダ]
・デザインシステムとは
・なぜデザインシステムを導入するのか
・まずは何から始めるのが良いか
・StyleとComponentとPattern
・Styleの定義と実装
・Componentの定義と実装
・Patternの定義と実装
・デザインとコードの同期
・デザインシステムに新しい要素を追加する際の方針

[想定する聞き手]
・デザインシステムの導入を検討している方
・デザインシステムを運用している方

5