전체 글
-
Java - InputStream & OutputStreamLanguage/Java 2023. 3. 21. 16:57
InputStream & OutputStream 데이터 입출력 프로그램에서는 데이터를 외부에서 읽고 다시 외부로 출력하는 작업이 빈번하게 일어난다. 데이터는 사용자로부터 키보드, 마우스 등을 통해 입력될 수도 있고, 파일 또는 네트워크를 통해 입력될 수도 있다. 또 반대로 데이터를 사용자에게 모니터나 파일 등으로 출력할 수도 있다. 자바 입출력과 스트림 자바에서 데이터는 스트림을 통해 입출력된다. 스트림은 단일 방향으로 연속적으로 흘러가는 것을 말하는데 물이 높은 곳에서 낮은 곳으로 흐르듯이 데이터도 출발지에서 나와 도착지로 흘러간다는 개념이다. 프로그램이 출발지냐 또는 도착지냐에 따라서 스트림의 종류가 결정된다. 프로그램이 데이터를 입력받을 때에는 입력 스트림(InputStream)이라고 부르며, 데이..
-
Spring Boot - CORS 설정Framework & Library/Spring Boot 2023. 3. 20. 15:34
CORS CORS란? CORS(Cross-Origin Resource Sharing)는 출처가 다른 자원들을 공유한다는 뜻으로, 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념이다. 직역하자면, 교차되는 출처 자원들의 공유이다. 다른 출처에 있는 자원을 요청한다고 하면, 이를 교차 출처 요청이라고 한다. CORS는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 애플리케이션은 리소스가 자신의 출처와 다를 때 교차 출처 HTTP 요청을 실행한다. 출처란? 먼저 출처라는 개념을 알아야 한다. 위 사진은 URL이 어떤 구성요소로 이루어져 있는지 나타내고 있다. 위 구성..
-
MySQL - 조인(JOIN)Database/MySQL 2023. 2. 23. 15:30
조인(JOIN) 조인(JOIN)이란? - JOIN은 데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 표현해 주는 연산이다. - 표준 SQL에서는 레코드를 조합하는 방식에 따라 JOIN을 아래와 같이 구분한다. 1. INNER JOIN 2. LEFT JOIN 3. RIGHT JOIN INNER JOIN FROM 테이블명01 INNER JOIN 테이블명02 ON 조건 - INNER JOIN은 ON 절과 함께 사용되며, ON 절의 조건을 만족하는 데이터만을 가져온다. - ON 절에서는 WHERE 절에서 사용할 수 있는 모든 조건을 사용할 수 있다. - 또한, 표준 SQL과는 달리 MySQL에서는 JOIN, INNER JOIN, CROSS JOIN이 모두 같은 의미로 ..
-
MySQL - 서브쿼리(Subquery)Database/MySQL 2023. 2. 23. 14:12
서브쿼리(Subquery) 서브쿼리(Subquery) - 서브쿼리란 다른 쿼리 내부에 포함되어 있는 SELECT 문을 의미한다. - 서브쿼리를 포함하고 있는 쿼리를 외부쿼리라고 부르며, 서브쿼리는 내부쿼리라고도 부른다. - 또한, 서브쿼리는 반드시 괄호로 감싸져 있어야만 한다. SELECT ID, RESERVE_DATE, ROOM_NUM FROM RESERVATION WHERE NAME IN (SELECT NAME FROM CUSTOMER WHERE ADDRESS = '서울') - 위 예제는 주소가 서울인 고객이 예약한 예약 정보만을 선택하는 예제이다. - 위 코드는 우선 CUSTOMER 테이블의 ADDRESS 필드값이 '서울'인 레코드의 NAME 필드를 모두 선택한다. - 그리고나서, RESERVATI..
-
MySQL - 패턴 매칭(LIKE, REGEXP)Database/MySQL 2023. 2. 22. 16:03
패턴 매칭(LIKE, REGEXP) LIKE SELECT * FROM MEMBER WHERE NAME LIKE '홍%'; - LIKE 연산자는 특정 패턴을 포함하는 데이터만을 검색하기 위해 사용된다. - 위 예제는 MEMBER 테이블에서 '홍'으로 시작하는 이름(NAME)을 가진 레코드를 조회하기 위한 예제이다. SELECT * FROM MEMBER WHERE NAME NOT LIKE '홍%'; - 만약, 특정 패턴을 포함하지 않는 데이터를 검색하고 싶을 때는 NOT LIKE 연산자를 사용하면 된다. - 위 예제는 MEMBER 테이블에서 '홍'으로 시작하지 않은 이름(NAME)을 가진 레코드를 조회하기 위한 예제이다. 와일드카드 와일드카드 설명 % 0개 이상의 문자를 대체한다. _ 1개의 문자를 대체한다..
-
MySQL - 데이터 조회(SELECT)Database/MySQL 2023. 2. 22. 13:22
데이터 조회(SELECT) 데이터 조회 - SELECT SELECT 필드명 FROM 테이블명 WHERE 조건 - MySQL에서는 SELECT 문을 사용하여 테이블의 레코드를 선택할 수 있다. - SELECT 키워드 뒤에 조회하고 싶은 필드명을 명시하고, FROM 키워드 뒤에는 레코드를 선택할 테이블명을 명시한다. - WHERE 절을 사용하면, 선택할 레코드의 조건을 좀 더 상세히 설정할 수 있다. 예제 01 SELECT * FROM MEMBER; - 위 예제는 테이블의 모든 필드를 선택하여 조회하는 예제이다. - SELECT 문과 함께 별표(*) 기호를 사용하면, 해당 테이블의 모든 필드를 선택할 수 있다. 예제 02 SELECT * FROM MEMBER WHERE NAME = '홍길동'; - SELEC..