데이터베이스에서의 DML은 Data Manipulation Language로 몇 개의 데이터가 처리(조작)되었는지 숫자로 결과를 반환합니다. 이 전에 포스팅했던 Select문은 데이터를 반환합니다. 이 둘의 차이점에 대해서 얘기하자면,DML은 insert/update/delete 문에 속하며 말 그대로 데이터를 조작하는 명령어입니다.반면 SELECT 문은 질의로 따로 분류하며 데이터베이스에서 정보를 조회하고 검색합니다. 데이터 조작언어(DML)데이터 조작을 위해서는 CRUD 연산이 가능해야 합니다.데이터의 생성(Create)읽기(조회 또는 검색, Read)갱신(update)삭제(delete)위의 네 가지 연산이 가능해야 되는데, SQL의 DML은 이 네 가지 명령문을 모두 수행합니다. insert 명령1..
데이터베이스에서는 데이터를 조작하는 일보다 가져오는 작업들이 더 많습니다. 이번 글에서는 데이터베이스를 통해 데이터를 조회하는 방법을 설명하도록 하겠습니다. SELECT 명령 데이터베이스를 통해서 데이터를 가져오는 방법이며,조건에 맞는 데이터를 검색하는 명령어이고 단일 테이블에 대해서 검색을 합니다.SELECT 컬럼1, 컬럼2,...,컬럼N 또는 "*"FROM where 조건식 여기서 select문을 적용할 때 관계대수에서는 중복된 속성이 있는 투플이 출력되지 않는 반면에, sql에서는 중복된 속성이 출력 가능합니다.💡테이블과 릴레이션의 차이릴레이션은 중복된 속성이 없지만, 테이블은 있을 수 있습니다.즉, 테이블은 행에 대해서 칼럼이 다 같은 투플이 나올 수 있습니다. where 조건식where절을 ..
힙은 우선순위 큐를 구현하기 위해서 사용되는 자료구조입니다. 우선순위 큐란?우선순위가 가장 높은 데이터를 가장 먼저 추출하는 자료구조입니다. 데이터를 우선순위에 따라 처리하고 싶을 때 사용합니다. 예를 들어, 물건 데이터를 자료구조에 넣었다가 가치가 높은 물건부터 꺼내서 확인해야 되는 경우에 사용됩니다. 자료구조추출되는 데이터 결과스택가장 나중에 삽입된 데이터큐가장 먼저 삽입된 데이터우선순위 큐가장 우선순위가 높은 데이터 우선순위 큐를 구현하는 방법1. 단순히 리스트를 이용하여 구현합니다.→ 차례대로 연달아 넣고, 리스트에서 데이터를 꺼낼 때 값들을 확인하고 가장 값이 큰 데이터부터 뽑아서 추출합니다. 2. 힙을 구현하여 구현합니다. 데이터의 갯수가 N개라고 가정하고 구현 방식에 따라서 시간복잡도를 비교..
스프링부트에서 서버를 실행할 때 포트(Port)가 이미 사용 중여서 오류가 뜨는 경우가 생깁니다. 이 말인 즉슨, 8080 포트를 이미 사용 중이라는 내용인데 이 포트를 종료해야 해당 번호의 포트로 서버를 실행할 수 있습니다. 서버 포트를 종료하는 방법1. 윈도우 검색창에 명령 프롬프트를 검색한 후에, 관리자 권한으로 실행합니다. Window(시작) + R을 누른 후에 cmd를 입력하여 열어줘도 됩니다.2. "netstat -a -o"를 입력합니다.이 명령어를 통해 현재 어떤 포트가 어떤 PID로 있는지 확인이 가능합니다.netstat : 시스템 관리 명령어로써 네트워크의 상태를 보여주는 명령어입니다.-a (All) : 현재 모든 연결 상태를 보여줍니다. 현재 열려 있는 모든 포트와 연결된 모든 소켓 정..
그래프 탐색 알고리즘먼저 그래프 탐색 알고리즘이란,여러 개체들이 연결되어 있는 자료구조인 그래프에서 특정 개체를 탐색하고 찾기 위한 알고리즘이다. 그래프 탐색 알고리즘 대표적인 유형이 DFS(깊이우선탐색)와 BFS(너비우선탐색)이다. 드라마 정주행을 비유해봤을 때, 한 드라마를 처음부터 끝까지 몰아봐야 하는 유형이 DFS이고, 모든 드라마 여러 개를 하나씩 본방사수하면서 챙겨봐야 하는 유형이 BFS이다. 대표적인 그래프 탐색 알고리즘 유형경로탐색 유형 : 최소거리 구하기, 최단 시간 구하기네트워크 유형 : 여러 개체들이 주어진 상태에서 연결되어 있는 그룹의 갯수를 구하기, 그룹 안에서 개체들이 연결되어 있는지의 여부 판단조합 유형 : 여러가지의 조합을 전부 만들고 비교해보기 DFS/BFS 구현 방법우..
Spring Boot 프로젝트 구조에 대해서 알아보자.보통 크게 나눴을 때 Controller / Service / Repository / Entity / Dto 패키지로 나누어진다. 1. Controller클라이언트와 서버 간의 중간자 역할을 한다.클라이언트에서 보낸 요청 api(url)에 따라 적절한 응답을 하고 반환한다.즉, Controller는 클라이언트(뷰)로부터 Request Body에 담긴 데이터를 DTO로 변환하여 Service에 넘겨주고, Service에서 처리된 결과를 다시 DTO로 받고 Response Body에 담아 클라이언트에게 반환하는 역할을 한다. Controller 종류- @ControllerApi와 View를 동시에 사용하는 경우 사용한다. 대신 api 서비스로 사용하는 경..