728x90

전체 글 274

순수 가상함수, 일반 가상함수

[C++] 가상함수와 순수가상함수의 차이(virtual, pure virtual)에 대해서 (tistory.com) [C++] 가상함수와 순수가상함수의 차이(virtual, pure virtual)에 대해서 안녕하세요. BlockDMask 입니다. 오늘은 C++의 아주 중요한 가상함수, 순수가상함수에 대해서 알아보겠습니다. 우선, 기본적으로 가상함수(virtual)와 순수가상함수(pure virtual)에 대한 기본적인 지식이 blockdmask.tistory.com 순수가상함수는 자식에게 '아들아 너는 A기능이 꼭 있어야해! 근데 그것은 너가 알아서 선언해!, 이거 선언안하면 아들아 너의 클래스는 돌아가지 않는단다.' (순수하다 진짜.) 일반(단순)가상함수는 '아들아 B기능을 물려줄건데, 니가 선언안해..

CS/ETC 2023.12.19

FSM(Finite-state machine)

[Unity] FSM - 유한 상태 기계 :: 게임 개발 공부 (tistory.com) [Unity] FSM - 유한 상태 기계 FSM(finite-state machine)은 상태(state)를 기반으로 동작을 제어하는 방식을 구현하기 위한 디자인 패턴이다. FSM의 핵심은 단 하나의 상태만을 가진다는 점이다. 상태를 기준으로 어떤 동작을 수행할지 dodobug.tistory.com 상태(state)를 기반으로 동작을 제어하는 방식을 구현하기 위한 디자인패턴 핵심: 단 하나의 상태만을 가진다. 상태를 기준으로 어떤 동작을 수행할지 결정하기 때문에 현재 상태만 알 수 있으면 어떤 동작을 수행하려 하는지 명확히 파악할 수 있고 구현이 쉬움.

CS/ETC 2023.12.19

OOP(Object-oriented programming)

[OOP] 객체지향 프로그래밍(Object Oriented Programming)이란? - 𝝅번째 알파카의 개발 낙서장 (itcode.dev) [OOP] 객체지향 프로그래밍(Object Oriented Programming)이란? - 𝝅번째 알파카의 개발 낙서장 IT 업계에 종사하게 된다면 십중팔구 JAVA, C++, C# 중 하나는 다루게 된다. 국내 IT의 최다 공급이자 수요인 JAVA를 위시한 위 세 가지 언어의 공통점은 전부 객체지향언어라는 점이다. 물론 지금에 blog.itcode.dev 초딩이 알아듣도록 이해 * 객체: 프로그램 동작의 주체가 되는 요소. (유/무형을 가리지 않음. 실체가 명확한 것일 수도 있고, 무형의 개념일 수도 있음) 모든 객체는 상태와 동작을 가진다. ex) TV의 색,..

CS/ETC 2023.12.19

프로세스가 메모리에 올라가는 방법 (+가상메모리 + 프로그램/프로세스 차이)

[운영체제(OS)] 8. 메모리 관리(Memory Management) (rebro.kr) [운영체제(OS)] 8. 메모리 관리(Memory Management) [목차] 1. Address Binding 2. Swapping 3. Contiguous Allocation 4. Fragmentation 5. Paging 6. Translation Look-aside Buffer 7. Structure of the Page Table 8. Segmentation 참고) - https://parksb.github.io/article/12.html - KOCW 공개강의 (2014-1. 이 rebro.kr 12) 프로세스와 메모리 할당 (tistory.com) 12) 프로세스와 메모리 할당 프로그램과 프로세스 C..

CS/운영체제 2023.12.18

[DB] NoSQL (+Redis)

NoSQL - 비관계형 데이터베이스 - 관계형 데이터 모델을 지양하며, 대량의 분산된 데이터를 저장하고 조회하는 데 특화되었으며, 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소 NoSQL의 장점 RDBMS에 비해 저렴한 비용으로 분산처리와 병렬 처리 가능 비정형 데이터 구조 설계로 설계 비용 감소 Big Data 처리에 효과적 가변적인 구조로 데이터 저장이 가능 데이터 모델의 유연한 변화가 가능 NoSQL의 단점 데이터 업데이트 중 장애가 발생하면 데이터 손실 발생 가능 많은 인덱스를 사용하려면 충분한 메모리가 필요. 인덱스 구조가 메모리에 저장 데이터 일관성이 항상 보장되지 않음

[DB] clustered / non clustered index

[SQL] Clustered Index & Non-Clustered Index (velog.io) [SQL] Clustered Index & Non-Clustered Index 앞서 Index에 대해서 정리 했었지만, Clustered Index와 Non-Clustered Index를 자세히 다루지 않아 이번 시간에 자세히 두 Index의 차이를 정리해보려 한다.Index는 DB의 테이블에 데이터가 많을 때, 검색 속도 velog.io clustered Index : 책으로 비유하자면 페이지를 알고 있어서 바로 해당페이지를 펼치는 것과 같음. 데이터가 테이블에 삽입되는 순서에 상관없이 Index로 생성되어있는 컬럼을 기준으로 정렬되어 삽입됨. clustered Index :테이블 당 한개씩만 존재 가능함..

[DB] Union vs Union All (+JOIN)

UNION 과 UNION ALL 이란 (tistory.com) UNION 과 UNION ALL 이란 UNION 이란 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다. 중복된 값을 제거하고 보여준다. 중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느리다. silverji.tistory.com UNION * 여러 쿼리문을 합쳐서 하나의 쿼리문으로 만들어주는 방법 * 중복된값을 제거하고 보여줌 * 중복된 값을 제거하는 연산이 추가로 수행되기 떄문에 UNION ALL 보다 속도 느림 UNION ALL * UNION과 동일 * but 중복된 값을 모두 보여줌 컬럼명이 동일해야 한다. (같지 않을 경우 AS 를 이용해서 동일하게 맞춰줘야 한다.) 컬럼별로 데이터 타입이..

[DB] 정규화

[Database] 정규화(Normalization) 쉽게 이해하기 - MangKyu's Diary (tistory.com) [Database] 정규화(Normalization) 쉽게 이해하기 지난 포스팅에서 데이터베이스 정규화와 관련된 내용을 정리했었다. 하지만 해당 내용이 쉽게 이해되지 않는 것 같아서 정규화 관련 글을 풀어서 다시 한번 정리해보고자 한다. 1. 정규화(Normaliz mangkyu.tistory.com 정규화의 기본 목표: 테이블 간에 중복된 데이타를 허용하지 않는다는 것 무결성 유지할 수 있으며, DB의 저장용량 역시 줄일 수 있음. 이런 테이블을 분해하는 정규화 단계가 정의되어 있는데, 여기서 테이블을 어떻게 분해되는지에 따라 정규화 단계가 달라짐. 1. 제 1 정규화 테이블의 ..

[DB] 키(key)

[DataBase] 키(Key)의 개념 및 종류 (tistory.com) [DataBase] 키(Key)의 개념 및 종류 데이터 베이스 키(Key)의 개념 및 종류 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)입니다. * limkydev.tistory.com 1.후보키 * 릴레이션을 구성하는 속성들 중 튜플을 유일하게 식별할 수 있는 속성들의 부분집합 * 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야함. * 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 함. ex) 릴레이션에서의 '학번' 이나 '주민번호' -> 기본키가 될 수 있는 키들을 후보키라고 함. 2.기본키 * 후보..

List / Dictionary(C++에서의 map) / Set

[C++] set container 정리 및 사용법 (tistory.com) [C++] set container 정리 및 사용법 안녕하세요. BlockDMask 입니다 !오늘은 연관 컨테이너 set, multiset, map, multimap 중 set에 대해 학습해보겠습니다.순서는 set container -> set의 사용법 -> set의 생성자와 연산자 -> set의 멤버 함수 -> 다양한 blockdmask.tistory.com *list C++의 list는 딱 더블 링크드리스트와 구조가 같음. 다만, C++에서는 미리 구현되어있다는 점이 다름 순서를 유지하는 구조임. 노드기반 컨테이너이며, 이중연결리스트라고 생각하면 됨 원소 탐색 시 임의접근 반복자(at(), [])는 불가능하고, 양방향 반복자..

728x90