Kotlin 6

코틀린 디자인 패턴과 아키텍처

1. 디자인 패턴이란? 🤔1.1 쉬운 비유로 이해하기디자인 패턴은 집을 지을 때 사용하는 설계도와 같습니다:검증된 방법으로 문제 해결유지보수가 쉬워짐다른 개발자들과 소통이 쉬워짐예를 들어, 아파트를 지을 때 주방, 화장실, 거실의 위치를 계획하는 것처럼, 앱을 만들 때도 각 부분의 역할과 위치를 계획합니다.2. MVVM 패턴 🏗️2.1 MVVM이란?쉽게 설명하면, 앱을 세 부분으로 나누는 방법입니다:Model: 데이터View: 화면ViewModel: 데이터를 화면에 맞게 가공2.2 실생활 비유레스토랑으로 비유하면:Model: 주방에서 요리하는 셰프 (데이터 처리)View: 손님이 보는 메뉴판과 음식 (화면)ViewModel: 주문을 받고 전달하는 웨이터 (중간 역할)2.3 간단한 예제// Model:..

Kotlin 2024.11.26

코틀린(Kotlin)데이터 클래스와 sealed 클래스

1. 데이터 클래스 (Data Class) 📦1.1 데이터 클래스란?데이터 클래스는 데이터를 보관하고 전달하는 것이 주 목적인 클래스입니다. 일반적으로 다음과 같은 상황에서 사용됩니다:API 응답 데이터 모델링// API 응답을 표현하는 데이터 클래스data class UserResponse( val id: Int, val name: String, val email: String, val age: Int)UI 상태 표현// 화면에 표시할 사용자 정보를 담는 데이터 클래스data class UserUiState( val userName: String, val userImage: String, val followersCount: Int, val isFollowin..

Kotlin 2024.11.25

Kotlin(코틀린) FLow 란?

1. Flow란? 🌊Flow는 시간이 지남에 따라 여러 값을 발행할 수 있는 데이터 스트림입니다.Flow는 코틀린에서 제공하는 비동기 스트림 처리를 위한 API입니다. RxJava의 Observable이나 LiveData와 유사하지만, 코루틴을 기반으로 하며 더 간단하고 효율적인 API를 제공합니다.쉽게 설명하면:실시간으로 업데이트되는 주식 가격 알림타이핑할 때마다 바뀌는 검색 결과SNS의 실시간 피드 업데이트 같은 것들을 처리할 때 사용합니다.1.1 Flow의 특징비동기적으로 데이터 스트림 처리Cold Stream 특성 (구독할 때만 데이터 발행)코루틴 기반의 백프레셔(Backpressure) 지원구조화된 동시성 제공1.2 기본 사용 예제fun simple(): Flow = flow { for ..

Kotlin 2024.11.21

코틀린이란? (Kotlin)

1. 코틀린이란? 🎯코틀린(Kotlin)은 JetBrains사가 2011년에 공개한 현대적인 프로그래밍 언어입니다. Java 플랫폼에서 완벽하게 동작하면서도, 더 간결하고 안전한 코드 작성을 가능하게 하는 실용적인 언어입니다.1.1 코틀린의 탄생 배경JetBrains의 필요성: 자사 제품 개발에서 Java의 한계를 느낌현대적 기능 요구: 함수형 프로그래밍, Null 안전성 등 필요생산성 향상: 보일러플레이트 코드 감소 목적Java와의 호환성: 기존 Java 자산 활용 필요 Java vs Kotlin 코드 비교Java 코드:public class Person { private String name; private int age; public Person(String name, int ag..

Kotlin 2024.11.19

QueryDSL 란, 주요 메서드 및 장단점 기본 설명

QueryDSL 란QueryDSL은 정적 타입을 이용해 SQL과 같은 쿼리를 생성할 수 있도록 해주는 프레임워크입니다. 주로 JPA와 함께 사용되지만, MongoDB, SQL 등 다양한 저장소에도 사용할 수 있습니다.  QueryDSL을 사용하면 메서드들을 조합하여 복잡한 쿼리를 타입이 안전하고 가독성 높은 코드로 작성할 수 있습니다. 또한 동적 쿼리 생성이 용이하고 컴파일 시점에 오류를 잡을 수 있어 개발 생산성과 코드 안정성을 높일 수 있습니다. 다만, 러닝 커브가 있고 복잡한 쿼리의 경우 성능 최적화에 주의가 필요할 수 있습니다.  주요 메서드 1. selectFrom() 기능: 조회할 엔티티를 지정합니다. 사용 예:queryFactory.selectFrom(qCallback)   장점:간결한 문법..

Kotlin 2024.08.13

테스트 코드 작성 이유 및 방법 - SpringBoot, Kotlin

테스트 코드의 장점은 다양하다 그 중 내가 생각하는 가장 큰 이유는 여러명이 프로젝트를 작업하는 경우에 있다. 각자의 코드를 변경한 경우 연관된 코드로 문제가 발생할 수 있다. 문제를 방지하기 위해 코드 변경 시마다 테스트를 일일히 하기에는 문제가 있어 테스트 코드를 작성하여 변경 시마다 자동으로 테스트가 실행되도록 설정하고 안정성과 효율성을 크게 향상시킬 수 있는 측면이다.   @Mock:Mockito를 사용하여 가짜 객체(mock)를 생성합니다. 여기서는 rcsBrandRepository의 가짜 객체를 생성하여 실제 데이터베이스 연결 없이 테스트할 수 있게 합니다.  @InjectMocks: 가짜 객체를 자동으로 주입합니다. 여기서는 rcsBrandServiceImpl에 mock 객체들을 주입합니다...

Kotlin 2024.08.09