분류 전체보기 (202) 썸네일형 리스트형 Implementation Patterns 읽고 난 후 Implementation Patterns 라는 책을 3주 정도에 걸쳐 읽었습니다. 뭐... 다른 분들은 일주일 만에 읽었다고 하더군요. (책이 얇은 편입니다.) 읽은 후 느낀 바는 이러합니다. 알아보기 쉬운 Code를 작성하기 위해 노력해야 겠다. 이 책을 읽은 후 Souce 품질 검사와 관련 된 작은 Application을 하나 작성을 하였습니다. 역시 책을 읽은 것이 도움이 되더군요. Souce Code를 작성할 때 자신이 작성한 것이라고 해도 하루가 지나면 많은 부분을 잊어버리게 됩니다. 하지만 쉽게 알아볼 수 있도록 Logic을 Capsulation 하여 Naming을 잘 해놓으니 전체의 Application을 생각하는 것이 아닌 부분 부분으로 잘게 나누어 Coding 하게 됨으로서 이해도 쉬워.. Jsp 주석 Java 의 주석 //, /* 이렇게 쓴다. Html 의 주석 이거다. Jsp도 주석이 있었군요. ㅡㅡ; 이거네요. char 에 대해서. char 는 primitive type 입니다. int a = file.chatAt(n); char a = file.charAt(n); 두 문장의 차이는 뭘까요? log로 찍어보면 결과는 다음과 같습니다. int는 char에 해당하는 숫자를 return 합니다. char는 해당하는 char 문자열을 return 합니다. Junit의 장점. Junit의 장점에 대해서 다시 고찰하게 되었습니다. Junit으로 단위 Test Case를 작성하면 Class의 Method 단위로 Test가 가능합니다. Main을 만들어서 Test를 할 수도 있지만 이미 Main 이 있는 Application의 경우 Junit을 통한 Test가 좋네요. Debugging 시에도 좋군요. junit 실행하면서 src에 sysout을 찍으니 console에 log가 나와서 좋네요. 정규식 공백 무시 다음은 정규식의 초 간단 공백 무시 방법 입니다. while\\s*\\(|for\\s*\\( 위와 같이 쓰면 while 이나 for 다음에 공백이 나오면 무시하고 "(" 괄호를 포함 하는 곳을 찾습니다. while ( while( 위의 모두를 찾는다는 예기 입니다. while\\s{3}tt 이렇게 하면 while 다음에 공백이 3개 있고 그 다음 tt 로 된 문자열을 찾는다는 예기 입니다. 참고로 자바에서 정규식을 사용할때는 \s --> \\s 와 같이 \를 하나 더 붙여 주어야 합니다. 새롭게 또 만든 정규식 입니다. 다음은 while | for 문 다음에 { 를 찾아서 while | for문과 { 사이의 문자열을 Return 합니다. while[^\\{]*|for[^\\{]* 이번은 while이나 f.. Pattern 과 Matcher Pattern 과 Matcher Matcher와 Patten 그리고 indexOf를 이용하면 문자열의 분석을 쉽게 할 수 있다. Pattern pattern = Pattern.compile("while|for"); Matcher matcher = pattern.matcher(file); while(matcher.find()){ String target = file.substring(matcher.end(), file.indexOf("}",matcher.end())); subRule(target); } 이거 짠다고 하루 투자함 ㅡㅡ;; ps. jdk 1.5 부터는 Scanner라는 Class도 사용할 수 있습니다. File Search Application Memory 상승 원인 File 내의 문자열을 검색하는 Application을 하나 만들었습니다. 그런데 대용량의 File을 Search 하면 Memory가 계속 상승하는 현상이 발생하였습니다. 물론 memory를 늘려주는 -Xmx1024 option을 주어 해결을 했습니다. 그런데 왜 momery가 상승 하는 걸까 하고 생각을 해봤습니다. 처음 Common 이라는 Class의 객체를 생성하여 그 객체 내에서 또 객체를 호출하는 형태로 구조를 잡았습니다. 그런데 이게 문제인 것 같습니다. 객체를 호출한 상태에서 그 안에서 또 객체를 호출하는 구조이기 때문에 momory가 객체의 숫자 대로 생성이 다 되는 현상이 발생하여 프로그램은 잘 돌지만 메모리가 지속적으로 늘어가는 형태가 된 것으로 파악됩니다. Static을 이용하는 구조.. Memory Leak MemoryLeak Logic 상 사용되지 않는 객체가 Strong reference로 선언되어져 GC 될 수 없는 상태가 유지 됨으로서 Memory 사용량이 증가하는 상태. Case JDBC 관련 Class를 사용한 후 Close 하지 않은 경우 JDBC 관련 Class를 for/while 문 안에서 선언한 후 for/while 문 안에서 close 시키지 않은 경우 Cache 구현 로직에 문제가 있는 경우(불필요한 Data 제거 Logic이 없는 경우) Connection Pool 에서 불필요한 Connection이 증가하는 경우 Http Session에서 Data가 증가 하는 경우. 이전 1 ··· 14 15 16 17 18 19 20 ··· 26 다음