구글 크롬 익스텐션을 이용해서 누구나, 어떠한 사이트라도 쉽고 빠르게 튜토리얼을 제작하고 볼 수 있는 서비스 입니다. 이렇게 제작된 튜토리얼들은 해당 웹사이트 위에 동적으로 삽입되어 사용자에게 비춰지며, 사용자들은 클릭 몇 번으로 웹사이트의 다양한 기능들을 익힐 수 있습니다.
구글 크롬 익스텐션을 이용해서 누구나, 어떠한 사이트라도 쉽고 빠르게 튜토리얼을 제작하고 볼 수 있는 서비스 입니다. 이렇게 제작된 튜토리얼들은 해당 웹사이트 위에 동적으로 삽입되어 사용자에게 비춰지며, 사용자들은 클릭 몇 번으로 웹사이트의 다양한 기능들을 익힐 수 있습니다.
인터넷의 역사부터 웹의 탄생, HTTP 와 REST 등, 우리가 현재의 웹을 이해하는데 필요한 것들만 정리 했습니다.
현업에 개신 개발자 분들은 다들 아시는 내용이겠지만, 정작 우리 주위엔 웹을 많이들 쓰고, 관련해서 일을 하면서도 웹의 내부에 대해서는 잘 모르고 있는 사람들이 많습니다.
웹의 기반기술을 제대로 아는것이, 우리가 좀더 웹을 진지하게 접근하는 것의 시작이라고 생각합니다.
This document provides an overview of JSP/Servlet architecture. It describes how a web request is handled from the browser to the web server and JSP/Servlet container. It then discusses key components like servlets, JSPs, the request and response objects. It provides examples of basic servlet and JSP code to output text and access request parameters. It also covers servlet configuration, mappings, and the use of forwards and redirects.
This document describes the backend architecture of Naver web services. It discusses the development environment used, including the operating system, programming languages, IDEs, build tools, and version control system. It also provides a brief overview of the user base, data, and scale of the services supported.
2016년 11월 5일 있었던 GDG DevFest 2016 Seoul 행사에서 진행된 `Boot Camp: 초보 개발자를 위한 웹 프론트엔드 개발 101` 워크숍의 소개 부분 슬라이드입니다.
- 행사 URL: https://festi.kr/festi/gdg-korea-2016-devfest-seoul/program/92/
.NET을 처음 접한 프로그래머가 P2P 네트워킹 기능을 구현하면서 마주쳤던 문제와 해결 방법등 개발 경험 전반에 걸쳐서 이야기 해 보려 합니다. 또한 C# 8.0에 추가되는 비동기 스트림을 미리 써볼 수 있는 AsyncEnumerable과 비동기 잠금(lock) 등의 편리한 기능을 갖춘 AsyncEx등의 라이브러리들도 소개합니다.
Do IoT Yourself! - 사물 간의 연결을 위한 Open APIHyunghun Cho
Do IoT Yourself 세미나의 세 번째 발표 자료 프리뷰입니다.
이번 세미나에서는 지난 세미나에서 개발한 아두이노 기반 온도 센서 정보를 RESTful Web API 형태의 Open API로 개발하는 과정을 다룹니다.
프리뷰 자료이기 때문에 이후 수정, 변경될 가능성이 있으니 양해 바랍니다.
3. What is Tomcat
Response, Request 객체 생성
클라이언트의 요청에 대한 서블릿 스레드 생성
서블릿 스레드에 아까 만든 객체 넘김
service()가 작업한 response를 HTTP로 클라이언트에게 보냄
서블릿 service() 메소드 호출
어떤 스레드인지는 DD를 이용하여 알아냄
4. service()
• 요청에 따라 doGet() 혹은 doPost() 메소드를 호출
• doGet()/ doPost() 는 동적인 페이지를 생성
• doGet(), doPost()는 동적인 페이지를 어떻게 생성할까?
5. 얘가 서블릿.
public class DatingServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletReponse response)
throws IOException {
String d = Integer.toSting((int) ((Math.random()*6)+1));
printWriter out = response.getWriter();
out.println(“<html> <body>”+ …); }
}
doGet이 요기있넹
6. 얘가 서블릿.
public class DatingServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletReponse response)
throws IOException {
String d = Integer.toSting((int) ((Math.random()*6)+1));
printWriter out = response.getWriter();
out.println(“<html> <body>”+ …); }
}
아까 톰캣이 만든 객체
7. 얘가 서블릿
public class DatingServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletReponse response)
throws IOException {
String d = Integer.toSting((int) ((Math.random()*6)+1));
printWriter out = response.getWriter();
out.println(“<html> <body>”+ …); }
}
똑똑한 놈이죠. 비즈니스 로직
8. 얘가 서블릿
public class DatingServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletReponse response)
throws IOException {
String d = Integer.toSting((int) ((Math.random()*6)+1));
printWriter out = response.getWriter();
out.println(“<html> <body>”+ …); }
}
서기입니다. 프리젠테이션 로직
10. MVC
• Model: 똑똑한 비즈니스 로직. 자바코드입니다.
• View: 글 잘쓰는 프레젠테이션 로직. JSP입니다.
• Control: 관리직이죠. 일을 받아와서 M과 V에게 줍니다.
M의 일은 M에게 V의 일은 V에게
11. 얘가 서블릿
public class DatingServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletReponse response)
throws IOException {
String d = Integer.toSting((int) ((Math.random()*6)+1));
printWriter out = response.getWriter();
out.println(“<html> <body>”+ …); }
}
JSP(V)
자바코드(M)
서블릿(C)
12. 얘가 MVC 디자인 패턴
public class DatingServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletReponse response)
throws IOException {
자바 클래스가 할 겁니다.
}
JSP가 할 겁니다.
서블릿(C)
13. What is DD
• 다른 URL로 들어왔는데 같은 서블릿이 필요하다면?
• 클라이언트가 서버에 직접 접근해온다면?
그래서 DD를 씁니다.
14. 얘가 DD
<servlet>
<servlet-name> Internal name1</servlet-name>
<servlet-class>foo.servlet1<servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Internal name 1</servlet-name>
<url-patten>/Public1</url-patten>
</servlet-mapping>
이런 애들이 많이 있어요.
16. 얘가 DD
<servlet>
<servlet-name> Internal name1</servlet-name>
<servlet-class>foo.servlet1<servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Internal name 1</servlet-name>
<url-patten>/Public1</url-patten>
</servlet-mapping>
아까 URL로 알아왔죠?
이걸로 서블릿 이름 알 수 있어여
근데 아직 잘 모르겠죠? 괜찮아요 다음에도 다시 배울거래요