분류 전체보기
-
자바 예외(Throwable)Java/Basics 2020. 5. 20. 00:48
■Throwable - 1depth 자바의 예외 계층의 최상위 클래스는 Throwable이다. 어떤 메서드가 Throwable을 throws하면 클라이언트는 무조건 throws된 Throwable에 대해 try-catch로 책임(?)을 지거나 다시 throws해서 자신의 클라이언트에게 책임을 떠넘겨야 한다. 이런 에러 클래스를 검사 예외(checked exception)라고 지칭한다.public class Test { public static void throwsToClient() throws Throwable{ ExceptionClasses.throwsThrowable(); } public static void catchImmediately() { try { ExceptionClasses.throwsT..
-
[이펙티브 자바] item 2 - 생성자에 매개변수가 많다면 빌더를 고려하라개발서적읽기/Effective Java 3E 2020. 5. 19. 21:23
■상황 어떤 클래스의 인스턴스를 반환해야 하는 상황이 생겼다. 생성자나 정적 팩토리 메서드를 만들면 될 것 같다. 그런데 생성자나 정적 팩터리 메서드에 필요한 선택적 매개변수가 많은 경우는 어떻게 할까? ■첫 번째 방법 : 점층적 생성자 패턴 가장 심플한 방법이다. 생성자나 팩터리 메서드를 오버로딩하면 된다. 하지만 이 방법은 코드가 더러워지는(?) 특징을 가지고 있다.public class NutritionFacts { private final int servingSize; // (mL, 1회 제공량) 필수 private final int servings; // (회, 총 n회 제공량) 필수 private final int calories; // (1회 제공량당) 선택 private final int ..
-
선릉역 초밥 맛집 :: 스시 한 판리뷰/맛집 리뷰 2020. 5. 19. 00:07
며칠 전 점심에 은행에 잠깐 갈 일이 있었다 평소에는 직장의 팀원들과 같이 밥을 먹는데 오늘은 은행도 들른 겸 혼밥을 하기로 했다 두리번두리번거리다가 한 가게에 촉이 왔다 바로 선릉역 초밥집 스시 한 판! 만 원이면 조금 비싸긴 했지만 그래도 오랜만에 초밥 먹을 생각에 후다닥 들어갔다 난 세트 A를 주문했다 내부는 그렇게 크지도, 작지도 않고 딱 좋았다 사진엔 사람이 별로 없어 보이는데 내 뒤쪽에 좀 많았었다 1인손님이기 때문에 센스 있게 4인석 말고 2인석에 앉았다 ㅎ 주문한 세트 A가 나왔다! 난 초밥을 초고추장에 찍어 먹는다 ㅎㅎ 평소에 유부초밥을 별로 안 좋아하는데 오른쪽 맨 끝에 있는 유부초밥은 되게 맛있었다 다른 것들도 물론 맛있어서 순식간에 해치웠다~ㅎㅋ 선릉역_..
-
TDD 방식으로 아이디 중복 체크 API 개발하기Java/TDD 2020. 5. 18. 00:09
■개요 풋살모임 관리 앱을 개발중에 회원 아이디 중복 체크용 API가 필요한 상황이 생겼다 TDD 방식으로 개발하는 과정을 포스팅해보려고 한다 ■테스크 코드 작성 1. 성공 케이스- 아이디가 중복되는 경우(false)- 아이디가 중복되지 않는 경우(true)2. 실패 케이스- 아이디를 기입하지 않은 경우 간단한 기능이라 그런지 실패 케이스가 1개밖에 떠오르지 않았다 먼저 성공 케이스 2가지를 작성했다@Test @TestDescription("아이디 중복조회_false") public void isAlreadyExistId_false() throws Exception { String[] paramList = new String[]{"testUserNew"}; // request ResultActions r..
-
[가천대 카페] 공차(Gong cha)리뷰/카페 리뷰 2020. 5. 17. 14:15
오늘도 이펙티브 자바를 공부하러 카페를 갔다 가천대 앞쪽으로 가서 한번도 안가본 카페를 가려고 했지만 다 닫고 전부 가봤던 카페만 문을 열었다 영업을 하던 곳 중 딱 공차만 안가봤던 곳이었다 개인적으로 느끼기에 공차는 커피 전문점이 아닌 것 같아서(?!) 가기가 망설여졌지만 그래도 선택권이 없어서 공차로 들어갔다 공차 입구! 처음엔 테이블이 꽉 찼었다 사람이 너무 많을 때 내부 사진을 찍으면 사람들 얼굴에 스티커를 일일이 붙여줘야 해서 좀 적어질 때까지 기다렸다가 찍었다 내부 크기는 그렇게 크지 않았다 통유리로 된 창가에 앉았다 공부에 지칠 땐 지나가는 사람들 구경도 하면서 시간을 보냈다 역과는 이렇게나 가깝다 나는 밀크 타로티? 를 주문했다 오랜만에 말랑말랑한 그것을 먹었다 오늘도 이펙티브 자바와 열심..
-
[송파구 오금공원] 다목적구장리뷰/풋살장 리뷰 2020. 5. 17. 13:53
오늘은 오금공원으로 풋살을 하러 갔다 오금역 2번출구로 나와서 그대로 5분정도 직진하면 공원 입구가 나온다. 중간중간 공원으로 들어갈 수 있는 샛길이 보여 그리로 들어가고 싶은 마음이 들지만 흔들리지 말고 위에 보이는 입구까지 쭉 직진해야한다 우측에 화장실과 주차장이 있다 화장실을 좌측에 두고 공원으로 들어간다 화장실 옆쪽에 또 샛길이 보여서 지름길인 줄 알고 올라갔는데 문이 잠겨있었다; 헛걸음 개이득; 위에 보이는 길로 1분정도 쭉 올라가면 된다 가는 길에 오금공원 표지판도 있다 1분정도 올라가다보면 삼거리가 나오는데 파란 천막쪽으로 좌회전을 하면 목적지인 다목적구장에 도달할 수 있다 저 곳이 입구다 풋살장 외에 농구장도 있고 달리기와 롤러스케이트를 탈 수 있는 트랙도 있다 저곳이 풋살장이다 크기는 어..
-
[이펙티브 자바] item 61 - 박싱된 기본 타입보다는 기본 타입을 사용하라개발서적읽기/Effective Java - temp 2020. 5. 15. 00:02
■자바의 데이터 타입 2가지기본 타입 : int, double, boolean 등참조 타입 : String, List 등 기본 타입은 1:1대응으로 '참조 타입'을 하나씩 가지고 있다. 이를 '박싱된 기본 타입' 이라고 부른다. (Integer,Double,Boolean 등) 오토 박싱과 오토 언박싱 덕분에 기본 타입과 박싱된 기본 타입을 편하게 구분 없이 사용할 수 있다. 그래도 분명한 차이는 있다. ■첫 번째 차이 기본 타입은 값만 가지고 있지만, 박싱된 기본 타입은 값에 더해 식별성 이라는 속성도 갖는다. (각 객체는 언제나 자신만의 주소값을 가진 고유의 존재) 두개의 박싱된 기본 타입은 값(value)이 같아도 결국 서로 다르다는 것을 의미한다. '첫 번째 차이'를 주의하지 않으면? 다음은 Int..
-
[이펙티브 자바] item 60 - 정확한 답이 필요하다면 float와 double은 피하라개발서적읽기/Effective Java - temp 2020. 5. 13. 23:00
■실수의 표현 방식컴퓨터에서 실수를 표현하는 방법은 정수에 비해 훨씬 복잡하다. 왜냐하면, 컴퓨터에서는 실수를 정수와 마찬가지로 2진수로만 표현해야 하기 때문. 아래의 2가지 실수 표현 방식이 있다.고정 소수점(fixed point) 방식 부동 소수점(floating point) 방식 고정 소수점 방식에 비해 부동 소수점 방식은 표현할 수 있는 범위가 훨씬 크다. 대부분의 시스템에서 부동 소수점 방식을 사용중이다. 그리고 현재 사용되고 있는 부동 소수점 방식은 대부분 IEEE 754 표준을 따르고 있다. float와 double 변수도 이 부동 소수점 방식을 사용중이다. ■부동 소수점 방식의 단점부정확하다! IEEE 754의 값을 계산하는 고유한 수식때문에 float(32 bit)는 소수 9번째 자리, ..