해당 글에서는 무인도 여행 문제를 Python을 이용해 풀이하고자 한다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔷 문제 설명 더보기 메리는 여름을 맞아 무인도로 여행을 가기 위해 지도를 보고 있습니다. 지도에는 바다와 무인도들에 대한 정보가 표시돼 있습니다. 지도는 1 x 1크기의 사각형들로 이루어진 직사각형 격자 형태이며, 격자의 각 칸에는 'X' 또는 1에서 9 사이의 자연수가 적혀있습니다. 지도의 'X'는 바다를 나타내며, 숫자는 무인도를 나타냅니다. 이때, 상, 하, 좌, 우로 연결되는 땅들은 하나의 무인도를 이룹니다. 지도의 각 칸에 적..
1️⃣ 서블릿이란? 자바 서블릿은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 🔹 웹 애플리케이션 서버를 직접 구현하면? 서버에서는 어떤 업무를 처리해야 할까? 서버 TCP/IP 연결 대기, 소켓 연결 HTTP 요청 메시지를 파싱해서 읽기 POST 방식, /save URL 인지 Content-Type 확인 HTTP 메시지 바디 내용 파싱 username, age 데이터를 사용할 수 있게 파싱 저장 프로세스 실행 비즈니스 로직 실행 데이터베이스에 저장 요청 HTTP 응답 메시지 생성 시작 HTTP 시작 라인 생성 Header 생성 메시지 바디에 HTML 생성..
해당 게시글은 김영한님 강의 MVC 1편을 수강하고 기록하기 위해 작성하는 글입니다. 1️⃣ 웹 서버(Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적(파일) HTML, CSS, JS, 이미지, 영상 예) NGINX, APACHE 2️⃣ 웹 애플리케이션 서버(WAS - Web Application Server) HTTP 기반으로 동작 웹 서버 기능을 대부분 포함(정적 리소스 제공 기능) 프로그램 코드를 실행해서 애플리케이션 로직 수행(웹 서버와 가장 큰 차이점) 동적 HTML, HTTP API(JSON) 서블릿, JSP, 스프링 MVC 예) 톰캣(Tomcat), Jetty, Undertow 3️⃣ 웹 서버, 웹 애플리케이션 서버(WAS) 차이 웹 서버는 정적 리소스(파일..
해당 글은 김영한 님의 HTTP 강의를 듣고 기록하기 위해 작성하는 글입니다. 1️⃣ 캐시 제어 헤더 Cache-Control: 캐시 제어 Pragma: 캐시 제어(하위 호환) Expires: 캐시 유효 기간(하위 호환) 현재는 대부분 Cache-Control을 사용한다. 2️⃣ Cache-Control 캐시 지시어(directives) Cache-Control: max-age 캐시 유효 시간, 초 단위 Cache-Control: no-cache 데이터는 캐시해도 되지만, 항상 원래(origin) 서버에 검증하고 사용해야 함 Cache-Control: no-store 데이터에 민감한 정보가 있으므로 저장하면 안 됨 (메모리에서 사용하고 최대한 빨리 삭제) 3️⃣ Pragma 캐시 제어(하위 호환) Pra..