본문 바로가기

[STS3.1] application-context.xml 에 error 표시날 때. 우선 이 방법은 application-context.xml 이 유효한 xml로 작성되었다는 가정아래입니다.(유효한 xml에 대한 스펙은 구글링 해보셔요~)spring-jpa-1.0.xsd, spring-context-3.1.xsd 에 대해서 인식을 못하여 나는 error로아주 간단하게 해결할 수 있습니다. 화면상단에 라인넘버가 있는 곳에 빨간 곳에 우클릭. validate. 그럼 에러마크가 사라집니다 OTL.... 후우...... 술프군요.
[java] jsp&servlet bean spec (not ejb) 1) 반드시 인자가 없는 public 생성자가 있어야 합니다. default 생성자를 반드시 작성해주되 public 이어야 한다는 의미입니다. 2) 뒤에 동일한 단어가 뒤따라 나오는 접근자/설정자가 있어야 합니다. (foo > setFoo(), getFoo(). 만약 boolean이라면 isFoo()) 3) set의 parameter type과 get의 return type은 동일해야 합니다. ( int getFoo() , void setFoo(int foo) ) 4) 2)에서와 같이 foo라는 멤버 변수가 있다하여서 반드시 getFoo(), setFoo() 와 같은 접근자/설정자의 네이밍이 되어야할 강제는 없습니다. 멤버변수가 foo 라면 getBar(), setBar() 라고 작성해주어도 되며 내부 ..
관습에 의한 코딩과 레거시코드. 그리고 나. 왜 이렇게 코드를 작성하는지에 대한 이해가 없이 어떠한 새로운 것을 배울 때에몸이 익숙해진 코딩을 유지하면서 하는 것. 관습에 의한 코딩. 지난 주에 스터디 그룹에 개발방법에 대한 이슈가 올라왔는데그때에 DTO 개념이 보이질 않았던 터라 DTO의 사용여부라는 답없는 질문을 스터디 그룹에 질문했다.글 타래들을 보면서 DTO를 보다 강력하면서도 편하게 작성할 수 있는 라이브러리도 보게 되었고동시에 VO와 DTO의 차이점도 보게 되었다.(사실 예전에 TDD책을 잠시 보았다가 DTO와 VO를 동일하게 보는 문구를 보았던 터라 동일하게 봤다 -_-) 그리고 구글링을 통해 아래와 같은 오래된 DTO에 대한 논의도 접했다.http://blog.naver.com/PostView.nhn?blogId=gunlee00&lo..
여러 사용자의 화면의 data에 sync가 맞아야 한다면? 여러 유저가 접속하였고 하나의 자원에 동시에 접근합니다.그리고 이 여러 유저들은 그 자원 상황을 공유하게되는데 이는 업데이트가 가능한 자원이라여러 유저중 한명이 그 자원에 업데이트를 해버리면 나머지 유저들은 업데이트된 값을 봐야겠죠? 이는 운영체제나 프로그래밍 언어를 배울 때에 처음 접하는 동기화 문제가 우선되어야 합니다.그럼 공유라는 문제를 해결할 수 있습니다. 다음 문제는 모든 사용자가 같은 화면을 봐야 하는 문제인데 이는 push + observer pattern으로 해결할 수 있습니다. 하지만 고민되는 것은 시간입니다.누군가가 update를 실행하였을 때에 정상적인 흐름으로 프로세스가 진행되었다면이때 옵저버가 나머지 사용자에게 push를 날려야 하는데그 사이에 누군가가 update를 시도한다면??..
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..
그냥 돌아가는 코드 최근에 generic 을 사용하는 유틸성 코드를 작성할 일이 있었습니다. 메소드에 어떠한 타입의 객체이든 인자로 받아야했으며 return type은 그 타입의 객체들이 n개 담겨있는 list 타입이어야했죠. 처음에는 public List getList(Class classType){ List list = some(classType); return list; } 이렇게 코드를 작성하였죠. (some 메소드는 단순히 Class type을 받아서 리플렉션을 사용하여 객체생성후 list에 담아 return하는 코드입니다. List some(classType){ // some logic } 위처럼 구현되어있죠.) 그러다 고민된게 getList 메소드에서는 class type이 명확하고 List에 담겨지는 객체들은..
[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..