분류 전체보기 38

Thymeleaf란? 그리고 기본적인 사용법

Thymeleaf 설정 https://start.spring.io/ 스프링 프로젝트를 생성할 때, 우측 dependency에서 thymeleaf를 추가해준다. 프로젝트에서 직접 추가를 하는 경우, 라이브러리를 추가 Gradle build.gradle implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' Maven pom.xml org.springframework.boot spring-boot-starter-thymeleaf 설정을 마쳤으면, thymeleaf를 사용할 html 파일 html 태그에 다음을 추가한다. Thymeleaf 기본 사용법 URL 링크 표현식 - @{...} 링크 - '/basic/link' 을 연결해준다. ..

ThymeLeaf 2023.05.29

프로그래머스 Lv.1 - 과일 장수

https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. score에 저장된 과일들은 m개씩 한 박스로 분류가 된다. 2. 우리가 구하고자 하는 최대 이익은 (최저 사과 점수) x (한 상자에 담긴 사과 개수) x (상자의 개수) 이다. 3. score을 오름차순으로 한 뒤, m개씩 묶어 반복문을 순회하면 순회하는 값은 각 박스마다 최저 점수를 가지고 있는 사과이다. 4. 이 때, 각 박스의 최저 사과 점수를 이용하여 최대 이익을 구하면 된다. ..

Programmers/Lv.1 2023.05.26

프로그래머스 Lv.1 - 푸드 파이트 대회

https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 리턴 되는 값 중앙에는 항상 "0"이 존재해야 한다. 2. 중앙을 기준으로 문자열은 대칭되므로 foo 배열을 역순회 해서 answer 양 쪽에 문자를 더하는 방법으로 답을 구한다. ex) "0" → "303" → "222303222" → "12223032221" 1234567891011class Solution { public String solution(int[] food) { Strin..

Programmers/Lv.1 2023.05.23

프로그래머스 Lv.1 - 덧칠하기

https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. section 배열에는 덧칠해야 하는 타일의 번호가 오름차순으로 되어 있다. 2. 반드시 section에 첫번째 타일은 색칠을 해야 하므로 sc 변수에 첫번째 타일 번호를 저장한다. 3. 덧칠하는 타일은 시작 타일부터 m - 1 을 더한 타일 번호까지 색칠을 하게 되는데 이 때, 다음에 덧칠해야 하는 타일 번호보다 작으면 sc 변수에 다음으로 덧칠해야 하는 타일 번호를 저장한다. ex) 여..

Programmers/Lv.1 2023.05.23

프로그래머스 Lv.1 - 최소직사각형

https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 첫 번째 명함의 가로와 세로의 길이를 구해서 둘 중 더 큰 값은 max 변수에 저장, 작은 값은 min 변수에 저장한다. 2. 명함 배열을 순회하면서 탐색하는 명함의 가로 길이를 w변수에 저장, 세로 길이를 h변수에 저장한다. 3. w변수와 h변수 중 max 값 보다 큰 값이 있으면 해당 값을 max 변수에 저장한다. 4. w변수 h변수 중 더 작은 값을 cmp 변수에 저장하고 cmp 변수가..

Programmers/Lv.1 2023.05.21

@RequestBody, @ResponseBody - HTTP Message Body 조회, 반환

요청 파라미터(HTML Form으로 전송 및 쿼리스트링) 은 @RequestParam, @ModelAttribute를 사용해서 데이터를 조회하지만 HTTP 메시지 바디에 있는 데이터는 해당 어노테이션들로는 조회가 불가능하다. HTTP 메시지 바디를 조회할 수 있는 가장 기본적인 방법은 InputStream과 OutputStream을 사용하는 것이다. @PostMapping("/request-body-string-stream") public void requestBodyStringStream(InputStream inputStream, Writer responseWriter) throws IOException { String messageBody = StreamUtils.copyToString(inputS..

SPRING 2023.05.21

@RequestParam @ModelAttribute - HTTP 요청 파라미터

@RequestParam : 파라미터 이름으로 바인딩 속성 : value, requried, defaultValue value : 요청된 데이터의 키를 명시 바인딩 대상이 되는 변수명과 키 이름이 같으면 value 속성은 생략 가능 // 요청 url localhost:8080/request-param?username=user&age=28 @RequestMapping("/request-param") public String requestParam( @RequestParam String username, @RequestParam int age) { log.info("username={}, age={}",username, age); return "ok"; } required : 요청 파라미터 필수 여부, 기본..

SPRING 2023.05.17

@RequestMapping - 요청 매핑

@RequsetMapping(value = "/hello-request") 은 value에 해당하는 값인 ex) /hello-request이라는 URL 요청이 오면 해당 어노테이션이 붙은 메서드를 실행하도록 매핑한다. @RequestMapping(value = "/hello-request") public String helloRequest() { return "ok"; } 즉, /hello-request로 URL 요청을 하면 helloRequest 메서드가 실행이 된다. method 속성 @RequestMapping(value = "/hello-request", method = RequestMethod.Get) URL 요청 방식이 method에 해당하는 요청 방식과 같아야 매핑을 해주는 역할을 한다. @..

SPRING 2023.05.14