728x90

CS (Computer Science) 25

[개발 공부 117일차] 컴퓨터 구조 | 2진법, 16진법, 문자 인코딩/디코딩

0. TL;DR1. 이진수와 2의 보수법2. 부동 소수점3. 문자 인코딩과 디코딩  0. TL;DR이진수: 모든 양수를 0과 1로 표현하는 방법2의 보수: 모든 음수를 0과 1로 표현하는 방법부동 소수점: 모든 소수(분수)를 0과 1로 표현하는 방법문자 집합 & 인코딩: 모든 문자를 0과 1로 표현하는 방법  들어가며컴퓨터는 0과 1만을 이해한다.데이터가 컴퓨터 내에선 어떠한 방식으로 표현이 되는지 알아보자. 이진수, 2의 보수, 부동 소수점, 문자 집합과 인코딩에 대해 중점적으로 살펴볼 것이다. 참고로,‘문자 집합’은 컴퓨터가 이해할 수 있는 문자들의 모음이다.‘인코딩’은 문자 집합을 이용해서 0과 1로 변환하는 과정이다.  1. 이진수와 2의 보수법이진법: 0과 1로 모든 수를 표기하는 방법이진수: ..

[개발 공부 116일차] 컴퓨터 구조 | 명령어 구조와 주소 지정

0. TL;DR1. 명령어2. 연산코드3. 주소 지정  0. TL;DR명령어: 무엇을 대상(오퍼랜드)으로 무엇을 수행(연산코드)하는 것주소 지정: 유효 주소*를 찾는 방법즉시 주소 지정직접 주소 지정간접 주소 지정레지스터 주소 지정레지스터 간접 주소 지정  1. 명령어: 무엇을 대상(오퍼랜드)으로 무엇을 수행(연산코드)하는 것이처럼 명령어는 명령의 대상과 동작으로 이루어진다. 명령어는 컴퓨터를 동작시키는 실질적인 정보다. 오퍼랜드(operand): 명령어를 수행할 대상대상(데이터)이 직접 명시되기도 하고, 대상의 위치*가 명시되기도 함연산코드(op-code): 오퍼랜드로 수행할 동작 👾 [중요] 대상의 위치: 레지스터(CPU에 있는 작은 임시 저장 장치)의 이름, 메모리 주소  실제 컴퓨터로 동작시키는..

[개발 공부 115일차] 컴퓨터 구조 | 컴파일, 인터프리트

0. 들어가며1. 저급 언어의 두 종류2. 고급 언어 → 저급 언어로 변환되는 대표적인 방식3. 컴파일과 인터프리트의 차이4. 명령어 관찰하기  0. 들어가며컴퓨터는 명령어를 이해한다.소스코드는 실행되기 전, 명령어(+ 데이터)로 변환되어 실행된다. 소스코드: 사람(개발자)가 이해하기 편한 언어 [고급 언어]명령어 & 데이터: 컴퓨터가 이해하기 편한 언어 [저급 언어] 즉, 고급 언어로 작성된 소스코드는 내부적으로 저급 언어로 구성된 명령어와 데이터로 변환된다.  1. 저급 언어의 두 종류기계어: 컴퓨터(CPU)가 이해하는 언어어셈블리어: 기계어를 사람이 이해하기 편하게 변환시킨 언어 CPU 혹은 컴파일러의 종류에 따라서, 변환되는 명령어의 종류(생김새)가 달라질 수 있다.  2. 고급 언어 → 저급 언..

[개발 공부 114일차] 컴퓨터 구조 | 컴퓨터의 4가지 핵심 부품

컴퓨터 구조모든 프로그램은 컴퓨터 부품이 실행한다. 컴퓨터 구조는 ‘컴퓨터의 부품을 학습’하는 것이다.그리고 컴퓨터 공학을 배워야 하는 이유는 성능, 용량, 비용 때문이다. (1) 프로그램을 이루는 정보 2가지즉, 0과 1로 이루어진 정보를 의미한다.명령어: 컴퓨터를 동작시키는 실질적인 정보데이터: 명령어의 대상 (재료) (2) 컴퓨터의 4가지 핵심 부품스마트폰, 태블릿, 데스크탑 모두 컴퓨터라고 볼 수 있다. 이것에 공통으로 들어가는 핵심 부품 4가지가 중요하다.  CPU: 명령어 해석 및 실행하는 장치레지스터: 임시 저장 장치ALU: 계산기 회로제어 장치: 명령어 해석, 제어 신호 내보냄메인 메모리 & 캐시 메모리: 실행 중인 프로그램(= 프로세스)을 저장하는 장치 (전원 꺼지면 삭제)보조기억장치: ..

[개발 공부 112일차] DB 개론 | 성능을 고려한 데이터 모델링

0. TL;DR1. 정규화, 반정규화2. PK, FK 순서 조정3. 컬럼 수가 많은 테이블의 1:1 분리4. 대용량 테이블 파티셔닝*5. 복잡한 모델의 단순화로 성능 향상6. 일관성 있는 데이터 타입7. 좋은 모델링이란  0. TL;DR정규화, 반정규화 성능 향상: 데이터 무결성 및 관리에 대한 주의 필요PK, FK 순서 조정[매우 중요] PK가 여러 속성으로 구성된 복합 식별자일 경우, PK 순서에 따라 성능 차이가 발생FK로 사용되는 컬럼에 인덱스를 추가하여 성능 향상일관성 있는 데이터 타입 설정: 동일한 속성의 컬럼에 데이터 타입이 맞지 않으면 DB는 같은 데이터라고 생각하지 않음비즈니스 도메인을 잘 이해하는 것이 좋은 모델링을 도출함  1. 정규화, 반정규화정규화가 잘 되어 있으면 입력, 수정, ..

[개발 공부 111일차] DB 개론 | 데이터 모델링 문제 및 해소

0. TL;DR1. 1:1 관계2. M:N 관계3. 엔티티 타입 통합4. 이력(log, 기록) 엔티티 타입 설계  0. TL;DR1:1 관계1개의 엔티티 타입으로 통합: PK가 동일하게 사용 or 한 시점에 2개의 엔티티 타입이 동시 발생 금지부분 통합: PK 속성들의 구조가 모두 비슷한 경우, 편의상 하나로 통합하여 표현슈퍼 엔티티 타입 생성: PK와 의미가 동일하고, 속성의 일부만 다를 경우 슈퍼 타입으로 통합M:N 관계관계 엔티티 타입 분리주 식별자 통합부모 엔티티 타입에 속성 추가이력 엔티티 타입 설계이력 관리: 하나의 업무가 시간 흐름에 따라 발생하는 데이터이력 데이터 발생 유형발생 이력변경 이력진행 이력  1. 1:1 관계: 엔티티 타입 간 관계가 1:1로 대응하는 것즉, 해당 엔티티 타입의 ..

[개발 공부 110일차] DB 개론 | 3차 정규화, 보이스-코드 정규화, 4차/5차 정규화

0. TL;DR1. 정규화2. 오브젝트 분석과 정규화 엔티티 타입 분석 차이점3. 1차 정규화4. 2차 정규화  0. TL;DR3차 정규화: 속성에서 종속적인 속성을 분리하는 것보이스-코드 정규화: 복잡한 식별자 관계에 의해 발생하는 문제를 해결하기 위해 3차 정규화를 보완한 정규화4차 정규화: 보이스-코드 정규화를 만족해야 하며, 다치 종속(Multi-Value Attribute)이 없어야 하는 정규화5차 정규화: 중복을 제거하기 위해 분해할 수 있는 만큼 전부 분해하는 과정  1. 3차 정규화: 속성에서 종속적인 속성을 분리하는 것 1차 정규화 및 2차 정규화 이후, 속성 간의 종속관계가 발생한다면 3차 정규화 진행이행적 함수 종속 제거, 기본키가 아닌 모든 속성 간에서는 서로 종속될 수 없음  [예..

[개발 공부 109일차] DB 개론 | 데이터 모델링 1차 정규화, 2차 정규화

0. TL;DR1. 정규화2. 오브젝트 분석과 정규화 엔티티 타입 분석 차이점3. 1차 정규화4. 2차 정규화  0. TL;DR정규화: 다양한 유형의 검사를 통해 데이터 모델을 구조화하고, 개선시켜나가는 절차에 관련한 이론데이터 모델을 견고하고, 잘 만들기 위해서는 정규화 과정이 필요1차 정규화: [속성에 대한 분리] 모든 속성이 반드시 1개의 원자값만 보유하게 하는 것2차 정규화: [종속에 대한 분리] 주 식별자에 종속적이지 않고, 주 식별자를 구성하는 일부 속성에 종속적인 속성을 분리하는 것  1. 정규화: 다양한 유형의 검사를 통해 데이터 모델을 구조화하고, 개선시켜나가는 절차에 관련한 이론 정규화의 기본 원칙: 하나의 테이블에 ‘중복된 데이터가 없도록’ 하는 것데이터를 수학적인 방법에 의해 구조화..

[개발 공부 108일차] DB 개론 | ERD, 논리적/물리적 데이터 모델링

0. TL;DR1. 논리적 데이터 모델링2. 개념적 모델링과 논리적 모델링 매핑3. 물리적 데이터 모델링4. ERD (Entity Relationship Diagram)  0. TL;DR논리적 데이터 모델링: 개념적 모델을 상세화하는 과정물리적 데이터 모델링: 논리적 데이터 모델을 특정 DBMS 기술에 매핑하고, 소프트웨어의 용어를 사용ERD: 시스템의 엔티티가 무엇이 있는지, 어떤 관계가 있는지를 나타내는 다이어그램  1. 논리적 데이터 모델링: 개념적 데이터 클래스를 기술적 데이터 구조에 매핑하는 단계즉, 개념적 모델을 상세화하는 과정을 의미한다. 개념적 데이터 모델에서 식별된 데이터 개념과 복잡한 데이터 관계에 대한 자세한 내용을 제공한다. 다양한 속성의 데이터 유형 (e.g. 문자열 or 숫자)데..

[개발 공부 106일차] DB 개론 | 데이터 모델링 단계, 개념적 데이터 모델링

0. TL;DR1. 데이터 모델링 5단계2. 데이터 모델링 관점에 따른 분류3. 요구사항4. 개념적 데이터 모델링  0. TL;DR데이터 모델링 5단계: 요구사항 분석 → 개념 모델링 → 논리 모델링 → 물리 모델링 → 데이터베이스구체화 및 세분화 될수록 현업에 적용할 수 있는 단계가 됨요구사항 분석: 업무 및 기능 수행에 필요한 정의 분석요구사항 주요 작업: 업무 영역의 설계 범위를 결정개념적 모델링 단계주제 영역 도출핵심 데이터 집합 도출관계 설정핵심 속성 정의식별자 정의  1. 데이터 모델링 5단계 요구사항 분석: 업무 및 기능 수행에 필요한 정의 분석개념 모델링: 정보 표현의 상위 수준 모델로 핵심 엔티티 도출 및 관계 정의 (개념 ER 모델)논리 모델링: 업무 요건을 명확하게 표현 및 설계 (상..

728x90