일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PETERICA
- minikube
- 정보처리기사 실기 기출문제
- 오블완
- 정보처리기사 실기
- AI
- 기록으로 실력을 쌓자
- CKA
- APM
- CloudWatch
- 공부
- Java
- aws
- CKA 기출문제
- 코틀린 코루틴의 정석
- Elasticsearch
- Kubernetes
- AWS EKS
- 정보처리기사실기 기출문제
- kotlin spring
- kotlin
- Spring
- 티스토리챌린지
- kotlin querydsl
- IntelliJ
- kotlin coroutine
- Linux
- mysql 튜닝
- Pinpoint
- MySQL
- Today
- Total
목록분류 전체보기 (798)
피터의 개발이야기
ㅁ 들어가며ㅇ 이 글은 코틀린 공식문서를 공부하며 번역한 글이다.ㅇ 이 문서는 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- 스레..
ㅁ 들어가며ㅇ 코틀린을 공부하는 중이다. devkuma의 코틀린 내용을 보고 공부한 내용을 정리하였다. ㅇ 이번 글에서는 개발환경 세팅에 대해 정리하였다. ㅁ Kotlin 개발 환경의 종류Kotlin을 개발 환경을 만들고 실행하는 방법은 다음과 같다.웹 브라우저에서 사용할 수 있는 편집기 실행커멘드 라인 인터페이스(CLI) 컴파일러IntelliJ IDEA 설치나의 경우 Intellij 설치를 진행하였다. ㅁ Kotlin 첫 프로젝프 생성ㅇ File > new > project... 를 클릭하여 신규 프로젝트를 생성하였다.ㅇ Add sample code를 체크한 상태이다. ㅇ 신규 프로젝트와 함께 Hello world를 출력하난 샘플코드가 생성되었다.ㅇ Java로 구성된 샘플코드라 필요는 없었다. ㅇ..
ㅁ 들어가며 코틀린을 공부하는 중이다. devkuma의 코틀린 내용을 보고 공부한 내용을 정리하였다. ㅁ 코틀린이란?코틀린(Kotlin)은 JetBrains에서 개발하는 크로스 플랫폼 범용 프로그래밍 언어로, 자바와 완벽하게 호환되게 설계되었으며 일반적으로 JVM에서 사용되나 자바스크립트, LLVM 그리고 데이터 사이언스 영역에서도 사용 가능하다. 2011년 여름에 발표되어 현재 Apache 2.0 라이센스로 OSS(Open Source Software)로서 개발 환경과 그 소스 코드가 공개되어 무료로 사용할 수 있다.파일 확장자는 일반적으로 .kt를 사용하며 코틀린 스크립트는 .kts를 사용한다.코틀린은 2019년 5월 7일 이후로 구글의 안드로이드 앱 개발에서 선호하는 언어가 되었다. ㅁ 코틀린의 설..
ㅁ 들어가며ㅇ Docker 컨테이너의 통신은 어떻게 하는 것인가를 공부하고 있습니다.ㅇ [Docker] Network, 호스트와 컨테이너의 구조에서 도커 네트워크의 구조를 이해하고 네트워트 설정의 특성을 정리하였습니다.ㅇ [Docker] Network 명령어 정리에서 네트워크 연결을 위한 CLI 명령어를 정리하였습니다.ㅇ 이번 글에서는 컨테이너의 통신을 상황별로 어떻게 설정하는지 공부한 내용을 정리하였습니다. ㅁ 브리지 네트워크ㅇ Docker Container를 생성 시 네트워크의 기본은 docker0입니다.# busybox 생성$ docker run -itd --name=busybox busybox# busybox 생성$ docker run -itd --name=busybox2 busybox# brid..