일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux
- APM
- 정보처리기사 실기
- kotlin spring
- minikube
- CKA
- Elasticsearch
- 기록으로 실력을 쌓자
- mysql 튜닝
- aws
- CloudWatch
- AI
- Java
- 티스토리챌린지
- Kubernetes
- Spring
- AWS EKS
- kotlin coroutine
- 공부
- PETERICA
- Pinpoint
- kotlin
- IntelliJ
- kotlin querydsl
- 정보처리기사 실기 기출문제
- 정보처리기사실기 기출문제
- 오블완
- 코틀린 코루틴의 정석
- CKA 기출문제
- MySQL
- Today
- Total
목록티스토리챌린지 (14)
피터의 개발이야기
ㅁ 들어가며ㅇ 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 ..
ㅁ 들어가며ㅇ 많은 사람들이 겪고 있지만 쉽게 말하기 어려운 주제인 '직장 내 괴롭힘'에 대해 정리해 보았다.ㅇ 이 문제는 개인의 삶뿐만 아니라 조직 전체에도 큰 영향을 미치는 중요한 이슈이다. ㅁ 직장 내 괴롭힘이란? 직장 내 괴롭힘은 직장에서 지위나 관계 등의 우위를 이용해 업무상 적정 범위를 넘어 다른 근로자에게 신체적·정신적 고통을 주거나 근무환경을 악화시키는 행위를 말한다. 이는 2019년 7월부터 근로기준법에 명시되어 법적으로도 금지되고 있다. ㅁ 직장 내 괴롭힘의 유형ㅇ 언어적 괴롭힘: 모욕적인 말, 험담, 위협 등ㅇ 신체적 괴롭힘: 폭행, 위협적인 자세 등ㅇ 업무적 괴롭힘: 과도한 업무 부여, 업무 배제 등ㅇ 관계적 괴롭힘: 따돌림, 무시 등 ㅁ 괴롭힘의 영향 직장 내 괴롭힘은 피해자에게..
ㅁ 들어가며ㅇ 회사에서 GO 언어로 작성된 모듈을 담당하게 되었다.ㅇ 핵심적인 GO의 개요, 설치방법, 기본 문법에 대해서 정리하였다. ㅁ GO 언어 개요 GO는 Google에서 개발한 오픈소스 프로그래밍 언어로, 간결하고 효율적인 코드 작성을 지향한다. 2009년에 처음 발표되었으며, 빠른 컴파일 속도와 동시성 프로그래밍을 쉽게 구현할 수 있는 특징을 가지고 있다. Go의 주요 설계 정책은 가능한 효율적이고 안전하며 뛰어난 프로그램 언어로 만드는 것이다. Go에서는 코드의 쓸데없는 설명과 복잡성을 줄이는 것이 적극적으로 이루어지고 있으며, 단순화를 위해 C++나 Java처럼 계층이나 제네릭스, 예외 처리, 단언문, 오버로드가 없다. 새로운 언어이지만 이미 많은 기업이 사용하고 있다. 특히Kubernet..
ㅁ 들어가며 Kubernetes 환경에서 Ingress-Nginx는 주로 HTTP 및 HTTPS 트래픽을 처리하는 데 사용된다. 하지만 때로는 HTTP가 아닌 TCP나 UDP 트래픽을 외부로 노출해야 할 필요가 있다. 이번 글에서는 Ingress-Nginx를 사용하여 이러한 TCP/UDP 서비스를 어떻게 노출할 수 있는지 정리하였다. ㅁ TCP/UDP노출이 필요한 경우ㅇ 많은 애플리케이션이 HTTP나 HTTPS 외에 TCP나 UDP 프로토콜을 사용한다. - 데이터베이스 (MySQL, PostgreSQL 등) - 메시징 시스템 (RabbitMQ, Kafka 등) - 게임 서버 - IoT 디바이스 통신ㅇ 이러한 서비스들이 Kubernetes 클러스터 외부에서 접근할 수 있어야 할 때가 있다. ㅁ Ingres..
ㅁ 들어가며 오늘은 GitHub에서 인기를 얻고 있는 TinyStatus 프로젝트를 소개하고, 이를 이용해 간단한 상태 페이지를 만드는 방법을 알아보겠다. TinyStatus는 복잡한 설정 없이 빠르게 서비스 상태 페이지를 만들 수 있는 도구다. ㅁ TinyStatus란?TinyStatus는 단일 HTML 파일로 구성된 경량 상태 페이지 생성기다.ㅇ 단일 HTML 파일로 구성ㅇ JavaScript나 서버 사이드 코드 불필요ㅇ 사용자 정의가 쉬운 간단한 구조ㅇ 반응형 디자인으로 모바일 지원ㅇ 다크 모드 지원 ㅁ TinyStatus 로컬 세팅ㅇ 맥북이나 서버에 소스를 다운 받아 설치 및 실행 할 수 있다.# 소스 다운로드 및 폴더이동$ git clone https://github.com/harsxv/tiny..
ㅁ 들어가며 인터넷 제어 메시지 프로토콜(ICMP)은 우리가 매일 사용하는 인터넷의 핵심 구성 요소지만, 대부분의 사용자에게는 잘 알려져 있지 않다. 이 프로토콜은 네트워크 통신의 문제를 진단하고 해결하는 데 중요한 역할을 한다. ㅁ ICMP의 기본 개념 ICMP는 네트워크 계층 프로토콜로, 주로 데이터가 목적지에 제대로 도착했는지 확인하는 데 사용된다. 라우터와 같은 네트워크 장치들이 ICMP를 이용해 오류를 보고하고 네트워크 상태를 테스트한다. ㅁ 주요 목적: 오류 보고 ICMP의 가장 중요한 기능은 오류 보고다. 두 장치가 인터넷을 통해 통신할 때, 데이터가 목적지에 도달하지 못하면 ICMP는 오류 메시지를 생성해 송신 장치에 알린다. 예를 들어, 데이터 패킷이 라우터가 처리할 수 있는 크기..
ㅁ 관련 글ㅇ [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와 대등한 수준의 매우 높은 성능을 제공한다.ㅇ 빠른 코딩 타입 힌트를 활용한 자동 문서화, 자동 검증 등의 기능으로 개발 속도가 매우 빠르다.ㅇ 적은 버그 강력한 타입 체크와 자동 검증 기능으로 인해 버그 발생 가능성이 낮다.ㅇ 직..