전체 글

전체 글

    ASRock B650M PG Lightning 구매 후기

    ASRock B650M PG Lightning 구매 후기 1. 소개 1.1 구매 후기 몇 년 만에 컴퓨터를 구매하려고 여러 반본체들을 보다가, 원하는 가격대에서 가장 최고의 사양을 제공해 주는 모델을 구매하게 되었는데요. 제가 구매한 모델의 메인보드 ASRock B650M PG Lightning에 대해 소개하고자 합니다. 전체적으로 회색과 검정색이 섞인 색감을 띄고 있습니다. 램 슬롯 4개, M.2 슬롯 3개, M.2 WIFI 슬롯 1개 , ATX 사이즈를 갖고있어 굉장히 알차게 구성되어 있습니다. 가성비 메인보드를 찾고 계시다면 주저 않고 추천 가능한 메인보드입니다. 1.2 상세 스펙 상세 스펙은 애즈락 공식 홈페이지에서 확인 가능합니다. https://pg.asrock.com/MB/AMD/B650M%..

    Application 간의 주요 통신 방법 비교 (HTTP, AMQP, Socket)

    주제 HTTP, AMQP, Socket 통신 방법을 각각 비교해보고 주로 사용되는 곳을 알아본다 1. HTTP 특징: 주로 웹 기반 통신을 위해 사용되며, 요청(Request)과 응답(Response)을 기반으로 합니다. Stateless 프로토콜이기 때문에 각각의 요청은 이전 요청과 독립적으로 처리됩니다. 주로 RESTful API를 구축하는 데 사용됩니다. 장점: 간단하며 이해하기 쉽습니다. 다양한 플랫폼에서 지원되고, 프록시나 캐싱 등의 기능을 활용할 수 있습니다. HTTPS를 통해 보안 통신이 가능합니다. 단점: 실시간성이 중요한 경우에는 적합하지 않을 수 있습니다. 요청/응답 기반 모델이므로 양방향 통신이 어려울 수 있습니다. 2. AMQP 특징: 메시지 큐를 통해 비동기 메시지 전달을 위한 프..

    Local private docker registry 구축하기

    주제 Local Docker Registry 만들어보자 1. Registry란? Docker 레지스트리는 Docker 이미지를 저장 및 배포하기 위한 표준 방식 유료 Private Registry를 사용하지 않고 Local 환경에서 Registry를 구축하여 사용하는 방법을 소개한다 2. Local Private Registry 구축 $ docker pull registry $ docker run -dit --name registry -p 5000:5000 registry $ docker push {host_ip}:5000/{image_name}:{version} # 참고자료 https://ikcoo.tistory.com/59 https://kdeon.tistory.com/52

    Minikube를 이용한 로컬 클러스터 구축

    주제 Minikube를 이용해 로컬 클러스터를 구축해본다. BE 어플리케이션을 올려본다. 1. Minikube 설치 1.1 미니큐브 설치 공식 홈페이지에서 가이드를 제공하여 간단하게 설치할 수 있다. 또한 간단한 튜토리얼을 제공한다. https://minikube.sigs.k8s.io/docs/start/ minikube start minikube is local Kubernetes minikube.sigs.k8s.io 2. Minikube 가이드 2.1 소개 minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes. minikube는 Kubernetes를 쉽게 배우고 개발할 수 있도록 하는 데 ..

    ShedLock을 이용한 스케줄 작업 중복 방지하기

    주제 다중 어플리케이션 환경에서 스케줄 작업을 하기 위한 ShedLock을 알아본다 1. ShedLock에 대해 알아보기 1.1 ShedLock이란? 스프링 부트 애플리케이션에서 분산된 환경에서 스케줄된 작업을 동시에 실행하지 않도록 막아주는 라이브러리 이를 통해 여러 인스턴스 또는 클러스터에서 동시에 실행되어서는 안 되는 작업을 안전하게 스케줄링할 수 있음 ShedLock은 데이터베이스를 사용하여 작업 잠금을 관리하며, 다양한 데이터베이스를 지원 1.2 ShedLock의 3가지 속성 name : 잠금의 이름 lockAtMostFor : 최대 잠금 기간 lockAtLeastFor : 최소 잠금 기간 lockAtLeastFor의 설정이 너무 짧으면 작업이 충분한 시간 동안 Lock으로 보호되지 않을 수 있..

    [MySql] 대용량 테스트 데이터 생성하기

    주제 프로시저를 이용한 더미 데이터 생성 1. 프로시저를 이용한 더미 데이터 생성 use kingpiggy_study; /* * 더미 데이터 생성 예제 * */ -- DROP TABLE IF EXISTS `tb_kpg_code_group` -- DROP TABLE IF EXISTS `tb_kpg_code` -- DROP TABLE IF EXISTS `tb_kpg_items` -- TRUNCATE `tb_kpg_code_group`; -- TRUNCATE `tb_kpg_code`; -- TRUNCATE `tb_kpg_items`; -- 1. Create Table CREATE TABLE `tb_kpg_code_group` ( `code_group_id` bigint(20) NOT NULL AUTO_INCR..

    [MySql] 랜덤 날짜 구하기 쿼리 모음

    출처 : ChatGpt -- datetime 으로 오늘 날짜 기준으로 365일 기간 동안의 랜덤으로 날짜 조회 SELECT DATE_ADD(NOW(), INTERVAL FLOOR(RAND() * 365) DAY) AS random_datetime; -- 'yyyy-MM-dd' 형식으로 오늘 날짜 기준으로 365일 기간 동안의 랜덤으로 날짜 조회 SELECT DATE_FORMAT(DATE(NOW() - INTERVAL FLOOR(RAND() * 365) DAY), '%Y-%m-%d') AS random_date; -- 'yyyy-MM-dd' 형식으로 올해 1월 1일에서 12월 31일 기간 동안의 랜덤으로 날짜 조회 SELECT DATE_FORMAT(DATE(MAKEDATE(YEAR(NOW()), 1) + ..

    Finder에서 iterms2 바로 열기

    https://xmlangel.kr/posts/2022-12-29-open-iterm-in-finder

    스프링 배치 익혀보기 : 개념 정리 + 간단한 실습

    주제 배치의 개념과 구성 요소에 대해 알아본다. 하나의 Job을 여러 Step으로 구성하는 방법을 알아본다. Tasklet, Chunk 단위로 처리해본다. 1. Spring Batch란 1.1 정의 1.1.1 Batch 작업이란? 대용량 데이터를 처리하려면 많은 시간과 자원이 소요될 수 있고, 동일한 데이터를 사용하는 다른 서비스에 영향을 줄 수 있다. 때문에 이를 실시간이 아닌 한번에 많은 데이터를 처리할 때가 있다. 실시간이 아닌 일괄적으로 모아서 처리하는 작업을 배치 작업이라고 한다. 1.1.2 Spring Batch란? 엔터프라이즈 시스템의 일상적인 작업에 필수적인 강력한 배치 응용 프로그램을 개발할 수 있도록 설계된 가볍고 포괄적인 배치 프레임워크 로깅/추적, 트랜잭션 관리, 작업 처리 통계, ..

    클린코드 9장

    주제 클린코드 9장 정리 9장 "단위 테스트" 요약 단위 테스트 # 메모 TDD 법칙 1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 방대한 테스트 케이스를 커버할 수 있지만 그만큼 관리 문제도 야기된다. 실제 코드가 진화하면 테스트 코드도 변해야 한다는 문제. 테스트 코드가 지저분하고 복잡할 수록 수정하기도 어렵고 새로운 테스트 케이스를 추가하기도 어렵다. 떄문에 새 버전을 출시할 때마다 팀이 테스트 케이스를 유지하고 보수하는 비용도 늘어난다.. 이시간이 많이 드는 문제로 테스트를 포기하는 상황에 처함 근데 테스트가 없으면 개발자가 수..