본문 바로가기

전체 글

(39)
[Junit] Test Code 와 TDD 프로그래밍에는 정답이 없습니다. 더 나은 방법이 있다면 언제든 공유 부탁드립니다. Next Step 에서 제공하는 TDD-클린코드 교육 내용 기반으로 작성하였습니다. TEST 코드를 작성해야하는 이유 개발자는 대부분의 시간을 디버깅하는 시간에 투자합니다. 사람이 많아지면 많아질 수록, 기능이 많아지면 많아질 수록 테스트해야되는 코드느 방대해지고, 연관성도 많아지게 됩니다. 작은 하나의 기능의 추가로 인해 전체의 테스트를 다시 해봐야 한다는 것은 엄청난 비용 손해입니다. 하지만, 잘 짜여진 테스트 코드만 있다면 한번만 실행 후 마음 편하게 추가할 수 있습니다. 테스트 코드의 가장 필요한 이유 중 하나는 리펙토링입니다. 리펙토링의 중요한 이유는 다들 알고 있을 것이다. 그 당시에 아무리 좋은 디자인 패턴을 ..
iMac 교체 시 발생한 문제 해결 iMac 관련 발생한 문제 해결 문제점 회사 컴퓨터를 Mac pro 에서 iMac 으로 교체하면서 연결작업을 하는데, 듀얼모니터를 연결하면서 사용이 불가할 정도로 버벅거리는 현상이 발생함 매직 마우스의 클릭하는 부분이 불편하여 USB 로 연결하는 마우스를 사용하였는데, 이것도 매우 끊기는 현상이 발생함 듀얼모니터를 연결 후 잠자기 상태에서 깨웠을 때 화면이 깨워지지 않는 현상이 발생함 해결방안 듀얼 모니터 끊김 현상 듀얼모니터가 문제점이란걸 발견하게 된 것은 듀얼모니터로 마우스를 가져갔을 때 끊김현상이 훨씬 심해지는 것을 발견함 검색을 해본결과 C 포트의 문제점이 많다는 것을 알게됨. C 포트를 다른 곳에 끼워도 해결이 안됐는데, 단자를 위아래로 뒤집어 끼웠을 때 해결이됨 마우스 끊김 현상 마우스 문제도..
특정 Branch 만 git clone 받기 Github Repository 의 특정 Branch 만 Clone 하기 Github Repository 를 전부 복사하는 경우도 필요하지만, 특정 Branch 만 가져오고 싶은 경우가 있습니다. git clone -b [브랜치이름] --single-branch [Repository 이름] Github [Repository] 내의 특정 [Branch] 만을 Clone 받게 됩니다. generated by haroopad
JAVA의 정석 - Thread JAVA의 정석2018-12-16Thread9.4 volatile 멀티 코어 프로세서에서는 코어마다 별도의 캐시를 가지고 있다. 코어는 메모리에서 일겅온 값을 캐시에 저장하고 캐시에서 값을 읽어서 작업한다. 다시 같은 값을 읽어올 때는 먼저 캐시에 있는지 확인하고 없을 때만 메모리에서 읽어온다. 그러다보니 도중에 메모리에 저장된 변수의 값이 변경되었는데도 캐시에 저장된 값이 갱신되지 앟아서 메모리에 저장된 값이 다른 경우가 발생한다. volatile boolean suspended = false; volatile boolean stopped = false; 위와 같이 타입 옆에 volatile 을 붙이면 캐시에서 읽어오지 않고 메모리에서 읽어온다. public synchronized void stop()..
JAVA의 정석 - Generics 제네리.html JAVA의 정석2018-12-16제네릭스와일드 카드 class Juicer { static Juice makeJuice(FruitBox box) { String tmp = ''; for(Fruit f : box.getList()) tmp += f + " "; return new Juice(tmp); } } 위와 같이 Juicer클래스는 지네릭 클래스가 아닌데다, 지네릭 클래스라고 해도 static 메서드에는 타입 매개변수 T를 매겨변수에 사용할 수 없으므로 아예 지네릭스를 적용하지 않던가, 위의 같이 타입 매개변수 대신, 특정 타입을 지정해줘야 한다. 지네릭 타입이 다른 것만으로는 오버로딩이 성립하지 않기 때문에 지네릭 타입은 컴파일러가 컴파일할 때만 사용하고 제거해버린다. 이럴 때 필요..
JAVA의 정석 - 열거형(enums) enums.html JAVA의 정석2018-12-16열거형(enums)열거형이란 class Card { enum Kind { CLOVER, HEART, DIAMOND, SPACE } enum Value { ONE, TOW, THREE, FOUR } final Kind kind; final Value value; } 자바의 열거형은 C언어의 열거형보다 더 향상된 것으로, 타입까지 관리하기 떄문에 보다 논리적인 오류를 줄일 수 있다. 그리고 더 중요한 것은 상수의 값이 바뀌면, 해당 상수를 참조하는 모든 소스를 다시 컴파일해야 한다는 것이다. 하지만 열거형 상수를 사용하면, 기존의 소스를 다시 컴파일 하지 않아도 된다. 열거형 상수간의 비교에는 '=='를 사용할 수 있다. 그만큼 빠른 성능을 제공한다. 단 ..
Google Chart GOOGLE-CHART Index 구글차트 라이브러리 그래프 생성 기본 생성 템플릿 색상 변경 옵션 라인 굵기 조절 상품 타이틀 위치 변경 세로 축 최대 값 정하기 가로 축 타이틀 값 임의로 구성하기 세로 축 값 양쪽으로 보여주기 차트 반응형으로 만들기 구글차트 라이브러리 그래프 생성 html 기본 생성 템플릿 addColumn 는 그래프에 표시하고자 하는 항목 명입니다.addColumn 개수와 push의 인자 개수가 일치해야 합니다. google.charts.load('current', {packages: ['corecha..