분류 전체보기
-
Item 8. finalizer와 cleaner 사용을 피하라백수의 개발/이펙티브 자바 2019. 8. 7. 16:34
finalizer와 cleaner를 피해야하는 이유 자바는 finalizer와 cleaner 두 가지 객체 소멸자를 제공한다. finalizer는 예측할 수 없고, 상황에 따라 위험할 수 있어 일반적으로 불필요하다. cleaner는 finalizer보다는 덜 위험하지만, 여전히 예측할 수 없고, 느리고, 일반적으로는 불필요하다. 1. 실행을 보장할 수 없다. 위 두 가지 객체 소멸자로는 즉시 수행된다는 보장이 없다. 객체에 접근할 수 없게 된 후 finalizer나 cleaner가 실행되기까지 얼마나 걸릴지 알 수 없다. 즉, 이 두 가지 객체 소멸자로는 제때 실행되어야 하는 작업은 절대 할 수 없다. 상태를 영구적으로 수정하는 적업에는 절대 finalizer나 cleaner에 의존해서는 안 된다. 2...
-
[천만위크] 카카오 뱅크 26주 적금(이자 2배)백수의 일상 & 잡담/쇼핑 2019. 7. 24. 15:57
카카오 뱅크에서 7월 22일(월)부터 7월 28일(일)까지 이벤트를 진행하고 있다. 7월 22일에는 연 5%의 정기예금 이벤트를 진행했다. 요즘 이자율도 낮은데 5%라는 엄청난 이자율로 이벤트를 진행하는 카뱅 대단하다. 그런데 이날 서버가 터지고 난리도 아니었다고 한다. 나도 여기에 돈을 넣을까 고민하긴 했는데 26주 적금 이벤트가 있는걸 보고 26주 적금 이벤트를 하기로 마음먹었다. 26주 적금 이벤트는 이자를 2배 주는건데 기본 이자가 2%니까 총 4%의 이자를 준다. 26주 적금은 1000원/2000원/3000원/5000원/10000원 이렇게 있다. 그리고 적금되는 방식은 만약 1000원을 하게 되면 매주 1000원씩 증액되면서 적금이 들어가는 방식이다. 1주차 1000원 -> 2주차 2000원 -..
-
[MOFT] 부착형 노트북 스탠드 리뷰백수의 일상 & 잡담/쇼핑 2019. 7. 22. 15:04
나는 여기저기 돌아다니면서 노트북을 사용하는 경우가 많은데 보통 노트북 스탠드는 휴대성이 별로라서 구매를 하지 않고 있었다. 그러다 MOFT에서 나온 노트북 스탠드를 봤다. 가격이 25,000원 정도로 크게 부담되지 않았고, 휴대성이 너무 좋아 보여 바로 구매했고, 이틀만에 도착했다. 여기서는 미끄럼 방지 패드도 같이 주기는했는데, 나는 크게 불편하지 않아서 붙이지는 않았다. MOFT 노트북 스탠드의 가장 큰 장점이라면 휴대성이다! 노트북 뒤에 그냥 붙여두고 가지고 다니다가 필요할때 쏴라락! 펼쳐서 쓰면 되니까 말이다. 배송을 받자마자 내 맥북에 바로 붙여봤다. 붙이는 것도 간단하고, 잘못 붙이더라도 바로 떼고 다시 붙여도 잘 붙는다. 나중에도 다시 떼고, 씻은 후 완전 건조하면 다시 사용할 수 있으니..
-
[대전 맛집] 가수원동 게장 무한리필 여보게 웃게 본점백수의 일상 & 잡담/맛집 탐방 2019. 7. 20. 14:02
7월 19일 가수원동에 있는 게장 무한리필집 여보게 웃게를 다녀왔다. 간장게장을 엄청 좋아하는데 근래에 게장을 못먹었어서 아주 설레며 갔다. 메뉴는 무한리필도 있고, 정식도 있는데 나는 간장게장+양념게장 14,900원 짜리를 시켰다. (팁, 밥 1000원 계란 후라이 500원 별도) 하나하나 자세하게 찍지는 않았는데, 내가 갔을때는 김치전, 육회, 콘치즈가 기본 세팅으로 나왔는데 굉장히 만족할만한 맛이었다. 간장 게장, 양념 게장 다 비리지도 않고 굉장히 맛있었다. 다만 양념 게장은 조금 맵긴한데, 그래도 간장 게장의 느끼함을 달래주기에 딱인 것 같다. 간장 게장을 혼자서 거의 4번인가? 리필해서 먹었다. 너무 맛있었다... 게장에 내장도 적당히 있어서 게딱지에 밥비벼먹는게 그렇게 맛있을 수가 없다. 메..
-
Item 7. 다 쓴 객체 참조를 해제하라백수의 개발/이펙티브 자바 2019. 7. 19. 14:45
C, C++처럼 메모리를 직접 관리해야 하는 언어와 달리 Java는 가비지 컬렉터(GC)를 갖추어 어느정도 알아서 메모리를 관리해준다. 그러나 메모리 관리에 아예 신경 쓰지 않아도 된다는 것은 아니다. 크게 메모리 누수에 문제를 발생시키는 것들이 3가지 있다. 어떤 상황에서 메모리 관리를 신경써줘야할지 알아보자. 자기 메모리를 직접 관리하는 클래스 아래 Stack을 구현한 코드에서 메모리 누수가 일어나는 위치가 어디인지 확인해보자. public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { elements = ..
-
[더블특가]위메프 빕스 쿠폰 구입백수의 일상 & 잡담/쇼핑 2019. 7. 18. 22:28
오늘 7월 18일 위메프 더블특가에 빕스 1만원권 쿠폰을 1천원에 판매하는 이벤트를 진행했다. 아래 사진처럼 네이버에 '위메프 빕스천원'을 입력하면 이벤트 쿠폰을 구매할 수 있는 페이지로 이동할 수 있다. 구입일로부터 8월31일까지 사용가능하고, 4만원 이상 주문 시 1매, 7만원 이상 주문 시 최대 2매까지 사용가능하다고 한다. 게다가 평일(런치.디너), 주말, 공휴일 구분 없이 사용 가능하다. 7월 19일 부터 빕스에서 맛캉스라고 하여 새우 축제, 수박 축제, 바비큐 축제, 피자 축제, 트로피컬 축제 이렇게 다양한 축제를 한다고 한다. 빕스 샐러드바 가격은 평일 런치 21,900원 평일 디너와 주말은 29,700원이다. 이번에 빕스에서 맛캉스도 하고, 두명이서 평일 런치 셀러드바를 먹으면 딱 43,8..
-
Item 6. 불필요한 객체 생성을 피하라백수의 개발/이펙티브 자바 2019. 7. 16. 14:58
자주 사용되는 객체의 재사용 자주 사용되는 객체가 있다면 이는 매번 생성하기보다는 객체 하나를 재사용하는것이 훨씬 빠르고 효율적이다. 우리가 많이 사용하는 Boolean객체를 사용할 때, 아래와 같이 작성한다면 Boolean객체는 항상 새롭게 생성될 것이다. Boolean trueObject = new Boolean(true); Boolean falseObject = new Boolean(false); 그래서 Boolean에서의 true와 false는 Boolean객체 내에서 정적 필드 변수로 가지고 있어 재활용 된다. 따라서 아래처럼 사용하면 별도의 객체를 생성하지 않고, 기존에 만들어진 객체를 그대로 재활용 할 수 있다. Boolean trueObject = Boolean.TRUE; Boolean f..
-
Item 5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라백수의 개발/이펙티브 자바 2019. 7. 15. 17:22
우리가 개발을 진행하면서 한 클래스 내에서 다양한 자원에 의존하는 경우가 많았을 것이다. 이러한 경우 의존 객체를 어떻게 관리하는 것이 좋을지 알아보자. 정적 유틸리티와 싱글턴 맞춤법 검사기를 구현하는 예를 통해 정적 유틸리티와 싱글턴을 통한 의존 객체 사용이 좋지 않음을 보자. 아래는 정적 유틸리티를 잘못 사용한 예이다. public class SpellChecker{ private static final Lexicon dictionary = ...; private SpellChecker(){} public static boolean isValid(String word){...} public List suggestions(String type){...} } 아래는 싱글턴을 잘못 사용한 예이다. publ..