전체 글

rm -rf /
2 - 게시판 CRUD 만들기 (작성)게시글 작성 - CRUD(CREATE)1 - 폼 데이터란?폼 데이터(form data) 태그에 실려 서버로 전송되는 데이터 DTO(Data Transfer Object) 태그에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아 받음이 객체를 DTO(Data Transfer Object)라고 함 2 - 폼 데이터를 DTO로 받기입력 폼 만들기컨트롤러 만들기DTO 만들기폼 데이터를 DTO에 담기 1. 입력 폼 만들기 제목 내용 Submit 2. 컨트롤러 만들기@Controllerpublic class ArticleController { @GetMapping("/articles/n..
1 - 스프링부트 개요1. 스프링부트란?스프링 프레임워크대규모의 엔터프라이즈 애플리케이션시 개발환경을 제공해서 기능 개발에만 집중할 수 있도록 함서버 성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구설정이 복잡 등 단점 → 스프링 부트 출시스프링 부트스프링 프레임워크를 개선한 것(개발 환경 설정 간소화, 웹 애플리케이션 서버 내장 등)자바 웹 프로그램을 더욱 쉽고 빠르게 만들기 위해 개발된 도구원하는 기능을 찾아 조립하기만 하면 편리하게 자바 웹 프로그램을 만들 수 있음2. 스프링부트 개발 환경 설정1단계 : JDK 설치JDK(Java Development Kit): 자바 코드의 번역과 실행을 담당하는 자바 개발 도구2단계 : IDE 설치IDE(Integrated Development Envir..
5 - 큐(Queue) 학습목표FIFO 방식으로 동작하는 큐의 개념을 이해한다.선형큐, 원형큐, 연결큐를 자바로 구현 할 수 있다.자바 Queue 클래스를 활용할 수 있다.데크(Deque) 자료구조를 활용할 수 있다.1. 큐(Queue) 개념큐는 대기 줄과 유사한 개념으로, 데이터의 제거는 항상 가장 앞에서 수행되고, 데이터의 삽입은 가장 뒤에서 수행되는 구조이다. 이러한 특성으로 큐는 선입선출(FIFO, First In First Out) 형태의 자료구조로 알려져 있다. 스택은 한 쪽 방향에서만 입출력이 발생한다.2. 큐 구현큐는 구현하는 방법에 따라 선형 큐, 원형 큐, 연결 큐로 구분된다.선형 큐(Linear Queue)선형 큐는 배열을 선형으로 사용하여 큐를 구현한다. 삽입을 반복하면 rear 위..
학습목표Kruskal 최소신장트리(MST) 알고리즘을 구현할 수 있다. Prim 최소신장트리(MST) 알고리즘을 구현할 수 있다. 다익스트라 최단경로 알고리즘을 구현할 수 있다.1. 최소신장트리(Minimum Spanning Tree) 알고리즘트리 = 비선형 자료 구조트리는 부모와 자식간의 관계밖에 표시가 안되는데 그래프는 다른 요소간의 관계도 표시할 수 있음 , 그래서 사이클이 만들어짐 이게 단점이 될 수도 있음  신장트리는 그래프에 최소한의 간선만 사용하여 전체 정점으로 연결하는 트리이다. 아래 그림에서 그래프 (b), (c), (d)는 그래프 (a)의 신장트리이다.연결을 하는데 간선을 최소로 하는 것최소 간선 : 노드 개수 - 1최소 간선을 사용하는 이유 : 오버헤드(비용) 문제를 해결 할 수 있다..
학습목표정점, 간선, 경로, 차수 등 그래프 관련 용어를 이해한다.인접 행렬, 인접 리스트로 그래프를 표현할 수 있다.DFS 알고리즘을 이해하고, 구현할 수 있다.BFS 알고리즘을 이해하고, 구현할 수 있다.1. 그래프 개념그래프 정의그래프는 현실 세계의 다양한 관계를 표현하는 자료구조로, 여러 개의 노드(node) 또는 정점(vertex)이 간선(edge)으로 연결되어 있는 구조이다. 도로망, 지인 관계, 링크 관계, 프로세스와 자원 간의 관계 등을 그래프로 모델링할 수 있어 다양한 분야에서 활용된다. 그래프는 방향성과 순환성에 따라 다양한 종류의 그래프로 나뉘며, 이를 통해 다양한 문제들을 해결할 수 있다.그래프 구성요소그래프는 정점(Node, Vertex)과 간선(Edge) 들의 집합으로 구성된다...
학습목표이진탐색트리 탐색, 삽입, 삭제 알고리즘을 이해한다.힙(Heap) 삽입, 삭제 알고리즘을 이해한다.PriorityQueue 클래스를 활용하여 힙을 사용할 수 있다.힙 정렬 알고리즘을 구현할 수 있다.전위 순회 : 0->1->3->7->8->4->9->10->2->5->11->6중위 순회 : 7->3->8->1->9->4->10->0->11->5->2->6후위 순회 : 7->8->3->9->10->4->1->11->5->6->2->0층별 순회 : 0->1->2->3->4->5->6->7->8->9->10->11 ★전위 순회는 뿌리->왼쪽 자식->오른쪽 자식 순★중위 순회는 왼쪽자식-> 뿌리-> 오른쪽 자식★후위 순회는 왼쪽자식->오른쪽 자식-> 뿌리★층별 순회는 그냥 노드의 순서대로1. 이진탐색트리..
트리(Tree)는 대표적인 비선형 자료구조 이다.노드들을 간선으로 연결한 계층형 자료구조제일위의 하나의 노드를 루트노드로 하여 나머지 노드들이 간선으로 연결 됨하나의 노드는 그자체로 트리이며 루트가 된다1. 이진트리 개념노드의 차수 -한노드가 가진 서브트리의 수 ex) A의 차수 : 3, B의 차수 : 2, C의 차수 : 0, D의 차수 : 3리프노드(단말,터미널) - 차수가 0인 노드 ex) 리프노드 : E, J, K, L, H, I자식 노드 -노드에 연결된 서브트리의 루트노드들 ex) A의 자식노드 : B, C, D부모 노드 -노드에 연결된 한단계 상위 레벨 노드 ex) I의 부모노드 : D형제 노드 - 부모가 같은 노드 ex) G, H, I 는 형제노드트리의 차수 - 노드가 가지고 있는 자식 노드의..
학습목표선택정렬 알고리즘을 이해하고, 구현할 수 있다.합병정렬 알고리즘을 이해하고, 구현할 수 있다.퀵정렬 알고리즘을 이해하고, 구현할 수 있다.이진검색 알고리즘을 이해하고, 구현할 수 있다.자바의 정렬/검색 메소드를 사용할 수 있다.1. 선택정렬(Selection Sort)남은 것들중에서 제일 작은걸 찾아서 왼쪽에 정렬선택정렬의 단계별 비교횟수의 합은(버블정렬 알고리즘 시간 복잡도) $(n-1) + (n-2) + \cdots + 1 = \frac{n(n-1)}{2} = O(n^2)$ 이다.따라서 버블정렬(선택정렬)의 시간 복잡도는 $O(n^2)$ 이다.import java.util.Arrays;public class SelectionSort { public static void selectionS..
Future0_
Luna Developer Blog