목록개인 프로젝트 (4)
성장기록지
부스트캠프 미션이나 프로젝트를 진행하며 네트워크 통신에는retrofit과 Okhttp를 같이 쓰는게 거의 정석처럼 사용되어졌다.이번 프로젝트를 계기로 기술 사용에 대한 근거를 세워보고자 한다.1. HttpURLConnection안드로이드 초창기에는 자바로 만들어진 HttpURLConnection이 네트워크 요청의 표준이었다고 한다.하지만 현재 시점에선 다음과 같은 문제들이 있다. 비동기 처리HttpURLConnection은 기본적으로 동기 방식으로 동작한다.즉, 네트워크 요청이 완료될 때까지 메인 스레드가 차단(blocking)된다.실제로 부스트캠프를 하며 httpUrlConnection을 사용해 보았을 때,별도의 비동기 처리를 해주지 않으면 NetworkOnMainThreadException이 발생하였..
적용 계기다음과 같은 배너를 Custom View로 구현하고자 하였다. (현재는 배너 이미지로 대체하였다. 이유는 아래 서술)모델 이미지의 오른쪽 아래를 보면 배너와 같이 라운딩 처리가 되어있는것을 확인하였다.디자인의 요구사항과 똑같이 라운딩 처리를 해주고자 하였다.적용 과정먼저 이미지뷰에 라운딩 처리를 하는 법을 찾기 위해 구글을 검색하였다.사진과 같이 나오는 래퍼런스들은 많지만, 다 만족스럽지 않았다.clipToOutline을 통해 코드에서 동적으로 할당하거나,CardView를 활용하거나 하여 여러모로 불편한 조건들이었다.그러던 중, 부스트캠프 동료에게서 ShapeableImageView를 사용해보라는 말을 들었다! ShapeableImageView 적용하는 법은 간단하다.ImageView를 Sha..
서론부스트캠프를 통하여 Compose 프로젝트를 진행하였지만, 제대로 된 xml 프로젝트가 없고, 실제 코딩 경험도 부족하다 여겨져새로운 프로젝트를 하나 해보기로 결정하였다.쇼핑앱 프로젝트를 진행하려고 마음먹었고, 개인 프로젝트지만 디테일하게 만들어야 한다 생각하여디자인도 볼만하게 만들고, 목업 데이터도 괜찮은 것을 사용하자고 생각하였다. 디자인 선정우선 작성자는 디자인을 엄청 못한다.따라서 디자인 키트를 구매하기로 생각하였다.우선 스마트스토어 할 때 많이 쓰던 크몽을 둘러보았다,하지만 커스텀 UI 이다보니 기본 가격부터 만만치 않았다.아래 첨부 사진처럼 2페이지에 10만원은 가볍게 넘는 경우가 많았다...취준생에게는 상당히 부담이 되는 가격이였기에 다른 방법을 찾아보기로 결정하였다. 그러던 중 커피챗을..
부스트캠프 수료 후 개발 역량 향상을 위해 개인프로젝트를 추가적으로 진행하고자 하였다.간단한 주제에 여러 기술적 경험 및 도전을 하고 싶기에 다음과 같이 기획을 진행하였다.. 개인 프로젝트 기획mock api 등을 이용한 쇼핑몰 프로젝트 키워드 검색사용성 텍스트 키보드 키보드 외부 터치 시 자동 내려감 확인 버튼 디자인 설정디바운스를 통한 api 호출 최소화 검색 결과를 리사이클러뷰로 노출 아키텍처 MVVM아키텍처 적용,안드로이드 권장 아키텍처에 따라 레이어 분리 (ex. data-domain-presentation) api 통신예외 처리 대체 화면멀티뷰 타입 리사이클러뷰 무한 스크롤 Paging 이미지 처리스켈레톤 캐싱 로컬 캐싱 메모리 캐싱 로드 실패 시 대체 이미지UI 관련레이아웃 중첩 최소화 ..