🎁 self-study

    [자료 구조와 알고리즘] 덱(Deque)

    🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘 덱(Deque) 📍 덱(Deque) 👉🏻 데이터의 삽입과 제거를 head, tail에서 자유롭게 할 수 있음 👉🏻 덱을 이용하여 스택, 큐를 모두 구현할 수도 있음 📍 덱의 추상 자료형 [ Deque.mjs ] import { DoublyLinkedList } from './DoublyLinkedList.mjs'; class Deque { constructor() { this.list = new DoublyLinkedList(); } printAll() { this.list.printAll(); } // O(1)의 성능 addFirst(data) { this.list.insertAt(0, data); } // O(1)의 성능 removeFirst() { re..

    [자료 구조와 알고리즘] 스택(Stack)과 큐(Queue)

    🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘 스택(Stack)의 개념과 구현 📍 스택(Stack) 👉🏻 단순한 규칙을 가지고 있는 리스트 👉🏻 FILO(First In Last Out): 먼저 들어온 데이터가 나중에 쓰이는 리스트 👉🏻 ex) 쌓은 그릇을 위에서부터 씀 👉🏻 먼저 들어온 데이터를 나중에 쓰기만 한다면 어떤 자료 구조를 쓰더라도 상관없음 : 데이터 삽입/삭제를 무조건 첫 번째 인덱스로 한다면 연결 리스트로도 구현 가능 👉🏻 차례가 중요할 때는 쓸모없으나 Ctrl + z(되돌리기), 자바 스크립트 괄호 문법 검사와 같은 기능에서는 매우! 유용! 📍 스택(Stack)의 구현 👉🏻 추상 자료형 정의 1. push - 데이터 삽입2. pop - 데이터 제거3. peek - top에 있는 데이터 ..

    [자료 구조와 알고리즘] 연결리스트(Linked list)

    🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘 연결 리스트(Linked List) 📍 연결 리스트(Linked List) 👉🏻 저장하려는 데이터들을 분산해 할당하고 데이터들을 노드로 서로 연결해 줌 👉🏻 첫 노드의 주소를 알고 있으면, 연결되는 다음 데이터도 모두 알 수 있음 👉🏻 노드: 데이터를 담는 변수 하나와 다음 데이터를 가리키는 변수 1개를 가지고 있음 📍 장점 👉🏻 빈 메모리 공간 아무 곳에나 생성 후 연결만 해 주면 되기 때문에 초기 크기를 알지 않아도 됨 👉🏻 중간에 데이터를 삽입할 때도 다음 노드의 연결만 바꾸어 주면 되기 때문에 간편함 (삭제도 마찬가지) 📍 단점 👉🏻 데이터가 모두 떨어져 있어 바로 접근 불가능(4번째 노드에 접근하고 싶다면 첫 번째 노드를 기준으로 다음 데이터로 하나..

    [자료 구조와 알고리즘] 자바스크립트 실행 환경 구축과 배열

    🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘 자바스크립트 실행 환경 구축 📍 vsCode, node.js 🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘 배열 📍 프로그래밍 언어에서의 배열 👉🏻 프로그래밍 언어에서 제공하는 배열은 배열을 선언할 때 크기를 같이 할당해 줌 👉🏻 int arr[10] = {1, 2, 3, 4, 5}라면 열 개의 연속된 공간에 배열을 넣고, 남은 배열에는 쓰레기 값을 넣어 놓음 👉🏻 운영체제는 배열의 시작 주소만 기억하고 그 외의 값은 인덱스로 접근함 👉🏻 배열의 인덱스 참조는 길이에 상관없이 한 번에 가져옴 =. O(1)의 성능을 가짐 👉🏻 읽기, 쓰기와 같은 참조에서 좋은 성능을 보임 👉🏻 삽입, 수정, 삭제에서의 성능은 좋지 않음 기존에 할당된 데이터가 있고, 해당 크기..

    [자료 구조와 알고리즘] 시간 복잡도

    🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘 시간 복잡도 📍 좋은 알고리즘은 무엇일까? 👉🏻 사용자의 요구에 따라 달라짐 (메모리 사용량, 속도 등) 👉🏻 보통은 속도를 좋은 알고리즘의 척도로 사용함 📍 시간 복잡도 👉🏻 특정 알고리즘이 어떤 문제를 해결하는 데 걸리는 시간 👉🏻 단, 사용자마다 컴퓨터 사양이 다르므로 객관적 평가는 불가능 👉🏻 따라서 단순히 걸리는 시간이 아닌 '코드에서 성능에 많은 영향을 주는 부분(반복문의 수)'로 평가 주어진 배열에서 5를 찾으시오. [1, 3, 5, 7] 1) 처음부터 찾는다면? 👉🏻 3번째에 찾게 됨 👉🏻 하지만 이도 5가 어디 있느냐에 따라 달라짐(첫 번째에 찾을 수도 있고, 최악의 경우 배열의 길이만큼 걸림) 📍 표현법 👉🏻 Big-Ω[빅 오메가] 최선의 ..

    [자료 구조와 알고리즘] 자료 구조와 알고리즘이란?

    🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘 자료 구조와 알고리즘 📍 프로그램 👉🏻 자료 구조와 알고리즘으로 이루어짐 👉🏻 자료 구조: 데이터가 어떤 구조로 저장되고 어떻게 사용되는지 나타냄 👉🏻 가장 단순한 자료 구조는 변수와 배열 일반 변수의 처리 방법 👉🏻 데이터 추가 시, 변수를 추가하고 계산하는 코드 수정해야 함 let a = 87; let b = 70; let c = 100; let average = (a+b+c) / 3 배열의 처리 방법 👉🏻 데이터 추가 시, 배열에 데이터만 추가하면 됨 let arr = [87, 70, 100]; let average = 0; for(let i = 0; i < arr.length; i++) { average ++ arr[i]; } average /= ar..

    [SQLD 기출문제] 35회 복원

    문제 1. 아래 보기 중 반정규화의 이유로 가장 부적절 한 것은? 1) 데이터를 조회할 때 디스크 입출력량이 많아서 성능이 저하될 때 반정규화를 수행한다. 2) 데이터 무결성을 보장하지 못할 때 반정규화를 수행한다. 3) 경로가 너무 멀어 조인으로 인한 성능 저하가 예상될 때 반정규화를 수행한다. 4) 칼럼을 계산하여 읽을 때 성능이 저하 될 것이 예상되는 경우 반정규화를 수행한다. 더보기 1. 정답 : 2 해설 : 반정규화를 하면 데이터 무결성을 해친다. 구분 설명 반정규화의 대상 분석 - 디스크 I/O량이 많아 성능저하 - 경로가 너무 멀어 조인으로 성능저하 - 컬럼을 계산하여 읽을 때 성능 저하 반정규화 개념 - 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, ..

    [자료] SQL 개발자 가이드 PDF 파일(통합본, 소분류별)

    더보기 데이터 전문가 포럼 네이버 카페 https://cafe.naver.com/sqlpd/13374 [국가공인] SQL 개발자(SQLD) 가이드(2020.08.25.) 요약자료(4개) 링크를 추가했습니다. (2020.08.25.) 정리된 SQL 개발자 가이드로 시험을 대비할 수 있도록 자료실 교재 및 기출문제 복원자료를 취합하였습니다. ... cafe.naver.com 한국데이터산업진흥원 https://dataonair.or.kr/db-tech-reference/d-guide/sql/ SQL – DATA ON-AIR dataonair.or.kr 댓글 내용을 살펴 보니 한국데이터산업진흥원에서 전체 공개한 가이드라고 함 50,000원 주고 가이드북까지 사기는 싫었는데 개이득! 위의 전체 통합본..

    [SQLD] 1과목 데이터 모델링의 이해

    [1번] 모델링: 추상화/단순화/정확화 [2번] 데이터 모델링의 주요 이유 1. 업무 구성 정보들에 대해 일정한 표기법으로 표현함으로써 정보 시스템 구축의 대상이 되는 업무 내용을 정확하게 분석 2. 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용 👉🏻 단지 DB 구축만을 위한 용도가 아닌 데이터모델링 자체로서 업무 설명/분석하는 부분에서 매우 중요한 의미 [3번] 데이터 모델링 유의점: 중복, 비유연성, 비일관성 중복(Duplication): 같은 데이터를 사용하는 사람, 시간, 장소를 파악하는 데 도움을 줌으로서 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 함 비유연성(Inflexibility): 데이터의 정의를 사용 프로세스와 분리함으로써 데이터..

    [정리] 정보처리기사 실기 - 추가 보완

    1. 비즈니스 연속성 계획(BCP)의 주요 용어 BIA(Business Impact Analysis) 장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석 RTO(Recovery Time Objective) 업무중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간 RPO(Recovery Point Objective) 업무중단 시점부터 데이터가 복구되어 다시 정상가동될 때 데이터의 손실 허용 시점 DRP(Disaster Recovery Plan) 재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획 DRS(Disaster Recovery System) 재해복구계획의 원활한 수행을 지원..