[Python]파이썬다운 함수 만들기 - 함수형 프로그래밍

함수형 프로그래밍은 전역 변수나 어떠한 외부 상태(파일, DB, 네트워크 등 외부 리소스)를 수정하지 않고 계산 수행 목적의 함수 작성을 강조하는 프로그래밍 패러다임입니다. 파이썬에서 제공하는 함수형 기능은 순수 함수, 고차 함수, 람다 함수가 있습니다.순수 함수를 이

2023년 5월 29일
·
0개의 댓글
·

[Django]Request Type, djangocorsheader의 동작 및 CORS 해결방법 분석

Request Type 웹의 요청에는 다양한 종류가 존재합니다. CORS의 동작을 이해하기 위해서는 아래의 3종류의 요청의 차이를 알아두어야 이해할 수 있습니다. Simple Request simple request는 하나의 본 요청을 전송하여 응답을 전달받는 요청을

2023년 4월 16일
·
0개의 댓글
·
post-thumbnail

[DRF]serializer의 field/object-level validation

DRF Validation DRF를 사용하면 serializer를 사용하여 사용자로부터 입력받은 데이터의 유효성을 model의 값으로 포맷팅, 유효성검증, 저장 등과 같은 동작들을 수행하게 된다. 필자의 경우 serializer에서 수행해주어야 하는 역할을 데이터의 유

2023년 3월 26일
·
0개의 댓글
·
post-thumbnail

[DRF]simpleJWT와 dj-rest-auth의 동작

DRF를 사용한 프로젝트를 진행하며JWT를 사용하여 인증/인가 방식을 구현하였습니다. 이번 포스트를 작성하며 DRF의 simpleJWT와 dj-rest-auth 패키지에서 제공하는 기능의 코드를 보며 로그인시, 토큰을 발급하게 되는 과정을 간단하게 정리해보고, 사용되는

2023년 2월 8일
·
0개의 댓글
·
post-thumbnail

[Python]concurrent.futures 모듈

concurrent.futures 모듈은 파이썬에서 사용되는 스레딩과 멀티프로세싱을 고도화한 모듈입니다. 이 모듈은 스레드나 프로세스를 비동기 논블록으로 구현할 수 있도록 다양한 API들을 제공하고 있습니다. 먼저 concurrent.futures 모듈의 구성요소이자

2023년 2월 7일
·
0개의 댓글
·
post-thumbnail

[CS/Python]동기/비동기와 블록/논블록 - Synchronous/Asynchronous, Blocking/Nonblocking

동기와 비동기는 요청의 결과 처리 시점과 요청의 결과 반환 시점의 일치/불일치 여부에 따라 동기/비동기로 나뉘어지게 됩니다. 설명하기 앞서 요청을 하는 주체를 사용자 프로그램(사용자), 요청을 받아 처리하는 주체를 커널(시스템)으로 설정하겠습니다. 동기는 사용자가 시스

2023년 2월 6일
·
0개의 댓글
·

[Docker]Django App 도커 이미지 빌드 및 실행

Django project 생성

2023년 2월 1일
·
0개의 댓글
·
post-thumbnail

[CS/Python]Multiprocessing(2)

파이썬의 multiprocessing 모듈에서는 프로세스 간의 통신 채널로 Queue와 Pipe를 지원합니다.Queue의 경우 queue모듈의 Queue 클래스의 클론에 가깝습니다. 여러개의 프로세스가 하나의 Queue를 바라보고, 데이터를 삽입/추출하는 방식을 통해

2023년 1월 31일
·
0개의 댓글
·
post-thumbnail

[CS/Python]Multiprocessing(1)

multiprocessing 모듈을 사용하면 각각의 프로세스가 분리된 메모리 공간을 가지게 됩니다. 또한 CPU의 코어 개수만큼 작업들을 병렬적으로 처리할 수 있어 자원을 최대한 활용할 수 있으며, 분리된 메모리 공간을 가지고 있지 않아 GIL이나 전체 Lock의 영

2023년 1월 30일
·
0개의 댓글
·
post-thumbnail

[CS/Python]Thread(3)-Condition, Lock, Mutex, Semaphore, Local Data

Thread Condition 파이썬에는 스레드의 Lock과 Event를 섞은 듯한 기능을 하는 Condition이라는 기능이 제공됩니다. Condition을 사용하면 모든 스레드가 lock을 잡은 것처럼 동작을 멈추게 됩니다. 그러다 notify를 받게되면 다시 동작

2023년 1월 26일
·
0개의 댓글
·
post-thumbnail

[CS/Python]Thread(2)-Lock과 RLock

Thread 지난 스레드 포스트에서는 파이썬에서 스레드가 어떻게 구현되고 동작하는지에 관하여 간단하게 정리하였습니다. 이번에는 파이썬 스레드의 동작을 구현하며 고려해야할 자원의 동기화에 관련된 Lock과 Condition에 대한 글을 작성하고자합니다. Thread L

2023년 1월 24일
·
0개의 댓글
·
post-thumbnail

[CS/Python]Thread(1)-GIL과 Thread 구현/실행, Event

Thread 프로세스와 스레드에서 스레드가 무엇인지 알아봤습니다. 이번에는 스레드를 구현하고 사용하는 기본적인 방법과 자원의 무결성과 동기화를 위한 처리에 관해서 알아보도록 하겠습니다. GIL(Global Interpreter Lock) 파이썬 코드는 인터프리터가 코

2023년 1월 19일
·
0개의 댓글
·
post-thumbnail

[Python]Equality와 Identity

PEP8 프로그래밍 권고에는 파이썬에서 값을 비교할때 사용할 방법에 관하여 서술하고 있습니다. 내용을 살펴보면 아래와 같습니다.싱글톤을 비교할때는 is/is not을 사용하고 ==/!= 연산자는 사용하지 않는다.if x 문을 작성할 때는 if x is None/not

2023년 1월 18일
·
0개의 댓글
·

[CS]Multi-tasking

Multi-tasking 멀티태스킹은 동시성과 병렬성에서 동시성의 개념입니다. 여러 작업들을 나누어 빠르게 번갈아가며 수행하여 프로세서의 개수보다 많은 일을 동시에 처리하는 것이 멀티태스킹입니다. 멀티태스킹은 하나의 작업을 처리하는 도중 다른 작업도 처리해야 하기때문에

2023년 1월 17일
·
0개의 댓글
·
post-thumbnail

[CS]프로세스와 스레드

동시성과 병렬성에서 병렬성의 경우 하드웨어 의존도가 높고, 동시성의 경우 소프트웨어 의존도가 높다고 설명했습니다. 동시성에서 작업을 어떻게 나눌지, 어떻게 분배할지에 관해 고민하던 중 탄생한 것이 스레드 입니다.프로세스는 프로그램이 실행되기 위해 운영체제로부터 CPU,

2023년 1월 16일
·
0개의 댓글
·
post-thumbnail

[WEB]SOP와 CORS

SOP(Same-Origin Policy) 웹 생태계에서 다른 출처로의 리소스 요청을 제한하는 정책중 하나로, 같은 출처의 리소스만 공유할 수 이도록 제한하는 정책이다. 다른 출처의 리소스를 왜 제한하는가? 오늘날 많은 사이트에서는 토큰이나 세션을 활용한 인증,인가를

2023년 1월 16일
·
0개의 댓글
·
post-thumbnail

[CS]동시성과 병렬성

동시성과 병렬성 동시성과 병렬성은 한정적인 컴퓨터 자원으로 최대한의 성능을 끌어내기 위해 아주 중요한 요소입니다. 멀티 코어 CPU의 등장과 경제적 이득으로 인하여 멀티 코어 CPU의 관심도가 높아졌고, 작업들을 병렬화하고 코어들에게 효율적인 작업을 분배하는 병렬화는

2023년 1월 10일
·
0개의 댓글
·
post-thumbnail

[AWS]Django+Elastic Beanstalk+Github Actions CI/CI 파이프라인 구축하기 (1)

개요 여러 회사에서 면접을 진행하며 데브옵스, 배포와 관련된 질문들을 받아왔다. 지금까지 백엔드 개발을 공부하였지만, 프로젝트 경험이 없었기 때문에 배포와 운영에 관한 경험이 많이 부족하다고 느꼈다. 그러던 중 진행중인 미니 프로젝트에서 프론트팀원과 협업을 진행하기 위

2023년 1월 6일
·
0개의 댓글
·
post-thumbnail

[Python]중첩함수(Nested Function)와 클로저(Closure)

Nested Function 중첩 함수(Nested function)는 함수 안에 다른 함수가 정의된 함수를 의미합니다. 함수 안에 정의된 함수를 내부 함수(Inner function), 내부 함수를 감싸고있는 함수를 외부 함수(Outer function)라고 표현합니

2023년 1월 5일
·
0개의 댓글
·
post-thumbnail

[Python]First-Class

프로그래밍 언어에서 first-class citizen 속성을 가진다는 것은 아래와 같은 조건을 만족하는 객체를 의미합니다. 다른 객체의 매개변수로 전달할 수 있다.함수의 반환값으로 사용될 수 있다.변수나 자료구조에 할당할 수 있다.파이썬의 정수 자료형들은 first-

2023년 1월 4일
·
0개의 댓글
·