
지난 포스팅을 통해서, Socket Programming을 사용하면 ServerClient 간 HTTP 통신이 가능한 것을 확인 하였습니다. https://teus-kiwiee.tistory.com/159 Socket을 이용한 Low Level HTTP 통신 요즘은 많은 분들이 Django나 Flask, Spring등의 웹프래임워크를 사용해서 손쉽게 Web App을 제작할 수 있습니다. 일반적으로 이 프래임워크 내에서는 Requests라는 라이브러리를 지원하며, 이 라이브러 teus-kiwiee.tistory.com 하지만 의문이 듭니다. "HTTP Message를 Socket으로 보낼 수는 있지만, 라이브러리도 정말 Socket을 이용하나?" Python의 대표 RestAPI Library인 Reque..

이번 포스팅에서는 CPython의 소스코드를 통해서 Python List가 어떻게 동작하는지 알아봅니다. Python List를 C언어의 Array와 사뭇 다릅니다 Python List C Array Type 무관 Type 고정 Element크기 고정 Type에 따라 변함 malloc 불필요 malloc 필요 이때, Python List의 특징을 보면 C의 Pointer Array와 상당히 비슷한 것을 볼 수 있습니다. (Pointer 특성상 고정된 크기(주소값)를 차지하고, Type은 void Pointer를 이용할경우) 그러면, 이제 Cpython 내의 PyListObject의 정의를 살펴보겠습니다. typedef struct { PyObject_VAR_HEAD /* Vector of pointers..

오늘 포스팅은 Python의 대표 Math Package중 하나인 Numpy에 대해서 다룹니다. Python을 써보시면 아시겠지만, Python List 대비 Numpy Array의 연산이 훨신 빠르다는것을 알 수 있습니다. Numpy가 왜 Native List보다 빠를 수 있는지, 하드웨어 관점을 더해서 설명합니다. 먼저 Numpy가 빠른 이유를 두줄 정리하고 갑니다. - SIMD - 데이터 정렬 1. SIMD SIMD(Single Instruction Multi Data) 하나의 CPU 명령어로 두개 이상의 Data를 처리하는 방법을 의미합니다. 하지만 빠른 계산은 조상님이 해주는게 아닙니다. CPU의 동작을 한번 생각해보겠습니다. 레지스터에는 하나에 하나의 32비트 2진수를 담을 수가 있습니다(Ge..

Python을 사용하다보면, 편합니다. 정말로 편합니다. 하지만 컴퓨터과학을 전공한 입장에서, "이렇게 편해도 되나?" 싶을때가 가끔 있습니다. 편한건 좋지만, 어떻게 작동하는지를 알아야 하는 맘이 듭니다. 이번 포스팅은 Python의 함수/패키지의 Detail을 확인하는 방법에대한 포스팅입니다. 가장 먼저, Python의 기본 함수를 확인하는 방법입니다.docs.python.org/ko/3/library/index.html 파이썬 표준 라이브러리 — Python 3.9.2 문서파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표준 라이브러리를 설명합docs.python.org파이썬은 오픈소스 언어..

C언어를 해보신분이라면 아시겠지만 C언어에선 함수의 매개변수를 수정해도, 해당 매개변수의 변화가 Global 변수에 영향을 주지 않습니다. #include void f(int a, int b){ a = a + b; } int main() { int v1 = 9; int v2 = 1; f(v1, v2); printf("%d",v1); return 0; } ==> 9 위 예시를보면, v1이 a로 입력, a에 1을 더해서 a가 10으로 출력된것 같지만 그렇지 않죠. 그렇기 때문에 C언어같은 경우 Pointer라는 개념을 통해서 매개변수 자체를 바뀌게할 수 있는 방법이 있습니다. 하지만 Python을 봅시다. Python은 Pointer가 없습니다. 그러면 Python은 매개변수를 어떤방식으로 전달할까요? 아래..

이번 포스팅은 Event Listener의 정체입니다. 많은분들이 코딩을 배우면서, 반응형 System(Web, Application...)을 배우면서 Event Listener에 대해서 배우게 됩니다. Event Listener는 Event(사용자의 Click or 키보드 입력 등.... Not normal한 상태)가 발생할 경우 해당 행동을 인지하고, 사용자에게 결과를 반환해 줍니다. 설명을 잘 살펴보면 1. 사용자의 특정 입력을 받는다. 2. 해당 입력이 무엇인지 판단한다. 3. 입력에 따라 정해진 결과를 반환한다. 함수의 구조와 매우 유사한 것을 알 수 있습니다. 그렇다면, 함수를 이용해서 아래와같은 Event Listener를 만들 수 있을 것입니다. def listener_left(): whi..
- Total
- Today
- Yesterday
- javascript
- 동적계획법
- Python
- 셀프모청
- 자료구조
- 알고리즘
- 코딩테스트
- hash
- 이분탐색
- Search알고리즘
- 완전탐색 알고리즘
- Greedy알고리즘
- Sort알고리즘
- 사칙연산
- 병렬처리
- 프로그래머스
- prime number
- git
- stack
- 청첩장
- AVX
- 분할정복
- ChatGPT
- ai
- GDC
- LLM
- 모바일청첩장
- react
- SIMD
- GPT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |