일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mvc
- 다이나믹 프로그래밍
- 2020 KAKAO BLIND
- 서블릿
- 문자열 압축
- Servlet
- 2589
- 스프링
- 양꼬치
- 고모네 콩탕
- 설탕 배달
- HTTP API
- 쓰레드 풀
- 맛집 투어
- 1로 만들기
- Spring
- 완도산회
- dp
- 스프링 MVC
- 백준
- 프로그래머스
- 2638
- 알고리즘
- 투어
- 호유동
- 동적 프로그래밍
- BFS
- 포두부 보쌈
- 2839
- 맛집
- Today
- Total
목록전체 글 (157)
프로그래밍 공방
쓰레드 - 애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 쓰레드 - 자바 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행 - 쓰레드가 없다면 자바 애플리케이션 실행이 불가능 - 쓰레드는 한번에 하나의 코드 라인만 수행 - 동시 처리가 필요하면 쓰레드를 추가로 생성 단일 요청 - 쓰레드 하나 사용 쓰레드1이 쉬고 있다가 요청1이 연결에 들어오면 쓰레드1을 할당하고 쓰레드 1을 가지고 servlet을 호출한다 쓰레드1은 비즈니스 로직을 수행 후 요청1에 대한 응답1을 수행하고 쓰레드1은 다시 휴식으로 들어간다 다중 요청 - 쓰레드 하나 사용 쓰레드 1이 쉬고 있다가 요청1이 연결에 들어오면 쓰레드 1을 할당하고 쓰레드1을 가지고 servlet을 호출한다 그러나 처리가 지연되고 이때, ..
Servlet 클라이언트의 요청을 받아 웹페이지를 동적으로 생성하여 응답하는 서버측 프로그램 웹 애플리케이션 서버를 직접 구현한다면 해야할 일 1. 서버 TCP/IP 연결 대기, 소켓 연결 2. 웹 브라우저가 생성한 요청 HTTP 메시지 파싱해서 읽기 3. 파싱한 데이터를 분석해서 필요한(저장) 프로세스 실행 4. 비즈니스 로직 실행 - 데이터베이스에 저장 요청 5. HTTP 응답 메시지 생성 시작 - HTTP 시작 라인 생성 - Header 생성 - 메시지 바디에 HTML 생성 후 입력 6. TCP/IP에 응답 전달, 소켓 종료 서블릿을 지원하는 WAS를 사용한다면 해야할 일 1. 비즈니스 로직 실행 - 데이터베이스에 저장 요청 서블릿 @WebServlet(name = "helloServlet", ur..
웹 서버(Web Server) - HTTP 기반으로 동작 - 정적 리소스 제공, 기타 부가기능 - 정적(파일) HTML, CSS, JS, 이미지, 영상 ex) NGINX, APACHE 웹 애플리케이션 서버(WAS - Web Application Server) - HTTP 기반으로 동작 - 웹 서버 기능 포함(정적 리소스 제공 가능) - 프로그램 코드를 실행해서 애플리케이션 로직 수행 - 동적 HTML, HTTP API(JSON) - 서블릿, JSP, 스프링 MVC ex) 톰캣(Tomcat) Jetty, Undertow * WAS는 애플리케이션 코드를 실행하는데 더 특화되어 있다 웹 시스템 구성1 - WAS, DB - WAS, DB 만으로 시스템 구성 가능 - WAS는 정적 리소스, 애플리케이션 로직 모두..