분류 전체보기

Java/JSP

EL (Expression language)

EL (Expression language) 란? EL은 표현을 위한 언어로 JSP 스크립트의 표현식을 대신하여 속성 값을 쉽게 출력하도록 고안된 Language 입니다. EL은 값이 없는 변수 null에 대해 좀 더 관대하고 데이터 형 변환을 자동으로 해주는데 이러한 특징은 질의 문자열을 처리하는데 주요하게 작용합니다. 배열이나 컬렉션 뿐만아니라 JavaBean의 프로퍼티에도 사용됩니다. EL 문법 구문 EL 은 ${ }내에 표현식으로 표현 합니다. EL 자동으로 형변환을 하기 때문에 아래의 경우 처럼 기존의 스크립트릿을 사용하는 방법 보다 더 편리하게 사용할 수 있습니다. // 스크립트릿 ${user.name} // EL 스크립트릿의 경우 자바에서의 객체를 불러오는 형식이라면 EL의 경우는 Attri..

Java/JSP

HTTP Cookie

Cookie 란? 쿠키는 웹사이트 접속시 client의 개인장치에 다운로드 되고 브라우저에 저장되는 작은 데이터 조각입니다. 웹사이트는 쿠키를 통해 client의 장치를 인식하고, client의 설정과 과거 이용내역에 대한 일부 데이터를 저장합니다. 이를 이용해 로그인 상태 유지와 같은 기능을 구현할 수 있습니다. client가 별도의 요청을 하지 않아도 브라우저는 request시 Request Header를 넣어 자동으로 서버에 전송하게 됩니다. Cookie의 목적 세션관리(Session Management) 서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리 개인화 (Personalization) 사용자 선호, 테마 등의 세팅 트래킹(Tracking) 사용자 행동을 기록하고 분석하는 ..

Java/JSP

MVC

MVC 란? MVC는 Model - View - Controller의 약자로 모델, 뷰, 컨트롤러 3가지의 형태로 역할을 나누어 개발을 하는 방법론입니다. 사용자의 인터페이스와 비즈니스 로직을 분리하여 결합도를 낮춰 유지보수시에 편리하다는 장점이 있습니다. MVC 이름 처럼 모델, 뷰, 컨트롤러 세가지로 나누어 지며 각자의 역할은 다음과 같습니다. 모델 (Model) : 데이터와 비즈니스 로직 관리 컨트롤러로 부터 넘어온 data를 이용하여 이를 수행하고 그에 대한 결과를 리턴 DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다룸 뷰 (View) : 레이아웃과 화면 처리 모든 화면 처리 담당 결과물을 생성하기 위해 모델로 부터 정보를 받아옴 컨트롤러 (Controller) : 모델과 ..

Computer Science/Database

SQL과 NoSQL

SQL SQL은 관계형 데이터베이스(RDBMS)의 데이터를 저장, 검색 및 조작하는 하기 위해 설계된 프로그래밍 언어 입니다. 관계형 데이터베이스는 대부분 SQL 언어를 사용하기 때문에 데이터베이스를 SQL이라고 부르게 되었습니다. 특징 고정된 행과 열로 구성된 테이블에 데이터를 저장 각 열은 하나의 속성에 대한 정보를, 행에는 각 열의 데이터 형식에 맞는 데이터가 저장됨 테이블의 구조와 데이터 타입등을 사전에 정의하여 사용하며, 테이블에 정의된 내용에 알맞은 형태의 데이터만 삽입 가능 데이터의 중복을 피하기 위해 '관계'를 사용 장점 명확하게 정의된 스키마, 데이터 무결성 보장 관계는 각 데이터를 중복없도록 만들어줌 단점 데이터 스키마를 사전에 계획하고 사용 관계가 존재하기 때문에 조인문이 많은 복잡한..

Computer Science/Database

SQL Injection

SLQ Injection 이란? SQL 삽입, SQL 주입으로도 불리며 코드 인젝션의 한 기법으로 클라이언트의 입력값을 조작하여 서버의 데이터베이스를 공격하는 방식을 말합니다. 웹 어플레케이션은 사용자의 클릭, 입력등에 따라 DB에 있는 데이터를 서로 다르게 받아오게 됩니다. 그러기 위해 Query는 사용자가 입력한 데이터를 포함하는 식으로 동적으로 변하게 되기 때문에 개발자가 의도하지 않은 정보를 열람할 수 있는 가능성이 생깁니다. 위의 상황을 노리고 임의의 쿼리를 생성하여 DB의 정보를 열람하거나 조작하는 경우를 SQL Injection이라고 할 수 있습니다. 공격난이도가 쉽지만 피해가 크기 때문에 OWASP에서도 수년 동안 인젝션 기법이 보안 위협 1순위로 분류되었습니다. 따라서 보안에 각별한 주의..

Algorithm/문제

[알고리즘] 백준 1717 : 집합의 표현 - JAVA

문제 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net 문제설명 초기에 n+1개의 집합 {0},{1},{2},…,{n}이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작성하시오. 입력 첫째 줄에 n, m이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 a가 포함되어 있는 집합과, b가 포..

Algorithm/문제

[알고리즘] 프로그래머스 : 입국심사 - JAVA

문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 ..

Java/JSP

JSP (Java Server Page)

JSP 란? JSP (Java Server Page)는 HTML내에서 Java 코드를 삽입하여 웹 서버에서 동적을 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어입니다. JSP는 실행시에 자바 서블릿으로 변환된 후 실행되기 때문에 서블릿가 유사하다고 볼 수 있지만, 서블릿과는 다르게 HTML 표준에 따라서 작성되기 때문에 웹디자인하기에 편리합니다. JSP 동작 과정 JSP Script JSP에서 사용되는 태그는 다음과 같습니다. 1. 선언문 (Declaration) : 자바 변수나 메소드 정의 2. 스크립트릿 (Scriptlet) : 자바 로직 코드 작성 3. 표현식 (Expression) : 변수, 계산식, 메소드 호출 결과를 문장열 형태로 출력 4. 주석 (Comment) : 코드 부가 설명 작성 ..

Computer Science/Database

Redis

Redis란? Remote Dictionary Server의 약자이며, 데이터를 메모리에 저장하는 인 메모리 방식의 비관계형 데이터베이스 관리 시스템입니다. Redis 는 Key-Value 구조의 비정형 데이트를 저장 및 관리하며 빠른 처리 속도를 자랑합니다. Redis의 특징 Key - Value 저장방식 다양한 데이터 타입 String : 일반적인 문자열로 최대 512MB까지 저장 가능 Set : String의 집합 Sorter Set : 정렬된 Set Hash : value내에 field/string value 쌍으로 이루어진 테이블을 저장하는 데이터 구조체 List : String들의 집합으로 Set와 유사하지만, 양방향 리스트와 같아 List 앞과 뒤에서 push / pop연산을 가능 싱글 스레..

Java/JSP

서블릿 (Servlet)

Servlet 이란? 자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램을 만들 때 사용되는 웹 애플리케이션 프로그래밍 기술입니다. 기존의 웹페이지의 경우 정적인 페이지로 초기에 던져준 html 페이지에 대하여 별다른 변화가 필요하지 않았습니다. 하지만 점차 사용자의 요청에 따라 웹페이지에도 동적인 변화가 필요하게 되었고 이를 위해서 서블릿이 만들어지게 되었습니다. 서블릿은 JSP와 비슷한 점이 있지만, JSP가 HTML 문서 안에 Java 코드를 포함하고 있는 반면, 서블릿은 자바 코드 안에 HTML을 포함하고 있다는 차이점이 있습니다. Servlet 주요 특징 클라이언트의 요청에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트 HTML을 사용하여 응답 ..

Hover_
'분류 전체보기' 카테고리의 글 목록