파이썬으로 이해하는 퍼사드 패턴
“파이썬으로 이해하는 퍼사드 패턴” : 처음 디자인 패턴이 나왔을 때는 23개의 디자인 패턴이 나왔는데요. 저는 그중에 우선 “파사드 패턴”을 공부해보았습니다. 언어는 자바가 아닌 파이썬으로 정리했습니다.
비전공자가 Computer Sciecne 관련하여 공부한 내용을 정리한 포스트입니다.
“파이썬으로 이해하는 퍼사드 패턴” : 처음 디자인 패턴이 나왔을 때는 23개의 디자인 패턴이 나왔는데요. 저는 그중에 우선 “파사드 패턴”을 공부해보았습니다. 언어는 자바가 아닌 파이썬으로 정리했습니다.
HTTP/1은 1996년에 도입된 HTTP 프로토콜의 첫 번째 버전입니다. 모든 요청에 별도의 TCP 연결이 필요 했습니다. HTTP/1.1은 네트워크 리소스의 비효율적인 사용 및 대기 시간과 같은 문제를 해결하는 것을 목표로…
모든 사람들이 멀티 태스킹이라고 하면 직관적으로 병렬 작업을 생각할 것 같습니다. 하지만 멀티 태스킹을 공부하다 보면 동시성 병렬성 개념이 등장 합니다.
프로젝트를 진행 하다가 처리 시간이 긴 프로세스를 만난 적이 있었습니다. 그때 바로 생각난 개념이 “멀티 프로세싱” 이였습니다. 그런데 공부를 하다 보니 “스레드”라는 개념이 튀어나옵니다. “프로세스 vs 스레드” 끝인가? 아닙니다… 동시성, 병렬성, 뮤텍스…
“Context Switching”에서 Context는 프로세스의 상태를 의미합니다. 기본적으로 Context Switching은 프로세스 상태를 바꾸는 것을 말하며,다시 말하면 프로세스를 일시 중지하고 다시 시작할 수 있도록 프로세스/스레드 상태를…
어찌보면 당연한거지만 프로세스에도 생애주기가 있었습니다. 사람도 세포도, 여러 대사 작용들도 모두 cycle이 있습니다. SDLC 개념도 처음 들으면서 재밌다 생각했는데, “프로세스 생명주기”도 있다는 걸 깨닫지 못한 게 오히려 신기한 건가 싶기도 합니다.
“메모리” 하면 사실 RAM이 가장 먼저 떠오릅니다. 하지만 여러 메모리 형태가 “메모리 계층”으로 분리되어 존재합니다. 레지스터, 캐시, 메인 메모리, 보조 메모리 이들은 어떤 역할을 하는 걸까요?
작업 관리자를 들어가면 성능 탭에 CPU 성능에 대한 모니터링 데이터를 볼 수 있는데요.여기에 속도, 코어, 논리 프로세서, 캐시 같은 내용이 있습니다. 오늘은 CPU 란 어떻게 구성이 되어있고, 어떤 과정을 통해서 연산을 하는지…
여러 알고리즘을 공부하게 되면서 “재귀 함수”가 프로그래밍의 기초 개념을 위해 초반에만 살짝 지나가는 개념이 아니라는 것을 깨닫게 되었습니다. “재귀 함수”는 문제를 해결하기 위해 문제를 더 작은 형태로 나누어 직접 또는 간접적으로 정의 내에서 자신을 호출하는 함수입니다.
브루트 포스의 단점이 방대한 input에서는 성능이 떨어진다는 점이였습니다. 이를 해결할 수 있는 게 “이분 탐색” 입니다. 말 그대로 반으로 나누어 탐색하는 거죠. 어떻게 반으로 나누어서 탐색하는 데 답을 찾을 수 있을까요?