일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 기록으로 실력을 쌓자
- kotlin spring
- Kubernetes
- kotlin querydsl
- kotlin coroutine
- kotlin
- IntelliJ
- AI
- 공부
- Java
- Linux
- CKA
- CKA 기출문제
- 오블완
- 티스토리챌린지
- aws
- 코틀린 코루틴의 정석
- minikube
- AWS EKS
- mysql 튜닝
- PETERICA
- Pinpoint
- Spring
- Elasticsearch
- APM
- 정보처리기사 실기
- 정보처리기사 실기 기출문제
- MySQL
- CloudWatch
- 정보처리기사실기 기출문제
- Today
- Total
목록분류 전체보기 (781)
피터의 개발이야기
ㅁ 들어가며 알면 쉽지만 모르면 어려운 것이 Linux 명령어이다. 보안상 권한이 막혀 고생했는데. 옵션 하나면 해결될 문제였다.Linux에서 자주 사용되는 sudo 명령어의 -E 옵션에 대해 정리하였다. ㅁ 트러블 내용$ sudo dnf updateRocky Linux 9 - BaseOS ..
ㅁ 들어가며 Docker multi-stage 빌드를 사용하여 Go 애플리케이션의 빌드 환경과 배포 환경을 분리하는 방법에 대해 정리해 보았다. 이 방법을 통해 최종 이미지의 크기를 줄일 수 있다. ㅁ Docker Multi-stage 빌드란? Docker multi-stage 빌드는 하나의 Dockerfile 내에서 여러 단계(stage)를 나누어 최종 이미지를 생성하는 기술이다. 이를 통해 빌드 환경과 실행 환경을 분리하여 필요 없는 환경을 제거하여 최종 이미지의 크기를 줄인다. ㅁ Go 애플리케이션을 위한 Multi-stage Dockerfile 작성빌드 단계 정의# 빌드 단계FROM golang:1.17 AS builder# 작업 디렉토리 설정WORKDIR /app# Go 모듈 파일 복사 및 의..
ㅁ 들어가며ㅇ Docker에서 Rocky Linux9를 실행하고, FFMPEG을 설치하는 과정을 정리하였다. ㅁ Rocky Linux9 설치이미지 다운로드docker pull rockylinux:9 도커 실행docker run -it --name rocky9 rockylinux:9 /bin/bash 도커 정지docker stop rocky 도커 재시작docker start rocky9docker exec -it rocky9 /bin/bash ㅁ FFMPEG 설치ㅇ FFmpeg는 AlmaLinux의 기본 저장소에서 직접 사용할 수 없지만 EPEL + CRB 또는 RPM Fusion 저장소를 통해 설치할 수 있다. EPEL 및 CRB 저장소 활성화ㅇ FFMPEG를 설치하는 데 필요한 대부분의 필수 종속성..
ㅁ 들어가며ㅇ 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는 오류 메시지를 생성해 송신 장치에 알린다. 예를 들어, 데이터 패킷이 라우터가 처리할 수 있는 크기..