목록삶.. (122)
오늘이군
자바에는 int, long 와 같은 기본형 타입(Primitive type) 이 있고, 그 기본형을 Wrapping 한 Wrapper Class 가 있습니다.결론적으로 얘기하면 기본형 타입 연산이 빠릅니다.예전에는 long 타입끼리만 연산이 가능했지만 JDK1.5 버전부터 부터는 auto(un)boxing 을 지원하게 되었습니다. 개발하기는 편해졌지만 별 생각없이 개발하다보면 큰 성능 이슈를 발생시키게 됩니다.Long sum = 0L; for(long i = 0; i < Integer.MAX_VALUE; i++) { sum += i; }와 같이 개발하면 안된다는 얘기 입니다. Boxing, UnBoxing 이 일어나지 않게 개발해야 합니다.이것이 얼마나 속도 차이가 나는지 코드로 보겠습니다. 아래 내용처..
어느날 대뜸 구글애드센스를 신청했습니다.애드고시라는 말이 유행 할 정도로 역시 거절 메일을 받게 되었습니다.사이트 주소를 잘못 넣은것도 아니고 접속이 되는데 구글에서는 확인이 안된다고 합니다. (사이트 검토 불가)신청건이 매우 많을 테니 사람이 직접하진 않을 테고, 구글봇이 사이트를 못 찾는 것 같았습니다. 찾아보니 구글 웹마스터도구라는 게 있었습니다. 여기서 정상적으로 등록이 되면 구글봇도 여기를 찾아 올 수 있을 것 같았습니다. 1. https://www.google.com/webmasters/tools 로 접속을 해서 자신의 블로그 주소를 넣고 속성추가 버튼을 누릅니다.2. 권장방법이 html 파일을 올리는 건데요, 티스토리에 파일을 올릴 수 없으니 pass3. 대체방법을 보니 HTML 태그에 메타..
자바에서 문자열 처리를 할 때 무심코 String name = "홍" + "길동"; 라는 코드를 작성합니다. 예전에 어디선가 StringBuffer 를 사용하라는 얘기를 들었지만 일일이 append 하는 것도 귀찮고 toString() 도 해야 하는 것이 번거롭다는 생각이 들어 더하기 연산을 해버리는 데요, 이게 문제가 있습니다.String 은 불변(immutable) 객체 입니다.예를 들면, str = str + "ab"; 은 100번 주소에 객체가 만들어지지만 다시 str 을 변경하려는 시도를 하면 불변 객체 이므로 새롭게 150 번 주소에 생성을 합니다. 그럼 남은 100번은 어떻게 될까요?네, GC 대상이 됩니다. 무심코 코드를 이렇게 작성하다보면 불필요한 객체가 많이 생겨서 GC 가 빈번히 발생..
참고 https://youtu.be/6Iq5iMCVsXA http://ledgku.tistory.com/33 복잡도 시간 복잡도(time complexity) : 어떠한 연산을 수행하면서 사용한 시간을 나타낸다 공간 복잡도(space complexity) : 사용한 메모리의 사용량 복잡도는 보통 빅오(대문자 O) 표기법을 사용하며, 알고리즘 평가 사이트는 빅오 표기법으로 기준을 제시하고 최악의 경우로 평가 한다. 그리고 시간 복잡도가 괜찮으면 공간 복잡도는 어느정도 봐주는 경향이 있다. time complexity 배열에서 특정 원소를 찾는 경우 O(1) 인덱스로 바로 찾는 경우 int result = numbers[0]; O(n) for 문 한번 돌려서 찾는 경우 for(int num : numbers..
2년전에 처음으로 국민은행에서 전세자금대출을 받았고 방금 처음으로 전세자금대출을 연장하고 왔습니다. 대출연장하면서 어려움과 몇 가지 궁금증이 있었는데요 차근차근 적어보겠습니다.1. 이런.. 계약서가 안보이네요. 계약서를 분실했습니다. 1) 제가 대출 받은 'KB주택전세자금대출'의 경우 계약서가 없어도 대출 연장이 가능했습니다. 계약만료 한달 정도가 되면 대출받은 은행에서 문자가 옵니다. 아마 그 정도에 저의 대출건에 대해 담당이 정해지는 듯 합니다. 그 때 전화를 해서 연장에 필요한 서류가 어떤게 필요한가 물어보니 - 계약갱신을 한 경우 : 확정일자를받은계약서와 등본 신분증 가져오라 했습니다. - 묵시적 갱신인 경우 : 등본 신분증 가져오라 했습니다. 막상 오늘 가보니 계약서 등본 신분증이 필요하다고 합..
※ 추천 글 https://youtu.be/hFXkjZthuzU https://www.youtube.com/watch?v=VjbBGjVRxfk 1. TDD (Test Driven Development) 테스트 코드를 먼저 작성하고 테스트를 통과시키는 수준에서만 개발하고 테스트 케이스를 추가하면서 점차 확장시켜서 나가는 방법 2. 필요성 충분한 테스트 케이스가 있어야 리팩토링이 가능하다. 리팩토링 (Re + Factor + ing) : 공장 팩토리가 아니라 프로그램을 분해하고 재 조립하면서 코드 품질을 향상시키는 것.
※ 추천 글 https://www.youtube.com/watch?v=N3NSISzolSw https://www.youtube.com/user/egoing2/search?query=%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5 http://andoli.tistory.com/87 http://scroogy.tistory.com/40 ※ 추천 책 DDD START! - 최범균 도메인 주도 설계 - 에릭 에반스 (보고 있는데 너무 어렵네요ㅠ) ※ 확인 중 http://tbang.tistory.com/104 1. 객체화 public static void main(String[] args) { int left, right; // 연산1 left = 10; right = 20; sum(left,..
※ 추천 글 http://www.ojtkorea.com/e-learning/uml/05.html 1. Sequence Diagram 시간의 흐름에 따른 객체들간의 상호작용을 표현한다. 2. 구성요소 가. 객체 (object) : 특정 작업에 참여하는 클래스의 인스턴스 나. 메시지 : object 가 가지고 있는 operation 호출 (객체들이 특정 작업을 수행하기 위해 주고받는 정보들) 다. 시간 3. 작성요령 클래스 다이어그램을 먼저 잘 그려야 겠.... 클래스와 엔티티 > 분석단계에서는 분석클래스모델 (경계, 제어, 엔티티) 를 그리고 설계단계에서는 엔티티는 엔티티별로 경계 제어 클래스는 시퀀스 다이어그램으로 푸는..