Skip to main content

Posts

Showing posts from July, 2013

[Gradle] Sublime Text2 Gradle Syntax

Sublime Text2 μ—μ„œλŠ” 기본적으둜 Gradle syntax κ°€ μ μš©λ˜μ–΄ μžˆμ§€ μ•Šμ•„μ„œ λ°‹λ°‹ν•΄ λ³΄μ˜€λŠ”λ°. μ—­μ‹œ μ°Ύμ•„λ³΄λ‹ˆ λˆ„κ΅°κ°€ λ‹€ ν•΄ 놨닀.. Link : https://github.com/koizuss/sublime-gradle 1. Sublime package controll μ„€μΉ˜ 2. package control (Preferences 메뉴) μ—μ„œ Add Repository 선택 ν›„, https://github.com/koizuss/sublime-gradle μž…λ ₯ 3. package control μ—μ„œ install package 선택 ν›„, subilme-gradle μž…λ ₯  μ„€μΉ˜ μ™„λ£Œ ν›„, sublime 을 재 μ‹€ν–‰ν•˜λ©΄ syntax κ°€ μ μš©λœκ²ƒ 을 확인 ν•  수 μžˆλ‹€. μ„€μΉ˜ μ „ μ„€μΉ˜ ν›„.

[Android] DialPad μžλ™μ™„μ„± κΈ°λŠ₯

Android 4.3 에 μΆ”κ°€λœ κΈ°λŠ₯ 쀑 "닀이얼 νŒ¨λ“œ μžλ™μ™„μ„±" κΈ°λŠ₯이 λž€ 것이 μžˆλ‹€. 말 κ·ΈλŒ€λ‘œ Dialpad μ—μ„œ μ „ν™”λ²ˆν˜Έ μž…λ ₯μ‹œ, ν•΄λ‹Ή 번호λ₯Ό λ¨Όμ € κ²€μƒ‰ν•΄μ„œ 화면에 λ…ΈμΆœ μ‹œν‚€λŠ” κΈ°λŠ₯이닀. 그런데 4.3 으둜 μ—…λ°μ΄νŠΈ ν–ˆμŒμ—λ„ λΆˆκ΅¬ν•˜λ„ 번호 μž…λ ₯μ‹œ μžλ™κ²€μƒ‰μ΄ 이루어지지 μ•ŠλŠ”λ‹€. 확인결과 기본적으둜 ν•΄λ‹Ή κΈ°λŠ₯이 ON 으둜 μ„ΈνŒ…λ˜μ–΄ μžˆμ§€ μ•ŠκΈ° λ•Œλ¬Έ.. ν•΄λ‹Ή κΈ°λŠ₯을 μ„€μ •ν•˜κΈ° μœ„ν•΄μ„œλŠ” dialer -> option menu(μ„€μ •) -> 톡화섀정 ν™”λ©΄μ—μ„œ "λ‹€μ΄μ–ΌνŒ¨λ“œ μžλ™μ™„μ„±" 체크. 그런데 μ•žμžλ¦¬ 수 λΆ€ν„° μ°¨λ‘€λŒ€λ‘œ μž…λ ₯ν•΄μ•Ό 검색 ν•΄ μ£ΌλŠ”κ²ƒμ€ μ’€... end.

Google Press Event 7/24/13

Sundar Pichai 와 ν•¨κ»˜ν•œ μ•„μΉ¨. Google 은 3κ°€μ§€ μƒˆλ‘œμš΄ μ œν’ˆμ— λŒ€ν•œ λ°œν‘œλ₯Ό ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 1. 2nd Nexus7 μ²«λ²ˆμ§ΈλŠ” 이미 μ†Œλ¬Έμ΄ λ¬΄μ„±ν–ˆλ˜ Nexus7 μž…λ‹ˆλ‹€. μ„±λŠ₯이 λŒ€ν­ ν–₯μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€. Nexus 7 λ°œλ§€μ™€ λ”λΆˆμ–΄ google app 듀이 μ—…λ°μ΄νŠΈ λ˜μ—ˆκ³ , Google Play Game 과의 연계성도 λ”μš± ν–₯μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 4G LTE λŠ” λ―Έκ΅­μ—λ§Œ μ œν•œμ μœΌλ‘œ μ‚¬μš©λ  κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€. 가격은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. - 16GB WIFI : $229 - 32GB WIFI : $269 - 32GB LTE : $349 μ‘°λ§Œκ°„ 발맀될 ꡭ가에 ν•œκ΅­λ„ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. (λ§Œμ„Έ!) Google Play μ—μ„œ 판맀 μ˜ˆμ •μ΄λΌκ³  ν•©λ‹ˆλ‹€. 개인적으둜 κ³ ν™”μ§ˆ λ””μŠ€ν”Œλ ˆμ΄ 와 OpenGL|ES 3.0 이 μ§€μ›λ˜λ©΄μ„œ 게이밍 κΈ°λŠ₯이 ν–₯μƒλœ 점을 κ°•μ‘°ν•˜λŠ” 것이 λˆˆμ— λ„μ˜€μŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ λ©€ν‹°λ―Έλ””μ–΄ 적인 κΈ°λŠ₯ν–₯μƒμœΌλ‘œ μΈν•œ μžμ‹ κ°μ΄ μ•„λ‹κΉŒμš”. 2. Android 4.3 λ‘λ²ˆμ§Έλ‘œ Android 4.3 에 λŒ€ν•œ μ†Œμ‹μž…λ‹ˆλ‹€. μƒˆλ‘œμš΄ κΈ°λŠ₯듀이 많이 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 4.3 APIs  λŠ” λ°”λ‘œ λ‹€μš΄ 받을 수 μžˆμŠ΅λ‹ˆλ‹€. http://developer.android.com/about/versions/jelly-bean.html 개인적으둜 λˆˆμ— λ„λŠ” APIs λŠ” ActionBar κ°€ λ“œλ””μ–΄ ν•˜μœ„λ²„μ „μ„ μ§€μ›ν•˜κΈ° μ‹œμž‘ν–ˆλ‹€λŠ” 것 μž…λ‹ˆλ‹€. new v7 appcompat library 에 μΆ”κ°€ 된 μ‚¬ν•­μœΌλ‘œ Android 2.1(API level 7) κΉŒμ§€ μ§€μ›ν•©λ‹ˆλ‹€. 이λ₯Ό μ§€μ›ν•˜κΈ°μœ„ν•΄  ActionBarActivity class κ°€ μƒˆλ‘œμ΄ μΆ”κ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 3. Chromecast μœ„ 두 μ†Œμ‹μ€ 이미 듀은 이야기가 λ§Žμ•˜μ§€λ§Œ chromecast  λŠ” μ’€ μƒμ†Œν–ˆμŠ΅λ‹ˆλ‹€. μ‰½κ²Œ μƒκ°ν•΄μ„œ Apple 의 AirPlay 와 ν‘μ‚¬ν•˜λ‹€κ³  λ³΄μ‹œλ©΄ 될 것 κ°™μŠ΅λ‹ˆλ‹€. ...

[Android Application Testing Guide] Chapter3 jar file

Android Application Testing Guide(μ—μ΄μ½˜) 3μž₯ Sample 을 μ‹€ν–‰μ‹œν‚€κΈ° μœ„ν•΄μ„œλŠ” libdummy-0.0.1.jar κ°€ ν•„μš”ν•œλ°, sample file μ—λŠ” ν”„λ‘œμ νŠΈλ§Œ μ‘΄μž¬ν•œλ‹€. κ²°κ΅­ jar λ₯Ό λ§Œλ“€μ–΄μ•Ό λ˜λŠ”λ°.. ant λΉŒλ“œλ‹€. μ–΄ν—ˆν—ˆ... jar 파일이 μ—†μœΌλ©΄ 예제 진행이 μ–΄λ €μš°λ―€λ‘œ. ant build ν•œ jar λ₯Ό 첨뢀. libdummy-0.0.1.jar download

[Cobertura] cobertura 2.0.2 script fix

cobertura 2.0.2 버전을 λ‹€μš΄λ°›κ³  μ‹€ν–‰ μ‹œν‚€λ €κ³  ν•˜λ©΄ μ—„μ²­λ‚œ μ—λŸ¬κ°€ λΏœμ–΄μ Έ λ‚˜μ˜¨λ‹€. γ…  달리 섀정을 ν‹€λ¦¬κ²Œ ν•œ 것도 μ—†λŠ”λ°.. ν•˜λ©΄μ„œ script λ₯Ό μ—΄μ–΄λ³΄λ‹ˆ μ•„λž˜μ™€ 같이 μž‘μ„±λ˜μ–΄ μžˆλ‹€. - cobertura-instrument.sh java -cp `dirname $0`/cobertura.jar:`dirname $0`/lib/asm-3.3.1.jar:`dirname $0`/lib/asm-tree-3.3.1.jar:`dirname $0`/lib/asm-commons-3.3.1.jar:`dirname $0`/lib/log4j-1.2.9.jar:`dirname $0`/lib/jakarta-oro-2.0.8.jar net.sourceforge.cobertura.instrument.Main $* - cobertura-instrument.bat java -cp "%COBERTURA_HOME%cobertura.jar;%COBERTURA_HOME%lib\asm-3.3.1.jar;%COBERTURA_HOME%lib\asm-tree-3.3.1.jar;%COBERTURA_HOME%lib\asm-commons-3.3.1.jar;%COBERTURA_HOME%lib\log4j-1.2.9.jar;%COBERTURA_HOME%lib\jakarta-oro-2.0.8.jar" net.sourceforge.cobertura.instrument.Main %CMD_LINE_ARGS% 그런데 막상 λ‹€μš΄λ°›μ€ folder ꡬ쑰λ₯Ό 보면.. cobertura-2.0.2.jar /lib     - asm-4.1.jar     - asm-commons-4.1.jar     - sam-tree-4.1.jar     - oro-2.0.8.jar .... script μ™œ μ΄λ ‡κ²Œ λ˜μžˆμ§€... κ²°κ΅­ cobertura λ₯Ό μ‹€ν–‰ μ‹œν‚€κΈ° μœ„ν•΄μ„œλŠ” script μ—μ„œ 버전 및 파일λͺ…을 λ‹€μš΄λ°›μ€ 폴더...

[Android] Butter Knife Library(1)

Android UI 개발 μ‹œ, λ°˜λ“œμ‹œ μ„ μ–Έν•΄ μ£Όμ–΄μ•Ό ν•˜λŠ” ꡬ문 쀑 ν•˜λ‚˜κ°€ λ°”λ‘œ findViewById 이닀. μ΄λŠ” View λ₯Ό μ„ μ–Έν•  λ•Œ λ°˜λ“œμ‹œ ν•„μš”ν•œ κ΅¬λ¬Έμ΄μ§€λ§Œ, 반볡적으둜 μ‚¬μš©ν•΄μ•Ό ν•˜κ³ , λ©”μ†Œλ“œκ°€ κΈΈμ–΄μ§€λŠ”μ , 특히, Adapter μ—μ„œ Holder pattern κ³Ό 같이 μ‚¬μš©ν•˜κ²Œ 되면 같은말을 λ‘λ²ˆν•΄μ•Ό ν•˜λŠ” λ²ˆκ±°λ‘œμ›€ λ§ˆμ € λŠκ»΄μ§„λ‹€. μ΅œκ·Όμ—λŠ” 이같은 반볡적인 μž‘μ—…κ³Ό UI μ„ μ–Έ λΆ€μ˜ λ…Έλ ₯을 쀄이고, μ½”λ“œμ— μ’€ 더 μ§‘μ€‘ν•˜κΈ° νŽΈν•œ Library 듀이 선보이고 μžˆλ‹€. κ·Έμ€‘μ—μ„œλ„ 눈의 λ„λŠ” Library λŠ” 단연 AndroidAnnotations κ³Ό μ§€κΈˆλΆ€ν„° 이야기 ν•  Butter Knife 이닀. AndroidAnnotations logo AndroidAnnotations 은 μ§€λ‚œ GDG mini conference μ—μ„œλ„ μ†Œκ°œλœ 적이 μžˆλ‹€. (사싀 κ·Έλ•Œ 처음 μΌμ•˜μ§€λ§Œ..) λ‹Ήμ‹œμ— Clean Code λΌλŠ” 주제둜 μ½”λ“œ λΆ„λŸ‰μ„ 쀄이고, μ‹€μ œ λ™μž‘ν•˜λŠ” λ‘œμ§μ— μ’€ 더 집쀑할 수 μžˆλ„λ‘ 도와 μ£Όμ—ˆλ‹€. 사싀 , AndroidAnnotations 이 더 λ§Žμ€ κΈ°λŠ₯을 μ œκ³΅ν•˜κ³  μžˆμ§€λ§Œ, EActivity μ‚¬μš©μ‹œ _ λ₯Ό μΆ”κ°€ν•΄μ•Ό ν•œλ‹€λŠ” 점, κ³Όκ±° intellij 에 μ μš©μ‹œ λͺ‡λͺ‡ 버그듀이 λ°œμƒ 으둜 인해 (ν˜„μž¬λŠ” 해결됬을지도.) ν”„λ‘œμ νŠΈμ— μ μš©ν•˜κΈ° 쉽지 μ•Šμ•˜λ‹€. 그러던 쀑, 졜근 κ°€μž₯ hot ν•œ Opensource λ₯Ό μ œκ³΅ν•˜κ³  μžˆλŠ” Square νŒ€μ˜ JakeWharton 이 Butter Knife λ₯Ό Release ν•˜μ˜€λ‹€. Butter Knife logo ν˜„μž¬ κ°€μž₯ μ΅œμ‹  버전은 2.0.1 이고 κ³„μ†ν•΄μ„œ κΈ°λŠ₯κ°œμ„ μ΄ 이루어 μ§€κ³  μžˆλ‹€. Butter Knife λŠ” μ•„λž˜μ™€ 같은 μž₯점을 μ§€λ‹ˆκ³  μžˆλ‹€. 1. LightWeight Size λͺ¨λ°”일 device μ—μ„œλŠ” jar ν•˜λ‚˜ μΆ”κ°€ν•˜λŠ”λ°λ„ λ§Žμ€ 고민을 ν•΄μ•Ό ν•œλ‹€. μ•ˆκ·Έλž˜λ„ λ§Žμ€ κΈ°λŠ₯듀을 μΆ”κ°€ν•΄μ•Ό 되고, library λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λŠ”λ° μ΄λ ‡κ²Œ μ½”λ“œλ₯Ό 쀄이기 μœ„ν•΄μ„œ λ§Žμ€ μš©λŸ‰μ„ ν• μ• ν•˜κΈ°λ„ μ• λ§€...

[JUnit] JUnitMatchers 변경사항. - JUnit in Action

JUnit μ—μ„œ 많이 μ‚¬μš©ν•˜λŠ” Hamcrest λΌμ΄λΈŒλŸ¬λ¦¬λŠ” ν˜„μž¬ 1.3 버전이 κ°€μž₯ μ΅œμ‹ μΈλ‹€. μ±…μ—μ„œλŠ” JUnit 4.6 을 μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— Hamcrest λ₯Ό ν¬ν•¨ν•˜κ³  μžˆμ§€λ§Œ. 4.11 λΆ€ν„°λŠ” λ³„λ„λ‘œ hamcrest-core.jar λ₯Ό λ‹€μš΄ λ°›μ•„μ•Ό ν•œλ‹€. 예제 3.18 μ—μ„œλŠ” hasItem λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ λ‹€μŒκ³Ό 같이 import λ₯Ό μ§„ν–‰ ν•œλ‹€. import static org.junit.JUnitMatchers.hasItem; 그런데 μ‹€μ œ μ½”λ“œμ—μ„œ ν•΄λ‹Ή λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜κ²Œ 되면 deprecated ν‘œμ‹œκ°€ λ‚˜νƒ€λ‚˜κ²Œ λœλ‹€. JUnit sorce code  μ—μ„œ JUnitMacthers.java λ₯Ό μ‚΄νŽ΄λ³΄λ©΄ μ•„λž˜μ™€ 같은 주석을 보게 λœλ‹€. Convenience import class: these are useful matchers for use with the assertThat method, but they are not currently included in the basic CoreMatchers class from hamcrest. λ˜ν•œ λŒ€λΆ€λΆ„μ˜ method κ°€ Deprecated λ˜μ–΄ μžˆλ‹€. κ·Έ λŒ€μ‹ , CoreMatchers 의 λ©”μ†Œλ“œ λ₯Ό μ‚¬μš©ν•˜λΌκ³  ꢌ고 ν•˜κ³  μžˆλ‹€. org.hamcrest.CoreMatchers λ₯Ό μ‚΄νŽ΄λ³΄λ©΄ JUnitMatchers κ°€ κ°€μ§€κ³  있던 λ©”μ†Œλ“œλ₯Ό λ™μΌν•˜κ²Œ κ°€μ§€κ³  μžˆλ‹€.

[JUnit] JUnit μ΅œμ‹  μ‚¬μš©μ‹œ 주의점(JUnit in Action)

μš”μ¦˜ JUnit in Action 을 톡해 JUnit 곡뢀λ₯Ό ν•΄ κ°€κ³  μžˆλ‹€. μ±…μ—μ„œ μ‚¬μš©ν•˜λŠ” 버전은 4.6, ν˜„μž¬ JUnit 의 μ΅œμ‹  버전은 4.11 이닀. 그런데.. λ‹€μš΄λ°›μ•„μ„œ μ‹€ν–‰ν•΄ 보면 μ—¬λŸ¬ μ—λŸ¬κ°€ λ°œμƒν•˜κ²Œ λœλ‹€. 특히 chp3 μ—μ„œλŠ” Hamcrest λ₯Ό μ‚¬μš©ν•˜κ²Œ λ˜λŠ”λ° μ΅œμ‹ λ²„μ „(4.11) μ—μ„œλŠ” Hamcrest κ°€ ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠκΈ° λ•Œλ¬Έμ— λ³„λ„λ‘œ λ°›μ•„μ„œ 같이 μ‹€ν–‰ ν•΄μ•Ό ν•œλ‹€. λ”°λΌμ„œ νŽΈν•˜κ²Œ μ±… λ‚΄μš©μ„ μ§„ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ” 4.6을, κ·Έλ‚˜λ§ˆ μ’€ 더 μ΅œμ‹  버전을 μ“°κΈ° μœ„ν•΄μ„œλŠ” 4.10 을 (4.10 κΉŒμ§€λŠ” Hamcrest 포함). μ•„λ‹ˆλ©΄ μ•„μ˜ˆ 이클립슀둜 μž‘μ—…ν•΄μ„œ JUnit 을 μ„€μ •ν•΄ μ£Όλ©΄, 4.11 버전에 Hamcrest λ₯Ό λͺ¨λ‘ ν¬ν•¨ν•΄μ„œ μ‹€ν–‰μ‹œμΌœ μ€€λ‹€.

[Maven] Maven Javadoc Encoding Problem

μ†ŒμŠ€λ„ utf-8 둜 μ„€μ •ν•˜κ³ , maven μ½”λ“œμ— μ•„λž˜μ™€ 같이 reporting μ—μ„œ encoding κ΄€λ ¨ μ½”λ“œλ₯Ό μΆ”κ°€ ν•˜λ”λΌλ„, build μ‹œ, 주석 λΆ€λΆ„μ—μ„œ ν•œκΈ€ κΉ¨μ§ν˜„μƒμ΄ μ—¬μ „νžˆ λ°œμƒν•˜λ©΄μ„œ build κ°€ 이루어 μ§€μ§€ μ•ŠλŠ”λ‹€. <reporting>     <plugins>       <plugin>         <groupId>org.apche.maven.plugins</groupId>         <artifactId>maven-javadoc-plugin</artifactId>         <configuration>           <local>ko_KR</local>           <encoding>UTF-8</encoding>           <charset>UTF-8</charset>           <docencoding>UTF-8</docencoding>         </configuration>       </plugin>  ...