키워드 | 개념 | 팁/포인트 | |
1 | 애자일 (Agile) | 반복과 피드백 중심의 유연한 개발 방식 | 워터폴과 반대, 변화에 민첩하게 대응, “반복+협업+빠른 피드백” |
2 | 리팩토링 (Refactoring) | 기능은 그대로, 코드 구조만 개선하는 작업 | 리디자인은 기능까지 바꿈 Refactor = Fix + Structure |
3 | 클래스 다이어그램 | UML에서 클래스 간 관계와 구조를 표현한 정적 다이어그램 | 설계도 느낌, 클래스명/속성/메서드 3구획 기억 |
4 | 기능 vs 비기능 요구사항 | 기능: 시스템이 해야 할 일 / 비기능: 성능, 보안 등 외적 요구사항 | 기능 = 무엇을, 비기능 = 어떻게 잘할 것인가 |
5 | 정규화 (Normalization) | 데이터 중복 제거와 이상(Anomaly) 방지를 위한 테이블 구조 정리 | 1NF~3NF 순서 기억 이상이 있으면 → 정규화 |
6 | 트랜잭션 (Transaction) | DB 작업의 최소 단위로, ACID 4대 특성을 만족해야 함 | ACID: 원자성/일관성/독립성/지속성 순서대로 외우기 |
7 | 관계 대수 (Relational Algebra) | 데이터를 어떻게 찾을지 명확히 기술하는 절차적 질의 언어 | π(프로젝션), ▷◁(조인), ∪(합집합), ―(차집합) 외우기 |
8 | 함수적 종속 (Functional Dependency) | 어떤 속성이 다른 속성을 결정하는 관계 | A → B는 A가 B의 주인 완전·부분·이행 종속 구분 |
9 | 인터페이스 (Interface) | 시스템 간 또는 사용자와 시스템 간 상호작용 통로 | UI vs UX 차이: UI는 겉, UX는 느낌 CLI, GUI, API 예시 기억 |
10 | JSON (JavaScript Object Notation) | 데이터 교환용 경량 포맷, 자바스크립트 객체 문법 기반 | { "key": "value" } 형태 사람이 읽기 쉬운 구조 |
1. 애자일(Agile)
- 정의
빠르게 시제품을 만들어 고객 피드백을 반영하며 유연하게 개발하는 방식.
변화에 빠르게 대응하는 것이 핵심이다. - 핵심 특징: 반복(iteration), 협업, 유연한 계획, 빠른 피드백
- 헷갈리기 쉬운 개념:
- 워터폴(Waterfall): 순차적, 문서 중심, 계획 변경 어려움 → 애자일은 그 반대
- 암기 팁:
애벌레(애자일)는 변화에 ‘민첩’(Agile)하게 반응한다! 반복하면서 계속 진화함.
2. 리팩토링(Refactoring)
- 정의
기능은 바꾸지 않고, 코드 구조만 개선하는 작업. - 목적: 가독성 향상, 유지보수 용이성 확보, 중복 제거
- 헷갈리기 쉬운 개념:
- 리디자인(재설계)은 기능 자체를 바꾸는 것. 리팩토링은 기능 그대로 유지.
- 암기 팁:
Refactor = "다시(Fix)" + "구조(Structure)" → 기능은 그대로, 구조만 손질!
3. 클래스 다이어그램(Class Diagram)
- 정의
UML에서 클래스 간의 관계, 속성, 메서드를 도식화한 구조적 다이어그램. - 구성: 클래스명 / 속성 / 메서드의 3구획
- 헷갈리기 쉬운 다이어그램:
- 시퀀스 다이어그램: 동적 흐름
- 클래스 다이어그램: 정적 구조
- 암기 팁:
클래스는 설계도! 구조를 표현한다 = 클래스 다이어그램
4. 기능 요구사항 & 비기능 요구사항
- 정의
- 기능 요구사항: 사용자가 기대하는 시스템 기능
- 비기능 요구사항: 성능, 보안, 제약조건 등 기능 외적인 요구
- 예시
- 기능: 로그인, 회원가입
- 비기능: 초당 1,000명 동시접속, HTTPS 보안
- 암기 팁
기능 = "무엇을 할 것인가", 비기능 = "어떻게 잘 할 것인가"
5. 정규화(Normalization)
- 정의
데이터 중복 제거와 이상(Anomaly) 방지를 위한 테이블 정제 과정 - 핵심 단계
- 1NF: 원자값 유지
- 2NF: 부분 함수 종속 제거
- 3NF: 이행 함수 종속 제거
- 헷갈리기 쉬운 개념
- 비정규화는 정규화와 반대로, 성능 향상을 위해 일부러 중복을 허용
6. 트랜잭션(Transaction)
- 정의
데이터베이스의 상태를 변환시키는 작업의 단위 - ACID 4대 특성
- A: 원자성(Atomicity)
- C: 일관성(Consistency)
- I: 독립성(Isolation)
- D: 지속성(Durability)
7. 관계 대수(Relational Algebra)
- 정의
관계형 데이터베이스에서 데이터를 검색하기 위한 절차적 언어 - 기본 연산
- ∪ (합집합), ― (차집합), × (교차곱), π (프로젝션), ▷◁ (조인)
- 암기 팁
π는 뽑고(Project), ▷◁는 결합(Join), ∪는 합치고(Union), ―는 빼고(Difference)!
8. 함수적 종속(Functional Dependency)
- 정의
어떤 속성 A가 B를 결정하면 A → B라는 종속 관계가 존재한다고 함 - 유형
- 완전 함수 종속, 부분 함수 종속, 이행적 함수 종속 등
- 암기 팁
A → B = A가 결정되면 B도 자동 결정된다. A가 B의 “주인”이다.
9. 인터페이스(Interface)
- 정의
시스템 간 또는 사용자와 시스템 간의 상호작용 창구 - 종류
CLI, GUI, API 등 - UI vs UX 차이
- UI: 사용자가 보는 것
- UX: 사용자가 느끼는 것
10. JSON(JavaScript Object Notation)
- 정의
데이터를 교환하기 위한 경량 텍스트 포맷.
사람이 읽기 쉽고, 자바스크립트 객체 형태를 따름. - 기본 구조
{ "name": "홍길동", "age": 30 }