![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lGsAk/btsqM8eupbx/LmbxRMxD2rkwBN43KwPKEK/img.png)
오늘은 Docker를 다운받아 MySQL 이미지를 실행하려 한다. 1. Docker Desktop Docker Desktop 웹사이트에 들어가 os에 맞는 도커 데스크탑을 설치한다. https://www.docker.com/products/docker-desktop/ 설치가 다 되었다면 재부팅을 해주고, 아래 코드를 통해 확인해 볼 수 있다. docker -v 도커 데스크탑을 열 때, wsl 버전이 낮아 실행하지 못하는 문제가 있었다. linux용 windows 하위 시스템이 설치되지 않았어서 문제가 발생했던 것으로 보인다. 안내되는 것처럼 cmd 창에 wsl --update 를 실행하여 문제를 해결할 수 있다. 2. MySQL Image MySQL image는 docker hub에서 다운받을 수 있다...
문제주어진 용액들 중에서 세 개를 선택해 특성 값의 합이 0에 가까운 조합을 찾는 문제이다.풀이정렬과 투 포인터 기법을 활용해 문제를 풀 수 있다.먼저 주어진 용액들의 정보를 오름차순으로 정렬하면 더 효율적으로 조합을 찾을 수 있다.세 개의 용액 중 한개를 임의로 고정하고 나머지 두 용액을 투 포인터로 탐색한다.첫번째 포인터(left)는 고정된 용액 바로 다음 위치를 가리킨다.두번째 포인터(right)는 정렬된 배열의 최대값인 오른쪽 끝을 가리킨다.세 원소의 합이 0보다 크면 오른쪽 포인터를 왼쪽으로 이동시켜 더 작은 값을 선택하게 한다.합이 0보다 작으면 왼쪽 포인터를 오른쪽으로 이동시켜 더 큰 값을 선택하게 한다.만약 0과 같으면 해당 조합이 최고의 조합임으로 해당 조합을 저장하고 탐색을 종료할 수..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bwNbne/btsqD6uUAaw/UDBUeoLvbw0Bhqkf0akN1K/img.png)
어제 필요한 도구들을 설치했다면, 오늘은 IntelliJ IDEA에서 새 프로젝트 환경을 구성할 것이다. 1. IntelliJ IDEA 새 프로젝트 생성 새 프로젝트를 선택하여 'mvc-project' 이름의 프로젝트를 생성한다. Language: Java Build system: Gradle JDK: temurin 11 Gradle DSL: Groovy (Java 버전도 JDK와 같은 11버전으로 진행하였다.) 2. 초기 설정 프로젝트의 src > main > java > org.example > main.java 파일의 이름을 WebApplicationServer.java로 변경한다. 내가 작업하는 프로젝트의 경우 spring initializr를 통해 생성해서인지 MvcProjectApplicati..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/EYLnq/btsqDRpfeKw/cy00Yn4Y0DCf8azlVGXTHk/img.png)
1. 개발 환경 셋팅 자바 웹 애플리케이션을 개발하기 위해서 자바 프로그램을 쉽게 구성하고 작동할 수 있게 도와주는 JDK와 자바 개발 툴로 많이 쓰이는 IntelliJ IDEA, 동적인 웹을 만들기 위해 자주 쓰이는 Tomcat을 설치하려고 한다. 1.1. JDK 설치하기 (Eclipse Temurin) https://adoptium.net/ Home | Adoptium The Adoptium® Working Group The Adoptium Working Group promotes and supports high-quality runtimes and associated technology for use across the Java ecosystem. Our vision is to meet the ne..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ebU1vZ/btsqui9VPWN/8kbqY02AGGKJkdcKTWoor1/img.png)
오늘부터 강의를 들으며 10가지 백엔드 프로젝트를 진행하려고 한다. 이전에 참여했던 프로젝트들에서는 기획에 따라 필요한 부분을 그때그때 구글링 하여 배우고 채워 넣었다. 이번 기회를 통해 부분적으로 채워진 지식을 기초부터 정리해보려고 한다. 첫 번째 프로젝트는 나만의 MVC 프레임워크를 만드는 프로젝트이다. 이 프로젝트를 진행하면서 객체지향 프로그래밍, HTTP 프로토콜 및 HTTP 웹 서버 동작 원리, MVC 구조 및 DI 내부 동작 원리에 대한 이해도를 높이려고 한다. 1. 개발 환경 셋팅 프로젝트를 진행하기 전, 개발 환경을 설정해주려고 한다. 기본적으로 자바 개발을 위한 JDK와 IntelliJ를 설치했고, 자바 웹 애플리케이션의 실행을 위해 Tomcat을 설치했다. 설치 버전 JDK Eclips..
문제신고 시스템을 구현하여 특정 기준에 따라 신고된 유저의 계정을 정지하고, 신고자에게 결과를 메일로 알리는 과정을 코드로 구현하는 문제이다.각 유저의 신고는 중복되지 않게 처리해야 하며, 최종적으로 신고 결과에 따라 신고자가 받은 정지 메일 갯수를 반환한다.풀이정보를 저장할 HashMap들을 초기화한다.각 유저별로 그 유저를 신고한 사람들의 목록을 저장하기 위한 HashMap을 초기화한다. 이때 신고한 사람들의 중복을 허용하지 않기 위해 HashSet을 사용한다.유저별 메일 수신 횟수를 저장할 HashMap도 초기화합니다.신고 정보를 저장한다.신고 기록을 순회하며 신고자와 피신고자를 분리하고, 피신고자의 HashSet에 신고자를 추가한다.신고 횟수 조건을 체크하여 정지 메일을 보낸다.k번 이상 신고된 ..
문제차량의 입출차 기록을 통해 차량별 주차요금을 계산하는 문제이다.주차요금은 요금표를 기준으로 기본 시간에 대한 기본 요금을 부여하고 초과한 경우 단위 시간당 당위 요금이 추가된다.초과한 시간이 단위 시간으로 나누어 떨어지지 않는다면 올림으로 계산한다.풀이입차와 출차가 겹치는 경우가 없고, 입차와 출차 순서가 뒤집히는 경우도 없기 때문에 순차적으로 계산하기만 하면 간단히 주차 시간을 계산할 수 있다.출차 시간에서 입차 시간을 뺀 값이 주차 시간임으로 총 주차 시간을 계산할 때 차량별로 입차 시간은 빼주고, 출차 시간은 더해주면 된다.출차 기록이 없는 경우에는 23:59분으로 가정하고 계산해야 한다.이때 차량의 주차 시간을 통해 출차 기록이 없다는 것을 판단할 수 있다.입차 시간이 00:00 일 때는 주차..