본문 바로가기
728x90

전체 글155

🚩 개발자의 길잡이 : 요즘 개발자 🚩 도서 후기 요즘 개발자 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 장점 길잡이의 역할을 해준다. 취준생인 나에게는 회사를 고르는 방법, 이력서와 포트폴리오를 준비하는 방법을 알려준다. 다른 누군가에게는 회사에서 스스로 성장하는 방법, 함께 성장하는 방법을 알려줄 것이다. 내가 어떤 사람인지를 찾고, 이에 맞추어 방법을 만들어주는 책이다. 단점 책에서는 여러 미션과 함께 고민이라는 숙제를 던지지만, 이에 대해 함께 고민하고 의논할 친구는 만들어주지 못한다. (친구는 스스로의 숙제로...) 총평 "요즘 개발자"이지만, "요즘"뿐만 아니라, "개발자"뿐만 아니라, 커리어에 고민이 있는 모두에게 추천하고 싶은 책 이 글은 한빛미디어 활동을 위해서 책을 제공받아 작성된.. 2024. 2. 25.
🐈‍⬛개발자를 위한 교양서 : 스트리트 코더🐈‍⬛ 후기 스트리트 하면 고양이... 스트리트 코더 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 장점 경험을 늘려준다. 실제 개발을 하며 만났던, 만날 사례와 고민을 함께 해준다. 단점 언어에 종속적인 설명들이 종종 있다. C#, js를 기반으로 된 설명들이 있었다. 하지만, 이러한 내용을 제외하고 보아도 이해에 문제가 있지는 않았다. 대중교통의 이야기꾼으로 강력 추천 ! 우테코 슬랙에서 제임스 코치님이 추천한 책이 있었다. 스트리트 코더였다. 사실 이 때는 사놓고 읽지 않은 책들이 이미 많았기에 구매하지는 않았다. 그러다 서점에서 우연히 마주쳐 들여다보았을 때 불량식품 같은 맛에 이끌렸다. 마침, 길벗 개발자 리뷰어에 선정되어 책을 읽을 기회를 마련할 수 있었.. 2023. 12. 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.
Android ViewModel Test - Junit4 단위 테스트가 무엇인지 이해하고, 적용해 본 경험이 있는 사람을 대상으로 설명하겠습니다. 이 글을 읽고 ViewModel 테스트와 친해지길 바랍니다! 화이팅! Android ViewModel Test AAC ViewModel은 사전 준비 없이 테스트하게 된다면 테스트에 실패합니다. 여기에는 크게 두 가지 경우가 있습니다. LiveData value 변경에 대한 테스트, Coroutine과 같은 비동기 작업에 대한 테스트입니다. 두 경우에 대한 실패 원인은 같습니다. 이는 테스트가 MainThread에서 작동하지 않는다는 것입니다. WorkerThread 테스트는 WorkerThread에서 작동합니다. 테스트는 MainThread에서 수행되지 않고, WorkerThread에서 작동합니다. 이것이 왜 Liv.. 2023. 9. 6.
Test Double (테스트 더블) Test Double 테스트가 어려운 객체를 테스트할 수 있게 해주는 객체 (ex. 데이터베이스에 영향을 주고 받는 경우.) 스턴트맨(정식명칙: 스턴트더블)에서 비롯된 이름. 크게 Dummy,Fake,Stub,Spy,Mock이 있다. 예제 코드 (kotlin) Dummy 테스트하고자 하는 객체의 생성을 위해 인스턴스화 하고 전달되는 객체. 실제 사용되지 않는 객체. Dummy 객체의 메서드가 호출되었을 때 정상 동작은 보장하지 않는다. 예제 코드) ExUserRepository 객체에서 User id를 사용해 User를 검색하는 기능을 테스트할 경우. ExUserRepository 객체를 인스턴스화 하기 위해 FailLogger를 생성자로 필요로 한다. 성공을 가정한 테스트기에 FailLogger가 호출.. 2023. 6. 19.
우아한테크코스 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.
Intent 알아보기 Intent란? 영어 단어적 의미: 목표, 목적, 의지 안드로이드 공식 문서: 메시징 객체. 다른 Component로 작업을 요청하는 데 사용. 인텐트가 Component 간 통신을 촉진하는 데는 여러 방식이 있지만 기본적인 사용 사례는 크게 세 가지로 나눌 수 있습니다. (액티비티/서비스 시작, 브로드캐스트 전달 등) 즉, Component를 실행하기 위해 시스템에 넘기는 정보. Component(Content provider 제외) 간의 작업 수행을 위한 정보를 전달하는 역할. Intent의 유형과 그에 따른 실행 과정 Explicit intents (명시적 인텐트) 실행하고자 하는 컴포넌트의 클래스명을 Intent에 담아 명시하는 방법. 주로 동일 앱에서 다른 Component를 실행시킬 때 사용.. 2023. 6. 15.
[android] Context를 가지는 객체를 singleton으로 관리하기 아래의 코드들을 실행시키기 위한 MainActivity.kt와 activity_main.xml 더보기 class MainActivity : AppCompatActivity() { private val settingSwitch: SwitchCompat by lazy { findViewById(R.id.notification_setting_switch) } private val settingTv: TextView by lazy { findViewById(R.id.textView) } private val alarmSetting: NotificationSetting by lazy { NotificationSetting.getInstance(this) } override fun onCreate(savedInst.. 2023. 5. 22.
728x90