Jetpack Compose와 상태관리
개요우아한테크코스에서 각 크루 멤버는 교육 기간 동안 한 번 발표해야 합니다. 주제는 자유롭고, 배운 것이나 경험한 것을 공유해야 합니다. 저는 평소에 관심있게 공부했던 Jetpack Compose를 주제로 선택했습니다. 발표 자료를 공유합니다.
- Deep Dive/Android Jetpack Compose
- · 2024. 11. 2.
개요우아한테크코스에서 각 크루 멤버는 교육 기간 동안 한 번 발표해야 합니다. 주제는 자유롭고, 배운 것이나 경험한 것을 공유해야 합니다. 저는 평소에 관심있게 공부했던 Jetpack Compose를 주제로 선택했습니다. 발표 자료를 공유합니다.
💡우아한테크코스 과정에시 진행한 LiveData를 포함한 테스트에 대하여 기록하였습니다. LiveData Testing안드로이드의 LiveData는 Android에서 UI와 데이터 상태를 관찰할 수 있도록 설계된 구조입니다.LiveData는 Lifecycle에 의존하기 때문에 직접 테스트하기에는 복잡할 수 있으며, 이를 해결하기 위해서 라이프사이클을 수동으로 조작하거나 JUnit과 함께 테스트 도구를 활용해야 합니다. JUnit4 +InstantTaskExecutorRuleLiveData는 기본적으로 백그라운드 스레드에서 동작합니다.InstantTaskExecutorRule를 활용하면 이를 테스트 환경에서 제어 가능하게 하며, 스레드 문제를 회피할 수 있습니다.InstantTaskExecutorRule..
💡CI/CD에 활용되는 Jenkins에 대하여 학습하여 정리하였습니다.JenkinsJenkins는 오픈소스 자동화 서버로, 소프트웨어 개발 과정에서 지속적인 통합과 지속적인 배포(CI/CD)를 돕는 도구입니다.다양한 플러그인과 함께 사용되며, 이를 통해 빌드, 테스트, 배포와 같은 작업을 자동으로 실행할 수 있습니다. CI/CD 파이프라인Jenkins의 특징Java Runtime Environment에서 동작합니다.다양한 플러그인들을 활용하여 각종 자동화 작업을 처리할 수 있습니다.일련의 자동화 적읍의 순서들의 집합인 pipeline을 통해 CI/CD 파이프라인을 구축할 수 있습니다.플러그인들을 조합해 파이프라인을 구축할 수 있습니다. Jenkins PluginsCredentials Plugin배포에 ..
💡빌드와 테스트, 배포에 활용되는 CI/CD에 대하여 학습 후 정리하였습니다. CI/CD?CI/CD는 소프트웨어 개발 프로세스를 자동화하고 효율적으로 만들기 위한 개발 관행입니다.코드를 작은 단위로 자주 병합하고, 자동화된 테스트와 배포를 통해 안정적이고 신속한 소프트웨어 릴리스를 가능하게 하는 목표를 가지고 있습니다.CI (Continuous Integration)개발자들이 자주 코드를 통합하고 변경 사항을 버전 관리 시스템에 병합하는 과정입니다.CI 파이프라인은 코드 변경 사항이 병합될 때마다 자동으로 빌드, 테스트를 실행하여 코드 품질을 보장합니다.CD (Continuous Delivery/Deployment)Continuous Delivery는 CI 이후, 검증된 코드가 자동으로 준비된 프로덕션..
💡소프트웨어 설계를 위한 디자인 패턴에 대하여 정리하였습니다. 디자인 패턴(Design Pattern)디자인 패턴은 소프트웨어 설계에서 자주 발생하는 문제를 해결하기 위한 재사용 가능한 해결책을 뜻합니다.디자인 패턴은 반복적으로 나타나는 설계 문제에 대한 최적화된 해결 방안을 정리한 것이며, 구체적인 코드를 제시하기보다는 문제를 해결하는 방법론과 구조적인 틀을 제공합니다.디자인 패턴의 목적검증된 설계 패턴을 사용하여 코드의 재사용성을 높입니다.설계 패턴을 적용하여 명확한 코드 구조와 유지보수를 쉽게 합니다.변경에 유연하게 대처할 수 있는 구조를 만들어 확장성을 높입니다.소프트웨어 개발자 간에 문제 해결 방법에 대한 공통적인 용어와 접근 방식을 제공합니다.객체 지향 4원칙디자인 패턴은 객체 지향 설계의 ..
💡우아한테크코스 인터뷰 과정에서 받았던 질문 중인 상속과 조합의 차이에 대하여 정리하였습니다. 개요상속과 조합은 객체지향 프로그래밍에서 객체 간의 관계를 모델링하는 중요한 개념입니다.두 개념은 코드 재사용과 객체 간의 관계를 명확히 하는 데 도움을 줍니다.“상속보다 조합을 사용하라”라는 말이 있는데, 그 이유를 알아보려 합니다.상속(Inheritance)상속은 자식 클래스가 부모 클래스의 속성과 메서드를 물려받는 개념입니다.부모 - 자식 관계를 형성하며, 자식 클래스는 부모 클래스의 기능을 확장하거나 재정의할 수 있습니다.is - a상속은 A는 B이다(A is B)라는 관계를 나타내며, 자식 클래스는 부모 클래스의 일종으로 간주합니다.이를 활용하면 부모 클래스에서 정의된 속성 및 메서드를 자식 클래스에..