전체 글

전체 글

    [스프링부트] Web server failed to start. Port 8080 was already in use.

    Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2022-10-27 13:53:32.751 ERROR 41864 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was already in use. Action: Identify and st..

    [백준] 17143 - 낚시왕 (자바 Java)

    [Gold II] 낚시왕 - 17143 문제 링크 성능 요약 메모리: 58532 KB, 시간: 792 ms 분류 구현(implementation), 시뮬레이션(simulation) 문제 설명 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. 칸에는 상어가 최대 한 마리 들어있을 수 있다. 상어는 크기와 속도를 가지고 있다. 낚시왕은 처음에 1번 열의 한 칸 왼쪽에 있다. 다음은 1초 동안 일어나는 일이며, 아래 적힌 순서대로 일어난다. 낚시왕은 가장 오른쪽 열의 오른쪽 칸에 이동하면 이동을 멈춘다. 낚시왕이 오른쪽으로 한 칸 이동한다. 낚시왕..

    [자바] java.util.ConcurrentModificationException 에러

    Exception in thread "main" java.util.ConcurrentModificationException at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1510) at java.base/java.util.HashMap$KeyIterator.next(HashMap.java:1533) at BOJ.Gold.g2.Test.main(Test.java:21) 간단하더라도 겪었던 오류들을 적어보려고 한다 해시 맵에서 for (int key: map.keySet()) { if (key==2) map.remove(key); } 와 같이 반복문을 돌던 중에 특정 값을 제거하거나 수정하려고 할 때 해당 오류가 발생한다 리스트에서는 제..

    [백준] 12015 - 가장 긴 증가하는 부분 수열 2 (자바 Java)

    [Gold II] 가장 긴 증가하는 부분 수열 2 - 12015 문제 링크 성능 요약 메모리: 322700 KB, 시간: 1716 ms 분류 이분 탐색(binary_search), 가장 긴 증가하는 부분 수열: O(n log n)(lis) 문제 설명 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) 출력 첫째 줄에..

    [백준] 1520 - 내리막 길 (자바 Java)

    [Gold III] 내리막 길 - 1520 문제 링크 성능 요약 메모리: 198548 KB, 시간: 928 ms 분류 깊이 우선 탐색(dfs), 다이나믹 프로그래밍(dp), 그래프 이론(graphs), 그래프 탐색(graph_traversal) 문제 설명 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으며, 각 지점 사이의 이동은 지도에서 상하좌우 이웃한 곳끼리만 가능하다. 현재 제일 왼쪽 위 칸이 나타내는 지점에 있는 세준이는 제일 오른쪽 아래 칸이 나타내는 지점으로 가려고 한다. 그런데 가능한 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표 ..

    [백준] 11066 - 파일 합치기 (자바 Java)

    [Gold III] 파일 합치기 - 11066 문제 링크 성능 요약 메모리: 29556 KB, 시간: 872 ms 분류 다이나믹 프로그래밍(dp) 문제 설명 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본이 들어있는 한 개의 파일을 만든다. 이 과정에서 두 개의 파일을 합쳐서 하나의 임시파일을 만들고, 이 임시파일이나 원래의 파일을 계속 두 개씩 합쳐서 소설의 여러 장들이 연속이 되도록 파일을 합쳐나가고, 최종적으로는 하나의 파일로 합친다. 두 개의 파일을 합칠 때 필요한 비용(시간 등)이 두 파일 크기의 합이라고 가정할 때, 최종적인 한 개의 파일을 완성..

    [네트워크] 12. 네트워크 프로그래밍

    12. 네트워크 프로그래밍 01 소켓의 주소 체계 소켓: 운영체제에서 제공하는 통신 프로토콜을 편리하게 사용할 수 있도록 도와줌 1. 소켓 주소 프로토콜 종류에 따라 다양한 방식으로 주소 부여 유닉스 주소 체계 AF_UNIX 하나의 호스트 내부에서 실행되는 프로세스 사이의 통신 지원 파일 시스템의 경로명 기반 주소 체계 struct sockaddr_un { short sun_family; char sun_path[108]; }; sun_family: 유닉스 주소 체계, AF_UNIX 값 sun_path: 소켓을 구분하는 주소, 파일 시스템의 경로명 기록 인터넷 주소 체계 서로 다른 호스트에서 실행되는 프로세스 사이의 통신 지원 AF_INET로 표시 소켓이 생성되는 호스트의 IP 주소와 포트 번호를 조합하..

    [네트워크] 11. 상위 계층

    [네트워크] 11. 상위 계층

    11. 상위 계층 01 상위 계층의 이해 상위 세 계층=세션, 표현, 응용 계층은 일반적으로 하나의 프로그램으로 묶여 구현 응용 환경의 요구 조건에 따라 복잡도가 달라짐 02 세션 계층 응용 환경에서 전송 계층이 제공하는 서비스를 손쉽게 이용하기 위해 사용자의 논리적 관점을 고려하여 단순한 사용자 인터페이스를 제공 1. 세션 계층의 기능 세션 계층 프로토콜 기능: 세션 연결의 설정과 해제, 세션 메시지 전송 등 세션 연결: 응용 환경에서 두 응용 프로세스 간의 세션을 설정하기 위해 만듦 세션 연결과 계층 4 연결의 차이 세션 연결: 계층 4 연결이 끊겼을 때 이를 복구하여 이전에 다운로드한 내용 이후부터 연속해서 전송 받을 수 있는 기능 제공 동기(Synchroniation) 문제 처리 - 통신 양단에서..

    [Spring] 스프링 핵심 원리 기본편 - 6. 컴포넌트 스캔

    6. 컴포넌트 스캔 컴포넌트 스캔을 사용하려면 먼저 @ComponentScan을 설정 정보에 붙여주면 된다 참고: @Configuration이 붙은 설정 정보도 자동으로 등록되기 때문에 excludeFilters를 사용해서 컴포넌트 스캔 대상에서 제외 @ComponentScan은 @Component가 붙은 모든 클래스를 스프링 빈으로 등록 스프링 빈의 기본 이름은 클래스명을 사용하되, 맨 앞글자만 소문자를 사용 MemberServiceImpl 클래스 → memberServiceImpl 빈 이름 직접 지정도 가능 → @Component(”memberServiceImpl”) @Autowired 의존관계 자동 주입 생성자에 @Autowired를 지정하면 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입..

    [Spring] 스프링 핵심 원리 기본편 - 5. 싱글톤 컨테이너

    5. 싱글톤 컨테이너 웹 애플리케이션과 싱글톤 대부분 스프링 애플리케이션은 웹 애플리케이션 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다 스프링 없는 순수한 DI 컨테이너 AppConfig: 요청을 할 때마다 객체가 새로 생성 해결 방안: 객체가 1개만 생성, 생성된 객체 인스턴스를 공유해서 쓰기 싱글톤 패턴 객체 인스턴스를 2개 이상 생성하지 못하도록 막기 package hello.core.singleton; public class SingletonService { private static final SingletonService instance = new SingletonService(); private SingletonService() { } public static SingletonSe..

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]