본문 바로가기

Python60

파이썬 멀티 프로세스 프로세스와 스레드 프로세스 프로세스란 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말합니다. 종종 스케줄링의 대상이 되는 작업이라는 용어와 거의 같은 의미로 쓰입니다. 여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 방식을 멀티 태스킹이라고 합니다. 스레드 스레드란 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말합니다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있습니다. 이런 방식을 멀티 스레드라고 합니다. 멀티 프로세스와 멀티 스레드 멀티 프로세스 멀티 프로세스는 별도의 메모리 영역을 가지며, 특별한 메커니즘으로만 통신할 수 있습니다. 프로세서.. 2020. 12. 11.
파이썬 디자인 패턴 - 1 디자인 패턴 개념 디자인 패턴이란 잘 설계된 구조의 형식적 정의를 소프트웨어 엔지니어링으로 옮긴 것입니다. 다양한 디자인 패턴이 있고 이들을 사용하여 서로 다른 문제를 해결할 수 있습니다. 먼저 패턴종류로는 생성패턴, 구조패턴, 행위패턴이 있습니다. 여기서 패턴속에 있는 항목중에 대표적인 패턴으로 예시를 들겠습니다. 생성패턴에서는 싱글톤패턴, 구조패턴에서는 데코레이터 패턴, 마지막으로 행위 패턴에서는 옵저버 패턴을 참고하겠습니다. 싱글톤 패턴(singleton) 초기화된 객체의 인스턴스를 전역에서 사용하는 패턴을 싱글턴 패턴이라고 합니다. 이 객체의 인스턴스는 하나만 존재합니다. 자바에서 singleton특징은 private constructor와 static method를 사용한다는 점입니다. 하지만 .. 2020. 12. 9.
파이썬 클래스와 객체 클래스란? 클래스는 사전에 정의된 특별한 데이터와 메서드의 집합입니다. 클래스에 선언된 모양 그대로 생성된 실체를 객체(object)라고 합니다. 객체가 소프트웨어에 실체화될 때(메모리에 할당되어 사용될 때), 이 실체를 인스턴스라고 합니다. 객체는 인스턴스를 포함할 수 있으며, 포괄적인 의미를 지닙니다. 파이썬은 다음과 같이 클래스를 생성할 수 있습니다. class Calculator: def __init__(self): self.result = 0 def add(self,num): self.result +=num return self.result cal1 = Calculator() print(cal1) ## 출력 값 # 다음과 같이 파이썬 클래스 인스턴스가 생성된 것을 확인할 수 있습니다. 여기서 객.. 2020. 12. 9.
models.py 살펴보기 models.py 정의 model은 테이블을 정의하는 장고의 클래스를 의미합니다. ORM 방식에 기반해 테이블을 클래스로 정의하고 있어 클래스의 특징인 변수와 메소드를 가질 수 있기 때문입니다. 여기서 ORM이란 객체 관계 매핑(Object-relational Mapping) 의 줄임말로 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 객체 지향 언어에서 사용할 수 있는 "가상" 객체 데이터베이스를 구축하는 방법이다. 객체 관계 매핑을 가능하게 하는 상용 또는 무료 소프트웨어 패키지들이 있고, 경우에 따라서는 독자적으로 개발하기도한다. 출처 : https://ko.wikipedia.org/wiki/객체_관계_매핑 장고 모델이란 테이블을 정의하는 클래스를.. 2020. 11. 18.
settings.py 살펴보기 settings.py란 장고에서 settings.py는 프로젝트에 관련된 다양한 설정들이 들어 있습니다. 예를 들면 데이터베이스 설정, 애플리케이션 등록, 템플릿 항목 설정, 정적 파일 설정, 타임존 지정 등이 있는데 settings.py에 기록 되지 않는 내용들도 있는데 이것은 개발하면서 차근차근 입력해서 사용하시면 됩니다. 먼저 기존에 있는 항목들을 살펴 보겠습니다. BASE_DIR 개발 진행 시 프로젝트 루트 폴더, 설정 파일이나 py파일들을 찾을 일이 많은데 이때 효율적으로 사용하기 위해 변수명으로 미리 지정해 두는 값입니다. 초기 값은 다음과 같습니다. 또한 경로에 대한 참고 내용은 다음과 같습니다. 만약 ~/home/desktop/[개발폴더] 안에 장고 프로젝트를 진행한다면 구조는 다음과 같습.. 2020. 11. 17.
Django를 사용하는 이유 Django란? 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)입니다. 쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크 입니다. 모델-뷰-컨트롤러 패턴을 따르고 있습니다. 또한 고도의 데이터 베이스 기반 웹사이트를 작성하는 데 있어서 수고를 더는 것이 장고의 주된 목표입니다. 장고는 컴포넌트(Component)의 재사용성과 플러그인화 가능성, 빠른 개발등을 강조 하고 있습니다. 참조 링크 : https://ko.wikipedia.org/wiki/장고_(웹_프레임워크) 장고 (웹 프레임워크) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 다른 뜻에 대해서는 장고 문서를 참조하십시오. 장고(D.. 2020. 11. 17.