Let's Code
-
서블릿의 응답과 요청: 헤더값 알아내기Let's Code/Server 2019. 8. 30. 23:26
WAS는 서블릿과 웹 브라우저를 이어주는 중간 관리자 같은 개념인데 서버의 과부하를 막기 위해 고안되었다고 한다. (아마도) JAVA는 *객체 지향* 즉, 객체를 생성하여 정보를 보관하는 프로그래밍 언어다. (객체 지향의 뜻이 뭘까 고민했는데 생각보다 간단했다) 만약 웹 브라우저가 처음에 요청을 넣으면, HttpServletRequest라는 객체가 생성된 후, 이를 서블릿에 전달한다. 이 때 보관되는 정보는, 1) 헤더정보 2) 파라미터 3) 쿠키 4) URI 5) URL 등이 있다. 반대로 서블릿이 응답하면, HttpServletResponse 객체를 생성한 후, 이를 웹 브라우저에 전달한다. 이 때 보관되는 정보는 1) content type 2) 응답코드 3) 응답 메시지 등이 있다. 헤더 정보를 ..
-
서블릿(Servlet)의 라이프싸이클(LifeCycle)Let's Code/Server 2019. 8. 30. 00:39
버전에 따른 Servlet 작성 방법 1. Servlet 3.0 spec 이상에서 사용하는 방법 web.xml 파일을 사용하지 않습니다. 자바 어노테이션(annotation)을 사용합니다. 실제 servlet tag 안에서 Servlet-name을 매치시키는 작업 서블릿을 생성할 때 URL mapping을 통해 조절 가능 2. Servlet 3.0 spec미만에서 사용하는 방법 servlet을 등록할 때 web.xml 파일에 등록합니다. Java annotation이 하는 일을 얘가 대신 함 (실행시킬 서블릿을 확인) 서블릿의 Life Cycle @WebServlet("/LifecycleServlet") public class LifecycleServlet extends HttpServlet { priv..
-
Eclipse에서 Tomcat 연동하기 / 서블릿 예제 2Let's Code/Server 2019. 8. 27. 17:40
Eclipse 2019-06에서 Tomcat 8.5.45 연동하기 매우 다사다난한 과정이었다. 1. Oracle에서 JDK 다운받기. 2. 이클립스 다운받고 EE Developer을 위한 패키지 다운받기. 3. Tomcat 다운받기. 2번부터 문제가 생겼는데, 2019년 6월부터 배포한 버전에서는 수업에 필요한 for Java EE Developers 패키지 대신 for Java Developers 밖에 서비스하고 있지 않았다. HTML, CSS 등의 Language와 Web Project를 서포트하고 있지 않았기에 추가적인 소프트웨어를 다운받아야 했다. Tomcat에서도 문제가 생겼는데, 이클립스가 지원하는 버전은 7.0까지였지만 내가 다운받은 건 8.5.45였다. 겨우겨우 구글링해가며 이클립스가 배포..
-
JavaScript 기초 키워드 정리Let's Code/JavaScript 2019. 8. 26. 23:13
Py 어플을 다시 다운받았다. 빠르고 직관적으로 배우기는 이 어플이 제일 좋은 것 같다. Style 자바스크립트는 camel-case를 따르는데, 이는 변수에 여러 단어가 중첩될 경우 다음 단어가 대문자로 표현되는 것을 뜻한다. 마지막에 ; 붙이는 거 주의! var firstName; var lastName; var tempInBoston; If if (true) { console.log("Hello, World!"); } if (false) { console.log("Goodbye, World!"); } && : 둘 다 true일 경우 || : 둘 중 하나가 true일 경우 console.log가 파이썬의 print와 같은 기능을 하는 것 같다. Array var people = ["Sarah", "J..
-
웹이 구현되는 과정Let's Code/Server 2019. 8. 25. 15:33
웹이 구현되는 과정을 간단하게 정리하겠습니다. 우선 인터넷이란 것이 무엇인지, 서버와 클라이언트가 무엇인지, 프론트엔드와 백엔드는 어떻게 구분되는지 정리한 후, 웹이 유저에게 전달되기까지의 작동 원리를 요약하겠습니다. 해당 내용은 네이버의 부스트코스를 정리 + 강의에서 제공되는 별도의 링크를 번역/정리했습니다. 1. Intro to HTTP 용어 정의 인터넷: 네트워크들의 네트워크라 할 수 있다. LAN보다 더 폭넓은 개념. HTTP: 서버와 클라이언트가 데이터를 주고 받기 위한 프로토콜로, 서로 통신하기 위해 사용하는 일정한 양식이다. URL: Uniform Resource Locator의 약자로, 1) 접근 포로토콜://IP 주소로 표현되기도 하며 2) 도메인 이름/문서 경로/문서 이름과 같이 도메인..
-
CSS로 조건부 코드 짜기Let's Code/HTML・CSS 2019. 8. 20. 23:32
개인적으로 느끼는 파이썬과 CSS의 차이 (얼마 안 배웠지만) 파이썬에서는 조건부를 if 또는 for로 구현하곤 했었다. HTML이나 CSS에서는 파이썬과 같은 문장 느낌의 직관적인 코드 대신 명사 위주가 많다는 게 개인적인 감상. 예를 들어 파이썬에서 = 이 있었다면 여기서는 :이 있는 느낌? 파이썬에서는 width가 뭔지 지정해준 후, if width > 800 grid(width) 하고 들여쓰기 한 뒤 코드를 짜주면 코드가 성립한다. grid() function은 존재하지 않지만 있다고 치자. CSS에서는 유사한 표현을 @media(min-width:800px) { #grid { display: grid; } } 이렇게 표현한다. 굉장히 문장 같지 않고 단어식이다. 파이썬이 조건문을 작성하는 식이었..
-
CSS : 그리드 미리보기Let's Code/HTML・CSS 2019. 8. 19. 21:58
참조: 그리드 - 생활코딩 이번 강의의 결과물 이번 강의를 통해 알게 된 것 div의 존재 HTML/CSS에는 위계질서가 중요하다! 1. div 태그 태그는 '태그를 위한 태그'로서, 그 자체로는 아무 의미를 가지지 않는다. 여러 태그들을 하나의 클래스 또는 아이디로 감싸고 싶을 때, 또는 그러한 묶음을 하나의 요소로 지정하고 싶을 때 '포장지' 같은 개념으로 사용한다. 이 때, block level의 경우 , in-line의 경우 을 흔히 쓴다고 한다. 2. 코드 간 계층 물론 이 때의 위계질서란 직급이 아니라, 어떤 코드가 '선행'하는지, 또는 어떤 코드를 '포함'하는지의 여부이다. 메뉴 강연 읽을거리 충전 강연 제가 들은 강연을 정리해놓았습니다. 커리어연세에서 열리는 강의, CP Team에서 열어준..
-
CSS : 개념과 특징, 박스 모델Let's Code/HTML・CSS 2019. 8. 17. 13:54
출처: 생활 코딩의 WEB 2 강좌. CSS의 개념 HTML 태그를 디자인적으로 보완하기 위해 개발되었다. HTML 태그의 디자인을 일일이 수정할 필요 없이, 클래스로 묶어 대량 수정이 가능하다는 점에서 편리하다. 이를 위해서는 CSS 내에서 selector 지정이 필요하다. Selector는 디자인을 수정할 단위이며, 같은 효과를 적용할 태그의 묶음이다. ex. h1 (헤더), a (링크), a:visited (방문한 링크), ol (자동정렬된 리스트), 또는 앞에 #를 붙여 사용자가 별도 지정한 class나 id에 효과를 일괄 적용할 수 있다. a:link { color: darkgray; text-decoration: none; } a:visited { color: #32a1ce; } a:hover..