'좋은코드'의 기준이 조금씩 다르고 각각의 경험을 기반으로 좋은 코드를 정의보통 정의되는 좋은 코드 : 읽기 쉬운 코드, 중복이 없는 코드, 테스트가 용이한 코드 등코드 간의 의존성을 고민하자.합의된 규칙으로 일관성있게 작성하자. (일관성 있는 코드)적절하게 확장 가능
일종의 조정자.클라이언트의 요청을 받았을 때, 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출클라이언트가 보낸 데이터가 있다면, 모델에 전달하기 쉽게 데이터를 가공모델이 업무를 마치면 그 결과를 뷰에게 전달컨트롤러가 호출할 때 요청에 맞는 역할을 수행비즈니스
자원(Resource) - URI행위(Verb) - HTTP Method표현(Representations)HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST,GET,PUT,DELE
가장 기본적인 자료구조같은 타입의 변수들을 일렬로 정렬해 놓은 구조논리적 저장 순서와 물리적 저장 순서가 일치 => 인덱스(index)로 해당 원소(element)에 접근 가능찾고자하는 원소의 인덱스 값을 알고 있으면 Big-O(1)에 해당 원소로 접근 가능메모리 공간
Stack후입선출 (LIFO) 구조입력(push), 출력(pop또는 poll), top 원소 확인(peek), 해당 값이 스택에서 몇 번째에 있는지(search) 등Random Access(비순차적 접근) 불가삽입/숙제의 시간복잡도는 O(1)재귀 알고리즘 사용 시 유용
Heap heap 최댓값, 최솟값을 빠르게 찾기 위해 고안된 자료형으로 우선순위 큐를 위해 만들어진 자료구조 사용 : 시뮬레이션 시스템, 작업 스케쥴링, 수치해석 계산 완전 이진 트리의 일종으로, 각 노드의 키 값이 그 자식의 키 값보다 작지않거나(최대 힙), 크지않
최단 경로 : 간선의 가중치가 있는 그래프에서 두 정점 사이의 경로들 중에 간선의 가중치의 합이 최소인 경로간선의 가중치가 없는 경우(모든 점의 가중치가 똑같다는 의미) : 두 정점 사이의 경로에 쓰인 정점의 개수가 최소Dijkstra하나의 시작 정점에서 끝 정점까지의