재귀함수가 스택 메모리를 사용한다는 글을 보고, 정확한 메모리 구조를 알아보기 위해 작성했습니다. 프로세스 메모리 프로세스 메모리(Process Memory) 구조는 OS가 프로그램을 실행하기 위해 메모리(RAM)에 할당하는 구조를 뜻합니다. OS는 효율적인 메모리 관리를 위해서 프로세스 실행시 코드, 데이터, 힙, 스택 4가지 영역으로 나눠...
Tree? 트리는 데이터를 계층적으로 표현하는 자료구조 입니다. 생긴게 나무를 뒤집어 놓은것 같이 생겨서 트리라는 이름이 붙여졌습니다. 용어 정리 우선 트리에서 쓰이는 용어 먼저 정리하겠습니다. 노드(Node): 트리를 구성하는 기본 요소입니다. 루트(Root): 부모 노드가 존재하지 않는 트리의 시작점 입니다. 부모(Pare...
다양한 정렬 알고리즘을 정리하기 위해 작성했습니다. 거픔정렬 (Bubble Sort) 거품정렬은 인접한 두 수의 크기를 비교하고, 조건에 맞지 않다면 자리를 버꾸며 정렬하는 알고리즘 입니다. 정렬 과정 (오름차순) for i in range(n): for j in range(1, n - i): if data[j - 1] &g...
Heap? 힙은 최대/최소 값을 빠르게 찾기 위해 고안된 완전 이진 트리입니다. 부모 노드가 자식 노드보다 항상 크거나(Max Heap) 작게(Min Heap) 만들어 루트 노드가 원하는 값이 되도록 만듭니다. 힙은 우선순위 큐, 힙정렬과 같이 다양한 곳에서 사용되는 자료구조 입니다. 힙 특징 힙은 반드시 완전이진트리 입니다. 최...
개요 MVC 패턴에 익숙해져 있는데, 요즘 MVVM 패턴이 많이 사용되는것 같아서 정리하게 되었습니다. MVC (Model-View-Controller) MVC 패턴은 Model, View, Controller을 나눠 개발하는 디자인 패턴입니다. Django, Spring 등 다양한 프레임워크에서 널리 사용되었습니다. Model 어플리...
개요 하이스코어 프로젝트에서 OCI로 서버를 구축하고 사용중인데, 자주 보게되는 용어들을 정확히 알 필요성을 느껴서 정리하게 되었습니다. IP (아이피) ip는 인터넷에 연결된 모든 장치에 할당되는 고유 식별 장치입니다. 비유하자면 일종의 도로명 주소같은 개념입니다. 공용(Public) IP, 개인(Private) IP IP는 사용 범위에 따라 ...
개요 HTTP와 HTTPS는 인터넷을 사용한다면 항상 주소 맨 앞에 붙는 단어로 많이 보게됩니다. 그런데 한번도 정확히 정리해보지 않아서 개념을 찾아보고 정리하게 되었습니다. HTTP (Hyper Text Transfer Protocool) HTTP는 클라이언트와 서버가 데이터를 주고받기 위한 프로토콜입니다. OSI L7에 해당하며, 80번 포트...
개요 OCI를 다루다 보면 다양한 네트워크 용어들을 보게됩니다. 그중 WAF는 7계층, 방화벽은 4계층에서 차단이 이루어 진다라는 설명을보고 계층이 뭔지 궁금해서 찾아보고 정리하게 되었습니다. OSI 7계층 OSI 7계층은 국제 표준화 기구(ISO)에서 정의한 표준 모델로, 네트워크 통신 과정을 7단계로 나눠 표현하는 모델입니다. 시스템간...
BERT BERT는 Transformer를 발표한 구글에서 발표한 자연어 모델입니다. Bidirectional Encoder Representations from Transformers의 약자로, Transformer의 Encoder 구조를 이용해서 양방향(Bidirectional)으로 문맥을 이해하는 모델입니다. 모델 이름에서 알 수 있듯이, ...
하이스코어 리팩토링 프로젝트를 진행하면서 경험한 부분을 기록하기 위해서 작성했습니다. 개요 25년 12월 12일, 드디어 하이스크어 2차 목표인 정시(모의고사) 기능을 완성해서 업데이트 했습니다. 이 과정에서 많은 일들이 있었는데, 주요 사건들을 좀 정리해보고자 합니다. 백엔드 Cloudflare 장애 대응 Cloudflare에서 11월달 ...
새 버전의 콘텐츠를 사용할 수 있습니다.