profile
나는야 머찐 개발자

전략(Strategy) 패턴

전략 패턴은 정책(policy) 패턴이라고도 하며, 객체의 행위를 바꾸고 싶은 경우 '직접' 수정하지 않고 전략이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴입니다. 우리가 어떤 아이템을 살 때 LUNACard로 사는

2023년 6월 18일
·
0개의 댓글
·

팩토리(Factory) 패턴

팩토리 패턴

2023년 6월 18일
·
0개의 댓글
·

싱글톤(Singleton) 패턴

싱글톤 패턴이란? 싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴입니다. 싱글톤 패턴의 장점 비용이 적게든다. 싱글톤 패턴의 단점

2023년 6월 18일
·
0개의 댓글
·

CPU 스케줄링 알고리즘

CPU 스케줄러는 CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당합니다. 프로그램이 실행될 때는 CPU 스케줄링 알고리즘이 어떤 프로그램에 CPU 소유권을 줄 것인지 결정합니다. 이 알고리즘은 CPU 이용률은 높게, 주어진 시

2023년 6월 14일
·
0개의 댓글
·

프로세스와 스레드 (2)

멀티프로세싱 멀티프로세싱은 여러 개의 프로세스, 즉 멀티프로세스를 통해 동시에 두 가지 이상의 일을 수행할 수 있는 것을 말합니다. 이를 통해 하나 이상의 일을 병렬로 처리할 수 있으며 특정 프로세스의 메모리, 프로세스 중 일부에 문제가 발생되더라도 다른 프로세스를 이

2023년 6월 9일
·
0개의 댓글
·

프로세스와 스레드 (1)

프로세스(process)는 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰입니다. 스레드는 프로세스 내 작업의 흐름을 지칭합니다. 프로그램이 메모리에 올라가면 프로세스가 되는 인스턴스화가 일어

2023년 6월 9일
·
0개의 댓글
·

메모리 관리

메모리 관리 가상 메모리 가상 메모리(virtual memory)는 메모리 관리 기법의 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 하는 것을 말합니다. 이때 가상적으로 주어진 주소를 가상 주소(l

2023년 6월 4일
·
0개의 댓글
·

메모리 계층

메모리 계층 메모리 계층은 레지스터, 캐시, 메모리, 저장장치로 구성되어 있습니다. 레지스터 : CPU 안에 있는 작은 메모리, 휘발성 캐시 : L1, L2 캐시를 지칭, 휘발성 주기억장치 : RAM을 가리킴, 휘발성 보조기억장치 : HDD, SSD를 일컬음, 비휘

2023년 6월 4일
·
0개의 댓글
·
post-thumbnail

운영체제와 컴퓨터

운영체제(OS, Operating System)는 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스입니다. 운영체제의 역할과 구조 운영체제의 역할 CPU 스케줄링과 프로세스 관리 : 메모리 관리 디스크 파일 관리 I/O 디바이스 관리 운영체제의 구조 컴퓨터의 요소

2023년 5월 29일
·
0개의 댓글
·
post-thumbnail

비선형 자료 구조

비선형 자료 구조란 일렬로 나열하지 않고 자료 순서나 관계가 복잡한 구조를 말하며 일반적으로 트리나 그래프를 말합니다. 그래프는 정점과 간선으로 이루어진 자료 구조를 말합니다. 가중치는 간선과 정점 사이에 드는 비용을 뜻합니다. 위 그림에서 노드 A에서 노드 B까지의

2023년 5월 27일
·
0개의 댓글
·

선형 자료 구조

선형 자료 구조란 요소가 일렬로 나열되어 있는 자료 구조를 말합니다. 연결 리스트 연결 리스트는 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대화시킨 자료 구조입니다. 삽입과 삭제가 O(1), 탐색에는 O(n)이 걸립니다. 싱글(단순) 연결 리스트 :

2023년 5월 23일
·
0개의 댓글
·

시간복잡도와 공간복잡도

시간 복잡도 공간 복잡도

2023년 5월 23일
·
0개의 댓글
·

조인의 원리

중첩 루프 조인(NLJ, Nested Loop Join)은 중첩 for문과 같은 원리로 조건에 맞는 조인을 사용하는 방법이며, 랜덤 접근에 대한 비용이 많이 증가하므로 대용량 테이블에서는 사용하지 않습니다. 또한 두 테이블 중 작은 테이블을 선행 테이블로 정하는 것이

2023년 5월 15일
·
0개의 댓글
·
post-thumbnail

조인의 종류

조인(join)이란? > 조인(join)이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말합니다.

2023년 5월 15일
·
0개의 댓글
·

[데이터베이스] 인덱스

인덱스란? 인덱스는 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조입니다. B-트리 인덱스는 보통 B-트리라는 자료구조로 이루어져 있습니다. 인덱스 만드는 방법 인덱스를 만드는 방법은 데이터베이스마다 다르며 My

2023년 5월 15일
·
0개의 댓글
·

데이터베이스의 종류

관계형 데이터베이스 > 관계형 데이터베이스(RDBMS)는 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리킵니다. SQL이라는 언어를 써서 조작하며 MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등이 있습니다. MyS

2023년 5월 11일
·
0개의 댓글
·

트랜잭션과 무결성

트랜잭션 > 트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말합니다. 이 때 말하는 논리적 기능이란 질의어(SQL : SELECT, INSERT, DELETE, UPDATE)를 통해 데이터베이스에 접근하는 것을 의미합니다. 즉, 여러 개의

2023년 5월 11일
·
0개의 댓글
·

데이터베이스의 기본

데이터베이스(DB, DataBase)는 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음입니다. 해당 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS(DataBase Management System)라고 하며, 데이터베이스 안에 있는 데이터들은 특

2023년 5월 4일
·
0개의 댓글
·
post-thumbnail

HTTP

HTTP란? > HTTP(HyperText Transfer Protocol)란 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. HTTP/1.0 HTTP/1.0은 한 연결당 하나의 요청을 처리하도록 설계되었는데 이는 RTT 증가를 불러

2023년 4월 29일
·
0개의 댓글
·

IP 주소

ARP > ARP(Address Resolution Protocol)란 IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜입니다. 위 그림과 같이 ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환합니다. 반대로

2023년 4월 24일
·
0개의 댓글
·