Discover companies you will love

Masashi Yamaguchi

株式会社any style / 業務委託(副業)八潮駅

Masashi Yamaguchi

株式会社any style / 業務委託(副業)

現在ライブ配信プラットフォームSHOWROOMおよびVTuber推し活アプリ「my dear.」の2社でiOSエンジニアをしております。 iOSの開発経験は3年ほどで、新規実装や外部SDKの組み込み、CI/CDツールの運用、その他保守業務と一連の開発業務を経験しており、本業のSHOWROOMアプリではリードエンジニアを任されております。

Ambition

In the future

エンジニアとして、さまざまな業務経験を積み、価値あるエンジニアとして成長していきたいと思っています。

About 株式会社any style

株式会社any style9 months

業務委託(副業)Present

- Present

<会社概要>  会社名 :株式会社any style  事業内容:VTuber推し活アプリ「my dear.」の開発・運営  資本金 :非公開  売上高 :非公開  従業員数:20名

  • チャット画面のSwiftUI / MVVM対応

    my-dear.アプリでは主要機能となる、VTuberとユーザのチャット画面をSwiftUI / MVVM化する実装を担当しました。 既存ではReduxベースのアーキテクチャをサポートするライブラリReSwiftとチャット画面の実装をサポートするUIKitベースのライブラリMessageKitを使用した実装になっていましたが、ReSwiftがマルチスレッドでの使用をサポートしていない点やMessageKitでの実装が煩雑化している点などがあり、リファクタリングに至りました。 チャット画面は無限スクロール(ページング)機能を保有していたため、SwiftUIでの実装はScrollView+LazyVStackを反転させ、スムーズなスクロールで追加読み込みが表示されるようにしました。 また、メッセージの種類が多く煩雑化しやすい仕様となっていたため、全てのメッセージを1つのenumにまとめて表示情報のModelを簡略化し、各々のメッセージをコンポーネント化することで実装の可読性向上と今後の改修効率向上に貢献しました。

  • ボイスコンテンツ販売機能 / QRコード読み取り機能

    VTuberから提供されるボイスコンテンツをアプリ内通貨で購入する機能の実装を担当しました。ボイスコンテンツ販売にあたり、ホーム画面やVTuberのプロフィール画面を全面的に改修する必要があり、既存ではUIKitにて実装されていた箇所を含め合計6画面ほどをSwiftUI + MVVMにて実装しました。 また、提供されるボイスコンテンツはQRコードから購入ページに遷移する機能を保有しており、QRコードの読み取り機能をAVCaptureSession+AVCaptureMetadataOutputにて実装しました。読み取り範囲が画面全体ではなく、画面内の枠線内のみに限定する必要があったため、AVCaptureMetadataOutput.rectOfInterestにて読み取り範囲を限定し、且つ、周囲の枠線をUIBezierPathにて実装しました。

    -
  • 音声通話機能

    VTuberとユーザが1対1で通話する、音声通話機能の実装を担当しました。音声通話以外にも通話予約機能や通話待機所機能など、合計7画面ほどの機能をSwiftUI + MVVMにて実装しました。 音声通話についてはAmazon Chime SDKをSwift Packege Managerにて組み込み、また、Amazon Chime SDKが音声通話以外にもビデオ通話や画面共有といったロジックを保有しており、本機能では不要のため最小限のモジュールのみを組み込み、かつ、ロジックを単一クラスにまとめることで最小限の依存関係で運用できるよう設計しました。

    -
About SHOWROOM株式会社

SHOWROOM株式会社2 years

SHOWROOM事業部 開発部 アプリGPresent

- Present

<会社概要>  会社名 :SHOWROOM株式会社  事業内容:ライブ配信プラットフォーム事業 / VR・AR事業  資本金 :10,000万円  売上高 :非公開  従業員数:122名

  • 課金実装のフルリニューアル対応

    2024年のiOS, iPadOS18リリースを期にOriginal StoreKitならびにverify Receipt APIがDeprecatedとなったため、サーバーサイド含めてiOSアプリの課金フルリニューアル対応を実施しました。 事前調査については、私1人で行い、クライアント側の実装方針のみならずサーバーサイドを含めたシステム要件を作成しました。新実装では、これまで実装されていなかった返金対応の必要性を打診し、アプリの不本意な損失を防ぐことに貢献いたしました。 クライアント側の実装では、課金周りのロジック、例外処理を一つのクラスにまとめUnit Testの実装まで行いました。また、全ての例外で原因究明に必要となる情報を含めてFirebase Crashlitycsにログを送信する構成にし、問い合わせ対応や不具合対応での作業効率向上に寄与できたと考えております。

    -
  • 配信者ランキング表示のフルリニューアル

    既存の配信者ランキングの表示がwebViewベースになっており、UI/UX改善の観点からランキング表示をネイティブ化する対応を実施しました。かなり大規模なプロジェクトで、仕様/デザインの作成に1ヶ月ほど費やし、最終的に合計18画面の改修・新規実装となりました。 実装に関しては全てSwiftUI+MVVMにて実装し、Unit Testの実装まで完遂しました。また、デザインで吹き出しのUIやメモリ線付きのバーなど、通常のコンポーネントでは対応できない箇所も多く、SwiftUIのPathを使用して実装しました。 また、SHOWROOMのプロジェクトファイルの規模が大きく、コンパイルに時間がかかりPreviewでの開発効率が悪かったため、SwiftUIのコンポーネントを作成するためのモジュールを作成し、Preview時のコンパイル時間を最小限に留め、開発効率向上に貢献いたしました。

    -
  • Unit Testの汎用処理のモジュール化対応

    SHOWROOMではAPI Request時のUnit Testをスタブを用いて、実装しておりましが、各Unit Testのモジュールでスタブのリソースファイルが別々に管理されており、且つ、ハードコーディングされていたため、それらの課題を解決するため、スタブ関連のリソースファイルとロジックを1つのモジュールに切り出し、リソースファイルはSwiftGenを使用してハードコーディングせずに使用できるように改善し、Unit Test実装の開発効率向上に貢献いたしました。

Hidden: Education and Experience

View Masashi Yamaguchi's

Full Profile

This information is visible only to Wantedly users or the user’s connections

View past posts

View mutual connections

View Masashi Yamaguchi's full profile


Receive Scouts from companies