본문 바로가기

CS22

[MYSQL] 각종 도구 사용 명령어 [GOORM.IDE] 경로이동 : cd node_modules/mysql/sqls mysql 실행 : mysql sql file 실행 : source 파일명.sql 오류: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 명령어 : sudo service mysql restart [WORK BENCH] reverse engineer / table -> erd forward engineer / erd -> table 2022. 5. 3.
[데이터베이스] 자연 키 vs 대리 키 데이터 베이스 설계시 기본키 설정 조건 null값은 허용하지 않는다. 유일해야 한다. 변해선 안 된다. 과거에는 자연 키를 기본 키로 설정하는 것이 정석이었지만, 최근에는 변할 가능성이 적은 대리 키 방식을 선호 https://www.inflearn.com/questions/27694 테이블 설계 관련 문의 및 MongoDB JPA 관련 - 인프런 | 질문 & 답변 안녕하세요 영한님, 며칠 전 복합키 관련 질문을 올렸고, 원하는 답변을 얻을 수 있었습니다. 그리고 추가 질문이 있어서 다시 문의드립니다. 1. 테이블 PK 관련.. 설계를 진행하면서 사수 분 생 www.inflearn.com 2022. 4. 22.
[알고리즘] 다익스트라 최단 경로 알고리즘 (Dijkstra Algorithm) [알고리즘] 다익스트라 최단 경로 알고리즘 (Dijkstra Algorithm) 다익스트라 알고리즘은 출발지 -> 경유지 -> 목적지를 이용하여 최단 경로를 구하게 된다. 이 과정을 반복하게 되면 고정된 출발지에서 모든 edge의 최단 경로를 구할 수 있다. 필요 사항 우선 순위 큐 (순서대로 확인하는 것이 아닌, 거리가 가장 짧은 것부터 수행하기 때문에 수행 시간을 단축) 고정된 출발지에서 목적지까지의 경로 값 저장 배열 최소 비용을 만들기 위해 필요한 Node의 개수는 항상 3개라고 생각해야 한다. [출발, 경유, 목적] 출발지 -> 경유지, 경유지 -> 목적지로 따로 생각해야 한다. 경유지를 반복문을 돌리므로 목적지는 복수개다. 주목할 부분은 경유지 -> 목적지 인 부분이다. 목적지였던 부분이 다음.. 2022. 4. 20.
[알고리즘] 플로이드 워셜 알고리즘 (Floyd Warshall Algorithm) [알고리즘] 플로이드 워셜 알고리즘 (Floyd Warshall Algorithm) 플로이드 워셜 알고리즘은 edge에서 edge로 이동할 때 최소비용을 구하는 알고리즘이다. 모든 경로의 최소비용을 구할 수 있다. 구현 플로이드 워셜 알고리즘의 구현은 간단하다. k, i, j를 사용하는 3중 for문이 있을 때 3중 for문으로 가장 바깥 k를 사용하는 for문은 edge의 총개수만큼 반복한다. k는 중간에 거쳐가는 edge이다. i는 시작 edge, j는 도착 egde로 사용한다. 현재 비용보다 거쳐가는 비용이 더 적다면 거쳐가는 비용을 사용한다. 자기 자신으로 가는 경로는 0, 도착이 불가능한 경로는 INF(충분히 큰 값)로 표시한다. 이해 구현은 간단하지만 이해는 쉽지 않았다. 플로이드 워셜 알고리.. 2022. 4. 17.
[데이터베이스] SQL 순서 (문법과 실행 순서) [데이터베이스] SQL 순서 (문법과 실행 순서) SQL 문법 순서 SELECT FROM JOIN WHERE GROUP BY HAVING ORDER BY SQL 실행 순서 FROM JOIN WHERE GROUP BY HAVING SELECT ORDER BY DISTINCT, ORDER BY, LIMIT 등 을 제외하면 SELECT의 실행은 최종적으로 이루어진다. JOIN으로 테이블을 결합하고, WHERE 조건을 적용, 그룹화를 진행한다. 그후 형성된 테이블을 SELECT 한다. 2022. 4. 5.
[JAVA] 자바 배열 array 사용법 [JAVA] 자바 배열 array 사용법 자바의 배열 기본적으로 배열이란 하나의 공통 타입을 갖는 여러 개의 변수들을 모아서 관리하기 위해 사용합니다. 여러 변수들을 라인마다 입력하는 것 보다는 사진처럼 한 줄로 처리하는 게 더 깔끔하고 추후에 관리도 편합니다. 배열을 사용하기 위해 선언하는 방식은 자료형뒤에 [ ]를 붙여주시면 됩니다. 변수 뒤에 [ ]를 붙일 수도 있지만, 코드 가독성에서 자료형 뒤에 [ ]를 붙여주는 것이 "해당 자료형으로 선언된 배열이구나."라고 인식하기 더 좋습니다. 배열 선언의 방법 3가지 방법1은 선언 이후에 초기화를 다음 라인에서 합니다. 주의할 점은 new int [ ] { 요소 1, 요소 2... }를 반드시 작성해주어야 합니다. 방법 2와 방법 3은 동일하며, 방법 3.. 2022. 4. 2.