분류 전체보기
-
Item 4. 인스턴스화를 막으려거든 private 생성자를 사용하라백수의 개발/이펙티브 자바 2019. 7. 14. 16:34
단순히 정적 메서드와 정적 필드만을 담은 클래스를 만든다면, 사실상 해당 객체의 인스턴스화를 목적으로 만든 것이 아닐 것이다. 그렇기 때문에 별도로 객체의 인스턴스화를 막아준다. 이는 객체 지향적으로 좋지 않은 클래스라고 여기는 경향이 있지만, 이도 나름 쓰임새는 있다. 객체 인스턴스화 막기 대표적으로 이러한 객체는 java.lang.Math, java.util.Arrays, java.util.Collections 등이 있다. 이 객체들은 인스턴스화를 막았기 때문에 아래와 같이 코드를 작성할 수 없다. Math mathObject = new Math(); Arrays arraysObject = new Arrays(); Collections collectionsObject = new Collection()..
-
[77특가]위메프 리복(Reebok) 신발 구입백수의 일상 & 잡담/쇼핑 2019. 7. 13. 17:40
7월이라고 위메프에서 77특가 이벤트를 진행하고 있다. 예전에 에어팟부터 100원특가 등 이것저것 많이 참여했었는데 이번에는 77특가에 맘에 드는 신발이 있는게 아닌가?! 바로 Reebok의 신발인데 디자인은 아래 사진처럼 생겼다. 디자인도 나름 마음에 들었고, 가격도 이번트 쿠폰을 먹이면 거의 14,000원까지 떨어져서 그냥 가볍게 신고 다니기 좋을 것 같았다. 그래서 바로 구입을 하려고 봤는데 내 신발 사이즈가 260인데 대부분 사이즈가 매진이 되어버렸다... 그래도 불행 중 다행으로 255사이즈가 3개 남아있었고, 항상 260이 없으면 255를 구입하곤했었기 때문에 크게 불편하지 않을 것 같아서 바로 질러버렸다. 7월 10일 저녁에 주문했는데 12일 점심쯤 주문한지 이틀만에 바로 도착해버렸다. 역시..
-
Item 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라백수의 개발/이펙티브 자바 2019. 7. 13. 15:41
싱글턴이란? 싱글턴이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다. 커넥션 풀, 스레드 풀, 디바이스 설정 객체 등의 경우, 인스턴스를 여러개 생성하면 자원을 낭비하거나 버그가 발생될 수 있어 오직 하나의 인스턴스만 생성하여 사용하도록 한다. 싱글턴을 보증하기 위해서는 private생성자 또는 열거 타입을 사용할 수 있다. private 생성자를 통한 싱글턴 보증 싱글턴으로 객체를 만들기 위해서는 new를 통해 인스턴스를 생성할 수 없도록 생성자에 private 접근 제어자를 지정해야한다. 또한 유일한 인스턴스를 반환할 수 있도록 정적 메소드를 지원해야하며, 해당 인스턴스를 참조할 정적 참조변수가 필요하다. 아래는 public static final 필드 방식의 싱글턴이다. public cl..
-
티스토리 블로그 유입 시키기(3) [네이버 웹마스터, RSS]백수의 일상 & 잡담/티스토리 2019. 7. 12. 15:57
지난 2019/07/11 - [백수의 일상 & 잡담] - 티스토리 블로그 유입 시키기(2) [구글 웹마스터, RSS]에 이어 네이버 웹마스터와 RSS등록 방법을 알아보자. 네이버 웹마스터(Search Console) 바로 네이버 웹마스터에 사이트를 등록하는 방법을 알아보자. 우선 아래와 같이 네이버 웹마스터 도구사이트에 접속하여 본인의 블로그 주소를 기입하고 추가버튼을 눌러준다. 블로그 주소를 입력하고 추가 버튼을 누르면 아래와 같은 페이지로 넘어가게 되는데 'HTML 태그' 부분을 클릭하여 meta내용들을 확인해 준다. meta정보를 확인하였으면, 블로그 관리 페이지에 들어가서 '꾸미기' > '스킨편집'으로 들어가서 'html 편집'에 들어간다. meta내용을 모두 적용해 줬으면 다시 네이버 웹마스터로..
-
티스토리 블로그 유입 시키기(2) [구글 웹마스터, RSS]백수의 일상 & 잡담/티스토리 2019. 7. 11. 13:20
지난 2019/07/10 - [백수의 일상 & 잡담] - 티스토리 블로그 유입 시키기(1) [최적화]에 이어 구글 웹마스터와 RSS등록 방법을 알아보자. 구글 웹마스터(Search Console) Google Search Console은 Google에서 무료로 제공하는 서비스로, 사용자가 사이트의 Google 검색결과 인지도를 모니터링하고 관리하며 문제를 해결하도록 도와줍니다. Search Console에 가입하지 않아도 Google 검색결과에 포함되지만 Search Console에 가입하면 Google의 입장에서 사이트를 파악하고 개선할 수 있습니다.[참조] 바로 구글 웹마스터에 사이트를 등록하는 방법을 알아보자. 우선 아래와 같이 구글 웹마스터 도구사이트에 접속하여 시작하기를 눌러주고 본인의 블로그 ..
-
티스토리 블로그 유입 시키기(1) [최적화]백수의 일상 & 잡담/티스토리 2019. 7. 10. 16:41
내 게시글 검색하기 블로그를 시작하게 되면 내 누군가 검색해서 들어오기를 기대하고 있을 것이다. 그리고 나름 글을 잘 작성했다고 우쭐대면서 많은 사람들이 내 블로그를 찾아 볼 것이라고 생각할 수도 있다. 그러나 이제 막 블로그를 만들어서 작성하기 시작했다면 기대와 달리 아무도 찾아오지 않을 것이다. "내가 쓴 게시글도 내가 검색해서 찾을 수 없는걸...?" 그렇다면 어떻게 사람들이 내가 쓴 글에 대해서 검색을 통해 찾아볼 수 있을까? 꾸준한 포스팅 어떤 블로그든 똑같겠지만 꾸준한 포스팅이 중요하다. 포스팅이 꾸준하다는 것은 그 블로그가 활성화되어고 업데이트가 지속적으로 일어난다는 것이다. 블로그의 활성화 상태나 업데이트 상황을 보여주는 것이 검색을 통한 유입에 상당히 효과적이라고 알려져있다. 주제 카테고..
-
Item 2. 생성자에 매개변수가 많다면 빌더를 고려하라백수의 개발/이펙티브 자바 2019. 7. 9. 15:00
점층적 생성자 패턴(Telescoping constructor pattern) 필수 매개변수만 받는 생성자부터 시작하여 필수 매개변수와 선택 매개변수 1개를 받는 생성자, 선택 매개변수를 2개 받는 생성자, ..., 선택 매개변수를 전부 다 받는 생성자까지 모든 생성자를 작성하는 방식이다. 아래와 같이 클래스를 정의할 수 있다. public class NutritionFacts{ private final int servingSize; // 필수 private final int servings; // 필수 private final int calories; // 선택 private final int fat; // 선택 private final int sodium; // 선택 private final int ..
-
Item 1. 생성자 대신 정적 팩터리 메서드를 고려하라백수의 개발/이펙티브 자바 2019. 7. 3. 13:14
우리가 자주 사용하는 정적 팩터리 메서드 java개발을 하다보면 정적 팩터리 메서드를 사용하는 경우들이 있다. 대표적으로 Arrays, Collections 클래스에서 사용하는 메서드들이다. String[] nameArray = {"홍길동", "홍길순", "홍길두", "홍길희"}; List nameList = Arrays.asList(nameArray); Collections.sort(nameList); 이 뿐만 아니라 java의 primitive type에 대한 객체들에서도 정적 팩터리 메서드를 사용할 수 있다. int five = Integer.valueOf(5); boolean isCorrect = Boolean.valueOf(true); BigInteger bigIntegerTen = BigInt..