본문 바로가기
[Effective Unit Testing] Appendix A. JUnit 기초 [Effective Unit Testing] Appendix A. JUnit 기초 -JUnit 을 이해하려면 두 가지를 꼭 알고 있어야 한다.첫째는 JUnit 테스트의 구조와 생명주기다.두번째는 단언 API 다. A-1. 기본적인 JUnit 테스트 케이스 A.1.1. 테스트 메서드 선언하기 -JUnit 은 public 이 아닌 메서드는 다 무시한다.입력 인자를 받는 메서드도 모두 무시한다.반환형이 void 가 아니어도 역시 무시한다.static method 도 무시 대상이다.@Test annotation 이 없으면 당연히 무시한다.즉, 테스트 메서드는 public void 이면서 입력 인자를 받지 않는 @Test annotate 된 것이다. A.1.2. JUnit 테스트의 생명주기 -JUnit 은 다음의.. 2019. 3. 20.
[Effective Unit Testing] Chap8. 제 2의 JVM 언어를 활용한 테스트 작성 [Effective Unit Testing] Chap8. 제 2의 JVM 언어를 활용한 테스트 작성 8.1. JVM 언어 혼용의 조건 - 제 2의 JVM 언어의 역사는 파이썬 언어의 JVM 버전인 자이썬(Jython)으로부터 시작되었다. 자이썬은 사용자를 충분히 확보하지 못하여 결국 2005년에 실질적인 개발이 중단되었지만, 또 다른 JVM 언어들이 등장하는 계기가 되어주었다. - 2001년에는 자바판 루비인 JRuby, 2003년에는 Groovy 가 발표되었다. 2003년은 Scalar 가 나온 해이기도 하다. 2007년 Lisp 를 변형하여 만든 Closure 역시 강력한 JVM 언어이다. 8.1.1. 일반적인 이점 - JVM non-java 언어의 장점은.. 자질구레한 문법이 적어 핵심 로직이 잘 .. 2019. 3. 18.
[Effective Unit Testing] Chap4. 가독성 [Effective Unit Testing] Chap4. 가독성 -테스트를 읽은 프로그래머는 코드가 “해야 할 일”을 이해할 수 있어야 한다.또한, 테스트를 실행한 후에는 코드가 실제로 "한 일”이 무엇인지 말할 수 있어야 한다. -테스트의 핵심인 단언문은 대상 코드의 올바른 동작을 규정한다. -결국, 테스트 코드는 읽기 쉬워야 한다.테스트가 무슨 일을 하는지 파악하기 위해 머리를 쥐어뜯는 일은 없어야 한다. -테스트 냄새는 숱하게 많지만, 그중에서도 가장 흔한 냄새는 바로 "기본 타입 단언”이다. 4.1. 기본 타입 단언 -단언문은 가정이나 의도를 명시해야 한다.또한 코드의 동작을 서술하는 문장이어야 한다.기본 타입 단언(Primitive Assertion)이란 단언하려는 이유나 의도가 의미를 알 수 .. 2019. 3. 13.
[android] Robolectric tutorial [android] Robolectric tutorial http://robolectric.org/ Introduction -test 를 android emulator 나 device 에서 하는 것은 느리다.이 환경에서는 TDD 를 이루기 어렵다. Robolectric 은 unit test framework 로 android sdk jar 를 복제&확장해서 TDD 를 가능하도록 돕는다.JVM 에서 android 코드를 테스트 할 수 있다. -@RunWith(RobolectricTestRunner.class) public class MyActivityTest { @Test public void clickingButton_shouldChangeResultsViewText() throws Exception { .. 2018. 12. 8.
Efficient Android Threading #2 스레드 통신 Efficient Android Threading #2 스레드 통신 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 4.1. 파이프 -파이프는 두 개의 연결된 스레드끼리만 접근할 수 있는 메모리에 할당된 버퍼다.두 개의 스레드 이외의 다른 스레드는 데이터에 접근할 수 없다.따라서 스레드 안전이 보장된다.파이프는 단방향이기 때문에 한 스레드는 쓰기만 하고 다른 하나는 읽기만 한다. 일반적으로 파이프는 두 개의 긴 실행 테스크가 있고 하나의 테스크에서 다른 테스크로 계속해서 데이터를 옮길 때 사용된다. -파이프는 바이너리 데이터와 문자 데이터 중 하나를 전송할 수 있다.PipedOutputStream(생산자)와 PipedInp.. 2018. 3. 18.
[android] Visual Voicemail [android] Visual Voicemail http://source.android.com/devices/tech/config/voicemail.html -Android 6.0 (MOS) 부터 VVM (Visual Voice Mail) 가 Dialer 에 통합되어 나왔다.VVM 은 user 가 voicemail 을 phone call 없이 확인할 수 있게 만든다.User 는 message list 를 볼 수 있고, 어떤 순서로든 들을 수 있고, 원한다면 삭제도 가능하다. -Android 7.0 (NOS) 부터는 다음과 같은 config param 이 추가되었다. Prefetching voicemail : KEY_VVM_PREFETCH_BOOLEANCelluar data connection : KEY_.. 2018. 3. 4.
[Server구축/Tutorial] MySQL 설치 [Server구축/Tutorial] MySQL 설치 http://jongkwang.com/?p=941 -yum install mysql 을 수행하면 낮은 버전이 설치된다.따라서 아래 사이트에서 자신에 맞는 rpm 을 구해야 한다. http://dev.mysql.com/downloads/repo cf) RPM 은 Redhat Package Manager -$wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm$ yum localinstall http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm$ yum update$ yum install mysql-community-se.. 2017. 6. 3.
[android] v7 에 추가된 RecyclerView 에 대해 알아보자 #1 v7 에 추가된 RecyclerView 에 대해 알아보자 #1 참조 : http://antonioleiva.com/recyclerview RecyclerView? 그게 뭐야? RecyclerView 는 새로운 ViewGroup 이며, ListView 의 확장판이라고도 불린다.최신 support-v7 에 포함되었다. RecyclerView 는 확장성을 고려하여 생성되었다. RecyclerView 를 사용하기 위해서는 RecyclerView.Adapter, LayoutManager 이렇게 2개의 컴퍼넌트가 필요하고, 필요에 따라 ItemAnimator, ItemDecorator 등이 추가될 수 있다. RecyclerView.Adatper RecyclerView 의 Adapter 는 기존에 사용되던 패턴을 포.. 2015. 6. 15.
[CSS] Bootstrap Tutorial #1 - download & setup CSS, Bootstrap Tutorial #1 - download & setup Download and understand file structures 다운로드 https://github.com/twbs/bootstrap/archive/v3.0.0.zip 메인 css 파일인 bootstrap.css 와 bootstrap-min.css 은 dist/css 에 들어있다. 메인 js 파일인 bootstrap.js 와 bootstrap-min.js 는 dist/js 에 들어이다. root 에 있는 js 폴더는 다른 js plug-in 들이다.asset/js 폴더에는 html5shiv.js 와 respond.min.js 가 들어있다.이것들은 IE8 을 support 하는 녀석들이다. asset/js 에는 jqu.. 2014. 2. 8.
반응형