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

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

분류 전체보기 101

[실전 스프링 부트 워크북] CH5. 스프링과 스프링 부트

CH5 스프링과 스프링 부트 5.1 스프링 웹 애플리케이션 5.1.1 J2EE 웹 애플리케이션 5.1.2 스프링 MVC 애플리케이션 5.1.3 스프링 부트 웹 애플리케이션 5.2 스프링 부트에서 스프링을! 5.2.1 XML 구성 가져오기 5.3 스프링 부트에서 스프링 기술 활용 5.1 : 웹 애플리케이션을 개발하는 전통 스프링 MVC 방식과 새로운 스프링 부트 방식의 차이점 5.2 : XML 파일 또는 자바 구성 애너테이션으로 기존 스프링 앱을 스프링 부트에서 사용하는 방법 5.3 : 모든 스프링 기술은 @Enable 애너테이션만 있으면 간단히 불러 쓸 수 있다. 기존 스프링 앱 개발 방식과 스프링 부트의 새로운 개발 방식을 서로 비교하고 레거시 코드를 스프링 부트 앱으로 전환하는 문제를 다뤄보자. 5...

[실전 스프링 부트 워크북] 스프링부트 애플리케이션 구성 알아보기 / 스프링 부트 프로젝트 따라하기

프로퍼티 설정 예 간단한 프로젝트를 만들어 애플리케이션 구성을 자세히 살펴보자. 1. Spring Starter Project File > New > Other Spring Boot > Spring Starter Project 아래와 같이 Name, Type, Packaging 등을 입력하고 Next 스프링 부트 의존체는 넣지 않고 Finish 2. 스프링 부트 : 구성 프로퍼티 재정의 스프링 부트는 다음 순서대로 구성 프로퍼티를 재정의한다. 실행 명령어와 함께 전달한 인자 SPRING_APPLICATION_JSON JNDI (java:comp/env) System.getProperties() OS 환경변수 RandomValuePropertySource(random.*) JAR 패키지 외부의 프로파일 관..

[실전 스프링 부트 워크북] CH3 스프링 부트 자동 구성과 주요 기능

3.1 자동 구성 스프링 부트의 핵심 기능 : 자동 구성 스프링 부트의 핵심 기능은 (메이븐은 pom.xml, 그레이들은 build.gradle 파일 내용에 따라) 클래스패스, 애너테이션, 기타 자바 구성 클래스를 보고 적합한 앱으로 맞춤하는 자동 구성이다. 스프링 부트는 코드를 생성하지는 않지만, 실행과 동시에 일부 코드를 덧붙인다. org.springframework.web.bind.annotation.RestController 애너테이션 등 빠진 의존체를 하나씩 임포트한다. 클래스에 @RestController, 메서드에 @RequestMapping이 달려 있는 것을 보고 웹 스프링 부트 스타터가 필요함을 알아채고 코드에 @Grab("spring-boot-web-starter") 애너테이션을 붙인다..

[그리디 Greedy] 06. 무지의 먹방 라이브 / 2019 카카오 신입 공채 코딩테스트 기출 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 무지의 먹방 라이브 https://programmers.co.kr/learn/courses/30/lessons/42891 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr * 효율성 테스트에 부분 점수가 있는 문제입니다. 평소 식욕이 왕성한 무지는 자신의 재능을 뽐내고 싶어 졌고 고민 끝에 카카오 TV 라이브로 방송을 하기로 마음먹었다. 그냥 먹방을 하면 다른 방송과 차별성이 없기 때문에 무지는 아래와 같이 독특한 방식을 생각해냈다. 회전판에 먹어야 할 N 개의 음식이 있다. 각 음식에는 1부터 N 까지 번호가 붙어있으며, 각 음식을 섭취하는데 일정 시간이 소요된다. 무지는 다음과 같은 방법으로 음식을 ..

코딩테스트 2021.08.12

[그리디 Greedy] 05. 볼링공 고르기 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 볼링공 고르기 난이도 ★☆☆ 풀이시간 30분 시간제한 1초 A, B 두 사람이 볼링을 치고 있습니다. 두 사람은 서로 무게가 다른 볼링공을 고르려고 합니다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여됩니다. 또한 같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주합니다. 볼링공의 무게는 1부터 M까지의 자연수 형태로 존재합니다. 예를 들어 N이 5이고, M이 3이며 각각의 무게가 차례대로 1, 3, 2, 3, 2일 때 각 공의 번호가 차례대로 1번부터 5번까지 부여됩니다. 이대 두 사람이 고를 수 있는 볼링공 번호의 조합을 구하면 다음과 같습니다. (1번,..

코딩테스트 2021.08.12

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

스프링 부트 일기 (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