전체 글

전체 글

    Spring MVC- [원격 프로그램의 실행]

    * 자바 인터프리터가 main() 호출 -> static main이므로 호출 가능. static이 아니면 객체를 생성해야 호출할 수 있음 원격 프로그램 실행 내 컴퓨터의 브라우저에서 url 입력(원격 컴퓨터의 ip)해서 원격 컴퓨터에 호출하면 -> 원격 컴퓨터의 tomcat이 요청을 받아서 프로그램을 실행한다. 이렇게 웹에서 브라우저로 서버에 있는 프로그램 실행하려면 2가지 작업 필요 1) 프로그램 등록 (웹에서 호출할 수 있도록!) - @Controller 애노테이션을 class 앞에 붙여줌. 2) URL과 프로그램을 연결 - 호출하려는 메서드(아래 그림에서 main. 이름은 꼭 main일 필요 없음)에다 @RequestMapping 애노테이션과 URL("/hello")을 붙여줌 -> 만약 url이 '..

    Spring MVC- [원격 프로그램의 실행]

    Spring - [기본 개발 도구 설치 - JDK11 / SDS3 / IntelliJ / Tomcat / VS Code]

    - 자바 개발도구 : Java11 - 통합개발 환경 : STS, IntelliJ - 웹 서버 : Tomcat 9 - 웹 브라우저 : chrome - 데이터 베이스 : MySQL 5.7 - 기타 : VS code, Git, AWS, Maven https://jdk.java.net/11/ 에서 OpenJDK Archive 클릭 아래 셋 중에 아무거나 받아도 OK 다운받은 jdk-11.0.2 폴더는 C드라이브에 넣어주고 알아보기 쉽게 폴더명을 jdk11로 변경했다. 그리고 제어판 -> 환경변수 검색 -> 시스템 환경변수 -> 환경변수 -> 시스템 변수에서 Path 선택 후 편집 -> 새로 만들기 -> jdk 설치한 경로 추가해주기 (b..

    Spring - [기본 개발 도구 설치 - JDK11 / SDS3 / IntelliJ / Tomcat / VS Code]

    자료구조 - [ 최소 신장 트리 ]

    최소 신장 트리 신장 트리란 순환 없이 모든 정점을 연결하는 그래프를, 최소 신장 트리란 모든 정점을 순환 없이 최소 간선 비용으로 모든정점을 연결하는 그래프를 말한다. 절단(Cut) 그래프를 절단(S, V-S) 하면 임의의 S라는 정점의 집합과, V-S 정점의 집합으로 분리된다. 교차(cross) / 존중(respect) S의 정점와 V-S의 정점을 연결하는 간선을 교차(cross)한다고 부른다. 절단선을 기준으로 교차하지 않는 간선의 집합을 존중한다(respect)라고 한다. 경량 간선(light edge) / 안전 간선(safe edge) 절단선을 교차하는 간선 중 가중치가 최소인 간선을 경량 간선이라고 한다. 최소 신장 트리를 만족하며 루프 불변성을 유지하기 위해 경량 간선이면서 그래프를 순환하지..

    자료구조 - [ 최소 신장 트리 ]

    자료구조 - [ 그래프 ]

    그래프 정점(Vertext)과 정점을 연결하는 간선(Edge)의 집합으로 구성된 자료구조를 그래프라 부르며 G=(V,E)로 표기한다. V는 정점의 집합이며, E는 간선의 집합이다. 그리고 정점 u는 정점의 집합 V에 속해있으며, 간선(u,v)는 간선의 집합 E에 속해있다. 완전 그래프 모든 정점끼리 간선으로 연결되어 있는 것을 완전 그래프라고 한다. 무방향 그래프 / 방향 그래프 무방향 그래프는 방향이 없는 간선을 가지고 양방향으로 진행할 수 있으며, 간선은 (u1, v2), (u2, v2)로 표현할 수 있다. 방향 그래프는 방향이 있는 간선을 가지며 각 간선은 한 방향으로만 진행할 수 있다. 간선은 , 로 표현한다. 차수(Degree) 정점에 접한 간선의 수를 차수라고 한다. 무방향 그래프에서는 특정 ..

    자료구조 - [ 그래프 ]

    자료구조 - [ 해시 테이블 ]

    해시 테이블 해시 테이블은 키와 값의 구조를 가진 데이터를 저장하며, 해시 함수를 이용하여 키 값을 해시값으로 변환 후, 해시값을 해시 테이블의 인덱스로 사용하는 자료구조이다. 평균적으로 시간 복잡도 O(1)의 탐색 성능을 가지고 있기 때문에 빠른 탐색이 필요할 때 사용한다. 해시 함수를 이용하므로 해시값의 충돌이 발생할 수 있다. 좋은 해시 함수는 충돌 가능성을 낮추므로 최대한 고른 값을 가진 함수를 만들어야 한다. 버킷 : 해시값을 인덱스로 접근할 수 있는 배열. key-value 쌍의 참조값을 가지고 있으며, 배열 접근의 시간 복잡도는 O(1)이다. 엔트리 : 해시 테이블은 키와 값을 저장하는 구조이므로 노드를 이용하여 키와 값을 저장할 수 있다. 해시 함수 : 해시 함수와 보조 해시 함수를 이용하..

    자료구조 - [ 해시 테이블 ]

    자료구조 - [ B-트리 ]

    B-트리 B-트리에서는 한 노드가 여러 개의 데이터를 가질 수 있으며 여러 자식 노드를 가질 수 있다. 1. 분기 요소(Branching Factor)라는 개념을 통해 한 노드가 가질 수 있는 데이터와 자식 수가 달라진다. 2. 모든 Leaf노드는 같은 깊이를 가진다. 그러므로 균형 있는 트리이다. 3. 특정 키를 기준으로 작은 키는 좌측에 큰 키는 우측에 배치되며, 좌측 자식은 특정 키보다 작은 키들의 모음이고, 우측 자식은 큰 키들의 모음이다. => 트리를 중위 순회하면 정렬된 키를 얻을 수 있다. 4. 분기 요소(t)가 존재하며 최소 t의 수는 2

    자료구조 - [ B-트리 ]