일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IntelliJ
- minikube
- kotlin spring
- 기록으로 실력을 쌓자
- 정보처리기사실기 기출문제
- 정보처리기사 실기
- 오블완
- aws
- kotlin querydsl
- MySQL
- CKA
- mysql 튜닝
- AWS EKS
- kotlin
- 정보처리기사 실기 기출문제
- AI
- Pinpoint
- CKA 기출문제
- 공부
- Elasticsearch
- Spring
- kotlin coroutine
- APM
- Java
- Linux
- 티스토리챌린지
- CloudWatch
- 코틀린 코루틴의 정석
- PETERICA
- Kubernetes
- Today
- Total
목록2024/06 (31)
피터의 개발이야기
ㅁ 들어가며ㅇ Kotlin을 공부하면서 Ktor를 알게 되어 공부한 내용을 정리하였다.ㅇ MSA에 맞추어 비동기처리가 가능한 클라이언트, 서버 애플리케이션을 빠르게 만들 수 있는다.ㅇ Ktor을 알아보고 주요 특징과 적절한 사용예를 정리하였다.ㅇ 추가적으로 Spring과 Ktor의 성능 비교된 글도 짧게 소개하였다. # 요약- Ktor는 JetBrains에서 개발한 Kotlin 전용 웹 개발 프레임워크로, 서버와 클라이언트 앱 개발을 모두 지원하며 코루틴 기반의 비동기 처리를 제공한다.- Ktor의 주요 특징으로는 경량성, 코루틴 지원, 모듈형 아키텍처, 다양한 플랫폼 지원, 사용 편의성이 있다.- Spring과 비교했을 때 Ktor는 부팅 속도가 빠르고 리소스 사용량이 적어, 마이크로서비스 아키텍처와..
ㅁ정보처리기사 글들ㅇ [정처기] 2024년 1회 정보처리기사 필기 시험ㅇ [정처기] 2024년 정보처리기사 필기 시험 유의사항ㅇ [정처기] 2024년 1회 정보처리기사 필기 합격 후기ㅇ [정처기] 2024년 1회 정보처리기사 합격 후기, 필기 문제집만으로 ㅁ 들어가며ㅇ 정보처리기사 필기를 합격하여 실기를 준비하고 있다.ㅇ 필기 공부를 하면서 실기를 대비하여 자주 보았던 핵심요약PDF를 중심으로 공부를 하였다.ㅇ 이 글은 자격증 공부를 위한 정보를 정리하고, 기술문제를 공부하면서 정리한 글들의 목차를 정리하였다.ㅇ 6.18 최총 합격하여 합격 후기를 추가하였다. ㅁ 합격후기ㅇ 2024.6.18 정보처리기사 실기에 최종 합격하였다.ㅇ 실기를 위한 다른 요약집이나 기출문제집은 구매하지 않았다.ㅇ 필기 준비 시..
ㅁ 들어가며ㅇ DBA인 동료와 MySQL의 SSL 통신 방법에 대해서 이야기 나누면서 공부한 내용이다.ㅇ MySQL 문서와 AWS 문서를 보며 공부하였다. MySQL에서 TLS 연결은 어떻게 설명하는가?ㅁ MySQL 참조 문서 링크8.3 Using Encrypted Connections 8.3.1 Configuring MySQL to Use Encrypted Connections 8.3.2 Encrypted Connection TLS Protocols and Ciphers 8.3.3 Creating SSL and RSA Certificates and Keys 8.3.4 Connecting to MySQL Remotely from Windows with SSH 8.3.5 Reusing SSL Sessio..
ㅁ 들어가며ㅇ SOAP과 REST 비교에 대한 글을 작성하였다.ㅇ Restful는 웹 서비스와 모바일 애플리케이션 경량화의 필요에 맞춘 아키텍처 원칙 세트이다.ㅇ 기존에 업데이트를 위한 PUT 메서드만 알고 있었는데, 더욱 경량화된 PATCH메서드를 알게 되었다.ㅇ PATCH와 PUT의 차이점을 알아보고 멱등성의 보장 여부에 대해서 정리하였다. ㅁ REST API에서 PATCH와 PUT의 차이점ㅇ REST API에서 자원을 업데이트할 때 사용하는 두 가지 일반적인 HTTP 메서드는 PATCH와 PUT가 있다. ㅇ 두 메서드 모두 기존 자원을 변경하는 데 사용되지만, 변경 범위와 방식에 있어 중요한 차이점을 가지고 있다. ㅁ PUT 변경 범위ㅇ PUT 메서드는 전체 자원을 수정한다.ㅇ 요청 시 전달된 모든..
ㅁ 들어가며ㅇ 멀티 스레드, 병렬처리에 관한 개발 이야기는 parallelStream을 이용한 방식이었다.ㅇ [Spring] parallelStream, Intercom 데이터 백업하기에서 페이징처리로 속도제한이 되어 있는 intercom의 데이터를 병렬처리로 다운로드 속도를 극복했던 과정이다.ㅇ 멀티 스레드에 관한 글, [JAVA] JDK21, Virtual Thread, Continuation에 대한 이해과 [kotlin] 코틀린 코루틴의 정석 - 코루틴의 동작 원리(Coroutine과 Continuation)을 작성하면서 Java Stream의 병렬 처리 장점에 대해서 다시 생각하게 되었다. ㅁ Java Stream의 병렬 처리 장점ㅇ Java 8부터 도입된 Stream API는 함수형 프로그래밍..
ㅁ 들어가며ㅇ 코틀린 코루틴의 정석 책을 보고 정리한 글입니다.11장 코루틴의 심화 - 무제한 디스패처(Unconfined Dispatcher)ㅇ 무제한 디스패처는 코루틴을 자신을 실행시킨 스레드에서 바로 실행되도록 한다.ㅇ 호출된 스레드와 상관없기 때문에 무제한적으로 실행하기 때문에 무제한 디스패처라고 부른다. 자신을 실행 시킨 스레드에서 즉시 실행fun main() = runBlocking { val startTime = System.currentTimeMillis() // Dispatchers.Unconfined 사용 launch(Dispatchers.Unconfined) { println("[${Thread.currentThread().name}][${getRunTime(startTi..
ㅁ 들어가며ㅇ 코틀린 코루틴의 정석 책을 보고 정리한 글입니다.11장 코루틴의 심화 - Coroutine의 내부동작 원리ㅇ Coroutine의 동작 원리는 작업의 중단과 재시작에 방식에 있다.ㅇ 이 주제에 관해서는 [JAVA] JDK21, Virtual Thread, Continuation에 대한 이해에서 이야기를 하였다. ㄴ Coroutine의 비동기의 핵심은 작업의 중단 및 재시작하는 runContinuation 작업이다. ㄴ Continuation을 더 깊이 이해하기 위해서는 LockSupport.park로 기존 스레드의 중지 재시작 메커니즘을 이해해야한다. Continuation Passing Styleㅇ 코틀린의 내부동작 원리인 코루틴의 일시 중단과 재개를 위해 Continuation 객..
ㅁ 들어가며ㅇ 코루틴의 디버깅을 하기 위해서는 코루틴의 Job, Dispatchers, Context 정보를 확인해야 한다.ㅇ 비동기처리를 위한 다양한 코루틴의 방식을 이해하기 위해서 필요한 기본 정보를 출력할 수 있어야 한다.ㅇ 이를 위한 디버깅 방법을 정리하였다. ㅁ 기본 디버깅 방법: Debuging Mode fun main() = runBlocking { println("[${Thread.currentThread().name}] 디버깅 테스트")}/*[main] 디버깅 테스트 */ㅇ 메인 스레드의 이름만 나올 뿐 Coroutine의 내용을 확인하기 어렵다. ㅇ 실행 시 Debug 모드로 실행ㅇ Coroutine의 Job과 Dispatcher를 확인할 수 있다. ㅁ 코루틴의 디버깅 옵션 설정: ..
ㅁ 들어가며ㅇ JPA와 MyBatis는 Spring에서 인기있는 프레임워크이다.ㅇ 이 프레임워크들의 장단점을 이해하기 위해, 근간이 되는 JDBC를 이해해야 한다.ㅇ 개인적으로 JDBC와 MyBatis, JPA를 사용하면서 시대적 상황에 따라 두 프레임워크의 장단점을 정리해 보았다.ㅇ 참고로 11년차 개발자인 나는 JSP+JDBC, Spring + JDBC, Spring + iBatis, Spring + Mybatis, Springboot + JPA의 경험을 가지고 있다. ㅁ JSP에서 JDBC로 SQL을 구현ㅇ JDBC(Java Database Connectivity)는 Java에서 데이터베이스와 연결하고 상호 작용하는 데 사용하는 표준 API이다.ㅇ JSP에서 JDBC를 이용해여 데이터를 조회하였는데..
ㅁ 들어가며ㅇ 코틀린 코루틴의 정석 책을 보고 정리한 글입니다.11장 코루틴의 심화 - CoroutineScope의 start 옵션ㅇ launch나 async 코루틴 빌더 함수에 CoroutineStart옵션을 지정하여 다양한 코루틴의 실행 방법을 지정할 수 있다. ㅇ CoroutineStart 옵션 ㄴ CoroutineStart.DEFAULT ㄴ CoroutineStart.LAZY ㄴ CoroutineStart.ATOMIC ㄴ CoroutineStart.UNDISPATCHED ㅁ CoroutineStart.DEFAULTㅇ launch의 start의 기본 값은 DEFAULT이다. fun main() = runBlocking { val startTime = System.currentTimeMill..