Discover companies you will love
株式会社ディー・エヌ・エー / ソリューション本部エンタープライズ事業部システム開発部共通基盤グループ
You'll be able to see their introduction and other information once they have accepted your connection request.
### 使用した技術 MVVM, Kotlin, Jetpack, Android Architecture Component, Retrofit, OkHttp, Kotlin Coroutine, GitHub Actions, CircleCI ### 担当 設計<br> 開発<br> 保守・運用<br> CI/CD設計開発<br> レビュワー<br> ### 開発内容 設計段階でアサインされ、開発、テスト、運用保守まで担当しました。 Pure MVVMでViewModelのロジックが複雑になってしまう問題をRealmをStoreとしてfluxの要素を加えることで、Fat ViewModelにならずに済むMVVM + fluxのアーキテクチャで設計いたしました。 Android Architecture Componentを積極的に取り入れ、Navigation Component, ViewPager2, LiveData, ViewModelなど最新の技術を使用しました。 HTTP通信にはRetrofit, Okhttpを使い、非同期処理にはCoroutineを使用しました。 100を超える画面がある中で、80画面近く実装し、20画面以上の共通化を行いました。 またテックリードが気づかないRealmの落とし穴や並列処理の修正も行いました。 サーバーサイドが遅延していてなかなかAPI来ず、納期が危なかったでしたが、1日3本近くAPIを繋ぎ込み結局合計80本近くAPIの繋ぎ込みを行いました。 またViewPager2の中のViewPager2の中にRecyclerViewが3つあるという複雑な画面でかなりレンダリングが酷かったものを、Epoxyと同じような理論で大幅に改善もしました。 開発途中で新人がアサインされる中、1人称で開発を進め、また新人教育もしながらという経験もございます。 AndroidとiOS間でデザインに差異がある際はデザイナーとiOSチームと話し合いをし、どれが一番OSに最適なデザインかなどを提案をしました。 またサーバーサイドの遅れを取り戻すべく、API仕様書を定義しサーバーサイドの開発高速化にも努めました。 また、アプリチーム内では導入したことのなかったCI/CDの導入も進めました。 初めはGithub Actionsから始め、プルリクエストがオープンされたタイミング、レビューでApproveが出されたタイミング、マージされたタイミングなど様々なトリガーを駆使し、レビュー以外の工程をほぼ自動化しました。 CI/CDを導入したことにより、作業効率が20%ほど向上しました。 Github Actionsは従量課金ということもあり、時間のかかるリリースビルドやLintチェックなどはGithub Actionsで行うと、お金が膨大にかかってしまうため、コンテナ数が制限され順番待ちで処理を行うCircleCIへと移行し、コストダウンにも貢献致しました。 リリース作業も担いました
### 使用した技術 Flutter, Dart, Agora RTM SDK, flutter_bloc, WebSocket, API Gateway, AppSync ### 担当 設計<br> 開発<br> テスト ### 開発内容 Flutterフレームワークを用い、動画配信+チャットアプリの設計、開発を行いました。 設計の段階では、APIGatewayのWebSocketを使うか、AppSyncでGraphQLを使うか、Agora RTMを使うかという技術選定を行いました。 Flutterの案件は初めての受注で、スペシャリストがいない中、Flutterとの相性はどれがいいかを見定め、実際に簡単なチャットアプリを1日で作り上げ、最終的にAgora RTMの採用となりました。 使えるライブラリ、アーキテクチャが定められた中での開発でしたが、スピード感を保ちつつもバグを最小限に抑え、開発を行いました。 慣れないBLoCパターンにも、即座に対応しRepositoryパターンを導入したりなどより良いアーキテクチャになるよう努めました。 またFlutter用のSDKがほぼ揃っていない、ドキュメントが充実していないため手探り状態での開発でしたが、ライブラリのコードを読んだり限られたドキュメントを読み込むことで開発に取り組みました 実際にアサインされたのは2人ですが、ほぼ1人で実装を行いました。 3社合同のプロジェクトで当初はチャット部分だけの実装と聞かされていたのですが、動画とチャットの同期、部屋への入室から退室までのシーケンス処理までを担いました。
iOSアプリ開発 プロジェクトマネジメント
回路工学,制御工学,数値解析,計測工学
3daysインターン