| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- python install
- 텐서플로
- 머신러닝
- 가상환경
- tensorflow?
- 파이썬
- conda
- Keras
- 주피터
- 아나콘다
- Jupyter notebook
- 주피터노트북
- 파이썬설치
- 텐서플로우
- Python
- 쥬피터
- nbextensions
- 기본경로변경
- 텐서플로우란?
- 파이썬 install
- 쥬피터노트북
- deep learning
- jupyternotebook
- Anaconda python
- anaconda 환경변수
- TensorFlow
- Machine learning
- Anaconda
- Python설치
- Today
- Total
목록전체 글 (14)
소소한 개발이야기
지난 글에서는 MyBatis와 JPA를 Kotlin으로 쓰는 방법을 정리했습니다. 이번 글은 시리즈의 마지막 편으로, 예고한 대로 운영 중인 Java 프로젝트에 Kotlin을 실제로 도입하는 방법을 다룹니다. 새 프로젝트를 Kotlin으로 시작하는 것은 어렵지 않지만, 현실에서는 이미 수년간 운영 중인 Java 코드베이스가 있습니다. 그 위에 Kotlin을 조금씩, 안전하게 얹는 방법을 정리했습니다.목차도입 전에 따져 볼 것빌드 설정: Gradle과 Maven어디서부터 바꿀까: 전환 순서자동 변환 기능 제대로 쓰기테스트 코드 작성팀 규칙 정하기도입 체크리스트시리즈를 마치며1. 도입 전에 따져 볼 것✅ (1) Java도 발전했다솔직하게 짚고 넘어가겠습니다. Java도 계속 발전해서 record(16), 텍..
지난 글에서는 Spring Boot의 Controller, Service, 설정을 Kotlin으로 옮겨 봤습니다. 이번 글에서는 예고한 대로 한 단계 아래인 데이터 접근 계층을 다룹니다. 국내 SI·SM 프로젝트에서 여전히 많이 쓰는 MyBatis와, 신규 프로젝트에서 많이 쓰는 JPA를 각각 Kotlin으로 작성할 때 무엇이 달라지고 어디서 막히는지 Java 코드와 비교하며 정리했습니다.목차MyBatis Mapper 인터페이스MyBatis 결과 매핑: data class와 생성자MyBatis에서 자주 만나는 문제JPA Entity를 Kotlin으로Spring Data JPA와 Kotlin 확장한눈에 비교하기마무리1. MyBatis Mapper 인터페이스✅ (1) 인터페이스 선언은 거의 같다Mapper ..
지난 글에서는 Java와 Kotlin을 한 프로젝트에서 함께 쓸 때의 상호 운용을 정리했습니다. 이번 글에서는 예고한 대로 Spring Boot를 Kotlin으로 작성하는 방법을 다룹니다. 평소 Java로 작성하던 Controller, Service, DTO, 설정 클래스를 Kotlin으로 옮기면 어떻게 달라지는지, 그리고 Kotlin + Spring 조합에서만 필요한 설정이 무엇인지 하나씩 비교해 보겠습니다.목차프로젝트 설정: 꼭 필요한 플러그인 두 가지애플리케이션 시작과 생성자 주입Controller와 DTOBean Validation과 어노테이션 대상Service와 @Transactional설정 값 바인딩: @ConfigurationProperties한눈에 비교하기마무리1. 프로젝트 설정: 꼭 필요..
지난 글까지 6편에 걸쳐 Kotlin 문법을 Java와 비교하며 살펴봤습니다. 이번 글부터는 실무 편입니다. 첫 번째 주제는 예고한 대로 Java와 Kotlin의 상호 운용입니다. 기존 Java 프로젝트에 Kotlin을 도입하면 한동안은 두 언어가 같은 프로젝트에서 서로를 호출하게 되는데, 이때 어디서 문제가 생기고 어떻게 다루면 되는지 양방향으로 정리했습니다.목차같은 JVM, 같은 바이트코드Kotlin에서 Java 부르기: 프로퍼티 문법플랫폼 타입: null 안전성의 빈틈Java에서 Kotlin 부르기: @Jvm 어노테이션예외와 컬렉션의 차이한눈에 비교하기마무리1. 같은 JVM, 같은 바이트코드✅ (1) 한 프로젝트에 .java와 .kt를 섞을 수 있다첫 번째 글에서 말씀드렸듯 Kotlin은 JVM 바..
지난 글에서는 람다와 컬렉션 함수형 API를 Java Stream과 비교해 봤습니다. 이번 글에서는 예고한 대로 확장 함수와 스코프 함수를 정리했습니다. Java 프로젝트마다 하나씩은 있는 StringUtils, DateUtils 같은 유틸 클래스가 Kotlin에서는 어떻게 바뀌는지, 그리고 Kotlin 코드에서 유난히 자주 보이는 let, apply 같은 함수가 정확히 무엇인지 살펴보겠습니다.목차확장 함수: 유틸 클래스를 대신하다확장 프로퍼티와 nullable 확장스코프 함수 한눈에 보기let과 alsoapply, run, with한눈에 비교하기마무리1. 확장 함수: 유틸 클래스를 대신하다✅ (1) 기존 클래스에 메서드를 추가하는 것처럼Java에서는 String처럼 수정할 수 없는 클래스에 기능을 더하..
지난 글에서는 클래스와 객체를 Java와 비교해 봤습니다. 이번 글에서는 예고한 대로 람다와 컬렉션 함수형 API를 정리했습니다. Java 8의 Stream API를 써 보셨다면 개념은 이미 익숙하실 텐데, Kotlin에서는 stream()과 collect() 없이 컬렉션에서 바로 쓸 수 있다는 점이 가장 큰 차이입니다.목차람다 기본 문법함수 타입과 고차 함수자주 쓰는 컬렉션 함수그룹핑과 변환: groupBy, associateBySequence: 지연 연산실전 예제: 주문 데이터 집계한눈에 비교하기마무리1. 람다 기본 문법✅ (1) 람다는 중괄호로 감싼다Java 람다는 (a, b) -> a + b 형태지만, Kotlin 람다는 전체를 중괄호로 감싸고 화살표 앞에 매개변수를 둡니다.JavaBinaryOp..
지난 글에서는 반복문과 컬렉션을 Java와 비교해 봤습니다. 이번 글에서는 예고한 대로 클래스와 객체를 정리했습니다. Java에서 클래스 하나를 만들 때 따라오던 필드, 생성자, getter/setter가 Kotlin에서는 어떻게 한 줄로 줄어드는지, 그리고 static이 없는 Kotlin에서 그 역할을 무엇이 대신하는지 살펴보겠습니다.목차클래스 선언과 주 생성자프로퍼티: 필드 + getter/setterdata class 자세히 보기상속과 인터페이스static 대신 object와 companion object한눈에 비교하기마무리1. 클래스 선언과 주 생성자✅ (1) 생성자를 클래스 이름 옆에Kotlin은 클래스 이름 바로 옆에 주 생성자(primary constructor)를 선언합니다. 매개변수 앞에..
지난 글에서는 변수, 함수, 조건문을 Java와 비교하며 살펴봤습니다. 이번 글에서는 예고한 대로 반복문과 컬렉션을 정리했습니다. Kotlin의 범위(Range) 문법과, Java에는 없는 읽기 전용 컬렉션과 변경 가능 컬렉션의 구분이 이번 글의 핵심입니다.목차범위(Range) 표현식반복문: for와 while컬렉션 기본: 읽기 전용 vs 변경 가능List, Set, Map 사용법한눈에 비교하기마무리1. 범위(Range) 표현식✅ (1) .. 와 untilKotlin은 시작..끝 형태로 범위를 만듭니다. ..는 끝 값을 포함하고, until은 끝 값을 포함하지 않습니다. Kotlin 1.9부터는 until 대신 .. 연산자도 쓸 수 있습니다.Kotlinval a = 1..5 // 1, 2, 3..
