목록분류 전체보기 (783)
쌓고 쌓다

https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 길이 4인 2차원 배열로 풀이 로직을 설명하겠다. 처음엔 [0][0]에서 길이 4만큼 검사를 시작한다. 여기서 검사란 [0][0]에서 시작 위치 포함하여 길이 4만큼 우측 아래로 시작 위치의 값과 동일한지 체크하는것이다. [0][0]에서 길이 4만큼 검사하여 일치하지 않으니 이제 쪼갠다. 이제 검사 길이는 4의 절반인 2로 바뀌고 시작 위치를 동그라미친 부분으로 쪼갠다. 각 시작 위치에..

깃허브를 사용하며... 옛날에 DB정보를 관리하는 application.properties에 내가 자주 사용하는 비밀번호를 함께 적어놓은것이다. 물론 처음에는 gitignore도 쓸줄몰라서 초기에 application.properties를 커밋 제외를 시키지 않았다. 현재는 gitignore에 등록했으나 이미 예전의 커밋 히스토리에 내 비밀번호 등록과 삭제가 다 남아있다. 히스토리에서 모두 내 비밀번호 텍스트를 지울 수 있다. 물론 이 외에도 다양한 기능을 수행할 수 있다. bfg repo-clear를 사용하자. https://rtyley.github.io/bfg-repo-cleaner/ BFG Repo-Cleaner by rtyley $ bfg --strip-blobs-bigger-than 100M -..
요청 파라미터를 처리하는 @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..