전체 글
[인프런] Real MySQL 시즌 1
주제시즌 1의 강의 내용 요약 1. CHAR vs VARCHAR1.1 특징1.1.1 공통점과 차이점공통점문자열 저장용 컬럼최대 저장 가능 문자 길이를 명시(바이트 수가 아님)문자 마다 용량이 다르기 때문에 최대 저장 가능 문자 길이를 10으로 설정하면알파벳 10 바이트한글 30바이트(utf8mb4)이모지 40바이트까지 사용 가능차이점CHAR최대 설정된 길이만큼 항상 저장 공간을 할당최대 저장 길이 255VARCHAR저장되는 문자의 길이만큼만 저장 공간 할당최대 저장 길이 16383저장된 값의 길이를 관리하기 위해 1~2 바이트 사용함 1.1.2 저장 공간라틴 문자 abcd를 CHAR(10), VARCHAR(10)에 각자 저장한다고 했을 때1) CHAR(10) 의 경우■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ..
전화망 서비스 개발을 위한 기초 지식 정리
주제전화망 서비스 개발을 위한 기초 지식 정리 1. 인터넷 전화 통신에 대한 이해 1.1 PSTN과 VoIP1.1.1 PSTN(Public Switched Telephone Network)PSTN은 전통적인 전화 시스템으로, 음성 통신을 위해 회선 교환 방식을 사용합니다.회선 교환: 통화가 시작될 때 두 지점 사이에 물리적인 회선이 설정되고, 통화가 끝날 때까지 유지됩니다.아날로그 신호: 대부분의 경우 아날로그 신호를 사용하여 음성을 전달합니다.고정 인프라: 구리선이나 광섬유 등의 물리적 인프라를 기반으로 합니다.높은 신뢰성: 수십 년간 사용되어 왔으며, 안정성과 신뢰성이 높습니다.긴급 서비스 접근: 911 등 긴급 서비스 접근이 용이합니다. 1.1.2 VoIP(Voice over Internet Pr..
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) + ..