본 포스팅은 인프런 김영한 강사님의 스프링 부트 핵심 원리 강의 섹션 5를 수강하고 배운 점을 정리했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢 www.inflearn.com 1. 웹 애플리케이션과 싱글톤 [1] 스프링 없는 순수한 DI 컨테이너 테스트 - 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. - 아래와 같이 고객 한 명이 memberService를 요청할 때마다 새로운 memberService 객체를 생성한다고 하면 어떨까? 테스트를 만들어서 직접 확인해 보자. hello.core.Test..
1. SCP : Secure Copy 네트워크가 연결되어 있는 원격지에서 파일을 전송할 수 있는 명령어로 SSH와 동일한 22번 포트를 사용하기 때문에 보안이 뛰어나고, 디렉터리 전송도 간편한 것이 큰 장점이다. 2. 윈도우 ➡️ 리눅스 전송 방법 (1) 전송하고 싶은 파일이나 디렉터리를 C:\Users\username 하위 폴더로 이동시킨다. (그렇지 않으면 permission denied 발생) C:\Users\sunny\CloudComputing 나는 CloudComputing이라는 디렉터리에 여러 도커 파일들을 담아뒀고 해당 디렉터리를 전송하려고 한다. (2) OpenSSH Client 기능이 활성화되어 있는지 확인 윈도우 검색에서 '선택적 기능' 검색하면 제어판에 있는 선택적 기능에 들어갈 수 ..
4학년 2학기 클라우드 컴퓨팅 수업 프로젝트 과제 협업을 위해 팀원이 보내준 Dockerfile을 내 원격 WSL에 전송하던 중 발생한 오류를 해결하기 위해 타고 타고 가다가 발견한 근본적인 원인은 바로 'Systemd'가 아직 내 WSL에 적용되지 않았다는 것이다. 여러 블로그부터 깃허브, 스택오버플로우까지 다 찾아봤지만 결국 해결해 준 것은 윈도우의 공식 문서였다. 나의 해결 방법을 공유해보려고 한다. 0. 오류 화면 $ sudo systemctl status System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down 에러 메시지: System has..
본 포스팅은 인프런 김영한 강사님의 스프링 부트 핵심 원리 강의 섹션 4를 수강하고 배운 점을 정리했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢 www.inflearn.com 스프링 컨테이너 생성 과정 1. 스프링 컨테이너 생성 - 스프링 컨테이너를 생성할 때는 구성 정보를 지정해주어야 한다. 아래와 같이 AppConfig.class를 구성 정보로 지정했다. new AnnotationConfigApplicationContext(AppConfig.class) 2. 스프링 빈 등록 AppConfig.class @C..
백준 #1986 체스 1986번: 체스 첫째 줄에는 체스 판의 크기 n과 m이 주어진다. (1 ≤ n, m ≤ 1000) 그리고 둘째 줄에는 Queen의 개수와 그 개수만큼의 Queen의 위치가 입력된다. 그리고 마찬가지로 셋째 줄에는 Knight의 개수와 위치, www.acmicpc.net 🔒 문제 설명 n×m 크기의 체스 판과, 상대팀의 Queen, Knight, Pawn의 위치가 주어져 있을 때, 안전한 칸이 몇 칸인지 세는 프로그램을 작성하시오. (안전한 칸이란 말은 그곳에 자신의 말이 있어도 잡힐 가능성이 없다는 것이다.) 참고로 Queen은 가로, 세로, 대각선으로 갈 수 있는 만큼 최대한 많이 이동을 할 수 있는데 만약 그 중간에 장애물이 있다면 이동을 할 수 없다. 그리고 Knight는 2..
백준 #9536 여우는 어떻게 울지? 9536번: 여우는 어떻게 울지? 각 테스트케이스마다 여우의 울음소리를 한 줄씩, 녹음된 순서대로 출력한다. 여우의 울음소리가 녹음되어 있음이 보장된다. (알려진 것과는 달리, 여우는 모스 부호로 의사소통하지 않는다.) www.acmicpc.net 🔒 문제 설명 고대 미스터리로 전해지는 여우의 울음소리를 밝혀내기 위해 한신이는 고성능 녹음기로 무장하고 숲으로 들어갔다. 하지만 숲에는 동물들이 가득해, 녹음된 음성에는 다른 동물들의 울음소리가 섞여 있다. 그러나 한신이는 철저한 준비를 해 왔기 때문에 다른 동물들이 어떤 울음소리를 내는지 정확히 알고 있다. 그러므로 그 소리를 모두 걸러내면 남은 잡음은 분명히 여우의 울음소리일 것이다. ⌨️ 입력 첫 번째 줄에는 테스트..
백준 #5582 공통부분 문자열 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 🔒 문제 설명 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들어, 문자열 ABRACADABRA의 부분 문자열은 ABRA, RAC, D, ACADABRA, ABRACADABRA, 빈 문자열 등이다. 하지만, ABRC, RAA, BA, K는 부분 문자열이 아니다. 두 문자열 A..
백준 #5582 공통부분 문자열 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 호기롭게 도전한 백준 골드 레벨 문제!! 어, 생각보다 풀만 한데? 하면서 풀었는데, 그럼 그렇지 결과는 '시간 초과'다😅 그래도 나름 열심히 풀었고, 테스트 코드까지 열심히 작성한 나의 자랑스러운 오답 코드를 공유해보고자 한다. 참고로 Dynamic Programming을 사용한 정답 코드도 바로 다음에 포스팅할 예정이다. 🔒 문제 설명 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통부분 문자열을 찾..
SWEA #2001 파리 퇴치 🔒 문제 설명 N x N 배열 안의 숫자는 해당 영역에 존재하는 파리의 개수를 의미한다. 아래는 N=5의 예이다. M x M 크기의 파리채를 한 번 내리쳐 최대한 많은 파리를 죽이고자 한다. 죽은 파리의 개수를 구하라! 예를 들어 M=2 일 경우 위 예제의 정답은 49마리가 된다. [제약 사항] 1. N 은 5 이상 15 이하이다. 2. M은 2 이상 N 이하이다. 3. 각 영역의 파리 개수는 30 이하이다. ⌨️ 입력 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N과 M 이 주어지고, 다음 N 줄에 걸쳐 N x N 배열이 주어진다. 🖥️ 출력 출력의 각 줄은 '#t'로 시작하고, 공백을 한..
SWEA #1961 숫자 배열 회전 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🔒 문제 설명 N x N 행렬이 주어질 때, 시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하라. [제약 사항] N은 3 이상 7 이하이다. ⌨️ 입력 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N이 주어지고, 다음 N 줄에는 N x N 행렬이 주어진다. 🖥️ 출력 출력의 첫 줄은 '#t'로 시작하고, 다음 N 줄에 걸쳐서 90도, 180도, 270도 회전한 모양을 출력한다. 입력과는 달리 출력에서는 회전한 모양 사이에만 공백이 ..