<청춘> 격정적으로 사는 것

밤을 새고 공부한 다음 날 새벽에 느꼈던 생생한 환희와 야생적인 즐거움을 잊을 수 없다

2021/08/10 7

[실전 스프링 부트 워크북] 스프링 부트 일기 / 스프링 부트 프로젝트 따라하기

스프링 부트 일기 (Spring Boot Journal) 개발자가 매일 자신이 한 일을 짤막하게 기록하는 간단한 일기 응용 프로그램 [프로젝트] STS에서 스프링 부트 일기 앱을 만들어보자. 1. Spring Starter Project File > New > Other Spring Boot > Spring Starter Project 아래와 같이 Name, Type, Packaging 등을 입력하고 Next 2. Spring Starter Project 마법사 - 스프링 부트 의존체 일기 앱에서 쓸 기술을 선택하는 과정이다. 아래와 같이 4개의 의존체를 담아주자. 데이터 - JPA 템플릿 엔진 - 타임리프(Thymeleaf) 웹 - Web 데이터베이스 - H2 3. 스프링 부트 프로젝트 폴더 구조 잠시..

[실전 스프링 부트 워크북] CH2 스프링 부트 앱 첫 개발

스프링 부트 앱은 CLI, 메이븐, 그레이들, 앤트 등으로 생성한다. 2.1 스프링 부트 CLI 설치 자바 1.6+ 설치 환경 변수 JAVA_HOME을 자바 SDK 설치 경로로 설정 SPRING_HOME 변수는 스프링 부트의 바이너리 배포 파일을 압축 해제한 경로로 설정 PATH 변수에 %SPRING_HOME%\bin 추가 Spring init 스프링 부트 프로젝트의 뼈대를 생성하는 명령어 $ Spring init myapp https://start.spring.io의 의 웹 서비스를 호출해서 myapp이라는 이름의 폴더를 만들고 maven 프로젝트(디폴트)를 생성한다. $ Spring init --build gradle myapp https://start.spring.io의 의 웹 서비스를 호출해서 m..

[실전 스프링 부트 워크북] CH1 스프링 부트 들어가기

스프링 프레임워크 J2EE (Java 2 Enterprise Edition) 선 마이크로시스템즈 오픈 소스 프로젝트 디자인 패턴 적극 활용 최초로 의존성 주입 패턴 활용한 프레임워크 1.1. 스프링 부트 개발 방식 단순화 바로 돌려볼 수 있는 스프링 기반 앱 서버가 내장된 단독형 애플리케이션도 100% 실행 가능한 형태로 개발 가능 1.1.1. 스프링 애플리케이션 WAR(Web ARchive, 웹 아카이브) 파일 내부 폴더 구조 ● WEB-INF 폴더 (필수) ㄴ lib 폴더 - 서드파티 라이브러리 ㄴ classes 폴더 - 웹 애플리케이션 클래스 ● JSP, HTML, CSS, 이미지, 자바스크립트 파일 (선택) ● web.xml 파일 - 디스패처 서블릿 선언 (org.springframework.we..

[그리디 Greedy] 04. 만들 수 없는 금액 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 만들 수 없는 금액 난이도 ★☆☆ 풀이시간 30분 시간제한 1초 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N = 5이고, 각 동전이 각각 3원, 2원, 1원, 1원, 9원짜리 (화폐단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, N = 3이고, 각 동전이 각각 3원, 5원, 7원짜리 (화폐단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. 입력조건 첫째 줄에는 동전의 개수를 ..

코딩테스트 2021.08.10

[그리디 Greedy] 03. 문자열 뒤집기 / 백준 1439번 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 문자열 뒤집기 난이도 ★☆☆ 풀이시간 20분 시간제한 2초 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있습니다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만드려고 합니다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것입니다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미합니다. 예를 들어 S = 0001100일 때는 다음과 같습니다. 전체를 뒤집으면 1110011이 됩니다. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 두 번 만에 모두 같은 숫자로 만들 수 있습니다. 하지만, 처음부터 4번째 문자부터 5번째 문자까지 뒤집으면 한 번에 000..

코딩테스트 2021.08.10

[그리디 Greedy] 02. 곱하기 혹은 더하기

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 곱하기 혹은 더하기 난이도 ★☆☆ 풀이시간 30분 시간제한 1초 각 자리가 숫자(0부터 9)로만 이루어진 문자열 S가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하여 숫자 사이에 '×' 혹은 '+' 연산자를 넣어 결과적으로 만들어질 수 있는 가장 큰 수를 구하는 프로그램을 작성하세요. 단, +보다 ×를 먼저 계산하는 일반적인 방식과는 달리, 모든 연산은 왼쪽에서부터 순서대로 이루어진다고 가정합니다. 예를 들어 02984라는 문자열이 주어지면, 만들어질 수 있는 가장 큰 수는 ((((0 + 2) × 9) × 8) × 4) = 576입니다. 또한 만들어질 수 있는 가장 큰 수는 항상 20억 이하의 정수가 되도록 입..

코딩테스트 2021.08.10

[그리디 Greedy] 01. 모험가 길드

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 모험가 길드 난이도 ★☆☆ 풀이 시간 30분 시간 제한 1초 한 마을에 모험가가 N명 있습니다. 모험가 길드에서는 N명의 모험가를 대상으로 '공포도'를 측정했는데, '공포도'가 높은 모험가는 쉽게 공포를 느껴 위험 상황에서 제대로 대처할 능력이 떨어집니다. 모험가 길드장인 동빈이는 모험가 그룹을 안전하게 구성하고자 공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참여해야 여행을 떠날 수 있도록 규정했습니다. 동빈이는 최대 몇개의 모험가 그룹을 만들 수 있는지 궁금합니다. 동빈이를 위해 N명의 모험가에 대한 정보가 주어졌을 때, 여행을 떠날 수 있는 그룹 수의 최댓값을 구하는 프로그램을 작성하세요. 예를 들어..

코딩테스트 2021.08.10