JavaScript 배열 메서드
| 개념 | 알기문장 |
|---|---|
pop() | 배열의 맨 끝 값 삭제 |
join() | 배열 요소들을 문자열 하나로 합침 |
slice() | 배열에서 정한 범위만 가져옴 |
splice() | 배열의 원본을 직접 변경 |
length | 배열의 길이/개수 |
암기
범위 가져오기 = slice
원본 변경 = splice
객체지향 프로그래밍 특징
| 개념 | 알기문장 |
|---|---|
| 캡슐화 | 데이터와 메서드를 하나로 묶는 것 |
| 정보 은닉 | 내부 구현을 외부에 숨기는 것 |
| 추상화 | 불필요한 건 빼고 핵심만 뽑는 것 |
| 상속성 | 부모 클래스 기능을 자식 클래스가 물려받는 것 |
암기
핵심만 뽑기 = 추상화
숨기기 = 정보 은닉
묶기 = 캡슐화
물려받기 = 상속
빌드 도구
| 개념 | 알기문장 |
|---|---|
| Ant | Java 빌드 도구 |
| Maven | Java 빌드 도구 + 의존성 관리 |
| Gradle | 빌드 자동화 도구 |
| Zeplin | 디자인 협업 도구, 빌드 도구 아님 |
암기
Ant / Maven / Gradle = 빌드
Zeplin = 디자인
DBMS / DBA
| 개념 | 알기문장 |
|---|---|
| DBMS | 데이터베이스를 관리하는 소프트웨어 |
| DBA | 데이터베이스를 관리하는 사람 |
| Schema | 데이터베이스의 논리적 구조 |
| E-R 모델 | 개체와 관계로 DB 구조를 표현 |
암기
관리 소프트웨어 = DBMS
관리 사람 = DBA
정규화
| 개념 | 알기문장 |
|---|---|
| 정규화 | 테이블을 정리해서 중복과 이상 현상을 줄이는 작업 |
| 목적 | 저장 공간 최소화, 무결성 유지, 이상 현상 방지 |
| 함수적 종속 | 어떤 값이 다른 값을 결정하는 관계 |
| 이상 현상 | 삽입, 삭제, 갱신할 때 생기는 문제 |
암기
정규화 = 중복 최소화 + 함수 종속 + 이상 현상 방지
SQL 컬럼 변경
| 개념 | 알기문장 |
|---|---|
ADD | 새로운 컬럼을 추가 |
MODIFY | 기존 컬럼의 타입/크기/기본값을 수정 |
ALTER | 테이블 구조를 바꾸는 큰 명령어 |
PLUS | SQL 구조 변경 명령어 아님 |
암기
ADD = 추가
MODIFY = 기존 것 수정
ALTER TABLE MODIFY = 테이블 컬럼 수정
JOIN
| 개념 | 알기문장 |
|---|---|
| INNER JOIN | 양쪽 테이블에 공통으로 있는 데이터만 가져옴 |
| LEFT OUTER JOIN | 왼쪽 테이블은 전부, 오른쪽은 매칭되는 것만 가져옴 |
| RIGHT OUTER JOIN | 오른쪽 테이블은 전부, 왼쪽은 매칭되는 것만 가져옴 |
| OUTER JOIN | 한쪽에만 있는 데이터도 포함 가능 |
암기
LEFT OUTER JOIN = 왼쪽 전부 + 오른쪽 매칭값
INNER JOIN = 공통 부분만
이상 현상 Anomaly
| 개념 | 알기문장 |
|---|---|
| 삽입 이상 | 데이터를 넣을 때 불필요한 정보도 같이 넣어야 하는 문제 |
| 삭제 이상 | 데이터를 지웠더니 필요한 정보까지 사라지는 문제 |
| 갱신 이상 | 일부만 수정돼서 데이터가 서로 안 맞는 문제 |
| 검색 이상 | 이상 현상의 종류 아님 |
암기
이상 현상 3개 = 삽입 / 삭제 / 갱신
자료구조
| 개념 | 알기문장 |
|---|---|
| 선형 구조 | 데이터가 줄처럼 1자로 연결된 구조 |
| 비선형 구조 | 데이터가 가지치기/그물처럼 연결된 구조 |
| 스택 | 나중에 들어온 것이 먼저 나감, LIFO |
| 큐 | 먼저 들어온 것이 먼저 나감, FIFO |
| 데크 | 양쪽에서 삽입/삭제 가능 |
| 트리 | 계층 구조, 비선형 |
| 그래프 | 정점과 간선으로 연결, 비선형 |
암기
스택 = 접시 쌓기 = LIFO
큐 = 줄 서기 = FIFO
트리/그래프 = 비선형 구조
큐 Queue
| 개념 | 알기문장 |
|---|---|
| 큐 | 먼저 들어온 데이터가 먼저 나가는 구조 |
| FIFO | First In First Out |
| 응용 | 운영체제 작업 스케줄링 |
암기
큐 = 줄 서기 = 작업 스케줄링
스택 Stack
| 개념 | 알기문장 |
|---|---|
| 스택 | 나중에 들어온 데이터가 먼저 나가는 구조 |
| LIFO | Last In First Out |
| 응용 | 함수 호출, 서브루틴 호출, 수식 계산 |
암기
스택 = 접시 쌓기 = 함수 호출 / 수식 계산
데이터베이스 모델 구성요소
| 개념 | 알기문장 |
|---|---|
| 구조 | 데이터가 어떻게 생겼는지 표현 |
| 연산 | 데이터를 어떻게 처리할지 표현 |
| 제약 조건 | 데이터가 지켜야 할 조건 |
| 관계 | 모델 구성요소 아님 |
암기
DB 모델 구성요소 = 구조 / 연산 / 제약 조건
데이터베이스 Key
| 개념 | 알기문장 |
|---|---|
| 슈퍼키 | 튜플을 유일하게 구분할 수 있는 속성 집합 |
| 후보키 | 슈퍼키 중 최소성을 만족하는 키 |
| 기본키 | 후보키 중 대표로 선택한 키 |
| 대체키 | 후보키 중 기본키로 선택되지 않은 키 |
| 외래키 | 다른 테이블의 기본키를 참조하는 키 |
암기
후보키 = 유일성 O + 최소성 O
기본키 = 대표 후보키
대체키 = 탈락한 후보키
외래키 = 다른 테이블 기본키 참조
무결성 제약 조건
| 개념 | 알기문장 |
|---|---|
| 개체 무결성 | 기본키는 NULL, 중복 불가 |
| 참조 무결성 | 외래키는 참조할 수 없는 값을 가질 수 없음 |
| 도메인 무결성 | 속성 값은 정해진 범위/형식만 가능 |
암기
기본키 NULL/중복 불가 = 개체 무결성
없는 외래키 값 불가 = 참조 무결성
정해진 값만 입력 = 도메인 무결성
VIEW
| 개념 | 알기문장 |
|---|---|
| VIEW | 실제 테이블이 아니라 SELECT 결과를 보여주는 가상 테이블 |
| CREATE VIEW | 뷰를 만드는 SQL문 |
| 형식 | CREATE VIEW 뷰이름 AS SELECT문 |
암기
뷰 = SELECT 결과로 만든 가상 테이블
CREATE VIEW 이름 AS SELECT ~
Subnetting
| 개념 | 알기문장 |
|---|---|
| Subnetting | 하나의 네트워크를 여러 개의 작은 네트워크로 나누는 것 |
| Subnet Mask | 네트워크 부분과 호스트 부분을 구분하는 값 |
| IP Address | 네트워크에서 장치를 구분하는 주소 |
| MAC | 랜카드에 부여된 물리 주소 |
암기
Subnetting = 큰 네트워크 쪼개기
UI
| 개념 | 알기문장 |
|---|---|
| UI | 사용자와 시스템이 만나는 화면/입력 방식 |
| 좋은 UI | 쉽게 배우고, 오류를 줄이고, 피드백을 제공 |
| 보안 정보 노출 | 좋은 UI 설명 아님 |
암기
UI = 사용자가 보는 화면 + 입력 방식
백업 종류
| 개념 | 알기문장 |
|---|---|
| 전체 백업 | 모든 데이터를 백업 |
| 증분 백업 | 마지막 백업 이후 변경된 것만 백업 |
| 차등 백업 | 마지막 전체 백업 이후 변경된 것만 백업 |
| 스냅샷 | 특정 시점의 상태를 저장, 복원 가능 |
암기
증분 = 직전 백업 이후 변경분
차등 = 마지막 전체 백업 이후 변경분
애플리케이션 테스트
| 개념 | 알기문장 |
|---|---|
| 테스트 케이스 | 입력값, 실행 조건, 기대 결과를 정리한 테스트 명세서 |
| 워크스루 | 개발자가 모여 산출물을 검토하는 회의 |
| 인스펙션 | 정해진 절차에 따라 공식적으로 검토 |
| 살충제 패러독스 | 같은 테스트만 반복하면 새 오류를 못 찾는 현상 |
암기
입력값 + 실행 조건 + 기대 결과 = 테스트 케이스
검토 회의 = 워크스루
공식 검토 = 인스펙션
같은 테스트 반복 = 살충제 패러독스
테스트 단계
| 개념 | 알기문장 |
|---|---|
| 단위 테스트 | 가장 작은 모듈이나 컴포넌트를 테스트 |
| 통합 테스트 | 단위 모듈들을 결합해서 테스트 |
| 시스템 테스트 | 전체 시스템이 요구사항을 만족하는지 테스트 |
| 인수 테스트 | 사용자가 최종적으로 확인하는 테스트 |
| 베타 테스트 | 실제 사용자가 사용해보며 테스트 |
암기
단위 → 통합 → 시스템 → 인수
작은 것부터 전체로 감
형상 관리
| 개념 | 알기문장 |
|---|---|
| 형상 관리 | 소프트웨어 변경 사항을 관리하는 활동 |
| 목적 | 변경 이력 관리, 버전 관리, 추적 가능 |
| Git | 대표적인 형상 관리 도구 |
암기
형상 관리 = 변경 사항 관리
운영체제 발달 과정
| 순서 | 개념 |
|---|---|
| 1 | 일괄 처리 시스템 |
| 2 | 시분할 시스템 |
| 3 | 다중 모드 시스템 |
| 4 | 분산 처리 시스템 |
암기
일괄 → 시분할 → 다중 모드 → 분산 처리
언어 번역 프로그램
| 개념 | 알기문장 |
|---|---|
| 어셈블러 | 어셈블리어를 기계어로 번역 |
| 인터프리터 | 목적 프로그램 없이 한 줄씩 번역하며 실행 |
| 컴파일러 | 전체를 번역해서 목적 프로그램 생성 |
| 프리프로세서 | 컴파일 전에 전처리 수행 |
암기
목적 프로그램 없음 = 인터프리터
목적 프로그램 생성 = 컴파일러
어셈블리어 번역 = 어셈블러
컴파일 전 처리 = 프리프로세서