분류 전체보기
-
[Back End] JSTL, EL, MavenWeb Development/부스트코스 - Back-End(Java) 2020. 3. 9. 22:54
EL(Expression Language) - EL(표현 언어)는 값을 표현하는 데 사용되는 스크립트 언어로서 JSP의 기본 문법을 보완하는 역할을 한다. - 데이터 타입, 수치 연산자, 비교 연산자 등은 여타 언어와 비슷하다. - 자세한 설명 : https://www.edwith.org/boostcourse-web/lecture/16714/ EL 사용법 ${ expr } EL의 기본 객체 예제 el01.jsp - JSP로 출력하기 pageContext.getAttribute("p1") : - EL 객체를 사용해서 출력하기 pageContext.getAttribute("p1") : ${pageScope.p1} request.getAttribute("r1") : ${requestScope.r1} sessi..
-
데이터베이스 개념 정리Computer Science/Database 2020. 3. 9. 15:37
(수정중) DDL, DML, DCL DDL(Data Definition Language) : 데이터 정의 언어 - 테이블 생성(create), 삭제(drop), 변경(alter) 등 DML(Data Manipulation Language) : 데이터 조작언어 - 조회(select), 삽입(insert), 수정(update), 삭제(delete) 등 DCL(Data Control Language) : 데이터 제어 언어 - 권한부여(grant), 권한회수(revoke) TCL(Transaction Control Language) : 트랜잭션 제어 언어 - commit, rollback 등 데이터 무결성(Data Integrity) 무결성이란 데이터와 현실세계의 실제 값이 일치하는 정확성 개체(Entity) ..
-
[백준] 16197 두 동전Problem Solving/Baekjoon Online Judge 2020. 3. 8. 23:16
[문제이해] 1. N x M map에는 두 개의 동전(o) 벽(#)과 빈 칸(.)이 존재한다. (두 동전의 위치는 다름) 2. 두 동전을 동시에 움직일 수 있는 버튼이 있다. (방향은 상하좌우 4방향) 3. 두 동전 중 하나만 map에서 떨어뜨리기 위해 버튼을 최소 몇 번 눌러야하는지 구해야한다. 4. 단, 동전을 떨어뜨리거나 버튼을 10번보다 많이 눌러야 한다면, -1을 출력한다. [설계] 1. x,y 구조체에 대한 구조체를 만들어 두 동전의 위치좌표를 간단하게 표현한다. 2. 4 방향의 버튼을 누르는 경우의 수를 재귀적으로 구현한다. 3. 재귀단계가 10이 넘어가면, 실패 (-1 출력) 4. 한 개의 동전만 떨어졌을때 버튼을 누른 횟수가 최소인지 체크하고, 최소이면 값을 갱신한다. 5. 두 동전이 모..
-
[Back End] ScopeWeb Development/부스트코스 - Back-End(Java) 2020. 3. 7. 16:12
Scope - Servlet과 JSP를 개발하다보면 변수를 많이 다루게 된다. - 어떤 변수는 웹 어플리케이션에서 공유하고싶고, 어떤 변수는 사용자 별로 유지하고, 또 어떤 변수는 포워딩 되는 동안 유지하고 싶은 변수가 있다. - 이렇게 변수를 어떤 범위 내에서 사용하기 위해서는 Scope(스코프)라는 것에 대해 알아야한다. 4가지 Scope - Application : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용한다. - Session : 웹 브라우저 별로 변수가 관리되는 경우 사용한다. - Request : http 요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 사용한다. - Page : 페이지 내에서 지역변수처럼 사용한다. Page Scope - ..
-
[Back End] Redirect & ForwardWeb Development/부스트코스 - Back-End(Java) 2020. 3. 6. 21:54
Reirect(리다이렉트) - 서버가 클라이언트에게 특정 URL로 이동하라는 요청을 보내는 것을 리다이렉트라고 한다. - 리다이렉트는 HTTP 프로토콜로 정해진 규칙이다. - 서버는 클라이언트에게 HTTP 상태 코드 302로 응답하는데 이때 헤더 내 Location 값에 이동할 URL을 추가한다. 클라이언트는 리다이렉션 응답을 받게 되면 헤더(Location)에 포함된 URL로 재요청을 보내게 된다. 이때 브라우저의 주소창은 새 URL로 바뀌게 된다. - 서블릿이나 JSP는 리다이렉트를 하기 위해 HttpServletResponse 클래스의 sendRedirect() 메서드를 사용한다. 예제 - 두 개의 JSP 파일 redirect01.jsp, redirect02.jsp이 있다. - redirect01...
-
[백준] 13460 구슬 탈출 2Problem Solving/Baekjoon Online Judge 2020. 3. 6. 19:23
[문제이해] 1. 맵에는 벽(#), 빨간구슬(R), 파란구슬(B), 구멍(O)이 각각 1개씩 존재한다. 2. 4가지 기울이기(왼쪽, 오른쪽, 위쪽, 아래쪽)를 통해 구슬을 굴릴 수 있다. - 빨간구슬이 구멍에 빠지면 성공 - 파란구슬이 구멍에 빠지면 실패 - 빨간구슬과 파란구슬 모두 구멍에 빠져도 실패 - 기울이기를 10번 초과하면 실패 3. 보드의 상태가 주어졌을 때 최소 몇 번만에 빨간 구슬을 구멍을 통해 빼낼 수 있는지를 계산해야한다. [설계] 1. 빨간구슬과 파란구슬에 대해 상,하,좌,우 4방향 BFS를 적용한다. 2. 예를들어 맵을 오른쪽으로 기울였으면, 빨간구슬과 파란구슬 둘 다 오른쪽 방향 BFS를 적용한다. 3. 큐에다가 빨간구슬 x, y 좌표와 파란구슬 x, y 좌표 그리고 기울인 횟수 ..
-
문제 해결 능력을 연마하는 방법Problem Solving/Memo 2020. 3. 6. 14:03
문제 해결 능력은 프로그래밍 언어나 알고리즘 처럼 명확히 정의된 실체가 없는 추상적인 개념이다. 그렇기에 단순한 반복만으로는 연마하기 어렵다. 좋은 문제 해결자가 되기 위해서는 좀더 높은 차원의 수련이 필요하다. 이 수련의 목푠은 문제를 푸는 것이 아니라 문제를 푸는 기술을 연마하는 것이다. 이를 위해서는 자신이 문제를 어떤 방식으로 해결하는지를 의식하고 어느 부분이 부족한지, 어떤 부분을 개선해야 할지 파악해야한다. 문제 해결 과정을 여러 부분으로 나눠 보고 각 과정에 대한 검토를 하며 개선해 나가야한다. 각 단계에 대해 살펴보자. 1. 문제를 읽고 이해한다. 문제를 읽고 이해하는 것의 중요성은 아무리 강조해도 지나치지 않는다. 문제 설명을 공격적으로 읽으며 문제가 원하는 바를 완전히 이해하는 과정이 ..
-
분야를 막론한 좋은 개발자의 조건Problem Solving/Memo 2020. 3. 6. 01:37
공통된 좋은 개발자의 조건? 프로그래머는 프로그램을 만들 때 다음과 같은 사항을 고려해야한다. 1. 프로그램이 사용할 수 있는 최대 메모리 2. 프로그램이 동작하는데 걸리는 시간 3. 재사용성이 높은 간결한 코드 그 외 프로그래밍 언어의 특성, 프로그램이 동작할 하드웨어와 운영체제, 사용하고 있는 라이브러리들에 대한 유의사항을 고려하며, 프로그램을 개발해야한다. 이렇게 많은 조건과 요구사항을 이해하고 최선의 방법을 찾아내는 능력은 분야를 막론하고 좋은 프로그래머가 되기에 필수적이다. 이러한 능력을 문제 해결 능력이라고 한다. 문제 해결 능력은 추상적인 기술이기 때문에 훈련하기 매우 어렵다. 우리는 PS(Problem Solving)을 통해 이 능력을 계발할 수 있다. PS를 통해 얻을 수 있는 장점은 다..