Head First 시리즈 다운 산만한 구성을 하고 있습니다. 이게 진짜 뇌과학적으로 학습에 도움이 되는줄은 잘 모르겠으나 일반적인 딱딱한 구성의 책들보다는 쉽게 읽히는 면이 있습니다. 시중에 많이 판매되는 많은 예제를 제공하고 그 예제를 따라치면서 익혀가는 방식의 책과는 확실히 다르긴 합니다. Servlet과 JSP를 처음 다뤄보는 입문자용의 책이고 그에 맞게 난이도가 높은 편은 아니지만 HTTP에서부터 컨테이너의 동작원리까지 훑어보는 책이기 때문에 본질적으로 깊이있게 공부를 한다면 난이도가 제법 느껴질 것 같습니다. 초심자 혹은 이미 servlet과 jsp에 익숙한 사람에게도 도움이 될 것 같습니다. 다만 역시 출판된지 좀 된 책이기 때문에 최신 경향에서 벗어난 면이 많이 있는 것이 단점입니다.
최초의 Head First 시리즈 답게 이 시리즈 특유의 산만한 구성을 잘 확인할 수 있습니다. java 입문자를 대상으로 한 아주 기초적인 내용의 책이지만 시중에 출판되는 실용적인 목적의 책들이 간과하기 쉬운 본질적인 내용, 다시말해 객체지향의 개념이나 상속, 설계원칙 같은 것을 다루고 있기 때문에 오히려 자바를 조금 아는 사람이 보는 것도 나쁘지 않을 것 같습니다. 단점은 역시 나온지 조금 오래된 책이라 최신 트렌드와는 동떨어진 내용이 조금 있고 특히 자바8 이후 바뀐 내용이 전혀 포함되어 있지 않기 때문에 이 책을 보고 난 이후 최근에 출판된 책이나 강의로 필요한 부분을 추가 학습 해야 할 것 같습니다. 아주 쉬운 책이지만 깊이있게 공부한다면 오히려 난이도가 있게 느껴질 것입니다.
클라이언트 요청을 받은 컨테이너가 매핑된 서블릿을 찾아서 service() 메소드를 실행시키는 것, 그리고 서블릿이 존재하지 않으면 클래스를 로드해서 인스턴스를 생성하고 초기화 시킨다는 것 까지 지난시간에 살펴 본 내용입니다. 컨테이너가 하는 일 중 또 다른 한 가지는 JSP 요청을 처리하는 것입니다. JSP는 HTML 코드 안에 JAVA 코드가 포함된 형태를 가지고 있습니다. 하지만 일단 객체가 만들어지면 동작하는 방식은 servlet과 똑같습니다. 쉽게 말하자면 JSP는 포장된 servlet이라고 할 수 있습니다. 컨테이너가 서블릿 객체를 이용하고 싶으면 일단 jsp의 겉포장을 벗겨 내야 합니다. 이렇게 번거로운 작업을 하게 된 것은 코드 작성의 편의성을 위한 것입니다. 포장을 벗겨낸다는 것은 결국 ..
문제 프로그래머스(Programmers.co.kr) 에서 제공하는 문제입니다. 저작권 문제가 생길 수 있기 때문에 문제를 옮기지는 않겠습니다. 문제를 보고싶으신 분은 https://programmers.co.kr/learn/courses/30/lessons/42895 으로 접속하시면 됩니다. 풀이 사용하는 N 세 개를 사용해서 숫자를 만들 때를 생각해 봅시다. 이 때 숫자를 만드는 방법은 N이 두 개일때 만들어진 숫자와 N 하나를 연산하는 것입니다. N 네 개를 사용해서 숫자를 만 들면 N이 두개일 때 만들어진 숫자들은 서로 연산하거나 N이 세 개 일 때 만들어진 숫자와 N 하나를 연산하는 것입니다. 여기까지 생각하게 되면 이 문제가 전형적인 동적계획법 문제임을 알 수 있습니다. 코드 1234567891..
서블릿의 생명주기와 동작 순서를 대략적으로 알아 봤으니 이제 잠깐 미뤄 두었던 ServletConfig에 대해 알아보도록 하겠습니다. Servlet의 init() method를 설명하면서 ServletConfig 객체를 인자로 받는다는 말을 했습니다. ServletConfig 객체는 말 그대로 Servlet에 관한 설정 정보를 서블릿으로 넘겨주기 위하여 사용하는 객체입니다. 서블릿 안에 하드코딩하기를 원하지 않는 정보들이 이 안에 포함됩니다. 이 정보는 배포서술자나 어노테이션 안에 코딩되어 있습니다. 컨테이너는 이 정보를 이름-값 쌍의 문자열 객체로 읽어들이게 됩니다. 여기서는 adminEmail 정보가 저장되어 있는데요. init() method 안에서 초기화 된 이후에는 이 정보를 getServlet..
우선 지난 시간에 배웠던 Servlet의 동작 순서를 다시한 번 복습 하겠습니다. 여기서 컨테이너는 매핑된 서블릿을 찾아서 service() 메소드를 호출한다고 했습니다. 그런데 어떤 클래스의 메소드를 호출하려면 그 클래스의 instance가 존재해야 합니다. 그렇다면 servlet의 instance가 언제 생성이되는지 궁금해 집니다. 결론부터 이야기 하면 ‘클라이언트로 부터 최초 요청을 받았을 때’ 입니다. 컨테이너는 cilent의 최초 요청이 있을 때, 매핑된 servlet 클래스 파일을 찾아서 로딩하게 됩니다. 그리고 servlet 객체를 생성하고 초기화를 담당하는 init() method를 호출하게 됩니다. 그런데 이렇게 컨테이너에 최초 요청이 들어올 때 클래스를 로드하고 생성자와 초기화 메소드를..
javatalk 개요 : swing을 이용해서 만든 간단한 socket 채팅 애플리케이션개발인원 : 1명개발기간 : 7일사용기술 : JAVA(jdk 1.8), HTML, eclipse 등...github : https://github.com/cheolhyeonpark/javatalk설명 : Head First Java를 다 읽고 배운 내용을 정리하기 위해 시작한 프로젝트입니다. 서버와 클라이언트는 소켓 통신을 통해 연결되고 message 객체를 주고 받도록 했습니다. GUI는 swing을 이용했고 외부 API(네이버 백과사전 검색) 기능을 넣어 봤습니다. 구현기능 : - 서버 접속시 중복 닉네임 체크 / 중복일 때 에러 페이지 출력- 입장 / 퇴장 시 안내 메세지 출력- 프로필 이미지(아바타) 설정 가능..
웹 서버의 주된 기능은 웹 페이지를 클라이언트로 전달하는 것입니다. 주로 그림, CSS, 자바스크립트를 포함한 HTML 문서가 클라이언트로 전달됩니다. 하지만 이런 웹 서버의 경우 이미 존재하는 즉, 정적인 페이지를 제공하는 역할만 할 수 있습니다. 실시간으로 작성된 페이지를 제공하거나 서버 상에 데이터를 저장하는 것은 웹 서버가 할 수 없는 일입니다. 때문에 이런 역할을 해 주는 다른 도우미 애플리케이션이 필요합니다. 이런 도우미 애플리케이션을 사용하면 웹 서버는 도우미 애플리케이션에 요청을 전달하기만 합니다. 그러면 도우미 애플리케이션은 요청받은 작업을 수행하거나 정적인 페이지를 만들어서 웹서버로 전달합니다. 웹서버는 이를 다시 클라이언트로 전해줍니다. 자바에서는 이 역할을 해 주는 것이 서블릿입니다..
- Total
- Today
- Yesterday
- 코딩의 기술
- 자바스크립트 개론
- html
- Markov
- 문장 생성기
- 마르코프 연쇄
- 클린코드
- 야근
- was
- Count
- restful api
- 유지보수
- 로그
- 마르코프
- REST API
- 디자인패턴
- CONVENTIONS
- 몰라서망신
- Warning
- 자바스크립트개론
- 동적계획법
- GROUP BY
- java
- DP
- markov chain
- 크롬
- 경고
- RESTful
- Spring in Action
- 전략패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |