전체 글

전체 글

    스프링 - @Component와 컴포넌트 스캔

    스프링 - @Component와 컴포넌트 스캔

    이제까지 1. 관심사의 분리를 위한 자바 코드를 이용한 설정 파일 + 의존관계 주입 https://bbeomgeun.tistory.com/141 스프링 - 의존 관계와 DI, Ioc 컨테이너 0. 의존 관계란 - 의존 관계란 어떤 대상 A가 대상 B에 영향을 받는, 연관이 있는 관계이다. (사용하는 관계면 의존한다라고 봐도 무방한 것 같다.) - 예를 들자면, 인터페이스 A를 구현한 클래스 cla bbeomgeun.tistory.com 2. 스프링 컨테이너 + 자바 설정 파일을 이용한 의존관계 주입으로 싱글톤 컨테이너 구성 https://bbeomgeun.tistory.com/142 스프링 - 스프링 컨테이너, 싱글톤 0. 스프링 컨테이너 - ApplicationContext를 스프링 컨테이너라고 부른다..

    스프링 - 스프링 컨테이너, 싱글톤

    스프링 - 스프링 컨테이너, 싱글톤

    0. 스프링 컨테이너 - ApplicationContext를 스프링 컨테이너라고 부른다. - 기존엔 개발자가 AppConfig에서 직접 객체를 생성하고, 의존관계를 정의했지만 스프링 컨테이너를 이용하면 편리해진다. - 스프링 컨테이너에서 @Configuration가 붙은 설정을 찾아서, 해당 설정 정보를 이용해서 빈과, 의존 관계를 구성한다. - @Bean이 붙은 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다. 1. 스프링 컨테이너 생성 //스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class) 2. 이후 AppConfig 클래스 안의 @Bean 메서..

    스프링 - 의존 관계와 DI, Ioc 컨테이너

    0. 의존 관계란 - 의존 관계란 어떤 대상 A가 대상 B에 영향을 받는, 연관이 있는 관계이다. (사용하는 관계면 의존한다라고 봐도 무방한 것 같다.) - 예를 들자면, 인터페이스 A를 구현한 클래스 classA에서 인터페이스 B를 구현한 클래스 classB1을 사용한다. public class classA implements A{ private B objectB = new classB1(); } 이러면 클래스 classA는 인터페이스 B와 구체 클래스 classB1에 의존하는 관계가 되는 것이다. 하지만 이렇게 의존 관계를 설정한다면 문제점이 있다. 0. SRP(단일 책임원칙) 위반 클래스 classA는 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있다. 하나의 클래스에는 하..

    [Linux] 윈도우에서 WSL2 우분투 디렉토리 열기, 파일 옮기기

    [Linux] 윈도우에서 WSL2 우분투 디렉토리 열기, 파일 옮기기

    이전 포스팅에서 윈도우에서의 내용을 WSL2 우분투에 복사, 붙여 넣기를 해보았다. 하지만 윈도우에서도 작업할 수 있는 파일이나 내용이면 아예 윈도우에서 작업하고 우분투로 옮기면 어떨까? AWS와 같은 아예 다른 서버는 filezilla 같은 프로그램을 이용해서 FTP(파일 전송 프로토콜)로 전송해야 한다. 하지만 WSL은 같은 컴퓨터 내에 가상 리눅스를 생성한 것이기 때문에 결국 같은 저장소를 사용할 것이다. 바로 본론으로 들어가 보자. 우분투 창에서 explorer.exe . 을 쳐보면 윈도우에서 폴더가 뜬다. explorer.exe . 저곳이 바로 explorer.exe . 명령어를 친 경로의 저장소이다. 윈도우의 파일 탐색기 + 현재 경로라는 의미의 "."이다. 이후에 윈도우에서의 파일을 내가 원..

    스프링 MVC - 서블릿을 통한 HTTP 요청(GET, POST, API, JSON)

    0. 개요 - WAS에 요청이 들어오면 HttpServletReqeust와 HttpServletResponse 객체를 생성하고, 서블릿 객체의 service 메서드에 파라미터로 전달되면서 실행된다. 우리는 http 요청과 응답에 대해 하나하나 메시지를 파싱 하고, 읽고, 다시 응답 메시지를 생성하는 등의 일을 매번 할 수 없기 때문에 servlet에서 제공하는 Request객체와 Response 객체를 이용하면 편리하게 통신할 수 있다. 1. HttpServletRequest의 역할 HTTP 요청 메시지 파싱(StartLine, 헤더, 바디) 임시 저장소 기능(해당 HTTP 요청이 시작부터 끝날 때까지 유지된다) 세션 관리 기능(request.getSession()) 2. 클라이언트에서 서버로 데이터를 ..

    [프로그래머스 위클리 챌린지 6주차] 복서 정렬하기 (정렬) [C++]

    https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 복서들의 정보와, 전적을 통해 정렬하는 문제이다. 1. 전체 승률이 높은 순 2. 자신보다 무거운 사람을 이긴 횟수가 많은 순 3. 내 몸무게가 무거운 순 4. 번호 작은 순 으로 정렬을 하면 된다. 2중 for문을 돌면서 이긴 경우, 진 경우, 이겼는데 나보다 상대 몸무게가 무거운 경우를 세주면 된다. 난 처음에 틀렸는데 행의 ..

    [baekjoon 2696] 중앙값 구하기 (우선순위 큐) (C++)

    [baekjoon 2696] 중앙값 구하기 (우선순위 큐) (C++)

    https://www.acmicpc.net/problem/2696 2696번: 중앙값 구하기 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 수열의 크기 M(1 ≤ M ≤ 9999, M은 홀수)이 주어지고, 그 다음 줄부터 이 수열의 원소가 차례대로 주 www.acmicpc.net 어떤 수열을 읽고, 홀수번째 수를 읽을 때마다, 지금까지 입력받은 값의 중앙값을 출력하는 문제이다. 수가 입력될 때마다, 정렬해서 입력받은 값을 출력하기보다 우선순위 큐를 이용하면 매번 정렬 대신 전체 데이터를 nlogn만에 풀이가 가능하다. maxHeap은 top에 가장 큰 값이 저장되고, minHeap은 top에 가장 작은 값이 저장된다. minHeap과 maxHe..

    [프로그래머스 LV4] 징검다리 (이진 탐색, 매개변수 탐색) [C++]

    https://programmers.co.kr/learn/courses/30/lessons/43236 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr 징검다리가 주어지고, 출발지점과 도착지점 사이에 바위들이 놓여 있다. 바위들 중에서 n개를 지운 뒤, 바위들 간격의 최솟값을 만들 수 있는 경우 중 최댓값을 찾아내는 문제이다. 이 문제를 어떻게 이분 탐색으로 풀까 고민을 했다. 백준의 공유기 설치 문제와 비슷하다는 느낌을 받았다. https://www.acmicpc.net/problem/2110 2..