본문 바로가기

개념 공부25

[Redis] Redis 데이터의 영구 저장(RDB, AOF) Redis PersistencyRedis는 인메모리 DB이지만, 데이터를 디스크에 영구 저장 할 수 있는 특징이 있다.그래서 Redis가 restart되더라도 디스크에 저장해놓은 데이터를 다시 읽어서 메모리에 로딩하기 때문에 데이터가 유실되지 않는다. Redis에는 데이터를 저장하는 방법이 RDB(snapshotting) 방식과 AOF(Append only file) 두가지가 존재한다. RDB(snapshotting)특정 시점에 메모리에 있는 모든 데이터를 바이너리 파일로 저장하는 방식이다.이는 개발자가 직접 세팅하지 않아도 자동으로 .rdb라는 확장자의 파일에 인메모리 데이터를 저장하도록 기본으로 설정돼있다. 이 방식은 특정 시점으로 데이터를 복구하는 것이 가능하며, 레디스 데이터의 버저닝 또한 가능하.. 2024. 12. 10.
[AWS] Elastic IP(탄력적 주소)란? EIP(Elastic IP)EIP는 인터넷을 통해 접속할 수 있는 고정적인 공인 IP 주소를 할당할 수 있고, 인스턴스에 연결할 수 있는 서비스이다.모든 인스턴스 또는 네트워크 인터페이스에 탄력적 IP 주소를 연결 가능하며, EIP 할당받고 삭제하기 전까지 쭉 같은 IP 주소를 유지할 수 있다.DNS 서버에서 도메인과 IP 주소를 연결할 때, 또는 IP 주소가 바뀌지 않고 계속 유지돼야할 때 EIP를 할당받아 연결해주면 된다. EIP를 사용해야하는 이유EC2를 올리기 되면 ENI(Elastic Network Interface)가 따라오게 되는 ENI는 일종의 가상의 랜카드라고 생각하면된다. ENI는 가상이긴 하지만 랜카드이기에 MAC 주소와 보안 그룹에 연결돼있고 IP도 가지고 있다.그리고 이 ENI를 .. 2024. 12. 10.
[MySQL] SQL 프로그래머스 4단계 다 풀어보기 (2) 6문제자동차 대여 기록 별 대여 금액 구하기 포인트: 서브 쿼리, WITH 절, 대여 기간은 DATEDIFF + 1이라는거, CASE WHEN THEN END 문 너무 어렵다.. https://school.programmers.co.kr/learn/courses/30/lessons/151141 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr WITH DISCOUNT AS (SELECT H.HISTORY_ID AS HISTORY_ID, C.DAILY_FEE AS DAILY_FEE,DATEDIFF(H.END_DATE, H.START_DATE) + 1 AS DATEDIFF, C.CAR_TYPE AS CAR_T.. 2024. 11. 10.
[MySQL] 프로그래머스 SQL 4단계 모두 풀어보기! (1) 6문제 우유와 요거트가 담긴 장바구니분류, 포인트: IN 절https://school.programmers.co.kr/learn/courses/30/lessons/62284 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr SELECT DISTINCT CART_IDFROM CART_PRODUCTSWHERE CART_ID IN ( -- 우유 SELECT CP1.CART_ID FROM CART_PRODUCTS AS CP1 WHERE CP1.NAME = 'Milk')AND CART_ID IN ( -- 요거트 SELECT CP1.CART_ID FROM CART_PRODUCTS AS CP1 WHERE C.. 2024. 11. 9.
[MySQL] WITH, WITH RECURSIVE 구문 WITH 구문with 구문은 메모리 상에 가상의 테이블을 저장할 때 사용됩니다.RECURSIVE의 여부에 따라 재귀와 비재귀 두가지 방법으로 사용 가능합니다. WITH [RECURSIVE] TABLE명 AS ( SELECT - # 비반복문. 무조건 필수 [UNION ALL] # RECURSIVE 사용 시 필수. 다음에 이어붙어야 할 때 사용 SELECT - [WHERE -] # RECURSIVE 사용 시 필수. 정지 조건 필요할 때 사용) WITH RECURSIVE 구문WITH RECURSIVE 구문은 가상 테이블을 생성하면서 가상 테이블 자신의 값을 참조하여 값을 결정할 때 사용됩니다.WITH RECURSIVE CTE AS ( SELECT 1 AS NUM -- 초기값 설정 .. 2024. 11. 9.
[MySQL] 코딩테스트 준비를 위한 MySQL 내장함수 정리 문자열 관련 내장 함수LOCATE("A", "ABC"): "ABC"에서 "A"가 몇번째인지를 반환SUBSTRING("abc", 2): 2번째 문자부터 반환RIGHT("ABCD", 1): "ABCD" 오른쪽에서 1번째까지LEFT("ABCD, 1): "ABCD" 왼쪽에서 1번째까지UPPER(str), LOWER(str): 대문자로 변환, 소문자로 변환CONCAT("ABC", "DEF", "GHI"): 문자열 이어붙이기REPLACE("ABC", "A", "Z"): "ABC"의 "A"를 "Z"로 변환LPAD("DEF", 5, "_"): "DEF" 왼쪽에 "_"를 전체 문자열이 5글자가 되도록 붙이기  숫자형ABS(숫자): 절대값 반환CEILING(실수): 올림FLOOR(실수): 내림ROUND(실수): 반올림TR.. 2024. 11. 9.