웹 서버의 가장 중요한 기능은 클라이언트가 요청하는 HTML문서나 각종 리소스를 전달하는 것이다. 클라이언트란 웹 브라우저, 웹 크롤러 등을 말하며 이들은 모두 웹 서버에게 HTTP에 맞도록 리소스를 요청하고 웹 서버는 요청한 리소스를 반환한다. 이때 클라이언트가 요청하는 리소스는 컴퓨터에 저장된 정적 데이터나 동적인 결과가 될 수 있다. 만약 리소스가 존재하지 않거나 요청한 리소스를 전송할 때 문제가 잘생된다면 에러 메시지를 전송한다. 정적 데이터: 이미지, HTML, CSS, JavaScript 파일과 같이 컴퓨터에 저장되어 있는 파일들 동적인 결과: 웹 서버에 의해서 실행되는 프로그램을 통해 만들어진 결과물 클라이언트와 웹 서버는 보통 HTTP를 통해 통신을 한다. HTTP는 Hypertext Tr..
분류 전체보기
문제에서 주어진 바와 같이 우리는 준서가 버틸 수 있는 무게에 맞추어 최대 가치를 가지도록 배낭에 물건을 담아야 한다. 이를 위해 knapsack 알고리즘을 활용할 수 있다. 만약 다음과 같이 물건과 가치가 주어졌다고 할 때 버틸 수 있는 무게를 10으로 놓고 knapsack 알고리즘이 어떻게 진행되는지 살펴보자. 물건 1 2 3 4 무게 5 6 4 3 가치 20 10 30 40 knapsack 알고리즘을 위해서는 dp table을 생성해야 한다. 이를 위해 (물건의 개수+1) ×(버틸 수 있는 무게+1) 만큼의 크기를 가진 table을 생성한다. 이때 (물건의 개수+1) 만큼의 행을 가지도록 생성한 이유는 knapsack알고리즘을 적용하기 위해서다. 배낭 용량 0 1 2 3 4 5 6 7 8 9 10 ..
1. Apache Tomcat 다운 및 설치 우리가 word 파일을 열어서 내용을 확인하기 위해서는 ms office의 word 프로그램이나 viewer가 필요하다. 웹 어플리케이션 역시 실행을 위해서 필요한 것이 있는데 그것이 바로 WAS(Web Application Server)이다. Apache Tomcat은 아파치 소프트웨어 재단(Apache Software Foundation)에서 개발한 많이 사용되는 WAS중 하나이다. Apache Tomcat을 다운받기 위해서는 아래 링크를 통해 아파치 웹 사이트에 접속해야 한다. https://tomcat.apache.org/ 접속하면 아래와 같은 화면이 띄워지고 좌측 Download 탭에 Tomcat 8~10 중 원하는 설치 버전을 선택하면 된다. 원하는..
Eclipse에서 프로그램을 만드려면 기본적으로 프로젝트를 하나 생성해야 한다. 하나의 프로젝트는 하나의 클래스 파일로 구성될 수도 있고, 여러 개의 파일들로 구성될 수도 있다. Eclipse에서 프로젝트를 생성하려면 File→New→Project 메뉴를 선택해야 한다. 이렇게 선택을 진행하면 위와 같은 Dialog가 열린다. 해당 Dialog는 다양한 종류의 Project를 생성할 수 있는 마법사 기능을 가지고있다. 이때 마법사 기능이란 몇 가지 선택을 함으로써 필요한 파일들이나 폴더 등을 생성하여 편하게 프로그래밍을 할 수 있도록 도와주는 기능을 말한다. 우리는 Java Project를 선택하고 Next를 클릭하면 된다. 위와 같은 창이 열리면 먼저 "Project name"칸에 프로젝트 이름을 작성..
Eclipse는 윈도우, 맥, 리눅스 등 여러 운영체제에서 동작하며, Java를 비롯한 다양한 프로그래밍 언어를 개발할 수 있는 통합 개발 환경(Integrated Development Environment, IDE)이다. 이때 IDE란 코딩, 디버그, 컴파일 등의 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어를 의미한다. Eclipse 다운로드 및 설치 먼저 아래 URL을 클릭하여 Eclipse 공식 홈페이지에 들어가자. https://www.eclipse.org/ 해당 URL을 입력하면 다음과 같은 화면이 뜬다. 우리가 이클립스를 사용하여 자바 웹 어플리케이션을 개발하려면 "Eclipse IDE for Java EE Developers"를 다운받아야 한다. 이를 위해 상단의 Mor..
JDK 설치 이후에 JDK를 콘솔 환경에서 잘 실행될 수 있도록 시스템 환경 설정을 해야 한다. 이 글은 Window 운영체제를 기준으로 JDK 설치 후 어떻게 환경 설정을 하는지를 정리한 글이다. JDK에 대한 시스템 환경 설정은 운영체제마다 다르지만 설정해야 할 환경 변수의 이름은 동일하다. 이때 설정해야 할 환경변수는 아래 3가지이다. JAVA_HOME: Java가 설치된 경로 CLASSPATH: Java 클래스가 있는 경로 PATH: Java 실행파일이 있는 경로 이때 PATH는 기존에 존재하는 환경 변수이고, JAVA_HOME, CLASSPATH는 새롭게 추가해야 한다. 환경 설정 먼저 검색창에 "시스템 환경 변수 편집"을 검색하고 선택한다. 그럼 아래와 같은 창이 뜨는데 "환경 변수" 버튼을 ..
Java로 작성된 프로그램을 실행하기 위해서는 JRE(Java SE Runtime Environment)가 필요하다. 즉, 단순히 Java로 개발된 프로그램을 실행만 시키는 사용자라면 JRE만 설치하면된다. 반면 개발자는 Java로 작성된 소스 코드를 컴파일하고 관리할 필요가 있다. 이때 사용되는 도구를 JDK(Java SE Development Kit)라고 부른다. 단, 컴파일한 결과를 실행하기 위해서는 JRE가 필요하기 때문에 JDK안에는 JRE가 포함되어 있다. JDK 다운로드 및 설치 JDK는 Oracle에서 무료로 다운로드할 수 있다. 지금부터 설명하는 방식은 window를 기준으로 설치하는 방식이다. 먼저 아래 URL을 통해 ORACLE 사이트에 들어가자. https://www.oracle.c..
알파벳을 탐색할 때 고려해야할 조건은 다음과 같다. 다음에 탐색하는 인덱스가 배열 범위를 넘어가는가? 다음 알파벳을 이전에 만난적이 있는가? 위를 고려하여 DFS 방식으로 탐색하면 다음과 같이 구현할 수 있다. import sys input = sys.stdin.readline def dfs(x, y, tmp): # 현재까지 탐색한 결과가 최대 이동 횟수라면 result에 저장한다. global result result = max(result, tmp) # 현재 위치에 해당하는 알파벳에 방문처리를 한다. index = ord(board[x][y])-ord("A") visited[index] = True # 모든 방향으로 이동하여 dfs 탐색을 수행한다. for i in range(4): next_x, n..