CS 75

프로세스(Process)와 스레드(Thread)

1. 프로세스 1) 의미 : 프로세스란 실행 중인 프로그램을 의미하며 자원(메모리, CPU)과 스레드로 구성 하나의 새로운 프로세스를 생성하는 것 보다 하나의 새로운 스레드를 생성하는 것이 더 적은 비용이 든다. 2. 스레드 1) 의미 : 프로세스 내에서 실제 작업을 수행하는 것을 스레드라고 하며, 모든 프로세스는 하나의 스레드를 가지고 있다. 2) 멀티 스레드 : 자원 + 스레드 + 스레드 + 스레드...(싱글 스레드 = 스레드가 하나인 경우) 멀티 태스킹 : 여러 개의 프로세스가 동시에 실행될 수 있는 것 멀티 스레드 장점 : 시스템 자원을 보다 효율적으로 사용할 수 있다. 사용자에 대한 응답성이 향상된다(파일 전송되면서 채팅도 가능) 작업이 분리되어 코드가 간결해진다. 멀티 쓰레드 단점 : 동기화에..

CS/ETC. 2021.06.22

WAS (Web Application Server) vs. Web Server

1. 톰캣(Web Application Server, 8080 port) : 1) 의미 : 웹 서버 + 웹 컨테이너의 결합으로 다양한 역할을 수행한다. 웹 컨테이너는 클라이언트의 요청이 있을 때 내부 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에게 돌려주는 역할을 한다. 예를 들어 JSP와 서블릿 처리, 서블릿의 수명 주기 관리, 요청 URL을 서블릿 코드로 매핑, HTTP 요청 수신 및 응답, 필터 체인 관리 등 2. 아파치( Web Server, 80 port) 클라이언트의 요청을 기다리고 요청에 대한 데이터를 만들어서 응답하는 역할을 한다. 이때 데이터는 정적인 데이터(html, css 이미지 등으로 ) 한정된다. Nginx도 웹 서버에 해당한다. 3. 아파치와 톰캣의 차이 (= 웹 서..

CS/Network 2021.06.07

*1. OOP(객체 지향 프로그래밍)

1. 의미 : 애플리케이션을 구성하는 요소를 각각의 객체로 바라보고 객체들을 유기적으로 연결하여 프로그래밍하는 것을 객체지향 프로그래밍이라고 한다. 코드의 재사용성과 중복제거를 통해 유지보수의 용이성을 높이고자 하는 것이 궁극적인 목적이다. 2. 객체란 : 사람 한 명 한 명을 객체라고 할 수 있다. 사람은 일반적으로 공통적인 속성(눈, 코, 입, 귀, 팔, 다리) 등을 갖고 있지만 생김새는 다 제 각각이다. 따라서 사람 한 명 한 명은 각각 다른 객체로 분류된다. 3. 클래스란 : 사람 한 명 한 명이 갖고있는 공통적인 속성들을 모아서 정의 내린 것을 클래스라고 한다. 흔히 여러 책에서 클래스와 객체의 관계를 설명할 때 설계도면을 예시로 드는 경향이 있다. 설계도면이 클래스이고 설계도면에 따라 찍어낸 ..

CS/ETC. 2021.06.02