목록분류 전체보기 (718)
쌓고 쌓다
요청 파라미터를 처리하는 @RequestParam, @ModelAttribute와 다르게 HTTP 메시지 바디에 직접 데이터가 담겨오는경우 어떻게 처리해야할까? 이떄는 요청 파라미터 방식인 @RequestParam, @ModelAttribute로 처리할 수 없다. (HTML Form 형식으로 오는것은 요청 파라미터로 처리한다.) 단순 텍스트 받기 차근차근 스프링을 사용해보자. 먼저 서블릿을 사용하여 처리해보자. @PostMapping("/request-body-string-v1") public void requestBodyString(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStrea..
예를 들어, 회원 객체를 만들기 위해 요청 파라미터로 필드 값을 받아 객체를 초기화하는 과정을 거친다. 먼저 HelloData 클래스를 보자. HelloData @Data public class HelloData { private String username; private int age; } @Data에는 Getter,Setter, toString 등 존재하여 편하게 사용할 수 있다. 요청 파라미터로 들어온 이름, 나이를 객체를 생성하여 값을 넣어주는 과정을 거친다. @ResponseBody @RequestMapping("/model-attribute-v1") public String modelAttributeV1(@RequestParam String username, @RequestParam int ..
https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 왼쪽과 오른쪽 인덱스와 현재 수열 총 합 sum을 가지고 결과를 찾아간다. 처음 왼쪽과 오른쪽 인덱스는 시작 인덱스 0을 가지고 sum은 0번째 인덱스 값을 가지고 시작한다. sumk라면 현재 시작 인덱스에 있는 값을 sum에서 빼주고 시작 인덱스를 1 증가한다. sum==k라면 길이가 현재 최소 길이 len보다 짧다면 결과가 될 수 있다. 최소 길이보다 짧다면 결과 시작 인덱스와 끝..
먼저 게시글 수정 클릭시 첨부파일 수정 내용에 관한 처리를 어떻게했는지 이야기를 하자면 게시글 수정 html에서 해당 게시글의 파일 정보들을 가져온다. 파일 정보들을 첨부 파일 목록에 출력(load)한다. 첨부 파일 목록에 기존 파일 출력(load) 옆에 삭제버튼에 클릭 이벤트로 아래의 태그를 생성한다. 이 태그를 통해서 서버 POST 요청에 deleteFilesId를 바인딩하여 해당 PK를 삭제하는 과정을 거칠 것이다. 추가로 첨부 파일에 넣는 파일들을 서버에서 List로 처리한다. 1. 해당 게시글의 파일 정보 API @RestController public class UploadFileController { ... @GetMapping("/files/{posterId}") public List fi..
클라이언트에서 서버로 데이터를 전달할 때 다음과 같은 방법이 있다. 1. GET 쿼리 파라미터 /url?username=LSM&age=7 바디 없이 URL의 쿼리 파라미터에 데이터를 포함해 전달하는 방법이다. 2. POST (HTML Form) html의 form 태그를 통해 데이터를 전송. content-type: application/x-www-form-urlencoded (폼으로 전송시 타입) 메시지 바디에 쿼리 파라미터 형식으로 전달한다. ( /url?username=LSM&age=7 ) @RequestParam - HTTP 요청 파라미터 @RequestParam을 통해서 HTTP 요청 데이터를 처리할 수 있다. html form input 태그의 name 속성 값으로 서버에서 파라미터로 받아 처..
input 태그의 type="file" 파일을 추가 및 삭제하는 수정 방법에 대해 알아보자. createPosterForm.html onchange 속성으로 요소 값 변경시 test 메서드를 실행하게했다. 이때 input type="file" 태그의 files를 넘겨준다. this.files는 아래와 같다. 스크립트 부분 test 함수를 보자. test 함수 let selectedFiles = []; function test(files) { console.log(files); const fileList = document.getElementById('file-list'); for(let i=0; i { item.remove(); event.preventDefault(); deleteFile(files[i..
https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 n이 3일때를 예를 들어보겠다. 0 0 0 0 0 0 0 0 0 피라미드를 위와 같은 NxN 정사각형으로 생각해보자. 1 0 0 2 6 0 3 4 5 위와 같은 모양으로 만들 수 있다. 차례대로 위에서 읽으면 1, 2, 6, 3, 4, 5와 같이 피라미드 순서가 된다. 어떻게 NxN 정사각형인 2차원 배열을 채울 수 있을까? 채우는 방향은 3가지로 나뉜다. 1. 아래로 쭉 내려가기 2...
https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 내 풀이 방법보다 다른 풀이 방법 코드가 깔끔해보여서 두가지 풀이 방법을 소개한다. (1) 내 풀이 스택에는 항상 큰 숫자가 아래에 있고 점점 작은 숫자가 위에 쌓이게 상태를 유지한다. numbers 문자를 하나씩 탐색하며 현재 numbers 문자보다 스택의 top이 작다면 pop을 반복해준다. 그리고 numbers 문자를 무조건 push한다. 이 과정을 numbers 문자 모두를 반복..