코틀린 장점멀티플랫폼에서 작동시킬 수 있기 때문에 코틀린을 사용하는 모든 플랫폼에서 사용할 수 있다.기존 코드 구조를 광범위하게 뜯어고치지 않고 코루틴을 도입할 수 있다. 안드로이드에서의 코루틴 사용흔한 애플리케이션 로직은 다음과 같다.하나 이상의 소스(API, 뷰 구성요소, 데이터베이스, 설정, 다른 애플리케이션)로부터 데이터를 얻어온다. 데이터를 처리한다.가공된 데이터로 무엇인가를 한다. (화면에 보여주기, 데이터베이스에 저장, API로 전송) 기존의 구현 방식과 코루틴을 사용한 예제를 비교하여 두 방법이 어떻게 다른지 알아보자.예제 상황 - API로 뉴스를 가져와서 정렬한 후, 화면에 띄운다. 1) 가장 간단한 방법fun onCreate() { val news = getNewsFromApi()..
https://www.acmicpc.net/problem/7662 문제이중 우선순위 큐(dual priority queue)는 전형적인 우선순위 큐처럼 데이터를 삽입, 삭제할 수 있는 자료 구조이다. 전형적인 큐와의 차이점은 데이터를 삭제할 때 연산(operation) 명령에 따라 우선순위가 가장 높은 데이터 또는 가장 낮은 데이터 중 하나를 삭제하는 점이다. 이중 우선순위 큐를 위해선 두 가지 연산이 사용되는데, 하나는 데이터를 삽입하는 연산이고 다른 하나는 데이터를 삭제하는 연산이다. 데이터를 삭제하는 연산은 또 두 가지로 구분되는데 하나는 우선순위가 가장 높은 것을 삭제하기 위한 것이고 다른 하나는 우선순위가 가장 낮은 것을 삭제하기 위한 것이다.정수만 저장하는 이중 우선순위 큐 Q가 있다고 가정하..
4차 데모데이 체크리스트 중 하나로 난독화 적용이 있었다.난독화를 적용하면서 알아본 내용들과 팀원들에게 설명하기 위해 문서화해둔 것을 티스토리에도 올려본다. 난독화 관련 PRhttps://github.com/woowacourse-teams/2024-ody/pull/415 config: 난독화 적용 by kimhm0728 · Pull Request #415 · woowacourse-teams/2024-ody🚩 연관 이슈 close #414 📝 작업 내용 난독화 적용 외부 라이브러리 난독화 예외 처리 추가 🏞️ 스크린샷 (선택) 🗣️ 리뷰 요구사항 (선택) 난독화 관련 간단히 정리했는데 참고만 부탁드려여github.com R8 컴파일러Android Gradle 플러그인 3.4.0 이상을 사용하여..
우아한테크코스 레벨3가 끝나갈 무렵, 학습 돌아보기 인터뷰를 진행했다. 나는 6명으로 이루어진 조에 배정되어 인터뷰이 1명, 인터뷰어 3명, 옵저버 2명으로 진행했다.사전에 준비해간 자료를 토대로 질문을 하고 그에 대한 답변을 하는 방식이었다.옵저버는 인터뷰 과정을 관찰하고 그에 대한 피드백을 전달한다.인터뷰 20분 + 피드백 10분으로 진행했다. 인터뷰 때 받은 질문과 답변, 피드백들을 정리해 보려고 한다. 인터뷰 사전 자료인터뷰를 위한 사전 자료를 같은 조 크루들끼리 공유해야 했다.레벨3 팀 프로젝트를 하며 학습/협업한 내용을 A4 한 장 내외로 정리하는 것이었는데,나는 내가 팀에 기여한 점과 협업 측면에서 배운 점들을 자세히 작성했다.여러 주제를 얕게 적는 것보다는, 한 두개의 주제를 자세히 작..
미션 관련 링크쇼핑 장바구니 레포지토리https://github.com/kimhm0728/android-shopping-cart쇼핑 장바구니 1, 2단계 PRhttps://github.com/woowacourse/android-shopping-cart/pull/54쇼핑 장바구니 3, 4단계 PRhttps://github.com/woowacourse/android-shopping-cart/pull/79 코드 리뷰 받은 코멘트들 일반적으로 뷰모델은 화면과 1:1 구조로 만든다흔히 화면 단위의 ViewModel은 액티비티와 1:1 대응 구조를 가지고는 합니다. 뷰모델의 역할은 프레젠터와 마찬가지로 데이터(UI 상태)를 관리하고, 비즈니스 로직을 수행하는 것이다.그렇기에 현재 "UI에서 비즈니스 로직을 수행..
글에 들어가기 전, 지극히 주관적인 내용임을 밝힌다.'이렇게 생각할 수도 있구나!'라는 생각으로 가볍게 읽어주면 좋겠다. - 우아한테크코스에서 MVP 아키텍처를 기반으로 을 진행했다.MVP 아키텍처 관련해서 리뷰어와 여러 의견을 주고 받았고, 덕분에 내 의견을 명확히 정립할 수 있었다.내가 깨달은 내용들을 의식의 흐름대로 작성해보려고 한다. 리뷰어가 쏘아올린 작은 공..처음으로 MVP 아키텍처를 적용해보면서, 리뷰어에게 아래와 같은 코멘트를 받았다. Activity에서 repository 를 presenter 로 넘겨주는 것은, Activity와 presenter 의 역할을 제대로 하지 못하고 있는 것으로 보입니다. view 에서 model 을 presenter 에 넘겨주는 형태이니까요!Share..
미션 관련 링크영화 극장 선택 레포지토리https://github.com/kimhm0728/android-movie-theater영화 극장 선택 1, 2단계 PRhttps://github.com/woowacourse/android-movie-theater/pull/57영화 극장 선택 3, 4단계 PRhttps://github.com/woowacourse/android-movie-theater/pull/75 코드 리뷰 받은 코멘트들 Util 패키지에 Model -> String으로 변환하는 Formatter 함수 vs 화면 별 UiModel내 코드에는 util 패키지에 모델을 화면에 띄우는 문자열로 변환하는 함수를 구현하고, 이를 전역적으로 쓰는 현태였다.하지만 어떤 모델을 출력할 때, 모든 화면에서 ..
미션 관련 링크영화 티켓 예메 레포지토리https://github.com/kimhm0728/android-movie-ticket영화 티켓 예매 1, 2단계 PRhttps://github.com/woowacourse/android-movie-ticket/pull/72영화 티켓 예매 3, 4단계 PRhttps://github.com/woowacourse/android-movie-ticket/pull/83 코드 리뷰 받은 코멘트들 액티비티 테스트에서 다른 액티비티로의 이동, 앱 종료 등은 테스트하지 않는다도메인 테스트에서도, 해당하는 객체에 대해서만 테스트했고 다른 객체는 테스트하지 않았듯이액티비티 테스트에서는 한 액티비티에서의 시나리오만을 검증한다.Ui 테스트에서는 하나의 시나리오에 관점을 두고 진행한..