본문 바로가기

분류 전체보기121

SOLID 원칙 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 SOLID 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장되기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링하기 위한 원칙들을 말한다. 📌 SOLID 5대 원칙 S : 단일 책임 원칙(Single Responsible Principle) 객체는 단 하나의 책임만을 가져야 한다는 원칙 어떤 클래스나 모듈의 변경하려는 이유는 단 하나만 가져야 한다. O : 개방 폐쇄 원칙(Open Closed Principle) 클래스, 모듈, 함수와 같은 소프트웨어 개체는 확장에 대해 열려 있어야 하고 수정에 대해서는 닫혀 있어야 한다는 원칙 모듈 중 하나를 수정해야 할 때, 다른 모듈을 줄줄이 고쳐야 한다면 이와 같은 프로그램은 수정하기가 어렵다. L.. 2023. 1. 9.
메모리 구조 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 메모리 구조 메모리 구조 메모리 구조는 코드 영역, 데이터 영역, 스택 영역, 힙 영역이 있다. 코드(code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부른다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 된다. 데이터(data) 영역 메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역이다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다. 스택(stack) 영역 메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역이다. 스택 영역은 함수의 호출과.. 2023. 1. 6.
커널(Kernel) 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 커널(Kernel) 운영 체제의 핵심이 되는 컴퓨터 프로그램으로, 컴퓨터 시스템의 모든 것을 완전히 통제한다. 운영 체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다. 📌 커널의 역할 1. 보안 커널은 컴퓨터 하드웨어와 프로세스의 보안을 책임진다. 2. 자원 관리 한정된 시스템 자원을 효율적으로 관리하여 프로그램의 실행을 원활하게 한다. 특히 프로세스에 처리기를 할당하는 것을 스케쥴링이라고 한다. 3. 추상화 같은 종류의 부품에 대해 다양한 하드웨어를 설계할 수 있기 때문에 하드웨어에 직접 접근하는 것은 매우 복잡하다. 일반적으로 커널은 운영 체제의 복잡한 내부를 감추고 깔끔하고 일관성 있는 인터페이스를 하드웨어에 제공하.. 2023. 1. 6.
스키마/뷰/키 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 스키마(Schema) 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합을 말한다. 📌 뷰(View) 하나 이상의 테이블에서 유도된 메모리에 물리적으로 존재하지 않는 가상의 테이블을 말한다. 📌 키(Key) 검색 및 정렬 시 튜플을 구분하는 기준이 되는 속성을 말한다. 📌 무결성 제약조건 무결성 제약조건 데이터베이스의 정확성, 일관성을 보장하기 위해 저장, 삭제, 수정 등을 제약하기 위한 조건들을 말한다. ❗️무결성 제약조건 종류 - 개체 무결성 : 기본 키는 null, 중복값 불가능 - 참조 무결성 : 외래 키는 null이거나 참조 테이블의 기본 키 값과 동일해야 함 - 도메인 무결성 : 속성들의 값은 정의된 도메인에 .. 2023. 1. 5.