cTosMaster
-
004. 관계와 식별자IT 공부방 [기본지식 정리]/데이터베이스 (DB) 2025. 5. 21. 15:36
1. 관계 엔티티 간의 연관성을 의미하며, 존재적 관계와 행위적 관계로 나누어지나 ERD에서는 구분하지 않고 동일하게 표현함. UML에서는 연관관계와 의존관계로 구분하여 표기를 함. 2. 관계의 분류 1) 존재적 관계 (= 연관관계) 존재 자체로 서로 연관성을 갖는 관계 ex) 사원[소속된다] ----------> 부서 [포함한다], 타이어[포함된다] ----------> 차 [포함한다] 2) 의존적 관계 (= 의존관계) 한 엔티티가 특정 행위나 이벤트를 발생시켜 연관성이 발생하는 관계 ex) 고객[주문한다] ----------> 주문 [주문되어 진다], 차[주행한다] ----------> 운전수 [주행되어 진다] 3. 관계의 표현 ..
-
002. 스키마 구조 및 관계 표현IT 공부방 [기본지식 정리]/데이터베이스 (DB) 2025. 5. 21. 13:44
1. 스키마란? 데이터 모델링을 기반으로 정의된 틀(테이블)이해를 도울 예시로, DB테이블, Json테이블, 타입스크립트 등이 스키마라고 볼 수 있다. 2. 스키마 종류 1) 외부 스키마 : 응용 프로그래머, 사용자 관점에서의 데이터베이스 스키마 2) 개념 스키마 : 사용자, 설계자 각 관점에서의 스키마를 통합하여 나타낸 스키마 (관계 정의) 3) 내부 스키마 : 물리적 관점에서의 테이블, 컬럼, 인덱스를 정의한 스키마 3. ERD 이러한 스키마를 기반으로 엔티티, 관계를 정의하여 특정한 표기법으로 나타낸 문서 - 엔티티 : 테이블 - 속성 : 컬럼 - 관계 : - 카디널리티 : 관계의 표현 기호 (=관계의 참여도) 4. ERD 작성순서1) 엔티티를 ..
-
001. 데이터 모델링IT 공부방 [기본지식 정리]/데이터베이스 (DB) 2025. 5. 21. 13:27
1. 데이터 모델링 정의 - 현실세계를 대상으로 모사하여 모델을 만드는 것. 모델링된 결과를 데이터 모델이라고 함 - 데이터 모델을 형상화하며 표기한 문서는 ERD라고 함. 2. 데이터 모델링 특징 1) 추상화 : 대상을 카테고리화하여 일정한 형식으로 표현함. (DB에서는 테이블, OOP에서는 객체클래스) 2) 단순화 : 복잡한 현실세계를 단순하게 표현 (UML / ERD로 표현할 수 있어야 함.) 3) 명확화 : 모호함이 없어야 함. 3. 데이터 모델링 유의사항 1) 중복성 최소화 : 되도록이면, 같은 정보를 저장하지 않아야 함. 2) 비유연성 최소화 : 데이터의 정의와 데이터의 사용 프로세스를 분리하여야 함. 3) 비일관성 최소화 : 데이터 간 상호 관계를..
-
201. Tailwindcss with Vite, ReactIT 공부방 [기본지식 정리]/FrontEnd 2025. 5. 19. 14:34
1. Vite란? 2. Tailwindcss 라이브러리 설치 & 프로젝트 생성[tailwind 4.1.6 기준 설치 - (VITE 필수)]*) npm은 이미 설치는 기본. (설치 가이드 참조할 것.) 1) react 기본 페이지 라우터 설치 -> npm install react-router-dom (설치 필수) 2) vite용 프로젝트 생성 및 초기셋업 -> npm create vite@latest [프로젝트명] -- --template react -> cd [프로젝트 폴더] && npm install 3) tailwindcss 라이브러리 설치(VITE용)npm install react-router-domnpm install tailwindcss @tailwindcss/vite 4) p..
-
01. 의존성 주입 (DI)멋사 부트캠프/SpringFramework 2025. 5. 16. 13:25
1. 의존성 주입 방식 1) 에너테이션 방식Spring은 MVC 아키텍처를 따르며, @Autowired와 같은 애너테이션을 통해 의존성 주입을 수행한다.각각의 애너테이션(아래 예시)을 Spring 컨테이너 (= ApplicationContext)가 관리한다.@Controllerpublic class PersonController { private PersonService service; private PersonConsoleView view; private Scanner sc = new Scanner(System.in); @Autowired public PersonController(PersonService service, PersonConsoleView view) { this.service ..
-
07. 그래프(Graph)멋사 부트캠프/자료구조 2025. 5. 15. 11:33
1. 그래프란?규칙 정리)1) 2개 이상의 경로가 가능하다.2) 노드들 사이에 무방향/방향에서 양방향 경로를 가질 수 있다.3) 루트 노드라는 개념이 없다. (= 루트노드는 트리)4) 순회는 DFS나 BFS로 이루어진다.5) 그래프는 순환(Cyclic) 혹은 비순환(Acyclic)이다.6) 그래프는 크게 방향 그래프와 무방향 그래프가 있다. 2. 용어 정리1) 정점(Vertex) - 노드(node) 라고도 하며 정점에는 데이터가 저장된다. (0, 1, 2, 3) 2) 간선(Edge) - 정점(노드)를 연결하는 선으로 link, branch 라고도 부른다. * 간선의 종류📍 무방향 간선방향 없음. A-B면 B-A도 가능친구 관계➡️ 방향 간선방향 있음. A → B만 가능팔로우 관계🧮 가중..
-
04. 넓이 우선 탐색 (BFS)멋사 부트캠프/알고리즘 2025. 5. 15. 11:18
1. 알고리즘 정의 Breadth-First Search 그래프나 트리에서 Root 노드부터 출발하여인접한 노드들을 먼저 탐색하고, 그 다음 단계의 노드들을 탐색해 나가는 방식최단거리 문제에 특히 적합, 주로 Queue를 활용하여 구현함. [구조]A ├── B │ └── D └── CBFS 탐색 순서 (시작: A)→ A → B → C → D 2.알고리즘 구현import java.util.*;public class BFSExample { static List[] graph; static boolean[] visited; public static void bfs(int start) { Queue queue = new LinkedList(); visited[sta..
-
03. 깊이 우선 탐색(DFS)멋사 부트캠프/알고리즘 2025. 5. 15. 11:11
1. 알고리즘 정의Depth-First Search한 방향으로 최대한 깊게 탐색한 뒤, 더 이상 갈 곳이 없으면 백트래킹하면서 다른 경로를 탐색하는 알고리즘이야. [구조]A├── B│ └── D└── CBFS 탐색 순서 (시작: A)→ A → B → D (재귀:백트래킹) → C 2. 알고리즘 구현1) 재귀함수 활용void dfs(int node, boolean[] visited) { visited[node] = true; System.out.print(node + " "); for (int next : graph[node]) { if (!visited[next]) { dfs(next, visited); } }} 2) Stack ..