목록전체 글 (431)
mojo's Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bT7fgL/btrrxYCfrI1/WKGWz2FX1JAknqGfYdYD5K/img.png)
HTTP 상태코드 소개 상태 코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 1xx (informational) : 요청이 수신되어 처리중이다. 2xx (Successful) : 요청이 정상 처리되었다. 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요하다. 4xx (Client Error) : 클라이언트 오류로 잘못된 문법등으로 서버가 요청을 수행할 수 없다. 5xx (Server Error) : 서버 오류로 서버가 정상 요청을 처리하지 못한다. 만약 모르는 상태코드가 나타난다면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환한다면 클라이언트는 상위 상태코드로 해석해서 처리한다. 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 된다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/V2QAX/btrrqZOPKPG/5gRLVyKvOB5xIcyT6nFrJK/img.png)
새로운 할인 정책 개발 이번엔 10% 할인이 적용되도록 해야 한다. 우선 [discount] 폴더 아래에 RateDiscountPolicy 클래스를 생성하고 다음과 같이 코드를 작성한다. package hello.core.discount; import hello.core.member.Grade; import hello.core.member.Member; public class RateDiscountPolicy implements DiscountPolicy{ private int discountPercent = 10; public int discount(Member member, int price){ if(member.getGrade() == Grade.VIP){ return price * discount..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqo1jF/btrrqmwztyL/CjkfHL1idyaG5SVvoTKeZk/img.png)
회원 설계 ※ 회원 회원을 가입하고 조회할 수 있다. 회원은 일반과 VIP 두 가지 등급이 있다. 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. 회원 도메인 협력 관계 회원 클래스 다이어그램 회원 도메인 개발 [java] -> [hello] 아래에 core 디렉토리를 만들고 그 아래에 member 디렉토리를 만든다. 그리고 총 6개의 클래스 및 인터페이스 코드를 아래와 같이 작성한다. ① Grade (class) package hello.core.member; public enum Grade { BASIC, VIP } ② Member (class) package hello.core.member; public class Member { private Long id; priva..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xuPdZ/btrroWkWaT4/JG9oAuUumwMIkIJU8Ak1CK/img.png)
HTTP API ※ API URI 고민 (URI - Uniform Resource Identifier) 리소스의 의미는 회원을 등록하고 수정하고 조회하는게 리소스가 아니고 회원이라는 개념 자체가 바로 리소스이다. 리소스를 어떻게 식별하냐면 회원을 등록하고 수정하고 조회하는 것을 모두 배제하며 회원이이라는 리소스만 식별하면 된다. (회원 리소스를 URI에 매핑) 회원 목록 조회 : /members 회원 조회 : /members/{id} -> 구분하기 어려움 회원 등록 : /members/{id} -> 구분하기 어려움 회원 수정 : /members/{id} -> 구분하기 어려움 회원 삭제 : /members/{id} -> 구분하기 어려움 계층 구조상 상위를 컬렉션으로 보고 복수단어 사용을 권장한다. (mem..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxOU2c/btrrqmJAD3f/zcOxhNZcGN2FOYvVsXky40/img.png)
1. 신고 결과 받기 문제 링크 : 코딩테스트 연습 - 신고 결과 받기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr map 을 사용하여 해결하였다. 주의해야 했던건 한 유저가 같은 유저를 여러번 신고하는 경우를 처리해야 한다. 아래와 같이 map 을 이용하여 해결할 수 있다. map report_cnt : 신고당한 유저의 횟수 map report_id : 해당 id의 유저가 신고한 유저들 중에 신고당한 횟수 map report_check : 한 유..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ciVudG/btrrdmYFwWM/JRyiuoljFCA1vTAlucR1m0/img.png)
문제 링크 : 2842번: 집배원 한상덕 (acmicpc.net) 2842번: 집배원 한상덕 상덕이는 언덕 위에 있는 마을의 우체국에 직업을 얻었다. 마을은 N×N 행렬로 나타낼 수 있다. 행렬로 나뉘어진 각 지역은 우체국은 'P', 집은 'K', 목초지는 '.' 중 하나로 나타낼 수 있다. 또, 각 www.acmicpc.net 문제 상덕이는 언덕 위에 있는 마을의 우체국에 직업을 얻었다. 마을은 N×N 행렬로 나타낼 수 있다. 행렬로 나뉘어진 각 지역은 우체국은 'P', 집은 'K', 목초지는 '.' 중 하나로 나타낼 수 있다. 또, 각 지역의 고도도 알고 있다. 매일 아침 상덕이는 마을의 모든 집에 우편을 배달해야 한다. 배달은 마을에 하나밖에 없는 우체국 'P'가 있는 곳에서 시작한다. 상덕이는 현..