My internship experience
- nihal111
Nihal Singh
Android JP Team
My work
What did I work on?
- Listing Templates
- Writing Tests
- Formatting checks and automation
Mercari JP Android app
- The main marketplace app
Listing Templates
A feature that allows users to reuse a template to fill in the product details during listing. There would be a few default templates to start with. Each user can create and edit templates. These templates can later be used to overwrite or append to the product description.
テンプレートの一覧表示
リスティング中にユーザーがテンプレートを再利用して商品の詳細を記入できるようにする機能。最初にいくつかのデフォルトテンプレートがあります。各ユーザーはテンプレートを作成して編集できます。これらのテンプレートを後で使用して、製品説明を上書きまたは追加することができます。
Demo Video
Writing Tests
- Wrote unit tests for the first time
- Familiarized myself with the testing paradigm and frameworks like Mockito and Robolectric
- All the logic from the new code is completely tested!
- Wrote a few additional tests for Exhibit Screen API
テストの作成
初めてユニットテストを書いた
MockitoやRobolectricのようなテストのパラダイムとフレームワークに精通している
新しいコードのすべてのロジックは完全にテストされています!
Exhibit Screen APIのいくつかの追加テストを書いた
Formatting automation
Took initiative to increase clean code in the Android codebase.
Set up Reviewdog to auto-review Pull Requests to point out formatting errors from checkstyle and ktlint.
Created a Circle CI job to run Reviewdog on every build.
フォーマットの自動化
Androidのコードベースでクリーンなコードを増やすためのイニシアチブを取った。
Reviewdogを設定して、checkstyleとktlintから書式設定エラーを指摘するためのPull Requestを自動レビューします。
すべてのビルドでReviewdogを実行するCircle CIジョブを作成しました。
Learning
- MVP architecture
- Kotlin for the first time
- RxJava
- Testing- Mockito and Robolectric
-
Automation- Circle CI
- Workflow at Mercari
- Working in a diverse team
MVP is da real MVP
Biggest technical takeaway from the internship.
First time I strictly used an architectural pattern for an Android project.
インターンシップからの最大の技術的な持ち帰り。
初めて私はAndroidプロジェクト用のアーキテクチャパターンを厳密に使用しました
What is MVP?
Why MVP?
- Decoupling logic from Android framework
- Separation of responsibility
- Easier testability
(Unit tests > Instrumentation Tests) - A common architecture for the team to understand
- Androidフレームワークからのデカップリングロジック
- 責任の分離
- テスト容易性(ユニットテスト>計装テスト)
- チームが理解できる共通のアーキテクチャ
Kotlin is fun
Kotリン
- First time I wrote Kotlin
- Almost all the new code I wrote was in Kotlin
- Cleaner and more efficient than Java
- Still need to get a hang of it
- 初めて私はコトリンを書いた
- 私が書いたほとんどすべての新しいコードはKotlin
- より洗練されたJavaより効率的
- まだそれを取得する必要があります
All suited up!
(Barely) Learnt how to use the Java library that makes it easier to write asynchronous programs.
非同期およびイベントベースのプログラムの作成を容易にするJavaライブラリの使用方法を学びました。
RxJava
Writing tests with
Mockito and Robolectric
Automation
Wrote a Circle CI job to run Reviewdog for automatic Pull Request reviews on formatting errors
Experience
Exploring Japan
Tokyo
Disney Sea
Kyoto
FujiQ
Izu Oshima
Mt. Fuji
THANK YOU
for having me
It was an amazing journey
それはすばらしい旅でした
Mercari Internship Overview
By Nihal Singh
Mercari Internship Overview
- 840