전체 글
-
Spring MVC - 로깅(Logging) 간단히 알아보자(SLF4J, Logback)Spring/Spring MVC 2022. 1. 28. 16:38
로깅(Logging)이란? 로깅은 정보를 제공하는 일련의 기록인 로그를 생성하도록 시스템을 작성하는 활동을 말한다. 따라서 웹 애플리케이션이 작동하는데 중요 기능이 실행되는 부분에는 적절한 로그를 남겨 시스템 상태/작동 정보를 시간의 경과에 따라 기록하여 사용한다. 저장된 로그는 사용자의 패턴이나 시스템 동작 자체의 분석에 사용될 수 있으며 해킹이나 침입 등의 사고가 발생한 경우 비정상 동작의 기록을 통해 추적을 수행할 수 있도록 돕는다. 우리는 간단하게 System.out.println을 이용하여 입출력 및 변수 값들을 출력하여 로그를 생성할 수 있지만 로그의 양이나 수준을 조절할 수 없고, 출력된 로그를 파일 등에 저장하기도 불편하다. 또한 System.out.println을 자주 이용하다 보면 웹 ..
-
SQL - 시퀀스(SEQUENCE)DataBase/Oracle 2022. 1. 28. 01:26
시퀀스(SEQUENCE) 란? 자동 번호 발생기 역할을 하는 객체 순차적으로 정수 값을 자동으로 생성해준다. SEQUENCE 생성 시작 값 : 300, 증가치 : 5, 최댓값 : 310 300 -> 305 -> 310 -> 오류 CREATE SEQUENCE SEQ_EMPID START WITH 300 INCREMENT BY 5 MAXVALUE 310 NOCYCLE NOCACHE; SEQUENCE 사용 CURRVAL : 해당 시퀀스가 가지고 있는 CURRENT VALUE (현재 값) NEXTVAL : 해당 시퀀스가 가질 다음 값 리턴 NEXTVAL를 최소 1회 수행해야 CURRVAL를 알아올 수 있다. SELECT문에서 사용 가능 INSERT문 SELECT 구문에서 사용 가능 INSERT문 VALUES 절..
-
SQL - VIEW, VIEW 옵션DataBase/Oracle 2022. 1. 28. 00:40
VIEW 란? CREATE [OR REPLACE] VIEW 뷰이름 AS 서브쿼리 SELECT 쿼리문을 저장한 객체 실질적인 데이터를 저장하고 있지 않은 논리적인 테이블 테이블을 사용하는 것과 동일하게 사용할 수 있다. 베이스 테이블의 정보가 변경되면 VIEW도 정보가 변경된다. 장점 : 복잡한 SELECT문을 다시 작성할 필요가 없음 민감한 데이터를 숨길 수 있음 VIEW를 생성하기 위해선 우선 시스템 계정에서 해당 계정에게 VIEW 생성 권한을 주어야 한다. GRANT CREATE VIEW TO C##EMPLOYEE; VIEW 생성 -- 사번, 이름, 직급명, 부서명, 근무지역을 조회하고, -- 그 결과를 V_RESULT_EMP 라는 뷰를 생성해서 저장하세요 CREATE OR REPLACE VIEW V..
-
SQL - DDL(Data Definition Language)의 ALTER, DROPDataBase/Oracle 2022. 1. 27. 22:08
ALTER 객체를 수정하는 구문 테이블 객체 수정, 칼럼 추가/삭제/수정, 제약조건 추가/삭제/수정, 테이블명 수정, 제약조건 이름 수정 칼럼 추가/삭제/수정 칼럼 추가 SELECT DC.* FROM DEPT_COPY DC; -- LNAME 칼럼 추가 ALTER TABLE DEPT_COPY ADD (LNAME VARCHAR2(20)); 칼럼을 추가할 때 DEFAULT 값 지정할 수 있다. -- 컬럼 생성 시 DEFAULT 값 지정 ALTER TABLE DEPT_COPY ADD (CNAME VARCHAR2(20) DEFAULT '한국'); SELECT DC.* FROM DEPT_COPY DC; 칼럼 삭제 -- 컬럼 삭제 ALTER TABLE DEPT_COPY DROP COLUMN LNAME; SELECT ..
-
SQL - TCL (Transaction Control Language)DataBase/Oracle 2022. 1. 27. 21:05
TCL (Transaction Control Language) 란? 한꺼번에 수행되어야 할 최소의 작업 단위를 말한다. 하나의 트랜잭션으로 이루어진 작업은 반드시 한꺼번에 완료(COMMIT)되어야 하며 그렇지 않은 경우에는 한꺼번에 취소(ROLLBACK)되어야 한다. DDL 경우 auto COMMIT이 된다. COMMIT : 트랜잭션 작업이 정상 완료되면 변경 내용을 영구히 저장 ROLLBACK : 트랜잭션 작업을 취소하고 최근 COMMIT 한 시점으로 이동 SAVEPOINT 세이브포인트 명 : 현재 트랜잭션 작업 시점에 이름을 정해줌 하나의 트랜잭션 안에 구역을 나눈다. ROLLBACK TO 세이브포인트명 : 트랜잭션 작업을 취소하고 SAVEPOINT 시점으로 이동 COMMIT과 ROLLBACK -- ..
-
HTTP 메서드의 데이터 전송 방법개발자로서 알아야 할 CS/HTTP 웹 기본 지식 2022. 1. 27. 17:26
클라이언트에서 서버로 데이터 전송 데이터 전달 방식 쿼리 파라미터를 통한 데이터 전송 - GET 메시지 바디를 통한 데이터 전송 - POST, PUT, PATCH 클라이언트는 다음과 같은 상황에 서버로 데이터를 전송한다. 정적 데이터 조회 (이미지, 정적 텍스트 문서) 동적 데이터 조회 (게시판 검색, 게시판 목록 정렬) HTML FROM을 통한 데이터 전송 (회원가입, 상품 주문, 데이터 변경) HTTP API를 통한 데이터 전송 (AJAX, 회원가입, 상품 주문, 데이터 변경) 정적 데이터 조회 이미지, 정적 텍스트 문서 데이터를 조회할 때 이용 GET을 사용한다. 정적 데이터는 쿼리 파라미터 없이 리소스 경로로 서버에 요청하여 조회한다. 동적 데이터 조회 주로 검색, 게시판 목록의 정렬 필터를 이용..
-
HTTP 메서드개발자로서 알아야 할 CS/HTTP 웹 기본 지식 2022. 1. 27. 14:21
HTTP 메서드 메서드 종류 HTTP 메서드의 속성 HTTP 메서드 클라이언트가 서버로 요청을 할 때, 어떠한 목적을 갖는 행위인지 HTTP 메서드에 명시한다. 일종의 약속인 것을 기억하자. 클라이언트가 처리를 원하는 방법을 메서드에 명시할 테니 서버에서는 그 메서드에 명시한 대로 응답을 보내달라는 일종의 약속이다. 이러한 약속으로 클라이언트와 서버 간 데이터 통신을 할 수 있게 되는 것이다. 또한 중요한 사실 하나! 같은 URI라도 HTTP 메서드에 따른 다른 처리를 할 수 있다는 것이다. 예를 들어 /members/{member_id} 라는 URI를 클라이언트가 요청시 요청 메시지의 GET, POST, PUT, PATCH, DELETE의 메서드를 사용할 때 각 메서드에 맞는 처리를 한 URI에서 처리..
-
SQL - DML(Data Manupulation Language) DELETE, DDL(Data Definition Language) TRUNCATEDataBase/Oracle 2022. 1. 27. 02:24
DELETE TRUNCATE DML(Data manipulation Language) 데이터 조작 언어 테이블에 값을 삽입, 수정, 삭제, 조회하는 언어 DELETE DELETE FROM 테이블명 WHERE 조건설정 테이블의 행을 삭제하는 구문 만약 WHERE 조건을 설정하지 않으면 모든 행이 다 삭제된다. 모든 행 삭제 DELETE FROM EMPLOYEE E; DELETE DELETE FROM EMPLOYEE E WHERE E.EMP_NAME = '장채현'; -- FOREIGN KEY 제약조건이 설정되어 있는 경우 -- 참조되고 있는 값에 대해서는 삭제할 수 없다. DELETE FROM DEPARTMENT D WHERE D.DEPT_ID = 'D1'; -- FOREIGN KEY 제약조건이 설정되어 있..