본문 바로가기
728x90

우아한테크코스 5기/정리6

레벨 4 미션 정리 만들면서 배우는 DI 깃허브 저장소 Reflection 읽기 전용 변수의 값을 수정하거나, 비공개 프로퍼티를 외부에서 사용하는 등의 행위를 할 수 있는 문법이다. 의존성 주입이 필요한 클래스 생성자의 프로퍼티를 가져오거나, 프로퍼티의 어노테이션을 가져오는데 활용하였다. 의존성 주입을 위해 읽기 전용 변수를 수정 가능하게 만들어 의존성을 주입하는데 활용하였다. Qualifier 하나의 인터페이스에 대해 여러 구현체가 있을 경우 구분자를 활용해 의존성을 주입해야 했다. 이때 Qualifier의 형태에 대해 고민하였다. @Qualifier(DefaultRepository.class) & @Qualifier("defaultRepository") 나의 경우에는 후자를 선택하였다. 첫 번째 경우에는 인터페이스를 사.. 2023. 11. 1.
레벨 3, 레벨 4 팀 프로젝트 총정리 프로젝트를 진행한 것이기에 학습 목차 대신, 공부한 것들, 사용한 것들을 시간순으로 정리해 보았습니다. 아키텍처 구조 클린 아키텍처를 참고했습니다. repository 패턴을 사용하였습니다. (android docs) [Modules] - app - data - dataSource, httpClient, localDatabase, model, repository - di - qualifier - modules - ui - common - dialog - bindingAdapter - animation - 화면 단위의 패키지들 ... - domain - exception, model, repository - support (주로 util이라 불리는 기능들. util이 app에 영향을 받지 않도록, 제공만 .. 2023. 10. 29.
우아한테크코스 5기 모바일 레벨2 총정리 2023 안드로이드 로드맵 안드로이드에 있어 전반적인 것을 배울 수 있었다. 또한 아키텍처 패턴 MVC, MVP에 대해 이해할 수 있었다. 4대 컴포넌트에서는 Activity만 미션에 녹여낼 수 있었다. 1. 안드로이드 기초 (영화: 티켓 예매) 안드로이드의 기초인 Activity, 화면 등에 대해 알 수 있었다. 이외에도 도메인 모듈을 분리하는 방법을 배웠다. Activity Intent Context 애플리케이션의 실행 문맥(Context)에 대한 정보를 제공하고 시스템 서비스와 애플리케이션의 리소스에 접근할 수 있게 함. 예를 들어 Activity, Service, Broadcast Receiver 등에서 Context로 리소스를 참조할 수 있다. Application Context vs Activ.. 2023. 6. 18.
우아한테크코스 5기 모바일 레벨1 총정리 서론 (이라 쓰고 변명이라 읽는다. 뒤늦게 몰아 쓰는 것에 대한 변명...) 하나의 미션에서 처음으로 기법, 개념 등의 존재를 알게 된다. 이것들을 해당 미션이나 다음 미션에 적용시켜보며 궁금한 것을 알아본다. 알아본 것을 적용시킨다. 이런 과정을 반복하며 알게된 것들이다. 그래서 명확하게 각 미션을 통해 얻게된 지식은 아니다. 그래도 나름 정리해 보았다. 레벨1 레벨1 과정을 진행하며 주된 학습 목표라고 느꼈던 것은 코틀린과 객체지향 프로그래밍이다. 학습 (레벨1의 교육 목표라고 생각되는 것) 객체지향 프로그래밍 (OOP, Object-Oriented Programming) 코틀린 객체지향 생활 체조 원칙 한 메서드에 오직 한 단계의 들여쓰기(indent)만 한다. else 예약어를 쓰지 않는다. 모든.. 2023. 4. 8.
[git] origin에 merge된 브랜치에서 추가로 진행된 commit 이동하기 문제 상황 local step1이 origin otter66에 머지가 된 후 local step1의 커밋 내용을 그대로 가지고 새로운 브랜치 local step2를 만들어 local step2에 불필요한 local step1 커밋 기록들이 남아있는 상황 문제 발생 이유 local step1이 origin otter66에 머지가 된 후 머지된 브랜치로 체크아웃을 하고, 새롭게 step2를 만들어야 했으나 step1에서 곧바로 step2를 만들어 step1의 커밋(해시값까지 같은 커밋)들이 step2에 따라왔다. ⇒ 제발 머지된 브랜치에서 곧바로 다른 브랜치를 만드는 행동은 하지 말자...! 멈춰...! 제발...! 해결 과정 1. upstream에서 머지된 origin otter66을 local otter.. 2023. 2. 27.
[kotlin][JUnit5] TDD (Test Driven Development, 테스트 주도 개발) 얕은 지식으로 정리해보는 TDD!! 한두달 간의 프리코스 기간에는 재미없고 뭔지 모르기만 했던 테스트 주도 개발이 약 2주일만에 재밌고, 편해졌다! TDD란? 테스트 코드를 먼저 작성 후 작성된 테스트코드에 맞춰 제품 코드를 작성하는 프로그래밍 방법 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나 TDD는 단순한 설계를 장려하고 자신감을 불어 넣어 준다. TDD가 좋은 이유 내 코드 및 개선한/개선할 코드에 자신감을 준다. 코드를 이래저래 개선해도 '테스트 코드가 지켜줄거야!' 라는 자신감이 붙는다. 따라서 개선에 대해 두려움이 없어지고, '일단 바꿔보자'라는 생각을 할 수 있게 된다. 즉, 망설임이 없어진다. (= 개발에 속도가 붙는다.) 기능 명세 및 테스트 명세를 대신할 수 있게 된다.. 2023. 2. 21.
728x90