본문 바로가기
[Design Pattern/Java] 상속을 위한 설계와 문서화를 하자. 그렇지 않다면 상속의 사용을 금지시킨다. 안녕하세요 돼지왕 왕돼지입니다. 오늘은 "상속을 위한 설계와 문서화를 하자. 그렇지 않다면 상속의 사용을 금지시킨다" 라는 내용을 다뤄보고자 합니다. 이 글은 "Effective Java" 의 내용을 요약 정리한 글입니다. 이 글을 읽기 전에 이 글을 먼저 읽으시길 권장해드립니다. 2012/03/29 - [프로그래밍 놀이터/디자인 패턴] - [Design Pattern/Java] 가급적 상속(Inheritance) 보다는 컴포지션(composition)을 사용하자. 무엇을 문서화해야 하는가? - 메소드 오버라이딩으로 인한 파급 효과를 분명하게 문서화해야 합니다. 일반적으로 말하면, 오버라이드 가능한 메소드를 호출할 수 있는 어떤 상황에 대해서도 문서화해야 한다. - 오버라이딩 가능한 메소드들의 자체 사용.. 2012. 3. 29.
[Design Pattern/Java] 가급적 상속(Inheritance) 보다는 컴포지션(composition)을 사용하자. 안녕하세요 돼지왕왕돼지입니다. 오늘은 "가급적 상속(Inheritance)보다는 컴포지션(composition)을 사용하자" 라는 주제로 이야기하고자 합니다. 이 글은 "Effective Java" 의 내용을 요약 정리한 내용입니다. 상속의 안전함과 위험함. 안전함 - 동일한 프로그래머가 서브 클래스와 슈퍼 클래스의 구현을 관장하는, 같은 패키지 내에서 상속을 하는 것은 안전합니다. ( 아래 다뤄질 상속의 문제점들을 커버할 수 있기 때문입니다. ) - 클래스가 상속을 위해 특별히 설계되었으며, 문서화가 잘 된 클래스를 "확장(extends)"의 목적으로 상속하는 것도 안전합니다. 위험함. - 서로 다른 패키지에 있으며, 확장을 목적으로 설계되지 않은 일반적인 클래스를 상속받는 것은 위험합니다. 무엇이 그.. 2012. 3. 29.
[Android/안드로이드] Unity3D 를 이용하여 안드로이드 게임 만들기. 안녕하세요 돼지왕 왕돼지입니다. Unity 3D 가 뭔가하고 검색하다가 월척을 낚았습니다. 매우 좋은 자료를 낚아온 셈이죠. 여기에 링크를 걸어 모두가 함게 보았으면 합니다. - [강좌안내] Unity3D로 만드는 안드로이드 게임 http://foxmann.blog.me/90137064326 - 1. 강좌 목차 http://foxmann.blog.me/90137065328 - 2. 왜 게임 엔진을 사용하는가? http://foxmann.blog.me/90137066504 - 3. Unity 3D의 특장점 http://foxmann.blog.me/90137165172 - 4. Unity 3D의 Interface http://foxmann.blog.me/90137168453 - 5. 오브젝트 움직이기 (1).. 2012. 3. 28.
[Java] JNI Tutorial - Fields and Methods 안녕하세요 돼지왕왕돼지입니다. 오늘은 JNI 중 Fields 과 Methods 에 관한 내용을 알아보겠습니다. http://java.sun.com/docs/books/jni/html/fldmeth.html#11202 글을 번역 및 요약한 내용입니다. Fields anbd Methods Accessing Fields - Java는 instance field 와 static field 를 제공합니다. 그리고 JNI 함수는 calss 의 instance field와 static field 활용을 위한get/set function을 지원합니다. JNIEXPORT void JNICALL Java_InstanceFieldAccess_accessField( JNIEnv *env, jobject obj ){ jfiel.. 2012. 3. 28.
[Design Pattern/Java] 가변성을 최소화 하자. 안녕하세요 돼지왕왕돼지입니다. 오늘은 "가변성을 최소화 하자" 라는 주제로 이야기해볼까 합니다. 이 글은 "Effective Java" 의 내용을 정리한 글입니다. 불변 클래스가 필요한 이유 불변 클래스는 가변 클래스에 비해 설계와 구현 및 사용이 더 쉽습니다. 또한 에러 발생이 적으며 보안이나 사용 측면에서 더 안전합니다. Thread-safe 한 점도 빼놓을 수 없죠. 불변 클래스를 만들 때 지켜야 하는 규칙 1. 객체의 상태를 변경하는 그 어떤 메소드도 제공하지 않는다. 2. 상속( inheritance )를 할 수 없도록 하자. - class 를 final 로 선언할 수도 있고, 생성자를 private 으로 만들고, static factory 메소드를 제공할 수도 있다. 3. 모든 필드를 fina.. 2012. 3. 27.
[Android/안드로이드] 32bit machine 에서 GingerBread or ICS build 하기. 안녕하세요 돼지왕 왕돼지입니다. GingerBread 이상부터는 64bit machine 에서 build 하는 것이 default 설정이 되어 있습니다. 따라서 32bit machine 에서 build 를 하려고 한다면, 에러를 뿜어내는데요. 다음과 같이 설정해주면, 32bit machine 에서도 빌드를 할 수 있습니다. 32bit machine 에서 Android Source Build 하는 법. /build/core/main.mk 수정 -ifneq (64,$(findstring 64,$(build_arch))) +ifneq (i686,$(findstring i686,$(build_arch))) /external/clearsilver/ 안의 4개의 Android.mk 수정. /external/clea.. 2012. 3. 27.
[Android/안드로이드] 64bit Ubuntu Android ICS Source 다운받기 안녕하세요 돼지왕왕돼지입니다. 오늘은 64-bit Ubuntu 에서 안드로이드 아이스크림 샌드위치 소스를 다운받는 법을 함께 알아보고자 해요. 전~혀 어렵지 않습니다. 우선, build 까지의 과정은 다음 안드로이드 developer 사이트에서 자세히 제공하곤 있지만, 영어라 귀찮고 어렵잖아요?http://source.android.com/source/index.html 그래서 그냥 순서대로 쭈욱~ 명령어들만 나열해보았습니다.이 과정만 따라하시면 이미 아이스크림 샌드위치의 소스는 당신의 우분투 안에~ ㅋ Android ICS Source Download Java Development Kit ( JDK ) 설치하기 $ sudo add-apt-repository "deb http://archive.canon.. 2012. 3. 27.
[Android/안드로이드] Ubuntu에서 E: Package 'lib32readline5-dev' has no installation candidate. 발생시 대처 방법. 안녕하세요. 돼지왕왕돼지입니다. 안드로이드 ICS 소스코드 다운로드 중 다음과 같은 에러를 또 접하게 되었습니다. E: Package 'lib32readline5-dev' has no installation candidate 이 녀석은 package 가 변경되서 생기는 에러인데요. 원래 안드로이드 사이트에서 제공하는 다음의 update 문 대신. $ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \ libgl1-me.. 2012. 3. 26.
[3D Graphics] Z 버퍼의 Read / Write 개념 안녕하세요 돼지왕왕돼지입니다. 사이트를 헤매고 다니던 중 너무너무 괜찮은 자료를 발견하여 공유하고자 합니다. 글의 Main 제목은 "Z버퍼의 Read /Write 개념" 이지만, 글의 대부분은 "개악마 알파 블랜딩" 을 다루고 있습니다. 1. Z 버퍼의 Read / Write 개념 (1부. Z 값과 Z 버퍼) http://chulin28ho.egloos.com/5267860 2. Z 버퍼의 Read / Write 개념 (2부. 개악마 알파 블렌딩1편) http://chulin28ho.egloos.com/5268685 3. Z 버퍼의 Read / Write 개념 (3부. 개악마 알파 블렌딩2편) http://chulin28ho.egloos.com/5269434 4. Z 버퍼의 Read / Write 개념 .. 2012. 3. 26.
반응형