일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- CloudWatch
- kotlin
- CKA 기출문제
- CKA
- mysql 튜닝
- Java
- aws
- AWS EKS
- 기록으로 실력을 쌓자
- Spring
- 정보처리기사 실기 기출문제
- 티스토리챌린지
- APM
- kotlin coroutine
- Linux
- 정보처리기사 실기
- IntelliJ
- 정보처리기사실기 기출문제
- Kubernetes
- 오블완
- 코틀린 코루틴의 정석
- Elasticsearch
- kotlin spring
- AI
- MySQL
- 공부
- minikube
- Pinpoint
- kotlin querydsl
- Today
- Total
목록Programming (188)
피터의 개발이야기
ㅁ 들어가며ㅇ AI팀으로 이동하면서 다양한 언어를 배우고 있다. ㅇ 스칼라의 개념과 기본 문법을 정리하였다.ㅇ 문법 중에서도 함수형 코딩을 [Scala] 스칼라 함수형 프로그래밍에 정리하였다. ㅁ Scala란?ㅇ 2004년 마틴 오더스키가 발표한 멀티-패러다임 프로그래밍 언어ㅇ 객체지향과 함수형 프로그래밍을 결합한 하이브리드 언어 ㅁ 주요 특징ㅇ 순수 객체지향: 모든 값이 객체이며, 함수도 객체로 취급ㅇ 함수형 프로그래밍: 순수 함수, 익명 함수, 고차 함수 지원ㅇ JVM 기반: 자바 가상 머신 위에서 동작하여 자바 라이브러리 사용 가능ㅇ 바이트 코드 최적화: 자바보다 약 20% 빠른 속도ㅇ 동시성 강화: 불변 변수와 순수 함수를 통한 병렬 프로그래밍 지원 ㅁ 스칼라의 프레임워크ㅇ 스칼라에는 다양한 프레..
ㅁ Git이란?Git은 분산 버전 관리 시스템입니다. 코드 변경 사항을 추적하고 여러 개발자가 협업하는 데 도움을 줍니다.ㅁ 기본 명령어git init: 새 저장소 생성git clone [url]: 원격 저장소 복제git add [파일]: 변경 사항 스테이징git commit -m "[메시지]": 변경 사항 커밋git push: 원격 저장소에 변경 사항 업로드git pull: 원격 저장소에서 변경 사항 가져오기ㅁ 브랜치 관리git branch: 브랜치 목록 확인git branch [이름]: 새 브랜치 생성git checkout [브랜치]: 브랜치 전환git merge [브랜치]: 현재 브랜치에 다른 브랜치 병합ㅁ 유용한 팁git status: 현재 상태 확인git log: 커밋 히스토리 확인git dif..
ㅁ 들어가며ㅇ 지난 글, [Kotlin] Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법에서 null 값인 경우 기본값 처리 방법에 대해서 정리하였는데, 이를 응용하여 requestDto.somethingSeq가 null인 경우를 분기 처리하는 방법은 여러 가지가 있어서 그 방법을 정리해 보았다. ㅁ 안전호출 연산자(?)와 엘비스 연산자(?:)val result = requestDto.somethingSeq?.let { seq -> // seq가 null이 아닌 경우 실행될 코드 "Sequence: $seq"} ?: run { // seq가 null인 경우 실행될 코드 "Sequence is null"} ㅁ when 표현식 사용val result = when (..
ㅁ 들어가며ㅇ 루비의 주요 문법을 다음과 같이 정리할 수 있다. ㅁ 기본 출력과 문자열puts "Hello World"ㅇ 루비에서는 puts 명령어를 사용해 기본적인 출력을 할 수 있다.ㅇ 문자열은 큰따옴표나 작은따옴표로 둘러싸서 표현한다. ㅁ 변수와 할당a = 3b = 5puts a + bㅇ 수에 값을 할당할 때는 등호(=)를 사용한다. ㅁ 메소드 정의와 호출def hi(name) puts "Hello #{name}!"endhi("Peterica")ㅇ 메소드는 def 키워드로 정의하고 end로 끝낸다. ㅁ 클래스와 객체class Greeter def initialize(name) @name = name end def say_hi puts "Hi #{@name}!" endendgree..
ㅁ 들어가며ㅇ 새로 편입한 팀에서 Ruby를 사용하고 있어서 루비(Ruby)의 특징에 대해서 정리해 보았다. ㅁ 루비란? 루비는 1995년 일본의 프로그래머 마츠모토 유키히로가 개발한 동적 객체 지향 스크립트 언어이다. 간결하고 직관적인 문법으로 유명한 루비는 "프로그래머의 생산성과 즐거움"을 목표로 설계되었다. ㅁ루비의 특징ㅇ 순수 객체 지향 루비는 모든 것이 객체이다. 심지어 정수와 같은 기본 데이터 타입도 객체로 취급한다. 이는 일관된 객체 지향 프로그래밍을 가능하게 한다.ㅇ 간결한 문법 비는 영어 문장과 유사한 형태의 문법을 가지고 있어, 코드 작성과 읽기가 매우 쉽다.puts "Hello, World!" # 괄호 없이 사용 가능예를 들어, 괄호를 생략할 수 있고, 키워드를 사용하여 더 ..
ㅁ 들어가며ㅇ Kotlin을 2024.5부터 사용하면서, [Kotlin] 널 안정성, Null safety을 정리하였다.ㅇ 실질적인 코딩을 하면서 기본값 세팅하는 방법을 정리하게 되었다.ㅇ 이번 글에서는 Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법을 정리해 보았다.ㅁ 엘비스 연산자 (?:) 사용val nullableLong: Long? = nullval result = nullableLong ?: 0L이 방법에서는 nullableLong이 null이면 0L(Long 타입의 0)이 result에 할당된다. ㅁ 안전 호출 연산자 (?.)와 엘비스 연산자 (?:) 조합// Kotlinval nullableLong: Long? = nullval result = nullableLong?..
ㅁ 들어가며ㅇ Java Spring의 Builder 패턴은 복잡한 생성자를 편리하게 생성할 수 있게 해준다.ㅇ Kotlin은 기본적으로 Builder 패턴을 사용하지 않아도 되는 언어적 특징을 가지고 있다.ㅇ 그럼에도 특정 상황에서는 Builder 패턴을 활용할 수 있다.ㅇ Kotlin에서 Spring의 Builder 패턴을 사용하는 방법에 대해 알아보았다. ㅁ Kotlin의 언어적 특징ㅇ Kotlin은 기본 생성자와 함께 named arguments와 default parameters(기본값 선언) 기능을 제공한다. ㅇ 이 두 가지 기능을 활용하면, 자바에서 흔히 사용하는 Builder 패턴 없이도 객체를 유연하게 생성할 수 있다. // 샘플 dtodata class User( val name: ..
ㅁ 들어가며 Spring AOP(Aspect-Oriented Programming)는 애플리케이션의 비즈니스 로직과 공통 관심사를 분리하여 코드의 모듈화를 돕는 프로그래밍 패러다임이다. 이를 통해 코드의 중복을 줄이고 유지보수성을 높일 수 있다. ㅁ AOP의 주요 개념Aspectㅇ Aspect는 여러 객체에 공통으로 적용되는 기능을 모듈화한 것이다.ㅇ 이는 어드바이스(Advice)와 포인트컷(PointCut)을 결합하여 애플리케이션에 포함되는 횡단 관심사(Cross-cutting Concerns)를 정의한다. Join Pointㅇ Join Point는 애플리케이션 실행 흐름에서 특정 포인트를 의미하며, AOP가 적용될 수 있는 모든 지점을 나타낸다. ㅇ 스프링 AOP에서는 메서드 실행 지점이 주로 Joi..
ㅁ 들어가며ㅇ [Kotlin] Spring Boot 멀티모듈 프로젝트 구성하기에서 멀티 모듈을 구성하여 재사용 가능한 소스를 모듈화 하였다. ㅇ 모듈화된 공통 소스를 Jar로 배포하는 방법을 [Kotlin] Spring 멀티모듈, JAR 파일로 배포하는 방법에 정리하였다.ㅇ 이 글에서는 모듈로 생성된 jar를 로컬 파일 복사를 통해 다른 프로젝트에서 참조시키는 방법을 정리하였다. ㅁ libs 폴더 생성ㅇ 참조할 프로젝트의 루트 디렉토리에 libs라는 폴더를 생성하고, 참조하고자 하는 JAR 파일을 해당 폴더에 복사한다. ㅁ build.gradle 파일 수정ㅇ build.gradle 파일을 열고, dependencies 블록에 JAR 파일을 추가한다.// 특정파일 적용dependencies { imp..
ㅁ 들어가며ㅇ [Kotlin] Spring Boot 멀티모듈 프로젝트 구성하기를 수행하였다.ㅇ Kotlin 멀티모듈 프로젝트를 개발하다 보면 특정 모듈을 다른 프로젝트에서 재사용하고 싶을 때가 있다. ㅇ 이때 해당 모듈을 JAR 파일로 배포하면 편리하게 참조할 수 있다. ㅇ 이 글에서는, Kotlin 멀티모듈 프로젝트에서 Gradle을 설정하여 특정 모듈을 JAR 파일로 배포하는 방법을 정리하였다. ㅁ 프로젝트 구조ㅇ 멀티 모듈 프로젝트는 일반적으로 다음과 같은 구조를 가진다kotlin-multi-module│├── build.gradle.kts├── settings.gradle.kts│├── common│ ├── build.gradle.kts│ └── src/main/kotlin/com/pete..