| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 자바스크립트
- 스프링핵심원리
- 티스토리챌린지
- k8s
- 카카오
- kubernetes
- ElasticSearch
- 오블완
- 스프링 핵심원리
- JavaScript
- 예제로 배우는 스프링 입문
- Sort
- 카카오 면접
- Kotlin
- Spring
- 이차전지관련주
- effectivejava
- 알고리즘
- 이펙티브 자바
- 스프링
- 이펙티브자바
- Effective Java
- 엘라스틱서치
- 클린아키텍처
- 스프링부트
- 자바
- java
- 김영한
- 알고리즘정렬
- Effective Java 3
- Today
- Total
목록Kotlin (11)
Kim-Baek 개발자 이야기
이 글을 읽으면: Java 개발자가 Kotlin을 배워야 하는 이유와 5분 만에 첫 프로젝트를 시작하는 방법을 알 수 있습니다. IntelliJ 설치부터 Hello World까지 단계별로 따라하세요.📌 목차들어가며 - 왜 Kotlin을 배워야 할까?Kotlin vs Java - 코드량이 40% 줄어든다?개발 환경 설정 - IntelliJ IDEA 설치첫 프로젝트 만들기 - 5분이면 충분합니다Hello World 작성 및 실행변수 선언 맛보기 - val과 var마무리 - 다음 편 예고들어가며 - 왜 Kotlin을 배워야 할까?솔직히 말하면, 저도 처음엔 회의적이었습니다.5년간 Java로 Spring Boot, JPA, Stream API까지 다 익혔는데... "굳이 Kotlin을 배워야 하나?" 싶었죠...
Java 메서드보다 강력하고 유연한 Kotlin 함수 완전 정복목차함수 기본 문법반환 타입과 UnitSingle Expression FunctionDefault Parameters (기본 매개변수)Named Parameters (이름 있는 인자)가변 인자 (vararg)Extension Functions (확장 함수)Infix Functions지역 함수 (Local Functions)들어가며Java에서 메서드를 만들 때마다 느꼈던 불편함들:// Java - 불편한 점들public class MathUtils { // 1. 항상 클래스 안에 있어야 함 public static int add(int a, int b) { return a + b; } // 2. 오버로딩..
Java 개발자가 Kotlin을 배워야 하는 이유와 5분 만에 시작하는 방법목차왜 Kotlin을 배워야 할까?개발 환경 설정Hello World - Java vs Kotlin변수 선언 - val과 var기본 타입과 타입 추론문자열 처리첫 번째 프로그램 만들기들어가며저는 5년간 Java로 개발했습니다. Spring Boot, JPA, Stream API까지 다 익숙했죠. 그런데 팀에서 Kotlin 도입을 결정했고, 처음에는 "굳이?"라는 생각이 들었습니다.하지만 첫 코드를 작성하고 놀랐습니다:// Java - 20줄public class User { private final Long id; private final String name; private final String email; ..
Mockito-Kotlin으로 더 간결하고 강력한 테스트 코드 작성하기목차Kotlin 테스트 환경 설정JUnit5 기본 테스트Mockito-Kotlin 소개Mock 객체 생성과 스터빙Argument Matchers와 CaptorsVerification - 호출 검증Spring Boot 통합 테스트실전 테스트 패턴들어가며Java에서 Mockito를 사용하다가 Kotlin으로 넘어왔을 때, 처음에는 당황스러웠습니다. when()이 Kotlin 예약어라서 컴파일 오류가 나고, any() matcher가 null을 허용하지 않아서 NPE가 발생했습니다.// ❌ 컴파일 오류when(userRepository.findById(1L)).thenReturn(user)// ❌ NPE 발생verify(userService..
Kotlin의 함수형 스타일 예외 처리로 더 안전하고 우아한 코드 작성하기목차Java vs Kotlin 예외 처리 비교기본 try-catch-finallytry를 Expression으로 사용하기runCatching - 함수형 예외 처리Result 타입 활용Spring Boot에서의 예외 처리Custom Exception 설계실전 패턴과 Best Practices들어가며프로젝트에서 외부 API를 호출하는 코드를 작성하다가 예외 처리 때문에 고민이 많았습니다. Java 스타일로 작성하면 try-catch 블록이 중첩되어 코드가 지저분해지고, 예외가 발생했을 때 기본값을 반환하거나 로깅 후 재시도하는 로직을 깔끔하게 처리하기 어려웠습니다.그러다 Kotlin의 runCatching과 Result 타입을 알게 되..
Java 대신 Kotlin으로 Spring Boot 개발하기 - 더 간결하고 안전한 백엔드 개발목차왜 Kotlin + Spring Boot인가?프로젝트 설정과 의존성Spring Annotations와 KotlinDependency Injection의 Kotlin 방식Controller 계층 구현Service 계층과 트랜잭션Entity와 RepositoryConfiguration과 Bean 정의실전 예제: RESTful API 구축들어가며Spring Boot 프로젝트를 Java에서 Kotlin으로 마이그레이션하면서 가장 놀라웠던 점은 코드량이 30% 이상 줄어들었다는 것입니다. Boilerplate 코드가 사라지고, Null Safety로 NPE가 거의 발생하지 않았으며, Data Class 덕분에 DTO..
이 글을 읽으면: Kotlin의 강력한 Extension Functions로 기존 클래스에 새로운 기능을 추가하는 방법과, String Templates, Multi-line String, 정규식 등 실무에서 바로 쓸 수 있는 문자열 처리 기법을 완벽하게 배울 수 있습니다.📌 목차Extension Functions란? - 마법의 확장 기능Custom Extension Functions 만들기String Templates - 변수 삽입의 정석Multi-line String - 복잡한 텍스트 다루기실전 String 처리 기법Extension Functions 고급 활용1. Extension Functions란? - 마법의 확장 기능😫 Java의 불편함 - 유틸리티 클래스 지옥// Java - 유틸리티 클..
이 글을 읽으면: Kotlin의 핵심인 함수형 프로그래밍을 마스터할 수 있습니다. Lambda, Higher-order Functions, map/filter/groupBy 등의 Collection 연산, 그리고 let/apply/run 같은 Scope Functions를 실전 예제로 배워보세요. Java의 Stream API보다 훨씬 강력합니다!📌 목차함수형 프로그래밍이란? - 왜 배워야 할까Lambda & Higher-order FunctionsCollection Operations 완전 정복Scope Functions (let, apply, run, with, also)실전 패턴 모음성능 최적화 팁1. 함수형 프로그래밍이란? - 왜 배워야 할까😫 명령형 프로그래밍의 불편함 (Java 스타일)//..
이 글을 읽으면: Kotlin의 기본 문법인 Data Class, Named Parameters, Primary Constructor를 실전 예제와 함께 배울 수 있습니다. Java 개발자라면 특히 주목! 코드량을 50% 줄이는 마법을 경험하세요.📌 목차Data Class란? - 10줄 코드를 1줄로Named Parameters로 가독성 높이기Primary Constructor 완벽 이해실전 예제로 배우기Java vs Kotlin 비교1. Data Class란? - 10줄 코드를 1줄로😫 Java에서 DTO 만들 때 이런 경험 있으신가요?// Java - 끔찍한 보일러플레이트 코드public class User { private String name; private int age; p..
자바의 컬렉션은 가변이다. 이 때문에 발생하는 문제를 먼저 살펴본다 6.1 package travelator; public class Suffering { public static int sufferScoreFor(List route) { Location start = getDepartsFrom(route); List longestJourneys = longestJourneysIn(route, 3); return sufferScore(longestJourneys, start); } } start 가 별게 없어서 인라인 한다. (6.2) 6.2 public static int sufferScoreFor(List route) { List longestJourneys = longestJourneysIn(rou..
POJO? Plain Old Java Object public class CoffeePOJO { public String name; private List ingredients; public CoffeePOJO(String name, List ingredients) { this.name = name; this.ingredients = ingredients; } void addIngredient(String ingredient) { ingredients.add(ingredient); } } 자바 빈(Java Bean) 공식 자바 빈 문서에 따르면 자바 빈은 아래의 조건을 모두 충족하는 POJO이다. (DTO라고도 한다함) 모든 객체 변수는 Private 제한자를 가지며 getter 와 setter 함수를 ..
