본문 바로가기

자바95

스프링 부트(Spring Boot)란 - Spring Boot 는 단순히 실행되며, 프로덕션 제품 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있다. - Spring Boot 어플리케이션에는 Spring 구성이 거의 필요 하지 않다. - Spring Boot java-jar 로 실행하는 java 어플리케이션을 만들 수 있다. 주요 목표 1. Spring 개발에 대해 빠르고, 광범위하게 적용할 수 있는 환경 2. 기본값 설정이 있지만 설정을 바꿀 수 있다. 3. 대규모 프로젝트에 공통적인 비 기능 제공(보안, 모니터링 등등) 4. XML 구성 요구사항이 전혀 없음 빌드 도구(Build Tool) - Maven - Gradle 서블릿 컨테이너(Servlet Container) - Tomcat - Jetty - Undertow - Netty .. 2022. 6. 21.
객체지향 설계 5원칙 (SOLID) 응집도와 결합도 - 좋은 소프트웨어 설계를 위해서는 결합도(coupling)는 낮추고 응집도(cohesion)는 높여야 한다. 결합도 - 모듈(클래스) 간의 상호 의존 정도를 나타내는 지표로써 결합도가 낮으면 모듈 간의 상호 의존성이 줄어들어서 객체의 재사용 및 유지보수가 유리하다. 응집도 - 하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련성으로 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아져, 재사용 및 유지보수가 용이하다. 1.SPR(single Responsiblity Principle) 단일 책임 원칙 - 어떠한 클래스를 변경해야 하는 이유는 한 가지뿐이어야 한다. 2. OCP(Open Closed Principle) 개방 폐쇄 원칙 - 자신의 확장에는 열려 있고, 주변의 변화.. 2022. 6. 15.
5.최단거리 구하기 문제 문제풀이 - 모든 노드 중 연결된 최단거리를 가진 노드를 찾아서 - 노드 v에 인접한 노드 w에 대해 다음 조건이 성립하면 w에 대한 최단 거리를 업데이트 한다. (즉, 원래 w로 가던 거리보다 v를 거쳐가는 거리가 더 가까우면 w로 가는 거리는 v를 거쳐가는 것으로 최단 거리를 수정) Yw = Yv + Cvw if Yv +Cvw < Yw - MyGraph.java class MyGraph{ private int count; private int[][] vertexMatrix; private int[] distance; private boolean[] visited; private static int UNLIMIT = 999999999; public MyGraph(int count) { this.coun.. 2022. 6. 10.
4.DFS(Depth - First Search)와 BFS(Breadth - First Search) 그래프 탐색 그래프를 matrix로 표현하기 - UndirectedGraph.java public class UndirectedGraph { private int count; private int[][] vertexMatrix; public UndirectedGraph(int count) { this.count = count; vertexMatrix = new int[count][count]; } public void addEdges(int from, int to, int weight) { vertexMatrix[from][to] = weight; vertexMatrix[to][from] = weight; } public int[][] getMatrix(){ return vertexMatrix; } } .. 2022. 6. 10.