일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오블완
- mysql 튜닝
- 정보처리기사실기 기출문제
- 티스토리챌린지
- Pinpoint
- kotlin querydsl
- AWS EKS
- Linux
- 정보처리기사 실기
- IntelliJ
- 기록으로 실력을 쌓자
- kotlin spring
- AI
- APM
- Kubernetes
- aws
- Spring
- MySQL
- 정보처리기사 실기 기출문제
- kotlin
- CKA
- Elasticsearch
- 공부
- PETERICA
- kotlin coroutine
- 코틀린 코루틴의 정석
- CloudWatch
- minikube
- Java
- CKA 기출문제
- Today
- Total
목록Programming (187)
피터의 개발이야기
ㅁ 들어가며 맥북 M3를 사용 중이다. 로컬에서 GO로 빌드한 실행파일이 서버에서 작동하지 않았다. 이번 글에서는 Intel Xeon 프로세서를 위한 Go 빌드 시 GOARCH 설정에 대해 정리하였다. ㅁ GOARCH란? GOARCH는 Go 언어에서 타겟 아키텍처를 지정하는 환경 변수이다. 이 설정을 통해 특정 CPU 아키텍처에 최적화된 바이너리를 생성할 수 있다. ㅁ Intel Xeon을 위한 GOARCH 설정ㅇ Intel Xeon 프로세서는 서버급 성능을 제공하는 x86-64 아키텍처 기반의 CPU이다.export GOARCH=amd64ㅇ Intel Xeon 프로세서는 x86-64 아키텍처를 사용하므로, GOARCH 값을 "amd64"로 설정해야 한다.ㅇ 이 설정은 64비트 x86 아키텍처를 타겟으..
ㅁ 들어가며 Go 언어로 웹 요청을 보낼 때 http.Client를 사용한다. Client가 proxy설정에 영향을 받는 줄 모르고 트러블 슈팅을 하게 되었다. 이 트러블 슈팅을 하면서 알게 된 http.Client의 프록시 설정에 대해 정리해 보았다. ㅁ 환경 변수를 통한 프록시 설정// HTTP 요청에 대한 프록시 서버 주소export HTTP_PROXY=http://proxy.example.com:8080// HTTPS 요청에 대한 프록시 서버 주소export HTTPS_PROXY=https://proxy.example.com:8080// 프록시를 사용하지 않을 도메인 목록export NO_PROXY=localhost,127.0.0.1,10.0.0.0/8ㅇ Go의 http.Client는 기본적으..
ㅁ 들어가며ㅇ Spring Boot의 @Cacheable 어노테이션은 애플리케이션의 성능을 향상시키기 위해 자주 사용되는 캐시 기능을 제공된다.ㅇ 이 글에서는 @Cacheable의 사용법과 관련된 다양한 기능을 Kotlin 예제를 통해 살펴보다. ㅁ Spring Cache Abstration이란? 스프링은 캐시 추상화(Cache Abstraction)을 통해 사용자는 캐시 구현에 대해 신경 쓸 필요 없이 퍼블릭 인터페이스를 쉽게 캐싱 기능을 사용할 수 있는 편리한 캐싱 기능을 지원한다. 캐싱이 필요한 비즈니스 로직에서 EhCache, Redis 등 캐싱 인프라에 의존하지 않고 추상화된 퍼블릭 인터페이스로 캐싱을 할 수 있다. 인터페이스화 되면 EhCache로 사용 중에 Redis로 변경이 쉬워진다. ..
ㅁ 들어가며ㅇ PR처리하다가 Scala에서 flatMap과 match를 함께 사용하는 방법을 간단히 정리 ㅁ flatMap 사용법ㅇ flatMap은 컬렉션을 변환하고 평탄화하는 데 사용val numbers = List(1, 2, 3)val result = numbers.flatMap(x => List(x, x * 2))println(result) // List(1, 2, 2, 4, 3, 6)ㅇ 각 요소를 새로운 컬렉션으로 변환ㅇ 결과 컬렉션들을 하나의 평탄화된 컬렉션으로 만듬. ㅁ match 사용법ㅇ match는 패턴 매칭을 위해 사용되며, 다양한 조건에 따라 다른 결과를 반환할 수 있다.def describe(x: Any): String = x match { case 5 => "five" case ..
ㅁ 들어가며ㅇ 회사에서 GO 언어로 작성된 모듈을 담당하게 되었다.ㅇ 핵심적인 GO의 개요, 설치방법, 기본 문법에 대해서 정리하였다. ㅁ GO 언어 개요 GO는 Google에서 개발한 오픈소스 프로그래밍 언어로, 간결하고 효율적인 코드 작성을 지향한다. 2009년에 처음 발표되었으며, 빠른 컴파일 속도와 동시성 프로그래밍을 쉽게 구현할 수 있는 특징을 가지고 있다. Go의 주요 설계 정책은 가능한 효율적이고 안전하며 뛰어난 프로그램 언어로 만드는 것이다. Go에서는 코드의 쓸데없는 설명과 복잡성을 줄이는 것이 적극적으로 이루어지고 있으며, 단순화를 위해 C++나 Java처럼 계층이나 제네릭스, 예외 처리, 단언문, 오버로드가 없다. 새로운 언어이지만 이미 많은 기업이 사용하고 있다. 특히Kubernet..
ㅁ 관련 글ㅇ [kubernets] skaffold란, Kubernetes 로컬 개발환경Skaffold는 Kubernetes 네이티브 애플리케이션을 위한 지속적인 개발을 용이하게 하는 CLI 도구이다.Skaffold는 소스 코드의 변경 사항을 감지 하고 정책 기반 이미지 태깅 및 최적화되고 빠른 로컬 워크플로 를 통해 애플리케이션을 자동으로 빌드 , 푸시 , 테스트 및 배포 하는 파이프라인을 처리한다.ㅇ [kubernets] Kubernetes 로컬 개발환경 skaffold, Intellij ㄴ skaffold와 Intellij를 연동하여 쿠버네티스 로컬 개발환경 세팅하는 과정을 정리ㅁ 들어가며 예전 Skaffold의 로컬환경을 구성하면서 JIB를 설정해 보았는데, 이번 글에서는 는 Jib에 대해 구체..
ㅁ 들어가며ㅇ 회사에서 외부API의 통신에서 에러가 발생하여 그 원인을 분석하였다.ㅇ 외부 연동된 API는 처리하는데 1.7초, 내부적으로 Connection Timeout 설정이 1.5초로 되어 있었다.ㅇ 이번 글에서는 Connection Timeout 설정 방법과 에러 패턴, 최적의 Timeout 설정, 에러 처리 및 로깅 방법에 대해서 정리해 보았다. ㅁ Connection Timeout 설정 방법Spring RestTemplate에서 connection timeout을 설정하는 방법은 크게 두 가지가 있다. 1. HttpComponentsClientHttpRequestFactory 사용HttpComponentsClientHttpRequestFactory factory = new HttpCompon..
ㅁ 들어가며동년배 친구가 사업을 구상하면서 빠른 백엔드 개발을 위해 FastAPI를 사용하고 있었다. FastAPI는 Python 3.6+ 버전을 기반으로 한 현대적이고 빠른 웹 프레임워크다.API를 구축하는데 특화되어 있으며, 높은 성능과 개발 속도를 자랑한다.이 글에서는 FastAPI의 주요 장점과 기본적인 사용 방법에 대해 알아보겠다. ㅁ FastAPI의 주요 장점ㅇ 빠른 성능 FastAPI는 Starlette와 Pydantic을 기반으로 하여 NodeJS 및 Go와 대등한 수준의 매우 높은 성능을 제공한다.ㅇ 빠른 코딩 타입 힌트를 활용한 자동 문서화, 자동 검증 등의 기능으로 개발 속도가 매우 빠르다.ㅇ 적은 버그 강력한 타입 체크와 자동 검증 기능으로 인해 버그 발생 가능성이 낮다.ㅇ 직..
ㅁ 들어가며kotlinOptions { freeCompilerArgs = listOf("-Xjsr305=strict") jvmTarget = "17"}이 글은 내가 자주 보았던 위의 옵셩에 대해서 정리하였다. 즉, Kotlin과 Spring 환경에서 JSR-305 지원에 대해 정리한다. ㅁ JSR-305란 무엇인가요? JSR-305는 Java에서 널(null) 안정성을 향상시키기 위한 어노테이션 표준이다. 이 표준은 코드의 의도를 명확히 하고 널 관련 버그를 줄이는 데 도움을 준다.ㅁ Kotlin에서 JSR-305의 중요성 Kotlin은 기본적으로 널 안정성을 제공하지만, Java와의 상호 운용성을 위해 JSR-305 지원이 필요하다. Java 코드에서 사용된 JSR-305 어노테이션을 Ko..
ㅁ 들어가며ㅇ Kotlin과 Spring을 사용하여 Hive 연결을 주기적으로 유지하기 위한 방법을 찾고 있었다.ㅇ 검색해면서 @Scheduled 어노테이션을 이용한 방법을 찾아 그 내용을 정리한 글이다. ㅁ @EnableScheduling 설정@SpringBootApplication@EnableSchedulingclass YourApplicationfun main(args: Array) { runApplication(*args)}ㅇ 기본적으로 애플리케이션의 메인 클래스나 설정 클래스에 @EnableScheduling 어노테이션을 추가한다. ㅁ 연결 유지 서비스 생성@Serviceclass HiveConnectionService( private val jdbcTemplate: JdbcTempl..