ASH84
Software Engineer focused on turning complexity into simplicity. Co-founder at Payhere. Previously Tech Lead of remit team at Banksalad.
Experience
- Head of tech Payhere.Inc, 2024โpresent
- CTO Payhere.Inc, 2020โ2023
- TechLead, Banksalad, 2018โ2020
- Senior Software Engineer Danal, 2014โ2018
Latest Blog Posts
-
Jun 26, 2013(maven) jar-dependency ๋ณต์ฌํ๊ธฐํ์์ ๊ฒฝ์ฐ ์๋ฐ ์๋ฒ์ชฝ์์ java -jar ๋ก ๋ง๋ jar ํ์ผ์ ๋ง๋๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ ๊ทธ๋์ maven ์ผ๋ก ์ฐ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ชจ๋ ๊ฐ์ง๊ณ ์์ด์ผ ์ ๋๋ก ๊ตฌ๋์ด ๋๋ค. ๋๋ฌธ์ pom.xml ์ ๋ค์์ ๋ถ๋ถ์ ์ถ๊ฐํด์ jar ๋ฅผ ๋ง๋ค๊ณ target/lib ์ ์ฐ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ฐฐ์น(๋ณต์ฌ) ํ๋๋ก ํด์ผ ํ๋ค.ย ...
-
May 29, 2013(Java) Thread, Runnable ์ฝ๋ฐฑํจ์์ต๊ทผ์ [์๋ฐ ๋คํธ์ํฌ ๊ด๋ จ ์ฑ ](http://book.naver.com/bookdb/book_detail.nhn?bid=1583597)์ ๋ณด๊ณ ์๋๋ฐ(์กฐ๊ธ ์๋ ์ฑ ) ์ค๋ ๋์ ๊ด๋ จ๋ ๋ด์ฉ์ด ๋์์ ์ ๋ฆฌํ๋ค. [์ด์ ์ ExcutorService ์ ๋ํด์ ์ผ์๋](http://ash84.tistory.com/933)๋ Runnable ์ run()ํจ์๊ฐ void ํ์ ๋ฆฌํดํ๋๋ก ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐ์์ ์๋ค๊ณ ์ค๋ช ํ์๋๋ฐ, ์ด ์ฑ ์์๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ด์ฉํด์ ๊ฐ ์ค๋ ๋...
-
May 28, 2013(Java) RSS ํ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ROME...
-
Mar 09, 2013(espressoOtr) Canister/Shelfer ์๊ฐ...
-
Mar 07, 2013(espressoOtr) DateTime wrapping ์์๊ฐ์ธ์ ์ผ๋ก ์ฌ๋ฌ๊ฐ์ง ๋ฐ์ดํฐ ํ์ด ์๊ฒ ์ง๋ง ๊ฐ์ฅ ์ฐ๊ธฐ ๋ถํธํ๊ณ ์ง์ฆ๋๋ ํ์ ๋จ์ฐ ๋ ์ง์ ์๊ฐ์ ๋ํ ๋ฐ์ดํฐ ํ์์ธ Date(Java ๊ธฐ์ค, ๋ค๋ฅธ ์ธ์ด๋ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค.)ย ์ผ๊ฒ์ด๋ค. wrapping ์์ ์ ํ๋ ์ด์ ๋ ์ฌ์ค ์ฐ๋ฆฌ๊ฐ ๋ ์ง ์ ์๊ฐ ๊ด๋ จ ์์ ์ ํ ๋ ํ๋ ์์ ์ด ๊ทธ๋ฆฌ ๋ค์ํ์ง ์๋ค๋ ๊ฐ์ ์์ ์ถ๋ฐํ๋ค. ์ค์ ๋ก ๋ด๊ฐ ๊ฐ์ฅ ํ์ํ๋...
-
Mar 05, 2013(espressoOtr) jericho parser๋ฅผ ์ด์ฉํ HTMLExtractorHTML ํ์ฑ์ ์ด์ ์ด๋ค ์๋น์ค์ ์ฐ๋ํ ๋ ํ์์ ์ธ ๋ถ๋ถ์ด ๋์๋ค. ๊ทธ๋์ ์ฝ๊ฒ ์ธ์ ์๊ฒ ํด๋์คํ ํด๋๋ฉด ์ข์๊ฒ ๊ฐ์์ ๊ฐ์ธ์ ์ผ๋ก ๋ง๋ค๊ณ ์๋ [espressoOtr](https://github.com/AhnSeongHyun/espressoOtr) ์ด๋ผ๋ ์๋ฐ ๋ผ์ด๋ธ๋ฒ๋ฆฌ์ย jericho parser ๋ฅผ ์ด์ฉํด์ HTMLExtractor ํด๋์ค๋ฅผ ๋ง๋ค์๋ค.ย jericho ํ์๋ ์๋ฐ๊ธฐ๋ฐ html parser ์ธ๋ฐ ์ฝ๊ฒ ์ธ์ ์๋๋ก ๋์ด ์๋ค. [espressoOtr](htt...
-
Mar 05, 2013(JSP) ๊ฐ๋จ OpenAPI ๋ง๋ค๊ธฐ์ฑ ์์ ์ ํ๋ค ๋ณด๋ฉด ์๋ฒ์์ ํด์ฃผ์์ผ๋ฉด ํ๋ ์์ ๋ค์ด ์๋ค. ํนํ ์์ดํฐ ์ฑ์ ๊ฒฝ์ฐ ์ ํ ์ฌ์ฌ๊ฐ ์ต์ ์ผ์ฃผ์ผ์ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ํ์ฑํ๋ ๋ถ๋ถ์ด๋ ์ฐ๋ํ๋ ์ธ๋ถ API๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ ์์ดํฐ ์ฑ๋ด์์ ํด๋น ์ฝ๋๊ฐ ์์ผ๋ฉด ๋ณ๊ฒฝ์ ํ๋๋ผ๋ ์ฌ์ฉ์๊ฐ ๋ค์ ๋ณธ๋์ ๊ธฐ๋ฅ์ ์ฐ๋ ค๋ฉด ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค.ย **๋ด๊ฐ ์ํ๋๊ฑด ๋จ ํ๊ฐ์ง์๋ค. HTTP GET ๋ฐฉ์์ผ๋ก ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ฉด ๊ทธ์ ๋ฐ๋ฅธ ์๋ต์ JSON ํ...
-
Mar 02, 2013[ํ๊ธฐ] ์ 13ํ JCO๋ฅผ ๋ค๋ ์์์๋ฐ ๊ฐ๋ฐ์๋ JCO๋ฅผ ๋ค๋ ์์ผ ํ๋๊ฐ? ํ๋ ๋ฌผ์์ ๊ฐ์ง๊ณ ์์๋ค. ์๋ ์ ๋๋ ์ ์ ์๋ฐ ๊ฐ๋ฐ์๊ฐ ์๋์๊ธฐ ๋๋ฌธ์ JCO ๋ฅผ ๊ฐ๋ ๋๋ฃ๋ค์ ๋ฐ๋ผ๋ณด๋ฉด์ ๊ตณ์ด ๊ฐ ํ์๊ฐ ์์๊น ํ๋ ์๊ฐ์ ๊ฐ์ง๊ณ ์์๋ค. Deview ์๋ ๋ค๋ฅด๊ณ ๊ฐ์ธ์ ์ผ๋ก ์๋ฐ๋ผ๋ ์ธ์ด๋ ์ด๋์ ๋ ์์ฑ๋ ์ธ์ด๋ผ๋ ๋๋์ด ๋ค์๋ค. ๋ ์๋ก์ธ๊ฒ ์์๊น ํ๋ ๋๋? ๊ทธ๋ ์ง๋ง ์ฌํด ๋ด๊ฐ ์ฒ์ ์ฐธ๊ฐํ JCO์ ๋๋๊ณผ ๋ด์ฉ์ ์ฐ๋ ค๊ณ ํ๋ค. ์ง๊ทนํ. ์ฃผ๊ด์ ์ธ ์๋ฐ ์ด๋ณด ๊ฐ๋ฐ์์ JCO ํ๊ธฐ๋ผ๋ ์ ์ ์์ง๋ง์๊ธธ.ย ...
-
Feb 18, 2013(Java) mybatis ๊ธฐ๋ณธ ์ฌ์ฉ ์ ๋ฆฌ...
-
Feb 15, 2013(Java) ExecutorService, Thread ๋ฅผ ์ด์ฉํ ์ค๋ ๋ ์ฌ์ฉ์๋ฐ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ฉด์ ์ค๋ ๋๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ ํธ์ธ๋ฐ, ์๋ฌด๋๋ ์๋๊ฐ ์๋์ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ง์ด ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์์ ๋ณ๋ ฌ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ๋ก ์๊ฐํ ์ ์๋ ์ฒ๋ฆฌ์๋์ ํฅ์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํ ์ ์๊ฒ ๋ค. **Thread ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ExecutorService๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ํ์๋ ์ฃผ๋ก ๊ฐ๊ฐ ๋ค๋ฅธ ์์ ์ ๋ณ๋ ฌ๋ก ํด์ผํ๋ย ๊ฒฝ์ฐ์๋ Thread-Runnable ์กฐํฉ์ ์ด์ฉํ๊ณ , ๊ฐ์ ์์ ์ ์ฌ๋ฌ๊ฐ๋ก ๋๋ ์ ์ฒ๋ฆฌํ ๋ค ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์์ ์ ๋ ฌ, ์ฒ๋ฆฌ ๋ฑ์ ํ๋ ์์ ์ ๊ฒฝ์ฐ ExecutorService-Callab...
-
Feb 08, 2013(Java) ์ฑ๊ธํค + Map์ ์ด์ฉํ ๊ฐ์ฒด๊ด๋ฆฌ....
-
Feb 06, 2013(Java) ์์ ์ธํฐํ์ด์ค ํจํด...
-
Jan 12, 2013[Java] StringAppender, StringBuilder ์งญ....
-
Jan 07, 2013[Java] HashSet ์ ํํค์ณ๋ณด์.HashSet์ Set ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค๋ก ๋ด๋ถ์ ์ผ๋กย HashMap ์ธ์คํด์ค์ ์ง์์ ๋ฐ๋๋ค. [GrepCode](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/String.java)์ ๊ฐ์ HashSet์ ์ฐพ์๋ณด์.ย ์์ ๊ฐ์ด HashSet์ ๋ด๋ถ์ ์ผ๋ก HashMap์ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋๋ถ...
-
Jan 04, 2013[Java] Set ์ธํฐํ์ด์ค, ๊ฐ๋ต ์ ๋ฆฌ.Set ์ธํฐํ์ด์ค์ ๋ํด์ ์์๋ณด์.ย Collection ์ ์ผ๋ถ์ธ๋ฐย ์ค๋ณต๋๋ element๋ฅผ ํฌํจํ์ง ์๋๊ฒ์ด ๊ฐ์ฅ ํฐ ํน์ง์ด๋ฉฐ, Java Doc ์์๋ โ์ํ์ ์ผ๋ก ๋งํด์ ์งํฉ์ ์๋ฏธํ๋คโ ๋ผ๊ณ ์ค๋ช ํ๊ณ ์๋ค.ย Set ์ธํฐํ์ด์ค๋ Collection ๋ฅผ ์์ ๋ฐ์์ ๋ง๋ค์ด์ง ์ธํฐํ์ด์ค์ด๋ค.ย ๋๋ฌธ์ ๋๋ถ๋ถ์ ํจ์๋ค์ด Collection ์์ ์ ๊ณตํ๋ ํจ์๋ค๊ณผ ๋์ผํ๋ค. **List ์ Map ๊ทธ๋ฆฌ๊ณ Set์ ์ฐจ์ด์ ** List ์ Set์ Collection Interface๋ฅผ ๊ตฌํํ๋ค๋ ์ ์์ ๋น์ทํ๋ค๊ณ ํ ์ ์๋ค. ๊ทธ๋ฌ๋...
-
Jan 03, 2013[Java] PriorityQueue(์ฐ์ ์์ํ)๋ฅผ ์์๋ณด์.์ผ๋ฐ์ ์ธ ํ(Queue)๋ ์ ์ ์ ์ถ(FIFO)์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค๋ ๊ฒ์ ๋ค๋ค ์์๊ณ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐ๋๋ค. ๊ทธ๋ ๋ค๋ฉดย PriorityQueue ๋ ์ผ๋ฐ์ ์ธ ํ์ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น? PriorityQueue๋ ๋ด๋ถ์ ์ผ๋ก Natural Ordering ์ ๋ฐ๋ผ์ ์ ๋ ฌํ๋ ํ์ด๋ค. ๊ทธ๋์ ๋ค์์ ์ฝ๋๋ฅผ ํ ์คํธ ํด๋ณด๋ฉด ๋น์ฐํ 10์ด๋ผ๋ ์ซ์๊ฐ ๋์์ผ ํ๋๋ฐ, ์ค์ ๋ก๋ 1์ด๋ผ๋ ์ซ์๊ฐ ๋์ค๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.ย ๋ ๋ค๋ฅธ ์๋ฅผ ๋ณด์...
-
Dec 27, 2012[Java] Vector์ ๋ํด์.vector๋ย ์ฆ๊ฐ ๊ฐ๋ฅํ ๊ฐ์ฒด์ ๋ฐฐ์ดํํ( a growable array of objects)๋ผ๊ณ ์๋ฐ๋ฌธ์์์ ์ค๋ช ํ๊ณ ์๋ค. ArrayList์ ๋ค๋ฅธ ์ ์ capacity์ capacityIncrement ๋ฅผ ๊ด๋ฆฌํจ์ผ๋ก์จ ์ ์ฅ์ฉ๋ ์ต์ ํ๋ฅผ ์๋ํ๋ค๋ ์ ์ด๋ค. capacity๋ vector์ ์ฉ๋์ธ๋ฐ ๊ฐ๋ฐ์๊ฐ ์ง์ ํ ์ ์๋ค.ย capacityIncrementย ์ capacity๊ฐ ์ฆ๊ฐํ๋ ๋จ์์ด๋ฉฐ, ์ด๊ธฐ ์์ฑ์ capacity๋ 10์ผ๋ก ์ง์ ๋์ด ์๋ค. capacity๊ฐ ์ ๋ vector ๋ด ๋ค์ด๊ฐ์๋ component์ ...
-
Dec 27, 2012[Java] LinkedList, ArrayList์ ๋ญ๊ฐ ๋ค๋ฅธ๊ฐ.ํด๋ฆฐ์ฝ๋๋ฑ์ ์ฑ ์ ๋ณด๋ฉด์,ย ์ธํฐํ์ด์ค์ ๋ง์ถฐ์ ํ๋ก๊ทธ๋๋ฐ ํ๋ผ๋ ์ด์ผ๊ธฐ๋ฅผ ๋ง์ด ๋ค์๊ณ , C#์ ArrayList๊ฐ ์ต์ํด์ ๊ทธ๋ฐ์ง ์ฃผ๋ก ์๋ฐ์์ ์ฌ์ฉํ๋ Collection์ค ํ๋๊ฐ ์๋์ ๊ฐ์ List ์ด๋ค.ย ...
-
Dec 27, 2012[Java] Collection Hierarchy์ถ์ฒ :ย [http://ajaypinnaka.blogspot.kr/2011/01/java-collection-hierarchy.html](http://ajaypinnaka.blogspot.kr/2011/01/java-collection-hierarchy.html) ์ผ๋จ ์ถ์ฒ๋ฅผ ๋ฐํ๊ณ ์์ํ๋๋ฐ, Collection ์ธํฐํ์ด์ค์ ๋ํด์ ํ๋์...
-
Dec 24, 2012[Java] List ๋ถ๋ฐฐํ๊ธฐ, distributeListToSameCapacity()์์ ํฌ์คํธ์์๋ [ํ๋์ ๋ฆฌ์คํธ์ ๋ํด์ n ๊ฐ์ subList๋ก ๋ถ๋ฐฐํ๋ distributeListToSubList()](http://ash84.tistory.com/874) ํจ์๋ฅผ ์๊ฐํ๋๋ฐ, ์ด๋ฒ์ ์๊ฐํ ํจ์๋ ํ๋์ ๋ฆฌ์คํธ๋ฅผ n๊ฐ์ ๋์ผํ ์์ดํ ๊ฐ์๋ฅผ ๊ฐ์ง๋ subList๋ก ๋ถ๋ฐฐํ๋ ํจ์์ด๋ค. ์ฐจ์ด์ ์ย distributeListToSubList() ํจ์๋ ํต์ ํ๋ ๋ถ๋ถ์ด subList ์ ๊ฐ์์ธ ๋ฐ๋ฉด์,ย ย distributeListToSameCapacity() ํจ...
-
Dec 24, 2012[Java] List ๋ถ๋ฐฐํ๊ธฐ, distributeListToSubList()๊ฐ์ธ์ ์ผ๋ก ํ์ํ ๊ฒ ๊ฐ์๋ฐ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋๋ ์์ ์ ํ๊ณ ์๋๋ฐ ์ด๋ฆ์ espressoOtr ์ด๋ผ๊ณ ์ง์๋ค. (github์ ์์ง์ ๋ฏธ๊ณต๊ฐ์ํ.)ย ๋ญ ์ด๋ฆ์ ๋ด ๋ง์๋๋ก๋๊น ๊ฑฐ๋์ ๋ฏธํ๊ณ , ์ง์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ง๋ง, ์ต๊ทผ์ ๋ง๋ ๊ฒ์ ํ๋ ๊ณต๊ฐํ๋ ค๊ณ ํ๋ค. ๋๋จํ๊ฑด ์ ๋ ์๋๊ณ , ๋๊ตฐ๊ฐ ์ด๋ฏธ ๋ง๋ค์ด ์ฐ๊ณ ์์์ง๋ ๋ชจ๋ฅด์ง๋ง.ย ํ๋์ ๋ฆฌ์คํธ๋ฅผ n ๊ฐ์ ๋ฆฌ์คํธ๋ก ๋ถํ ํ๋ ํจ์์ด๋ค.ย distributeLis...
-
Dec 18, 2012[maven] ๊ธฐ๋ณธ ์ค์น ๋ฐ ๋ฉ์ด๋ธ ํ๋ก์ ํธ ๋ง๋ค๊ธฐmaven์ ๋ํด์ ํฌ์คํ ํ๋ ์ด์ ๋ Java ์ ๋น๋์ ๋ํด์ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ง๋ง, ๊ฐ์ฅ jar์ ๋ํ ๊ด๋ฆฌ๊ฐ ์ ๋๊ธฐ ๋๋ฌธ์ด๋ผ๋ ์๊ฐ์์์๋ค.ย ๋ณธ ๊ธ์ ์ดํด๋ฆฝ์ค Juno ๋ฒ์ ์ด ์ค์น๋์ด ์๋ค๋ ๊ฐ์ ํ์ ์งํํ๋๋ก ํ๊ฒ ๋ค. ๊ธฐ์กด์ ์ดํด๋ฆฝ์ค๊ฐ ์์ผ์ ๋ถ๋ค์ด๋ผ๋ฉด Juno ๋ฒ์ ์ ๋ฐ๋ก ๋ค์ด ๋ฐ์์ ํด๋ณด์๊ธธ ๋ฐ๋๋ค.ย **1. ๋ง์ผํ๋ ์ด์ค์์ ๋ค์ด ๋ฐ๊ธฐย ** ![](http://ash84.ne...
-
Dec 12, 2012[JAVA] ์๋ธํด๋์ฑ์ ๋ง๋ ๋ฐฉ๋ฒ์๋ธํด๋์ฑ(subclassing)์ ๋ง๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ **1. class์ final ํค์๋๋ก ๋๊ธฐ** โ ๋ค์๊ณผ ๊ฐ์ด public final class ๋ก ๋๊ฒ ๋๋ฉด, extends๊ฐ ๋์ง ์๋๋ค.ย **2. ๋ชจ๋ ์์ฑ์๋ฅผ private ๋ก ๋๊ณ publi...
-
Dec 07, 2012[JAVA] slf4j-log4j ๊ฐ๋จ ์ธํ ํ๊ธฐ.๊ฐ์ธ์ ์ผ๋ก log4j ์ธํ ์ ๊ทธ๋ฆฌ ์ข์ํ์ง ์๊ณ , logger ๋ผ๋๊ฒ ์์ฒด๊ฐ ์ข ์ซ์ดํ๋๋ฐ ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ๊ณ ์ฌ์ค์ ํ์ฌ์์ ์๋ฐ ํ๋ก์ ํธ๋ฅผ ํ๋ ค๋ฉด ์ ์ธ์๊ฐ ์๋ค. ๋๋ฌธ์ ๊ฐ๋ตํ๊ฒ ๋๋ง ์ ๋ฆฌ๋ฅผ ํ๋ค. slf4j๋ฅผ log4j๋ณด๋ค ์ ํธํ๋ ์ด์ ๋ ๊ฐ์ ์ฐพ์๋ณด๊ธธ ๋ฐ๋๋ค. ([๋งํฌ](https://www.google.com/search?q=slf4j%EB%A5%BC+%EC%82%AC%EC%9A%A...
-
Dec 05, 2012[JAVA] getUnicodeFromString, ๋ฌธ์์์ ์ ๋์ฝ๋ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ์ ๋์ฝ๋๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ค ๊ฒฝ์ฐ์๋ ๋ฌธ์ ๋์ ์ ์ ๋์ฝ๋ ์์ฒด๊ฐ์ ์ฌ์ ๊ฐ์ ๊ณณ์ ๋ฃ์ด ์ฃผ๋ ๊ณณ์ด ์๋ค. ์ฌ์ค์ ๊ทธ๋ฆฌ ์ ํธ ํ์ง ์๋ ๊ฒฝ์ฐ์ธ๋ฐ ์ด์ ์ธ์ฆ, ํด๋น ๋ฌธ์๋ฅผ ๋ณ๋๋ก ๋์ผ๋ก ํ์ธํด์ผ ํ ํ์์ฑ์ด ์๋๊ฒฝ์ฐ, ๋ถํธํ๋ค. ๋๋ถ๋ถ ์ด๋ฐ ๊ฒฝ์ฐ, unicodinator ๋ฅผ ์ด์ฉํ๋ค. ์๋ฐ์์ ์ด๋ค ๋ฌธ์์ ๋ํ ์ ๋์ฝ๋ ๊ฐ์ ๊ฐ์ ธ์ค๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.ย ...
-
Nov 29, 2012[JAVA] C๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ฐ ์ฝ๋ฉ ์คํ์ผ ํ์ผ[](http://ash84.net/wp-content/uploads/1/cfile27.uf.1231724F50B7509137A4BA.xml)cfile27.uf.1231724F50B7509137A4BA.xml ...
-
Nov 29, 2012[JAVA] private ์์ฑ์์ ์ฌ์ฉ์ ๋ํด์.ํ์๋ ๋ฐ์ดํฐ ํด๋์ค๋ผ๋ ๊ฒ์ ๋ง์ด ๋ง๋ค์ด์ฐ๋ ํธ์ธ๋ค. List๋ Hashtable ์ ๋ณ์์ ์ด๋ฆ์ ์ฃผ๋ ๊ฒ ๋ณด๋ค ํด๋์ค์ ๋ฉค๋ฒ์ ์ด๋ฆ์ ์ค์ผ๋ก์จ ์ข ๋ย ์๋ฏธ๋ฅผ ๋ช ํํ๊ฒ ํํํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ฃผ ์ฌ์ฉํ๋ ํธ์ด๋ค.ย ๋ฐ์ดํฐ ํด๋์ค๋ค์ ๊ฒฝ์ฐ ์ฌ์ค์ ํด๋์ค์์ ํ๋์ด๋ผ๊ณ ํ๋๊ฒ set, get ๊ณผ ๊ฐ์ ์ ๋์ ๊ฒ ๋ฐ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ค์์...
-
Nov 27, 2012[JAVA] ์ฝ๊ฐ์ ๋ฏ์ค์ ๊ฐ๋ณ์ธ์ ์ฌ์ฉ๋ฒ.๊ฐ์ธ์ ์ผ๋ก ๊ฐ๋ณ์ธ์ ์ฌ์ฉ์ ๊ทธ๋ฆฌ ์ถ์ฒํ์ง๋ ์์ง๋ง, ์ด์ฉ์ ์์ด ์ฌ์ฉํ ๋๊ฐ ์๋ค. List๋ Hashtable์ ์ฌ์ฉํ๋๊ฒ๋ ํ๋์ ๋ฐฉ๋ฒ์ด๊ฒ ์ง๋ง, ๊ฐ๋จํ๊ฒ๋ ๊ฐ๋ณ์ธ์๋ฅผ ํ์ฉํ๋๊ฒ๋ ์ข์ ์๋ผ๋ ์๊ฐ์ด ๋ ๋ค.ย ...
-
Nov 26, 2012[Java] HashMap์ ๋ํ ์ ๋ฆฌ.๋ญ, ๋ค๋ค ์๋ ์ฌ์ค์ด๊ฒ ์ง๋ง, HashMap์ ๋ํด์ ํ๋ฒ ๋ ์ ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค. ํ์๋ Hashtable์ ๋ง์ด ์ฐ๊ธด ํ๋๋ฐ HashMap์ ๋ํด์ ์ ๋ฆฌ๋ฅผ ํ๋ ์ด์ ๋ ๋จ์ฐ **์ฑ๋ฅ**๋๋ฌธ์ด๋ค. ์ค์ผ์ผ ์์๋ ์ข์ง๋ง, ์ผ์ ์์ค์ด์์ ์ฑ๋ฅ ์ต์ ํ ์์ ์ ๋ ํ์ํ๊ธฐ ๋ง๋ จ์ด๊ธฐ ๋๋ฌธ์ด๋ค.ย **HashMapย ** โ ์ผ๋จ ๋๋ค key-va...
-
Nov 22, 2012[JAVA] Comparable ์ธํฐํ์ด์ค ๊ตฌํํ์๋ Comparable ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํด์ compareTo ํจ์๋ฅผ ๊ตฌํํ๋ ๊ฒ ๋ณด๋ค๋ ์ฌ์ค Comparator ๋ฅผ ์ด์ฉํด์ ์ ๋ ฌ์ ํ์ฉํ๋ ์ผ์ด์ค๋ฅผ ์์ฃผ ์ฌ์ฉํ์๋ค. (๋ฌผ๋ก ๊ทธ ์์์ ์ด๋ฏธ ๊ตฌํ๋์ด ์๋ ๊ธฐ๋ณธ ํด๋์ค์ compareTo()๋ฅผ ์ฌ์ฉํ๋ค.) ์ฌ๊ธฐ์๋,** Effective Java**ย ํญ๋ชฉ12๋ฒ์ Comparable ์ธํฐํ์ด์ค์ ๊ตฌํ์ ๊ณ ๋ คํ์ ๋ผ๋ ๋ถ๋ถ์ ๋ํด์ ์์ฝํด์ ์ ๋ฆฌํ๊ณ , Watch ํด๋์ค๋ฅผ ํตํด์ ์๊ณ๋ฅผ ๋น๊ตํ๋ compareTo() ํจ์๋ฅผ ๊ตฌ...
-
Nov 05, 2012[JAVA] FileReaderManager, FileWriterManager ์ฝ๊ฒ ์ฝ๊ณ ์ฐ์.์๋ฐ์์ ํ์ผ ์ฝ๊ณ ์ฐ๋ ๋ถ๋ถ์ ๋ํ ์ ๋ฆฌ์ฐจ์์์ ์ด๋ค. ๊ฐ์ธ์ ์ผ๋ก ์์ฃผ ์ฐ๋ FileReaderManager, FileWriterManager ํด๋์ค๋ฅผ ์ฌ๋ฆฐ๋ค. ์ ํธ๋ฆฌํฐ ํด๋์ค(static ย ํจ์)๋ก ์ค์ํ ๋ถ๋ถ์ ํ์ฌ JVM ์ธ์ฝ๋ฉ์ ๊ฐ์ ธ์์ ์ฝ๊ณ ์ฐ๊ณ ํ๋ ๋ถ๋ถ์ด๋ค. [์ด์ ํฌ์คํ ](http://ash84.tistory.com/783)์์๋ ์ธ๊ธํ์ง๋ง findbug ํ๋ฌ๊ทธ์ธ์ ํตํด์ ๊ฑธ๋ฌ์ง๋ ๋ถ๋ถ์ด๊ธฐ๋ ํ๊ฑฐ๋์ ์ธ์ฝ๋ฉ ๋ฌธ์ ๋ ๋ฏธ๋ฆฌ ์ฒ๋ฆฌํด์ฃผ๋๊ฒ ๋ฌธ์์ด ๊ด๋ จ ์ฒ๋ฆฌ๋ฅผ ํ ๋ ...
-
Nov 05, 2012[JAVA] correctDirectoryPath(), ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก ํ๋ฒ๋ ๊ฒ์ฌํ๊ธฐ.๊ฐํน ๋๋ ํ ๋ฆฌ ์์ ์ฌ๋ฌ๊ฐ์ง ํ์ผ์ ๋ํด์ ์ ๊ทผํด์ผ ํ ๋, ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ๋ฐ์๋๊ฐ ์๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง๊ณ ๋ญ๊ฐ ์์ ์ ํ ๋ ๋จธ๋ฆฌ์์ ๋ ๋จ๋๊ฒ ์ค ํ๋๊ฐ ๋ฐ๋ก ์ฌ์ฉ์์ ์ ๋ ฅ ํํ์ด๋ค. ์ฆ, ์ฌ์ฉ์๋ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ ์ ์๋ค.ย ...
-
Nov 01, 2012[JAVA] @Override eqauls() ํจ์**** **Effective Java**ย ์ ๋์ค๋ ๋ด์ฉ์ค **[ํญ๋ชฉ8]** ๋ฒ์ ํด๋นํ๋ ๋ด์ฉ์ธ๋ฐ equals() ย ๋ฉ์๋์ ์ค๋ฒ๋ผ์ด๋์ ๋ํ ๋ด์ฉ์ด ์ ๋ฆฌ๋์ด ์๋ค. ์์ฝํ์๋ฉด, ๊ธฐ๋ณธํ(primitive) ํ์ ์ == ์ ์ด์ฉํด์ ๊ฒ์ฌํ๊ณ , ํด๋์ค ํ์ ์๋ฐ์์ ์ ๊ณตํ๋ ๊ฒ์ด๋ผ๋ฉด, equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธฐ๋ณธํ ์ค์์ double, float ํ์**[Double.Compare...
-
Oct 22, 2012[JAVA] ์๋ฐ์์ ์ฑ๊ธํด ํจํด์ ๊ตฌํํ๋ ์ธ ๊ฐ์ง ๋ฐฉ์๋ค.์ํฐํจํด์์๋ ๋ถ๊ตฌํ๊ณ , ์์ฃผ ์ฐ๊ฒ ๋๋ ํจํด์ค ํ๋๊ฐ ์ฑ๊ธํด ํจํด์ธ๋ฐ, ๋ฉํฐ์ค๋ ๋์ ์ทจ์ฝํ๋ค๋ ๋ฌธ์ ์ ์ ๊ฐ์ง๊ณ ์์ผ๋ฉด์๋ ์ ํ๋ ๋ฐ์ดํฐ๋ ํ์ฌ ๋ฐ์ดํฐ๋ง์ ํํํ ๋ ์ข์๊ฒ ๊ฐ๋ค. ์ด์ ํฌ์คํ ์์๋ [H](http://ash84.tistory.com/762) [ashtable ์ ์ด์ฉํ ๋ก์ปฌ ์บ์ฌ ์์ค](http://ash84.tistory.com/762)์์๋ ์ฑ๊ธํด์ ์ผ๋๋ฐ ์ด๋ฒ์ ์ดํํฐ๋ธ ์๋ฐ๋ฅผ ์ฝ์ผ๋ฉด์ ์ฑ๊ธํค์ ๋ํ ์ด์ผ๊ธฐ๊ฐ ๋์์ ์ ๋ฆฌํ๊ณ ์ ํ๋ค.ย ...
-
Aug 23, 2012[JAVA] FilenameFilter ๋ฅผ ์ด์ฉํ ํน์ ํ์ฅ์ ํ์ผ๋ฆฌ์คํธ ๊ฐ์ ธ์ค๊ธฐํ์ผ์ฒ๋ฆฌ ๊ด๋ จ ๋ถ๋ถ์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ถ๋ถ์ด ๋ฐ๋ก ๋๋ ํ ๋ฆฌ์์ ํ์ผ๋ฆฌ์คํธ๋ฅผ ์ฝ์ด์ค๋ ๋ถ๋ถ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐํน ์์น ์๋ ํ์ผ์ ์ฝ์ด์ค๊ณ ํด๋น ํ์ผ์ ์ ๊ทผํ๊ฑฐ๋ ํ์ฑํ๋ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ์๊ธธ ์๊ฐ ์๋ค. ๋๋ฌธ์ ์ ํด์ง ํ์ฅ์๋ง ์ฝ์ด์ค๋ ๋ถ๋ถ์ด ํ์ํ๋ฐ, JAVA ์์๋ ์ด๋ฅผ ์ํด์ FilenameFilter ๋ผ๋ ๊ฒ์ ์ ๊ณตํ๋ค.ย ...
-
Aug 16, 2012[JAVA]ํ์ฌ ์ธ์ฝ๋ฉ ์ถ๋ ฅํ๊ธฐ์๋ฐ๋ JVM ์ธํ ์ ํตํด์(์ดํด๋ฆฝ์ค๋ฅผ ํตํด์๋ ๊ฐ๋ฅ) ์ธ์ฝ๋ฉ์ ๋ณ๊ฒฝํ ์ ์๋๋ฐ, ์ฌ์ฉ์๊ฐ JAR๋ฅผ ์คํ์ํฌ๋, JVM ์ธํ ์ ๋ฐ๋ผ์ ์ธ์ฝ๋ฉ์ ๋ค๋ฅด๊ฒ ์ค ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ทธ๋ด๋, ํ๋ก๊ทธ๋จ ๋ด์์ ํ์ฌ ์ธ์ฝ๋ฉ์ ๊ฐ์ ธ์์ ์ฌ์ฉํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ธ์ฝ๋ฉ์ ๊ฐ์ ธ์ค๋ฉด ๋๋ค.ย ...
-
Jan 15, 2012[JAVA] ๋จ์ํ ์คํธ๋ฅผ ๋ณด๋ค ์ฝ๊ฒ, JUnit ์ ์ฌ์ฉํ์.๋จ์ ํ ์คํธ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํด์ผ ํ ๊น์ ๋ํด์ ์๊ฐํด ๋ณผ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๋๊ฒ ๊ฐ๋ค. ์ค์ ๋ก ํ์๊ฐ ์ํ ์กฐ์ง์์๋ ์์ง ๋จ์ํ ์คํธ์ ๋ํ ํ์์ฑ์ ์ธ์ง ํ์ง ๋ชปํ๊ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์๋ฌดํผ ์๋กญ๊ฒ ํ๋กํ ํ์ (Prototype)์ ๊ตฌ์ฑ์ค์ธ ์๋ฐ ๊ธฐ๋ฐ์ ๋ฌธ์ ์ด๋ฏธ์ง ์ถ์ถ ํ๋ก์ ํธ์์๋ ํด๋ฆฐ์ฝ๋์ ๋จ์ํ ์คํธ๋ฅผ ํ์๋ก ํฌํจ์ํค๊ธฐ๋ก ํ์๋ค.ย ...
-
Nov 30, 2011[JAVA] HashTable ์ ์ด์ฉํ ๋ก์ปฌ์บ์ฌ(LocalCache)...
-
Nov 18, 2011[JAVA] MD5 + ์๋ฆฟ์์ต๊ทผ์ ํด์ฌํ ์ด๋ธ์ ํค ๊ฐ์ ๋ง๋ค๊ธฐ ์ํด์ ์ ๋ ฅ ๋ฌธ์์ด์ ๋ํ MD5๋ฅผ ์ถ์ถํ๋ ์๋ฐ ์์ค๋ฅผ ์ธํฐ๋ท์์ ๊ตฌํ๋๋ฐ, ์ ๋ ฅ ๋ฌธ์์ด์ ๋ฐ๋ผ์ MD5 ๋ก ์ถ์ถ๋๋ ์๋ฆฟ์๊ฐ ๋ฌ๋ผ์ ํด์ฌํ ์ด๋ธ์ ํค ๊ฐ์ผ๋ก ์ฐ๊ธฐ์๋ ์กฐ๊ธ ๋ถํธํ ์ ์ด...
-
Oct 29, 2011[C/C++] strlen() ๊ณผ String ํด๋์ค์ length()ํจ์์ ์ฐจ์ด์ .๋ฌธ์์ด์ ๊ฐฏ์๋ฅผ ๊ตฌํ๋ ํจ์๋งํผ ๊ณตํต์ ์ผ๋ก ์ฌ๋ฌ ์ธ์ด์์ ๊ตฌํ๋์ด ์๋ ๊ธฐ๋ฅ๋ ๋๋ฌธ๊ฒ ๊ฐ์ต๋๋ค. ์ค๋ ์๊ฐํ ๋ด์ฉ์ C++ ์ ๋ด์ ์๋ char * ํ์ ๋ฌธ์์ด์ ๊ฐฏ์๋ฅผ ์ธ์ด์ฃผ๋ `strlen()` ํจ์์ ๋ํด์ ์ด์ผ๊ธฐ ํ๋ ค๊ณ ํฉ๋๋ค. ์ ๋ชฉ์ฒ๋ผ ์ผ๋ฐ์ ์ธ ๊ฐ์ฒด์งํฅ์ ์ธ์ด ์๋ฐ๋ C#์ String ํด๋์ค์์ ์ฌ์ฉํ๋ length() ํจ์์ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์ด์ผ๊ธฐ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ฌผ๋ก ์์๋ ๋ถ๋ค๋ ์๊ฒ ์ง๋ง.^^ย ๋จผ์ C++ ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณผ๊น์? ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๊ฒ ์ง์. ...