본문 바로가기
반응형

Programming256

SpringBoot 웹 애플리케이션 개발 #1 프로젝트 시작 웹서버 기본 개념 서버란 사용자가 요청하는 응답을 반환하기 위해 무한정 대기하는 프로그램이다. 서버는 정적 웹 서버와 동적 웹서버로 구분되는데, 정적 웹서버는 사용자의 요청에 기계적인 응답만 한다. 동적 웹 서버는 사용자가 요청한 매개변수를 요청에 맞는 '작업'을 거친 후에 반환하게 된다. 자바 에서 동적 웹 서버를 구성하는 것이 바로 톰캣 서블릿 엔진이다. 서블릿 컨테이너는 서버 프로그램의 일종이다. 개발자들이 할 일은 서블릿 엔진을 설치하고 비즈니스 로직이 어떤 요청에서 실행되야 하는지 세세하게 구성을 해줘야 한다. 서블릿 엔진이 이해하는 방식은 javax.sevlet.http.HttpServlet을 상속받는 클래스 방식이다. 스프링 Spring 프레임워크 스프링 웹 서버 프레임워크 스프링은 오픈 소.. 2022. 3. 28.
백준 1753 자바 최단거리 다익스트라 알고리즘 시간복잡도 JAVA 백준 1753 최단거리 문제는 다익스트라 알고리즘을 사용해서 풀어보는 문제다. 우선순위 큐를 사용해야 하고, 인접한 그래프의 방향성이 존재하는 그래프의 정보가 입력값으로 주어진다. 최단거리를 구하는 방법으로 우선순위 큐를 사용해서 문제를 풀어본다. 다익스트라 알고리즘이란? 양수의 그래프 한 정점에서 주변 정점까지 도달하는 최단거리를 구하는 알고리즘이다. 초기 모델은 우선순위 큐를 사용하지 않아 O(V^2)였다. 이 후 최소 우선 큐가 도입되면서 피보나치 힙으로 수행되는 시간복잡도는 O(|E| + |V|log|V|)가 된다. 다익스트라 알고리즘은 음이 아닌 가중치를 가지는 무작위유향 그래프에서 단일 소스 최단 경로 알고리즘 중에서 가장 빠른 알고리즘으로 알려져 있다. 다익스트라 알고리즘 모든 정점을 미방문.. 2022. 3. 24.
백준 1707 자바 이분 그래프 판별 알고리즘 백준 1707 이분 그래프 판별 알고리즘 백준 1707 이분 그래프 판별 문제를 풀기 위해서는 먼저 '이분 그래프'에 대해서 이해해야 한다. 그래프 자료구조는 비선형 자료구조에 속한다. 즉 자료들이 순차적으로 배열되있지 않고, 정점과 간선으로 이루어진 '비선형' 형태의 자료구조를 의미한다. 그래프는 단방향 그래프와 무방향 그래프로 구분된다. 이분 그래프란, 모든 정점을 빨강과 파랑으로 색칠하면서 모든 변이 빨강과 파랑 정점을 포함하도록 칠할 수 있어야 한다. 즉, 한 개의 정점에서 출발해서 이웃 정점들을 방문하면서 현재 정점의 색과 반대의 색을 칠해가면서 모든 정점을 순회할 수 있으면, 이분 그래프라고 판별할 수 있게 된다. DFS / BFS 알고리즘 더 알아보기 백준 7562 나이트의 이동 자바 알고리.. 2022. 3. 23.
2022 정보처리기사 필기 합격 발표 조회 점수 기준 기간 공부법 공부시간 후기 정보처리기사 정기1회 필기 합격 후기 2022년 3월 23일은 나한테 특별한 날이다. 난생 처음 준비한 자격증(운전면허 제외) 필기 합격 발표가 있는 날이었다. 정기1회 정보처리기사 필기시험 합격 조회는 큐넷 홈페이지에서 가능하다. 3월 23일 오전 9시 부터 합격조회가 가능하다. 사실 3월 5일 필기 시험 직후 가답안이 나와서 합격 여부는 가늠할 수 있었지만 인생이라는게 끝날 때 까지 끝난게 아니기 때문에 최종 합격조회를 하고 나서야 조금 안도가 되었다. Q-Net 자격의 모든 것 www.q-net.or.kr 정보처리기사 정기1회 필기 합격 후기 정볼처리기사 필기 공부기간은 약 2달정도 잡았다. 공부법은 책으로만 공부했다. 책은 영진닷컴에서 출판한 이기적 책을 참고했다.필기에 나올 내용 위주로 정리가 .. 2022. 3. 23.
백준 7562 나이트의 이동 자바 알고리즘 java 풀이 백준 7562 나이트의 이동 알고리즘 해당 문제는 최단거리를 묻는 문제다. 출발 지점의 좌표에서 시작해서 도착 지점까지의 최단거리를 구하기 위해서는 DFS보다는 BFS 알고리즘을 사용해서 문제의 해법을 찾아야 한다. 즉 1칸씩 이동할 때 마다 counter를 증가시키면서 도착지점까지의 최단거리를 구하는 문제다. BFS 알고리즘에서는 Queue 자료구조를 사용한다. while문을 돌면서 queue 내의 더 이상의 데이터가 없을 때 까지 무한 반복이 진행되며, 만약 새로운 지점을 찾게 되면 queue에 지점의 좌표값을 입력하면서 BFS 알고리즘 탐색을 이어 나간다. 혹시나 BFS, DFS 알고리즘이 처음이라면 아래 글들을 다 읽고 문제를 푸는 것을 추천한다. BFS, DFS 알고리즘 백준 1697 숨바꼭질 .. 2022. 3. 22.
자바 배열 선언 2차 배열 0으로 초기화 하는 방법 java.lang.NullPointerException 자바 배열 초기화 하는 방법 JAVA를 사용하면서 배열 초기화를 진행하지 않으면 java.lang.NullPointerException 에러메세지를 만나게 된다. 제대로 된 배열 초기화가 진행되지 않았기 때문에, 배열의 인자에 접근이 불가능한게 가장 큰 원인이다. 배열 초기화를 진행하기 위해서는 new 키워드를 사용해줘야 한다. 아래 예시를 보면 최초 배열 초기화를 진행해주지 않았기 때문에 NullPointerException 에러가 발생한다. public class ArrayTest { public static int[][] testArray; public static void main(String[] args){ for(int i=0; i 2022. 3. 22.
반응형