python generator
python generator 제너레이터는 한 번에 하나씩 구성요소를 반환해주는 이터러블을 생성해주는 객체로 주로 메모리를 절약하기 위해 활용한다. 많은 양의 데이터를 메모리에 저장하는 대신 특정 요소를 어떻게 만드는지 아는 객체를 만들어서 필요 할 때 마다 하나씩 만 가져오는 것이다. 이런 방식은 lazy computation을 통해 객체가 많...
python generator 제너레이터는 한 번에 하나씩 구성요소를 반환해주는 이터러블을 생성해주는 객체로 주로 메모리를 절약하기 위해 활용한다. 많은 양의 데이터를 메모리에 저장하는 대신 특정 요소를 어떻게 만드는지 아는 객체를 만들어서 필요 할 때 마다 하나씩 만 가져오는 것이다. 이런 방식은 lazy computation을 통해 객체가 많...
Python async 동기 함수 python 에서 일반적인 함수를 실행하면 작업을 처리하다 return 문을 만나면 함수는 종료되고 제어권이 다시 호출자에게 주어진다. 그래서 호출자는 실행한 함수가 return 될 때 까지 기다려야 하고 이런 함수를 동기함수 라고한다. 비동기 함수 동기함수와 반대로, 비동기 함수는 실행이 완료되...
💡 By 커리어리 효율적인 코드는 곧 메모리 효율적인 코드 작성을 의미한다. 다루는 데이터의 양이 증가할수록 메모리 관리의 중요성이 커진다. 개발자가 할수 있는 메모리 관리중 가장 중요한 부분은 메모리 할당(memory allocation)이다. 컴퓨터의 실제 or 가상 메모리에 빈 공간 블록을 할당하는 프로세스를 이해하는 것이 중요하다. ...
💡 db를 mysql을 사용할 때, alembic `env.py` 에서 sqlalchemy 연결을 해주는 과정에서 `mysqlclient` 라이브러리가 필요(mysqlclinet 설치에러난다면 →) pip install alembic # root 디렉토리에 하는 것을 권장 alembic init alembic alembic.ini 설정 ...
💡 pycon korea 19 이지훈 Celery? 메세지 전달을 기반으로 한 비동기 task Queue client : 작업 요청 Worker : 작업 수행 Broker : 메세지 전달 AMQP(Advanced Message Queueing Protocol) Celery의 핵심 ...
zip() list 타입을 다룰 때, 리스트 컴프리헨션 을 사용하면 소스 list에서 새로운 list를 파생시키기 쉽다. names = ['aaaa','bb','ccccc'] cnt_list = [len(n) for n in names] >>> [4,2,5] 만들어진 list의 각 원소는 소스 list에서 같은 인덱스 위치에...
python 에서 데이터를 담아두기 위해 list, tuple, dict, set 등과 같은 내장 자료구조를 활용하는 방법도 있지만, class를 이용해서 데이터를 담아두면 type-safe 해져서 오류가 발생할 확률이 적어진다 기존 방식 from datetime import date class User: def __init__( ...
쉽게배우는 운영체제 스케줄링 단계 고수준 스케줄링 고수준 스케줄링은 시스템 내의 전체 작업 수를 조절하는 것을 뜻하고, 여기서 작업은 운영체제에서 다루는 일의 가장 큰 단위로 1개 또는 여러개의 프로세스로 이루어 진다. 고수준 스케줄링에서는 어떤 작업을 시스템이 받아들일지 거부할지를 판단하기 때문에 승인 스케줄링 이라고도 하고, 이에 따...
쉽게배우는 운영체제 CPU & MEMORY CPU 기본 구성 산술논리 연산장치 : 요리사가 재료를 찌거나 볶듯이 CPU에서 데이터를 연산하는 역활(+,-,AND,OR 등) 제어장치 : 요리사가 ‘도마를 가져와라’, ‘양파 껍질을 까라’ 와 같이 지시하는 역활 레지스터 : 요리에 필요한 재료를 잠시 손에 쥐고 있는 것처럼 데이터...
sort() class Tool: def __init__(self, name, weight): self.name = name self.weight = weight def __repr__(self): return f'Tool({self.name!r}, {self.weight})' tools ...