💡 다양한 비동기 처리 방법에 대하여 알아보고, 예제를 통해서 학습하였습니다.코투린이 없다면?일반적인 비동기 로직일반적인 프론트엔드(안드로이드) 단에서 애플리케이션 로직을 구현하는 방법은 아래와 같습니다.다양한 소스로부터 데이터를 받음API, 뷰 구성요소, 데이터베이스, 다른 앱데이터 처리가공된 데이터로 작업뷰 동기화데이터베이스 저장API로 전송일반적인 비동기 연산 라이브러리는 아래와 같이 사용됩니다.fun onCreate() { val news = getNewsFromApi() val sortedNews = news .sortedByDescending { it.publishedAt } view.showNews { sortedNews }}안드로이드에서는 하나의 앱에서 뷰를 ..
💡 도메인 특화 언어인 DSL의 개념에 대하여 알고, 간단한 실습을 진행하였습니다.DSL?특정 업무나 문제 해결을 위해 최적화된 언어로, 해당 도메인에서 일반적으로 사용되는 개념과 연산을 간결하고 직관적으로 표현할 수 있게 해줍니다.Domain Specific Language의 약자로, 특정 도메인에 국한해 사용하는 언어입니다.반대 개념으로는 General Purpose Language가 있으며, C, C++, Kotlin, Swift 등의 프로그래밍 언어들이 이에 해당합니다.DSL vs GPLDSL웹 페이지 레이아웃, 데이터베이스 쿼리, 빌드 자동화 등 작업을 쉽게 하기 위해 설계되었습니다.생산성과 가독성이 좋고, 복잡한 작업을 간단하게 표현할 수 있습니다.하지만 범용적이지 않아서 다른 도메인에 적용..
💡 view 테스트(Recycler, Detail…)를 진행하기 위해서 AndroidJUnit4를 학습하였습니다!AndroidJUnit4Android 개발 중 단위 테스트를 실행하기 위한 JUnit4 테스트 러너입니다.AndroidJUnit4를 사용해서 안드로이드 프레임워크 및 라이브러리를 사용하는 코드, 애플리케이션 구성 요소에 대한 테스트를 실행할 수 있습니다.Activity, Service, ContentProvider..테스트 중에 Android API를 사용할 수 있다는 장점이 있습니다.테스트 클래스에 @RunWith(AndroidJUnit4::class) 어노테이션을 추가하여 AndroidJUnit4 테스트를 적용할 수 있습니다.@RunWith(AndroidJUnit4::class)class..
💡 가짜 생성자와 팩토리 함수에 대하여 학습하였습니다. 가짜 생성자Fake Constructor팩토리 메서드 또는 동반 객체와 관련해서 사용되는 용어이며, 일반적인 생성자 호출 대신 특정 조건이나 로직에 따라 객체를 생성하는 메서드를 의미합니다.객체 생성 로직을 캡슐화하여 코드의 가독성 및 유지보수성을 높이는 데 유용하게 활용할 수 있습니다.Kotlin과 Java에서는 생성자라는 개념이 있지만 실제로는 일반 함수와 차이점이 없습니다.동반 객체를 이용한 팩토리 함수companion object를 활용해서 가짜 생성자를 구현하였습니다.class User private constructor(val name: String, val age: Int) { companion object { fun creat..
💡 TDD를 통해 로직을 구현하면서 TestFixture에 대한 개념을 알게 되었고, 이에 대하여 자세하게 학습하였습니다.TestFixture테스트를 위한 고정된 상태를 설정하는 것을 의미합니다.테스트 실행 전에 공통으로 필요한 객체나 데이터를 준비하여, 중복 코드를 줄이고 가독성과 일관성을 향상시킬 수 있습니다.테스트 대상 클래스 생성class Calculator { fun add(a: Int, b: Int): Int { return a + b } fun subtract(a: Int, b: Int): Int { return a - b }}위와 같은 간단한 클래스가 있다고 가정하고, 테스트 코드를 작성해보겠습니다.import org.junit.jupiter..
💡 TDD를 활용한 개발의 장점을 알고, 리팩토링하는 과정을 학습하였습니다.TDD테스트 주도 개발로 코드를 작성하기 전에 테스트를 먼저 작성하는 개발 방법론입니다.아래와 같은 작업을, 매우 짧은 사이클로 반복한다는 특징이 있습니다.[빨강] 실패하는 작은 테스트 작성[초록] 최대한 빠른 테스트 통과[파랑] 리팩터링 과정을 통해서 중복 & 코드 개선TDD의 목적은 코드가 테스트에 지정한 요구 사항을 충족하는지 확인하고, 코드를 리팩토링하기 쉽게 수정하는 것입니다.TDD 원칙실패하는 단위 테스트를 작성할 때까지 구현 코드를 작성하지 않습니다.컴파일은 실패하지 않지만, 실행이 실패하는 정도로만 코드를 작성합니다.현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성합니다.Kotlin에서의 TDDKotlin은..