사
사람인
May 23, 20221회
사람인 Android App Refactoring
간단 소개
사람인 아이엠그라운드 앱의 MVC 패턴 문제점을 개선하고자 MVVM 패턴, AAC, Dagger-Hilt, DataBinding 등을 적용하여 리팩토링을 진행한 사례 공유.
AI Summary
- 아이엠그라운드 앱 리팩토링 필요성
- 기존 MVC 패턴의 문제점: 코드 비대화, 가독성 저하, 유지보수 비용 증가, 중복 코드 발생, 높은 클래스 간 의존성.
- 비즈니스 로직 분리 미흡으로 인한 Unit Test 어려움.
- MVVM 패턴 및 관련 기술 적용
- MVVM 패턴 채택 및 AAC(LiveData, Lifecycle, ViewModel, Room), Dagger-Hilt, DataBinding, ViewBinding, RxJava 적용.
- MVVM 패턴은 뷰의 역할 분담, ViewModel을 통한 데이터 관찰 및 갱신, 생명주기 관리 용이성 제공.
- Dagger-Hilt를 통한 의존성 주입으로 클래스 간 결합도 감소 및 유지보수 효율성 증대.
- DataBinding 및 ViewBinding 활용
- DataBinding을 통해 XML 레이아웃과 데이터 간의 양방향 바인딩 구현.
- ViewBinding은 양방향 바인딩이 불필요한 부분에 적용하여 성능 향상.
- AAC ViewModel을 상속하여 개발자가 생명주기 및 메모리 관리에 신경 쓰지 않도록 구현.
Next Feeds
React 18: 리액트 서버 컴포넌트 준비하기
React 18의 주요 기능인 서버 컴포넌트(RSC)의 특징, 이점, 그리고 서버 사이드 렌더링(SSR)과의 관계를 설명합니다.
React 18서버 컴포넌트데이터 페칭SSR번들 사이즈
2022. 5. 20.
카카오페이
자바스크립트 v8 엔진의 가비지 컬렉션 동작 방식
자바스크립트 v8 엔진의 가비지 컬렉션 동작 방식을 분석하고, 메모리 관리 및 최적화 기법을 설명합니다.
가비지 컬렉션v8 엔진메모리 관리Mark & SweepOrinoco
2022. 5. 19.
카카오엔터테인먼트FE
자바스크립트 v8 엔진의 가비지 컬렉션 동작 방식
자바스크립트 v8 엔진의 가비지 컬렉션 동작 방식을 분석하고, 메모리 관리 전략과 최적화 기법을 설명합니다.
v8 엔진가비지 컬렉션메모리 관리Mark-SweepOrinoco
2022. 5. 19.
카카오엔터테인먼트FE
Sentry로 우아하게 프론트엔드 에러 추적하기
Sentry를 활용한 프론트엔드 에러 추적 방법과 카카오페이 개발팀의 도입 사례를 소개합니다. 효과적인 에러 관리 및 분석 전략을 제시합니다.
Sentry프론트엔드에러 추적모니터링React
2022. 5. 18.
카카오페이
Test Code Why? What? How?
Test Code의 중요성을 강조하고, 효과적인 Test Case 설계 및 Testable Code 구현 방법을 제시하여 애플리케이션의 안정성을 확보하는 방법을 설명합니다.
Test CodeUnit TestTestable Code인터페이스명세
2022. 5. 17.
카카오엔터테인먼트FE
![[여의도 43층 사람들] CTO에게 무엇이든 물어보세요!](https://blog.banksalad.com/static/1b5159cad0324a5b1c8ae0f16b2b0db7/cover.png)
[여의도 43층 사람들] CTO에게 무엇이든 물어보세요!
뱅크샐러드 CTO 김문규님의 합류 이유와 뱅크샐러드 테크 조직 문화, 데이터 기반 제품 디자인 및 개선에 대한 인터뷰 내용 요약.
뱅크샐러드CTO마이데이터핀테크테크 조직
2022. 5. 16.
뱅크샐러드