Hong Junseo

시리즈 | LLD - 3. 다음 리스트의 크기는 (N*9/8+6)&~3입니다.

시리즈 | LLD - 3. 다음 리스트의 크기는 (N*9/8+6)&~3입니다.

파이썬의 리스트는 가장 많이 사용하는 built-in mutable 타입 중 하나이다. 이번 글에서는 이러한 리스트의 CPython수준에서의 작동을 명확히 알아보자.   Declaration Python의 리스트는 multi-type을 지원한다. 당연하게도 모든 원소가 PyObject*이기 때문이다. python list의 구현부를 보자. [링크] typedef struct { PyObject_VAR_HEAD /* Vector of pointers to list elements. list[0] is ob_item[
Hong Junseo
시리즈 | LLD - 1. 오브젝트란?

시리즈 | LLD - 1. 오브젝트란?

일반적으로 프로그래밍에서 리스트는 다음과 같은 종류의 구현체를 가진다. - Array List - Linked List - ... 후에 자세히 설명하겠지만, python에서는 Array List를 이용하여 리스트를 구현한다.그러나 Array List는 각 원소의 크기가 일정해야 하며 이는 가변 크기를 가진 python의 리스트와는 다른 모습이다. 파이썬의 리스트 구현 부분을 보자. [링크] typedef struct { PyObject_VAR_
Hong Junseo
시리즈 | LLD - 0. 인터프리터 언어란?

시리즈 | LLD - 0. 인터프리터 언어란?

흔히들 Python은 인터프리터 언어라는 말을 들어 보았을 것이다. 이를 알아 보기 위해서는 먼저 컴퓨터의 소스 코드 실행 과정을 알아 보아야 한다.  일반적으로 컴퓨터는 각 CPU별로 미리 정의된 명령어 집합에 따라 명령어를 해석하고 수행한다. 이 과정은 논리 회로에 의해 수행되며 그러한 이진 명령어를 보기 좋게 영어로 나타낸 것이 어셈블리어이다. 어셈블리어는 거의
Hong Junseo