일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AI
- PETERICA
- Java
- AWS EKS
- Linux
- Spring
- 정보처리기사 실기
- minikube
- 정보처리기사 실기 기출문제
- kotlin spring
- MySQL
- Pinpoint
- CKA
- kotlin
- kotlin querydsl
- aws
- CloudWatch
- 오블완
- 코틀린 코루틴의 정석
- mysql 튜닝
- CKA 기출문제
- 기록으로 실력을 쌓자
- 티스토리챌린지
- IntelliJ
- 공부
- kotlin coroutine
- 정보처리기사실기 기출문제
- APM
- Elasticsearch
- Kubernetes
- Today
- Total
목록Programming (187)
피터의 개발이야기
ㅁ 들어가며ㅇ 코틀린을 처음부터 코드로 잘 코딩할 수는 없다.ㅇ 기존 자바코드를 코틀린으로, 코틀린에서 자바로 변경하는 방법을 정리하였다.ㅁ Java -> Kotlin ㅇ 코드 > Java 파일을 Kotlin 파일로 변환을 클릭한다.ㅇ Kotlin 파일 변경 전에 Kotlin 구성을 수행해야 한다. ㅇ Kotlin 구성을 수행 완료 후에 개별 파일들을 Kotlin으로 변환처리하면 변환된 코틀린 소스를 확인 할 수 있다. ㅇ 왼쪽은 자바 소스이고 오른쪽은 변환된 코틀린 소스이다. ㅁ Kotlin -> Javaㅇ Kotlin에서 자바로 변경하기 위해서는 바이트코드로 중간 과정을 거쳐야 한다.ㅇ 원하는 Kotlin 소스를 선택 후 도구 > Kotlin > 바이트코드표시를 선택한다.ㅇ 오른쪽에 바이트코드 표시..
ㅁ 들어가며ㅇ spring boot tutorial를 참조하여 나만의 확장 프로그램 만들기를 구현해 보았습니다. ㅁ 확장 함수란? 확장 함수는 이미 정의된 클래스나 인터페이스에 상속 없이 함수를 추가 정의할 수 있도록 Kotlin에서 제공되는 기능입니다.예를 들어, 수정할 수 없는 타사 라이브러리의 클래스 또는 인터페이스에 대한 새 함수를 작성할 수 있습니다. 이러한 함수는 마치 원래 클래스의 메서드인 것처럼 일반적인 방법으로 호출할 수 있습니다. 이 메커니즘을 확장 기능 이라고 합니다. 기존 클래스에 대한 새 속성을 정의할 수 있는 확장 속성도 있습니다. ㅁ Extensions.kt// 영어 날짜 형식으로 텍스트 생성, 기존 format() 유형에 함수를 추가fun LocalDateTime.forma..
ㅁ 들어가며ㅇ spring boot tutorial를 참조하여 [kotlin] Springboot 프로젝트 생성-1에서는 프로젝트를 구성하고 로컬에서 구동까지 확인하였다.ㅇ 이번 글에서는 tutorial의 나머지 부분을 정리하였다. ㅁ Kotlin으로 JUnit 5 테스트 작성ㅇ Spring Boot에서 기본적으로 JUnit 5을 사용한다.package com.peterica.blogimport org.assertj.core.api.Assertions.*import org.junit.jupiter.api.Testimport org.springframework.beans.factory.annotation.Autowiredimport org.springframework.boot.test.context.Sp..
ㅁ 들어가며ㅇ spring boot tutorial를 참조하여 프로젝트 생성 과정을 정리하였다. ㅁ Spring Initializrㅇ 인텔리제이에서 신규 프로젝트를 생성하였다.ㅇ 종속성에 키워드 검색을 하고 Enter를 누르면 선택이 되었다. - Spring Web - Mustache - Spring Data JPA - H2 Database - Spring Boot DevTools ㅇ 생성된 프로젝트 모습 # 참고로 command line을 통해 spring 프로젝트도 생성이 가능하다.$ mkdir blog && cd blog$ curl https://start.spring.io/starter.zip \ -d language=kotlin \ -d type=gradle-proje..
ㅁ 들어가며ㅇ 이 글은 코틀린 공식문서를 공부하며 번역한 글이다.ㅇ 이 문서는 Kotlin의 Null 안정성(Null safety)에 대해 설명하고 있다. ㅁ Null Safety란?ㅇ Kotlin의 타입 시스템은 null 참조로 인한 위험을 제거하기 위해 설계되었다.ㅇ Kotlin의 타입(type) 시스템은 Billion Dollar Mistake라고도 알려진 null 참조 코드의 위험성을 없애기 위한 것이다.ㅇ Java를 포함한 많은 프로그래밍 언어에서 가장 일반적인 함정은 NullPointerException(줄임 NPE)이다. ㄴ null 참조의 멤버에 접근하면 null 참조 예외(null reference exception)가 발생한다.ㅇ Kotlin에서 NPE을 예방하기 위해 Null..
ㅁ 타입 추론(type inference) 자바와 달리 코틀린에서는 모든 변수의 타입을 프로그래머가 직접 명시할 필요는 없다. 코틀린 컴파일러가 문맥으로부터 변수 타입을 자동으로 유추하여 생략 가능하다. 변수를 정의하고 값을 정의하면 var a= 10 데이터 타입이 자동으로 지정되어 생략이 가능하다. 이를 타입 추론(type inference)라고 한다. # 타입 선언var a: Intvar b: String # 타입 추론var a = 10var b = "String" 다만, var a: Int, var b: String 처럼 값이 없으면 타입을 명확히 적어줘야 한다. ㅁ val과 var# 기본적 선언val point: int = 1;# 가변 변수var a: Int = 1var b = 2var c: I..
ㅁ 들어가며ㅇ 자바의 자료형은 기본 자료형(Primitive type)과 참조 자료형(Reference type)이 있지만, 코틀린은 언어 특성 상 null값을 가질 수 있어서 Int, Long, Boolean 등과 같이 구별이 없이 사용된다. 이 차이점이 이해하기 위해 기본 자료형과 참조 자료형에 대해서 정리해 보자. ㅁ 자료형의 종류ㅇ 기본자료형(Primitive type) 값을 저장하는 가장 작은 단위로, 값 자체를 변수에 저장한다. 메모리 상에 변수를 저장하기 때문에 null은 저장되지 않는다. ㅇ 참조 자료형(Reference type) 값이 저장된 메모리 주소를 가리키는 주소값을 저장하는 변수이다. C언어의 포인터와 유사하게 값이 저장된 메모리 주소를 저장하기 때문에 null을 할당할 수 있..
ㅁ 들어가며ㅇ Kotlin Docs-기본 타입과 devkuma-Kotlin 데이터 타입를 보면서 코틀린 공부를 하면서 정리하였다. ㅁ 기본 데이터 타입var a: Boolean = true // 논리 (true, false)// Integer typesvar b: Byte = 123 // 8 트 정수 (-128 ~ 127) var c: Short = 123 // 16비트 정수 (-32768 ~ 32767) var d: Int = 123 // 32비트 정수 (-2 31승 ~ 2 31승 -1) var e: Long = 123L // 64비트 정수 (-2 63승 ~ 2 63승 -1) // Floating-point typesvar f: Float ..
ㅁ 들어가며ㅇ 코틀린을 공부하는 중이다. Kotlin 기본 문법과 Kotlin 코드 간단히 살펴보기를 보고 정리하였다.ㅇ 관련 코드는 이곳에 있다. ㅁ 패키지 정의 및 Import패키지 사양은 소스 파일의 맨 위에 있어야 한다.package com.peterica.demoimport kotlin.text.* ㅁ 프로그램 InitJava와 같이 Main이 어플리케이션의 시작점이다.fun main() { println("Hello, world!!!")} fun main(args: Array) { println(args.contentToString())}ㅇ String 인수를 받는 방법 ㅁ Print & Println // 표준출력 print("Hello ") print("world..
ㅁ 들어가며ㅇ JDK21에 정식으로 채택된 기술인 Virtyal Thread에 대해서 공부하였다.ㅇ Reative Streams 방식보다 더 쉽게 적용이 가능하였다.ㅇ [4월 우아한테크세미나] ‘Java의 미래, Virtual Thread를 시청하고 작성한 글이다.ㅇ 목표: Virtyal Thread의 장점을 이해하고, 어떻게 구현되어 있는고, 어떤 상황에 사용 시 이점이 있는지 알 수 있다. ㅁ Virtual Thread 소개ㅇ 스레드 생성 및 스케줄링 속도가 기존 스레드보다 빠르고 저렴하다.ㅇ 스레드 스케줄링을 통해 Nonblocking I/O 지원ㅇ Thread 상속: 기존 스레드를 상속하여 코드 호환성이 높다. ㅁ Thread vs Virtual Thread 생성 리소스 차이ㅇ Thread- 스레..