본문 바로가기

Programming

(123)
java : label break 를 통한 반복문 제어 java에서는 goto 문을 지원하지 않습니다.그래서 2중, 3중 반복문을 돌릴때 안쪽에 있는 반복문에서 특정 조건에 의하여반복문을 빠져나오기 위해 flag 변수를 사용하는 경우가 많죠.(사실 오늘에서야 label break 란 걸 알게되었죠^^;;;; 이럴때마다 왜이리 기초가 부족한지 ㅠㅠㅠㅠ)이러한 flag 변수를 막고 보다 가독성이 나은 방법으로 label break 를 이용합니다.반복문 앞에 label을 붙여주고 해당 label의 반복문 내에 break, 혹은 continue를 걸어주는 거죠.그럼 중첩반복문을 제일 쉽게 사용할만한 구구단 예제를 볼까요? public class MultiplicationTable { public static final int START = 1; public stat..
[java] DTO등 객체의 property에 손쉽게 data set하는 유틸이 있네요. 제목에서 말하는 유틸클래스는 바로 PropertyUtils 라는클래스입니다.http://commons.apache.org/beanutils/apidocs/org/apache/commons/beanutils/PropertyUtils.html위 링크를 따라가시면 해당 클래스에 대한 document가 있습니다. 저는 어떤 경유에 저걸 쓰게 되었냐면;;;client 에서 넘어온 json data를 바로 객체로 생성하려하는 데에 마땅한걸 찾기가 쉽지 않더라구요;;사실 mkyoung 라는 엄청나게 많은 튜토리얼을 제공하는 블로그에서 얼핏 jackson 이라는 json 라이브러리를 보긴 했으나 무심코 지나갔죠 ㅠㅠ그리고 잘못된 키워드 검색으로 json-simple에 목매달게 되었는데 제가 잘 못쓰는건지... 제공을 ..
[javascript] 배열복사(passing by value) 편하게 하기. javascript의 array는 object입니다. 따라서 복사하려는 array 변수를 대입연산 이용시 paasing by reference가 일어나 주소값이 복사되지요. (얕은 복사, shallow copy) 간혹 소스보기를 통해 javascript 코드를 쫓다보면 위 문제를 막고자 반복문을 통해서 copy하는 경우를 보게 됩니다. 이는 코드생산성에 별로 좋지 않은 방법같습니다. 그래서 소개해드릴 방법은 array object가 제공하는 메소드를 이용하는 겁니다. 바로 slice() 메소드입니다. slice 메소드의 매개변수는 숫자를 매개변수로 받고 그 매개변수를 index로 인식하여 해당 index 부터의 값들을 copy하여 array를 새로운 객체로 return합니다. 보통은 array.slice..
[javascript] self.close(); 로 브라우저를 못닫는 경우. 이는 브라우저를 닫는 window 객체의 close() 메소드입니다.이게... IE에서는 잘 작동하지만 chrome 에서는 작동하지 않더군요 ㅠㅠㅠ그래서 검색을 좀 하다보니 알려준 꼼수가 아래와 같습니다. IE, chrome 모두 확인하였습니다만, 다른 메이저 브라우저에서는 미확인하였습니다.(조만간 확인해서 포스트를 업데이트하도록 하겠습니다 ㅠㅠ)
[tomcat 모니터링툴 lambda probe] 작년 이맘때즈음에 톰캣의 메모리 관리 등에 대해서 편의를 얻은 툴이 있었습니다.(물론 당시에 사장님께서 설치해서 알려주셨던거같네요 ㅎㅎ)아래 화면은 개발용 로컬서버의 톰캣에 구동중인 한 어플리케이션의 모니터링화면입니다. 강제로 해당 어플리케이션을 스탑시킬수도, 모든 메모리 사용을 지워버릴수도 있는 강력한 기능이 있는 만큼조심히 써야 하는 툴이기도 하죠^^;;예전엔 그럴싸한 홈페이지도 있었던거같은데 오픈소스로 공개해버리면서현재는 code.google에서 많은 개발자들에게 관리되고 있는 것 같습니다.필요하신 분들은 참고하세요 :-)http://code.google.com/p/psi-probe/
[argument와 parameter의 차이점?] 사실 이 두가지를 구분해서 표현하는 경우가 얼마나 될까요 ㅡㅡ;; 전 이를 혼용해서 자주 사용합니다. 그러다 후배가 학교에선 argument라고 하는데 형은 왜 자꾸 parameter라고 하냐고 묻는데딱히 뭐라 할 말이 없더군요. 그러다 구글링을 해보니 이를 정의해주신 분들이 계시더군요 ㅎㅎ;;; 저도 구분하면서 사용해야겠어요. http://occamsrazr.net/tt/11 위 링크를 빌어서 적어보겠습니다. Class Test{ // 메소드(함수)가 정의되어있는 부분에서는 이를 매개변수(parameter)라고 합니다. public static int plus(int param1, int param2){ return param1+param2; } // 메소드(함수)를 호출하는 측에서 함수에 넘기는 li..
[tomcat] 도메인 연결 흐아;;;dns 호스팅받아서 작업할땐 늘 누가 대신해주고 했는데;;; 이거 혼자하려니 좀 헤매더군요;;우선 저는 1개의 도메인에 1개의 프로젝트만 맵핑하는 것을 기준으로 하겠습니다.만약 여러 프로젝트를 맵핑해야된다면 tomcat virtual host 라는 키워드로 검색해보시면 될 것 같아요.(ip port만 달리해서 여러 개를 공유하고 싶다면 tomcat virtual host service 로... 검색해보시면...) tomcat을 설치하면 보통 server.xml에 태그는 하나뿐이 없을겁니다. (/Host와 pair)attribute는 name, appBase, unpackWARs, autoDeloy 등이 있는데요.맵핑에 있어서 필요한 정보는 name 입니다.맵핑할 도메인 네임주소가 여기에 들어갑니..
[AES256 암호화 각 언어별 모듈지원 url link] 몇개월 전에 C# 언어와 java언어간의 암복호화 모듈이 필요하였습니다.뭐 어렵겠나 싶어서 구현을 하다보니 언어간의 차이점으로 구현하기도 쉽지 않을 뿐더러이 때에 암호학에 대해서 상식수준이라도 공부해야겠구나...하는 좌절감도 맛보았죠.그래서 구글링을 해보았더니 아래와 같은 링크가 뙇!http://www.imcore.net/encrypt-decrypt-aes256-c-objective-ios-iphone-ipad-php-java-android-perl-javascript/그것도 한글!!! 뙇!!!!소스들 까지 오픈!!! 뙇!!!! 도움받으시는 분들은 해당 링크의 주인장님께 감사의 말씀이라도...전 엄청 고마웠어요 ㅎㅎㅎ