목록분류 전체보기 (255)
-
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dbOIs3/btrs7mVSdKh/gf0WoEQf3m9ykKZohZW1lK/img.png)
# 주소 https://www.acmicpc.net/problem/1548 1548번: 부분 삼각 수열 세 수 x, y, z가 x+y>z, x+z>y, y+z>x의 관계를 만족하면, 세 수는 삼각관계에 있다고 한다. 마찬가지로 길이가 N인 수열 B(b[0], b[1], ..., b[n-1])의 모든 b[i], b[j], b[k]가 삼각관계에 있으면 이 수열은 삼각 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.Arrays; import java.util.Scanner; public class Main { static int n; static int[] arr; static int min = 1; public static void main(String[] ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kGlsH/btrs22QQBqG/ecygstEds5wuiYec48zPDK/img.png)
이제는 로그인을 구현해보도록 하겠습니다. 마찬가지로 기본 프론트 양식은 갖추어져 있기 때문에 다듬는 과정으로 진행할 것입니다. signin.jsp의 action과 method를 다음과 같이 바꿉니다. 이렇게 로직을 짜면 로그인할 때 제출 방식이 "POST"가 됩니다. 아마 이런 질문을 하실 수도 있을 것 같습니다. "데이터를 입력하는데 도대체 왜 post방식을 써야 하나요?" 라고 말이죠. 지금 로그인은 데이터를 Insert하는 것이 아니라 데이터를 Select하는 것이 아닌가? 도 생각할 수 있습니다. 맞습니다. 원래는 아시다시피 Select할 때에는 Get방식을 채용해야 합니다. 그런데도 method = "POST"라고 입력한 이유는 username과 pw는 귀중한 정보이기 때문에 GET방식을 쓰게되..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cdvtaU/btrs2mIgh7m/3xZTAKR9cvkMHXs1f9jnF1/img.png)
저번 포스팅에서 우리는 Map을 이용해서 return했었습니다. 그런데 문제가 하나 있는데, 길이를 아주 길게 써서 작성하면 정상적으로 오류를 뱉지만 "유효성 검사에 실패했습니다" 메세지도 같이 출력하고 싶은데 그렇지 못띄웁니다. 메세지도 같이 띄우고 싶은데 그러지 못하기 때문에 dto에 클래스를 하나 만듦으로써 공통 응답 처리를 한 번 해보도록 하겠습니다. 이런식으로 web - dto내부에 auth 내부가 아닌 곳에 CMRespDto 클래스를 생성해보겠습니다. 그리고 Getter, Setter대신 롬복 라이브러리를 이용하고 있으므로 Data어노테이션과 No-, All-어노테이션을 답니다. 우리는 message와 errorMap 둘 다를 받고 싶은 것이기 때문에 dto는 이쯤 해두고 ControllerE..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/40F82/btrs4NdMtsm/rOLlzgkkcFa1WATueKqgM0/img.png)
지난 포스팅에 이어서 진행해보도록 하겠습니다. @ResponseBody 어노테이션을 달 경우 Controller가 붙혀져 있다 하더라도 return할 때 데이터를 return할 수 있다고 했었습니다. 그런데 이렇게 분기를 이용해서 return하게되면 file과 데이터를 다 return할 수는 없기 때문에 이 예외를 공통으로 처리하는 Handler가 필요해지게 됩니다. 그러므로 제가 해볼 것은 if문을 통해서 만약 에러가 발생했다면 이를 errorMap에 담아서 에러가 발생했다고 바로 return하지 않고 throw를 이용해서 나타낼 것입니다. 바로 이렇게요. 그리고 서버를 실행하고 오류를 일부러 발생시키면 다음과 같이 출력이 됩니다. 근데 회원가입하시면서 이렇게 뜨는 사이트를 혹시 보신적 있으신가요???..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cUWU6J/btrs0Jw46A5/Yf3pTNnF5bWJog5A2ZJrxk/img.png)
# 주소 https://www.acmicpc.net/problem/14620 14620번: 꽃길 2017년 4월 5일 식목일을 맞이한 진아는 나무를 심는 대신 하이테크관 앞 화단에 꽃을 심어 등교할 때 마다 꽃길을 걷고 싶었다. 진아가 가진 꽃의 씨앗은 꽃을 심고나면 정확히 1년후에 꽃이 피므 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.Scanner; public class Main { static int n; static int dx[] = {-1,1,0,0}; static int dy[] = {0,0,1,-1}; static int[][] arr; static int min = Integer.MAX_VALUE; static boolean[][] v..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cwD98q/btrsMauZQ1U/uv9eZOLg44qHswPsXl2CZ0/img.png)
지금까지 회원가입에 대한 기초적인 틀은 잡혔습니다. 이제부터 해볼 것은 예외상황 처리 과정입니다. 그림과 같이 서버, DB, JPA의 구조가 다음과 같을 때 사용자가 회원가입을 위해 username과 password 등을 Input한다고 해봅시다. 그런데 만약에 회원가입 시도 중 중복된 사용자에 대한 처리는 어떻게 해주는 것이 좋을까요? 회원가입할 때 username이 DB에 있는지 확인하는 루트는 서버 -> DB에 물어보는 방법밖에 없습니다. 그리고 사용자의 username을 20자로 제한하고 싶을 때 어떤 사용자가 20자 이상 입력해서 회원가입을 시도하려한다면 어떻게 막아야할까요? 이건 굳이 DB에 묻지 않더라도 서버의 앞단에서 미리 처리를 해줄 수 있습니다. 이것을 바로 전처리, 후처리 과정이라고 ..