목록분류 전체보기 (255)
-
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BzbmU/btrr0JZt61y/iJpBHsOQK2vclr9gE0SmCk/img.png)
자 컨트롤러가 있다고 가정해봅시다. @RestController말고 @Controller라고 해보겠습니다. static void lol(@PathVariable int id ... ) { User entity = model.attribute(user.getName()); /** 10000줄 **/ } main이라는 함수에 id를 주소 변수 매핑을 이용하여 파라미터로 가져오고 10000줄에 달하는 코드가 있다고 해봅시다. 그리고 그 밑에 static void lol(@PathVariable int id ... ) { User entity = model.attribute(user.getName()); rawPassword = entity.getPassword(); String password = encode..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwA7BS/btrrYSa2zgY/dWBLo5Oj3vZUXtDF3haAg1/img.png)
# 주소 https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.*; public class Main { static int n,m; static int[][] arr; static int[] dx = {-1,0,0,1}; static int[] dy = {0,1,-1,0}; static boolean[][] visit = new boolean[n][m]; static int coun..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bQKtCd/btrrQzBDju5/QaDmNoDq8EMZeU14dsG221/img.png)
Http에서 데이터를 요청할 때 2가지 방식으로 나눌 수 있습니다. 첫 번째로 쿼리스트링(querystring), 두 번째로 주소변수매핑(path variable)이 있습니다. 스프링부트에서는 주로 주소변수 매핑을 사용하고 있는데 서로 어떤 차이가 있는지 한 번 알아보겠습니다. 제가 떡볶이를 좋아하니까 떡볶이 집에 제가 배민으로 주문을 한다고 가정해봅시다. 뭐 먹을지 고민하다가 로제 떡볶이, 치즈 떡볶이 중에서 전 치즈 떡볶이를 시키려고 결정했다고 해봅시다. 이 때 제가 배민에서 떡볶이집 가게를 클릭해서 들어갈 때부터 한 번 살펴봅시다. 이런식으로 제가 떡볶이집 가게를 들어가서 이 가게에 대한 메뉴를 고르려고 할 때 저흰 가게에 대한 정보가 필요합니다. 이때 GET동작방식이 실행되어 가게의 정보를 확인할..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dy8DLT/btrrP332QI7/KXdyKxmaL4crBnVgVBXnRK/img.png)
이번 시간엔 Controller에 대해 자세히 다루어보겠습니다. 이전에도 Controller에 대해 설명했지만 이것의 실제 사용에 대한 설명이 미숙한 것 같아 이것이 어떻게 쓰이고 어떻게 데이터를 전달하는지 등을 다루어보려고 합니다. 누군가가 Login요청을 했다고 가정해봅시다. 그러면 원래 스프링부트는 서블릿이라는 것이 만들어져있는데 이 서블릿은 자바로 매핑할 수 있게 만듭니다. 그래서 로그인요청을 하려면 login.java라는 파일을 요청해야 합니다. 회원가입 요청이 들어왔을 때도 join.java를 요청해야할 것입니다. 게시글 쓰기도 요청이 들어올 때 write.java라고 요청해야할 것이니다. 이렇게 요청을 할 때마다 java파일이 호출되기 때문에 이게 너무 번거로운겁니다. 그래서 하나의 java..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNsIvj/btrrQ7LwXYp/SGe5Wytnq06od9N69tNkOk/img.png)
스프링부트 내부에는 yml파일이라는 것이 존재합니다. 이 yml파일을 어떻게 쓰는지 하나하나 구체적인 설명보다는 추상적으로 한 번 이해해봅시다. 직접 살펴보겠습니다. yml파일은 이렇게 프로젝트 파일 내부의 resources폴더 내부에 위치하고 있습니다. 이 파일의 세부 설정을 통해 프로젝트의 기본적인 설정을 할 수 있습니다. 예를들어 '자신이 타이어를 만드는 기술자' 라고 해봅시다. 그럼 이 타이어를 만들 때 고려할 것이 정말 많을 것입니다. 공장의 직원들의 일 분배나, 타이어 제조하는 기계의 위치나, 어떻게 건조할건지, 어디에 납품할 것인지 등등 세부적으로 모두 설계가 완료된 시점에서부터 공장을 가동하기 시작하듯이 프로젝트 또한 기초적인 설정을 마친 뒤 프로젝트 개발이 시작됩니다. yml파일은 바로 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/K19bo/btrrOc8mEyI/l5MBdU5ehucr8FNrK5tAck/img.png)
# 주소 https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws IOExceptio..