목록CS지식 (25)
개발자공부일기
데이터 무결성이란 무엇인가요?데이터 무결성이란 조직의 데이터가 라이프사이클의 어느 시점에서든 정확하고 완전하며 일관성이 있다는 것을 보장하는 것입니다. 데이터 무결성 유지에는 손실, 유출 및 손상으로부터 조직의 데이터를 보호하는 것이 포함됩니다.데이터 무결성이 중요한 이유는 무엇인가요?데이터 무결성은 전통적인 제품 지향 비즈니스의 품질 관리와 유사하며 원자재가 의도한 용도에 올바르고 안전하며 적합한지 확인합니다. 조직은 라이프사이클 전반에 걸쳐 데이터를 완전하고 정확하며 일관되고 안전하게 유지해야 합니다. 데이터 무결성은 모든 데이터 요소를 변경, 절단 또는 손실 없이 그대로 유지하고, 분석을 왜곡하고 일관된 테스트 조건을 위태롭게 할 수 있는 변경을 방지하여 이러한 완전성을 촉진하는 데 도움이 됩니다...
ER 모델 (Entity-Relationship Model)ER 모델은 데이터베이스 설계를 위한 개념적 모델로, 현실 세계의 데이터를 엔터티(Entity), 속성(Attribute), 관계(Relationship)로 표현합니다.엔터티(Entity): 데이터를 저장할 대상 (예: 학생, 강의, 고객 등)속성(Attribute): 엔터티가 가지는 정보 (예: 학생의 학번, 이름, 나이 등)관계(Relationship): 엔터티 간의 연관성 (예: 학생이 강의를 수강한다)이를 시각적으로 표현한 것이 ER 다이어그램(ERD)이며, 데이터베이스를 설계할 때 많이 사용됩니다.ER diagram은 테이블 간의 관계를 나타내는 도표입니다. 각 테이블의 이름, 컬럼의 PKey, FKey, Unique Key 여부, 필드..

그래프 와 트리는 컴퓨터 과학에서 객체 간의 관계를 나타내는 데 사용되는 두 가지 기본 데이터 구조입니다. 몇 가지 유사점을 공유하지만, 서로 다른 애플리케이션에 적합하게 만드는 뚜렷한 차이점도 있습니다.그래프와 트리의 차이점Graph란 무엇인가요?그래프 데이터 구조는 노드 (정점이라고도 함)와 이를 연결하는 에지 의 모음입니다 . 노드는 사람, 장소 또는 사물과 같은 엔티티를 나타낼 수 있는 반면 에지는 이러한 엔티티 간의 관계를 나타냅니다.그래프는 소셜 네트워크 , 교통 네트워크 , 컴퓨터 네트워크 등 다양한 실제 시스템을 모델링하는 데 사용됩니다 . Tree란 무엇인가?트리 데이터 구조는 에지로 연결된 노드로 구성된 계층적 데이터 구조입니다. 각 노드는 여러 자식 노드를 가질 수 있지만 부모 노드는..

스택(Stack)스택은 LIFO(Last In First Out) 법칙을 분리하여 데이터 구조로 , 마지막으로 삽입된 요소가 가장 먼저 팝됩니다. 즉, 삽입 및 삭제 작업이 끝에서만 발생한다는 의미입니다.LIFO(후입선출)프링글스통을 상상하면 편하다. 우리가 통에 감자칩을 여러개 넣고 맨아래 감자칩을 빼려면 위에 감자칩부터 먼저 빼야할 것이다.스택 데이터 구조의 표현:스택은 LIFO(마지막에 들어간 요소가 먼저 나감) 원칙을 따르므로 마지막으로 푸시된 요소가 먼저 팝됩니다.스택의 종류:고정 크기 스택 : 이름에서 알 수 있듯이 고정 크기 스택은 고정된 크기를 가지며 동적으로 커지거나 줄어들 수 없습니다. 스택이 가득 차 있고 요소를 추가하려고 하면 오버플로 오류가 발생합니다. 스택이 비어 있고 요소를 제..

배열(Array)이란?배열은 연속된 메모리 위치에 요소를 저장하는 데 사용되는 데이터 구조입니다. 이는 각 요소가 서로 인접한 메모리 위치에 저장된다는 것을 의미합니다. 또한 배열의 크기는 변경할 수 없으며 미리 선언됩니다.이것은 각 상자가 인접한 메모리 위치에 해당하는 크기 6 의 배열의 예입니다 . 보시다시피, 배열은 처음에 크기 6 으로 선언되었지만 인덱스 0-4 만 사용됩니다. 그러나 인덱스 5 가 비어 있고 값이 없지만 메모리 공간을 차지하고 있습니다.접근요소에 접근할 때 배열은 매우 효율적이며 상수 시간 O(1)이 걸립니다 .이는 각 메모리 위치의 순차적 특성 때문입니다. 예를 들어 인덱스 4에서 요소를 검색하고 싶다고 가정해 보겠습니다. 그런 다음 배열의 기본 주소(첫 번째 요소의 메모리 주..

프로세스와 스레드에 대한 정의▪프로세스: 운영체제로부터 자원을 할당받은 작업의 단위.▪스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위.프로그램이 프로세스가 되려면먼저 프로세스와 스레드에 대해 본격적으로 설명하기 전에 프로그램에 대해서 설명하고 가야 한다. 프로그램이라는 단어의 정의는 다음과 같다.프로그램이란, 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 를 말한다.메모리에 올라가 있지 않은: 아직 운영체제가 프로그램에게 독립적인 메모리 공간을 할당해주지 않았다는 뜻이다. 모든 프로그램은 운영체제가 실행되기 위한 메모리 공간을 할당해 줘야 실행될 수 있다.정적인 상태: 정적(靜的)이라는 단어 그대로, 움직이지 않는 상태라는 뜻이다. 한 마디로 아직 실행되지 않..
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr function solution(numbers, target) { // 최종 결과를 저장할 변수, 초기값 0으로 설정 let answer = 0; // 깊이 우선 탐색(DFS) 재귀 함수 정의 const dfs = (index, sum) => { // 배열의 모든 원소를 탐색했을 때 if (index === numbers.length) { // 현재 합계가 target과 정확히 일치하면 if (sum ===..
운영체제(OS)운영체제(OS, Operating System)는 컴퓨터 시스템의 핵심 소프트웨어로, 컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관리하고 제어하는 역할을 한다. 운영체제의 목적은 사용자와 하드웨어 사이의 인터페이스를 제공해 효율적으로 응용 프로그램이 동작하도록 지원하고, 시스템 자원을 효율적으로 관리하여 응용 프로그램이 원활하게 동작할 수 있도록 한다. 운영체제의 코어(핵심) 부분을 커널(Kernel)이라고 하는데, 일반적으로는 커널에 여러가지 기능(라이브러리, 시스템 프로그램 등등)이 추가된 상태를 통칭해서 운영체제(OS)라고 한다.운영체제의 주요 역할프로세스 관리CPU와 같은 시스템 자원을 여러 프로세스가 효율적으로 사용할 수 있도록 관리합니다.프로세스 생성, 삭제, 상태 전환..