본문 바로가기
728x90

CS5

Gunicorn이란? 📌 Gunicorn Gunicorn이란 python WSGI의 일종이다. 📌 WSGI가 무엇인지? 정의를 보면, "파이썬 어플리케이션(파이썬 스크립트)이 웹 서버와 통신하기 위한 인터페이스"라고 한다. 와닿지 않는다. 그래서 뭐라는거지? 예전 포스팅에서 한번 Web서버와 WAS 서버의 차이에 대해 서술한 적이 있다. https://wlgustlra.tistory.com/132 Web서버는 정적인 컨텐츠를 처리하고, WAS 서버는 동적인 컨텐츠를 처리한다고 말이다. 그렇다면 우리가 작성하는 정적인 파이썬 코드 덩어리가 이러한 컨텐츠들을 어떻게 처리하는걸까? 이 코드덩어리가 HTTP 요청을 받기 위해서는 파이썬 코드를 HTTP 형식으로 바꿔주는 작업이 필요한데 이를 동작하게 하는 기술이 CGI(Common .. 2023. 3. 25.
전략 패턴 전략 패턴 전략 패턴(strategy pattern)은 정책 패턴(policy pattern)이라고도 하며, 객체의 행위를 바꾸고 싶은 경우 직접 수정하지 않는다. 전략 이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트안에서 바꿔 주면서 상호 교체가 가능하게 만드는 패턴이다. 우리가 어떤 것을 살 때 네이버페이, 카카오페이 등 다양한 방법으로 결제하듯이 어떤 아이템을 살 때 LUNACard로 사는 것과 KAKAOCard로 사는 것을 구현한 예제이다. 결제 방식의 '전략'만 바꿔서 두 가지 방식으로 결제하는 것을 구현한 것이다. import java.io.DecimalFormat; import java.util.ArrayList; import java.util.List; interface PaymentStra.. 2023. 1. 21.
디자인 패턴 - 싱글톤 패턴 디자인 패턴 디자인 패턴: 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할수 있도록 하나의 '규약' 형태로 만들어 놓은것을 말한다. 싱글톤 패턴 싱글톤 패턴(singleton pattern)은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 보통 데이터베이스 연결 모듈에 많이 사용한다. 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비 용이 줄어드는 장점이 있다. 하지만 의존성이 높다는 단점이 존재한다. 자바스크립트에서는 리터럴 {} 또는 new object로 객체를 생성하게 되면 다른 어떤 객체와도 같지 않기 때문에 이 자제만으로 싱글톤 패턴을 구현 할수 있다. 자바스크립트의 싱글톤 패턴 co.. 2023. 1. 18.
멀티 프로세싱 & 스레드&멀티 스레딩 멀티 프로세싱 멀티 프로세싱은 여러개의 '프로세스', 즉 멀티프로세스를 통해 동시에 두 가지 이상의 일을 수행할 수 있는 것을 말한다. 이를 통해 하나 이상의 일을 병렬로 처리 할 수 있으며 특정 프로세스의 메모리, 프로세스 중 일부에 문제가 발생되더라도 다른 프로세스를 이용해서 처리할 수 있으므로 신뢰성이 높은 강점 이있다. 웹브라우저 웹 브라우저는 멀티프로세스 구조를 가지고 있으며 다음과 같다. 브라우저 프로세스: 주소 표시줄, 북마크 막대, 뒤로 가기 버튼, 앞으로 가기 버튼 등을 담당하며 네트워크 요청이나 파일 접근 같은 권한을 담당한다. 렌더러 프로세스: 웹 사이트가 '보이는' 부분의 모든 것을 제어한다. 플러그인 프로세스: 웹 사이트에서 사용하는 플러그인을 제어한다. GPU 프로세스: GPU를.. 2023. 1. 14.
프로세스 컴파일 과정 과 프로세스 상태 프로세스와 스레드 프로세스(process)는 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의마로 쓰인다. 스레드는 프로세스 내 작업의 흐름을 지칭한다. 위의 그림 처럼 프로그램이 메모리에 올라가면 프로세스가 되는 인스턴스화가 일어나고, 이후 운영체제의 CPU 스케줄러에 따라 CPU가 프로세스를 실행한다. 프로세스 와 컴파일 과정 프로세스는 프로그램으로부터 인스턴스화 된것을 말한다. ex) 프로그램은 구글 크롬 프로그램 (chrome.exe)과 같은 실행 파일이며, 이를 두 번 클릭하면 구글 크롬 '프로세스'가 시작되는 것이다. 프로그램은 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역되어 실행될 수 있는 파일이 되는.. 2023. 1. 12.
728x90