본문 바로가기

전체 글

쿠키(Cookie) 쿠키란 ? 웹 브라우저에서 서버로 어떤 데이터를 요청하면 서버측에서는 알맞은 로직을 수행한 후 데이터를 웹 브라우저에 응답 그리고 Http 프로토콜은 응답 후에 웹 브라우저와의 관계를 종료하게 되는데 이 때 어떤 정보를 지속적으로 유지하기 위한 수단으로 쿠키라는 방식을 사용한다 ★ 쿠키는 서버에서 생성해 서버가 아닌 클라이언트(local) 측에 정보를 저장한다 [ 쿠키 문법 ] 쿠키 클래스에서 쿠키를 생성 ▶ setter메서드로 쿠키의 속성 설정 ▶ response객체에 쿠키 탑재 ▶ 로컬(클라이언트) 환경에 저장 대표적인 쿠키 메서드 세션(Session) 쿠키와 마찬가지로 서버와의 관계를 유지하기 위한 수단이다 단, 쿠키와 달리 클라이언트의 특정 위치에 저장되는 것이 아니라 서버상에 객체형태로 존재한다.. 더보기
[JSP] JSP 내장 객체란 무엇인가 JSP 내장 객체 개발자가 JSP 파일 내에 객체를 생성하지 않고 바로 사용할 수 있는 객체가 내장 객체이다 JSP에서 제공되는 내장객체는 JSP 컨테이너에 의해 서블릿으로 변환될 때 자동으로 객체가 생성된다 JSP 내장 객체 종류 종류 해당 클래스 request javax.servlet.http.HttpServletRequest response javax.servlet.http.HttpServletResponse out javax.servlet.jsp.JspWriter session javax.servlet.http.HttpSession application javax.servlet.ServletContext request 객체는 무엇인가? 웹 브라우저를 통해 서버에 어떤 정보를 요청하는 것을 requ.. 더보기
[JSP] Servlet에 대해 알아보자 Servlet이란? 자바를 사용하여 웹을 만들기 위해 필요한 기술로 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송 해주어야 하는데 이때 이 역할을 하는 게 서블릿이다 예를 들어 어떠한 사용자가 로그인을 하려고 할 때, 사용자는 아이디와 비밀번호를 입력하고 로그인 버튼을 누른다 그 때 서버는 클라이언트의 아이디와 비밀번호를 확인하고 다음 페이지를 띄워주어야 하는데 이러한 역할을 수행하는 게 서블릿이다 Servlet 특징 1. 동적 웹어플리케이션 컴포넌트 (순수 자바코드) 2. java 확장자 3. 클라이언트의 요청에 동적으로 작동하고 , 응답은 html을 이용 4. java thread를 이용하여 동작 5. MVC 패턴에서 Controller로 이용됨 Thread(스레드)란 무엇인가? 일반적.. 더보기
Oracle - 데이터베이스 모델링 데이터베이스 모델링 업무파악 "우리가 할 일이 무엇이지?" 개념적 데이터 모델링 "내가 하고자 하는 일에는 어떤 개념이 있고, 각각 개념들은 어떻게 상호작용 하는가?" 논리적 데이터 모델링 "관계형 데이터베이스에 맞게끔 표로 전환하는 작업" 물리적 데이터 모델링 "데이터 베이스를 선택하고, 실제 표를 생성" 업무파악 화면 정의 기획서 앞으로 우리가 무엇을 만들 것인가? 어떤 화면이 필요한가? 개념적 데이터 모델링 화면에 필요한 데이터가 무엇인가? 과연 이런 데이터가 있다면? 문제가 발생한다! 게시글 작성자와 댓글 작성자가 중복되기 때문이다 그렇기 때문에 주제별로 분리해서 데이터를 만들어줘야 한다 게시글 / 회원 / 댓글 이렇게 분리하면 조인을 통해 원하는 데이터를 추출할 수 있다 SELECT 아이디, 아.. 더보기
Oracle - 뷰(VIEW) 뷰(VIEW)란? 하나 이상의 테이블이나 다른 뷰의 데이터를 볼 수 있게 하는 데이터베이스 객체 실제 데이터는 뷰를 구성하는 테이블에 담겨 있지만 마치 테이블처럼 사용할 수 있다 뷰는 '테이블을 본다'는 의미가 있어 데이터를 조회하는 SELECT문으로 구성된다 뷰 생성해볼까요? 단순 view 열 별칭을 포함함으로써 열 이름을 제어할 수 있다 복합 view 뷰(VIEW) 수정은 어떻게 하나요? 뷰 삭제는 실제 데이터에 영향을 미치지 않는다 그러나 그 뷰를 기반으로 만들어진 뷰 또는 다른 어플리케이션은 무효화가 된다 [ 뷰의 규칙 정리 ] 단순 뷰에서 DML연산 수행할 수 있다 뷰의 행을 제거할 수 없는 경우 1) 그룹 함수 2) GROUP BY절 3) DISTINCT 키워드 뷰의 데이터 수정할 수 없는 경.. 더보기
Oracle - 테이블 제약조건(Constraint) 제약조건이란? 테이블의 어떠한 특정 컬럼에 사용자가 원하지 않는 데이터가 입력, 수정, 삭제되는 것을 방지하기 위한 조건 [ 제약조건 정의하는 구문 ] [ 열 레벨 제약조건 ] 열 별로 제약조건을 정의하는 것이 가능하며, 무결성 제약조건의 어떤 유형도 정의하는 것이 가능하다 어떻게 사용되는지 확인해 볼까요? 테이블을 생성할 것인데 각 컬럼별 제약조건을 정의해서 생성할 것이다 1. 사원번호, 이름, 급여, 부서번호를 저장하는 테이블 생성 2. 컬럼별 제약조건 정의 ▶ 사원번호는 PK (PRIMARY KEY) ▶ 이름은 NN (NOT NULL) ▶ 급여는 10000이하 (CHECK 사용) ▶ 부서번호는 departments 테이블을 참조해서 저장 (FOREIGN KEY) 3. 테이블의 이름과, 열 이름 그리.. 더보기
Oracel - 테이블 생성.. 그거 어떻게 하는 건데? 테이블 생성 [ 테이블 생성 구문 ] 알아둬야 할 게 있다면 테이블 이름은 대소문자를 구분하지 않는다는 것이다 예시) employees = EMPLOYEES 테이블을 생성하면 다음과 같다 테이블 구조는 어떻게 변경할까? ALTER TABLE문장에 ADD절을 사용하여 테이블에 열을 추가할 수 있다 열을 추가하거나 수정은 가능하나 열의 위치는 지정할 수 없다 (새로운 열은 마지막 열) 새로운 열 추가 시 제약사항과 함께 추가할 수 없음 열 추가 (ADD) 열 변경(MODIFY) 조금 더 자세하게 알아보자 COLUMN 추가 ADD절 사용 열을 추가할 때 테이블이 이미 어떤 행을 포함하고 있다면, 새로운 열은 이미 존재하는 모든 행에 대해서 Null로 초기화 열의 이름도 변경이 가능할까? 물론 가능하다! REM.. 더보기
Oracle - 트랜잭션이란 무엇인가 트랜잭션이란? 트랜잭션은 논리적인 작업의 단위로 분리되어서는 안 될 작업의 단위이다 ▶ START : 트랜잭션의 시작은 실행 가능한 첫 번째 SQL 문장이 실행될 때 시작한다 ▶ END: COMMIT이나 ROLLBACK문에 의해 명시적으로 종료하거나 DDL이나 DCL문장 실행으로 자동 커밋되어 종료될 수 있다 ▶ 사용자의 데이터베이스 종료 또는 시스템 충돌에 의한 데이터베이스가 비정상적 종료에 의해 트랜잭션이 종료되어 변경사항이 취소될 수 있다 Q. COMMIT과 ROLLBACK을 이용하면 좋은 점은 무엇일까? 1. 데이터를 일관적으로 제공 2. 데이터를 영구적으로 변경하기 전에 데이터 변경을 미리볼 수 있음 3. 관련된 작업을 논리적으로 그룹화 4. 하나의 트랜잭션이 끝난 후에 다음의 실행 가능한 SQ.. 더보기