5월, 2013의 게시물 표시

MYSQL -> ORACLE

1. data format은 field name으로 사용 불가 하다. 2. auto_increment 변환   참고 :  http://www.whatssql.com/how-to-create-auto-increment-field-in-oracle/   테이블 생성 -> sequence 생성 -> trigger 생성 3. timestamp default current_timestamp on update current_timestamp   참고 :  http://halisway.blogspot.kr/2007/11/converting-mysql-on-update.html 4. select if()   참고 :  http://breadshuttle.tistory.com/entry/Oracle-SELECT%EB%AC%B8%EC%97%90%EC%84%9C-%EC%BB%AC%EB%9F%BC%EC%9D%98-%EB%82%B4%EC%9A%A9%EC%97%90-%EB%94%B0%EB%9D%BC-%EB%8B%A4%EB%A5%B8%EA%B0%92%EC%9C%BC%EB%A1%9C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0 5. CLOB 처리   참고 :  http://stove99.tistory.com/22 trigger 사용시 유의 사항 참고 :  http://blog.naver.com/PostView.nhn?blogId=buti&logNo=140103411678 이슈 사항 1.      테이블 생성 시 column 에 대해 default value 로 auto-increment 사용 못함 2.      Column 명으로 data type 명을 사용 못함 3.      테이블 생성 시 Time...

Oracle 기본 SQL

table list 보기 select * from tab; show create table set heading off; set echo off; Set pages 999; set long 90000; spool ddl_list.sql select dbms_metadata.get_ddl('TABLE','테이블 명','DB 명') from dual; spool off; auto-increment 참조 :  http://earlruby.org/2009/01/creating-auto-increment-columns-in-oracle/ clob handling mybatis 참조 :  http://stove99.tistory.com/22 maven 설정 참조 :  http://stove99.tistory.com/25 sqlplus 명령어 참조 :  http://blog.naver.com/PostView.nhn?blogId=chansury&logNo=120046344870 너무 간만이라 @_@ 헷갈린다.

Oracle 설치 - linux

이래저래 =_=; 요딴일도 해야한다. 앞으로 다시 이런 기회가 온다면 참고용으로 글을 써본다. 환경 Client : window7 Server : CentOS 5.X cgwin-x 설치 : oracle 설치 시 x-window 화면이 필요하기 때문 참고 :  http://www.adminschool.net/dbwiki/doku.php?id=os:windows:app:cygwin:xwininstall 위 사이트 대로 하면 cgwin-x 설치 가능 ^^ xterm을 이용하여 Server에 접근 후 xclock 작동 하는지 확인 oracle 다운로드 : http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 여기서 다운로드 만약 본인처럼 =_=; 해당 서버가 몇 비트인지 모를 경우 "uname -a"를 통해 서버 정보를 확인 후 다운로드 한다. =_=;; 뭐 여기까진 쉽게 따라 할 수 있을 것 같다. oracle 설치 참고 :  http://blueamor.tistory.com/1015 참고 :  http://blog.pages.kr/326 sqlplus 접근 참고 :  http://duriepark.tistory.com/entry/Oracle-%EA%B4%80%EB%A6%AC%EC%9E%90-SYSTEM-SYS-%EA%B3%84%EC%A0%95-%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EB%A5%BC-%EC%9E%8A%EC%96%B4%EB%B2%84%EB%A0%B8%EC%9D%84%EB%95%8C 한글 설정 http://finkle.tistory.com/75 삭제 방법 http://blog.naver.com/PostView.nhn?blogId=luiseree&logNo=57834808

jQuery - DOM 요소 추가 및 삭제

추가 $('<p><a>test</a></p>').find('a').attr('href', 'www.test.com').end().appendTo('body') 1. 내부에서 <p><a>test</a></p> element 생성 2. find로 <a> 선택 3. 선택된 <a>에 href 속성 부여 4. end()로 이전 선택으로 jQuery wrapper 집합(<p>) 변경 5. body에 <p> 삽입 삭제 $('a').remove('selector') 1. <a> Element 들에 대한 wrapper 집합 생성 2. 삭제 단. 삭제시 재미있는것 $('a').remove() [ < a href =​" # " class =​" remove " > ​ anchor element ​ < /a > ​ , < a href =​" # " class =​" remove " > ​ anchor element ​ < /a > ​ , < a href =​" # " class =​" remove " > ​ anchor element ​ < /a > ​ , < a href =​" # " class =​" remove " > ​ anchor element ​ < /a > ​ ] remove()의 리턴 값이 삭제 할?된? wrapper 집합이라는 점!!

jQuery - selector 사용법

dom select 방식 1. jQuery() or $()에 selector 식을 파라미터로 넘김 2. jQuery() or $()에 document.getElement~()의 결과를 파라미터로 넘김 jQuery dom요소 select시 사용되는 javascript 엔진 사이트 :  http://sizzlejs.com/  부모 내 자식 선택 시 1. $('childSelector', 'parentSelector') 2. $('parentSelector childSelector') - CSS 방식 3. $('parentSelector').find('childSelector')  필터링 $('Selctor').filter('제외Selector') - Selector에서 선택된 Set에 대한 필터링 이전 Set으로 돌아가기 $('Selctor').filter('제외Selector').end() - filter로 인해 제외된 셋 이전의 Set인 'Selector'에 대한 Set으로 돌아감 단 end()에 대한 셋이 없을 경우 비어있는 Set이 반환됨 현재 Set에 이전 Set 추가하기 $('div').find('p').andSelf().css('~~~'); 탐색하기 $('div:eq(1)').next() $('div:eq(1)').prev() $('div:eq(1)').parent() $('div:eq(1)').parent().children() $('div:eq(1)').nextAll() $('div:eq(1)').prevAll()

jQuery - window.onload 와 $(function(){})의 차이점

참고 자료 : jQuery Cookbook window.onload의 시점  - dom load + 리소스 load 완료 $(function() {}) 및 $(document).ready(function(){})의 시점  - dom load 완료 즉 jQuery의 ready인 경우 dom 로드만 완료 되면 수행 (리소스 로드는 =_= 버려~) 하지만 책에서는 $(function() {}) 및 $(document).ready(function(){})를 사용을 2가지 이유로 사용 안하는 것을 권장하며, 닫는 body tag 앞에 사용하길 권장한다. 첫째로는 html 사이에 javascript가 있을 경우, 페이지 로딩 시 사이의 javasctipt 구문에 대한 compile로 인해 다른 로딩(아마 돔 로딩을 의미하는것 같다) 병목이 발생하므로 로딩이 지연 된다고 하며, 둘째로는 닫은 body tag 앞에 <script>을 사용하는 것과 ready를 사용하는것과 차이 없다는 것인데..차이가 없다는 것을 굳이 ready에 대한 이벤트를 받아서 이후 프로세스를 한번 더 걸칠 이유가 없기 때문이다.

MAVEN - Compiler error “archive for required library could not be read”

참고 :  http://stackoverflow.com/questions/8857985/compiler-error-archive-for-required-library-could-not-be-read-spring-tool-su 간단하게 말하면.. 로컬에 지정된 .m2 레파지토리를 지워라 =0=;; 본인의 경우에는   C:\Users\mspark\.m2 가 레파지토리 저장소 임.

maven multiModule 구성 방법

관련 URL :  http://blog.naver.com/PostView.nhn?blogId=choigohot&logNo=40188252806 위 URL를 참고하면 maven에 대한 muti-module 적용을 할 수 있다. 또한 기존의 프로젝트를 multiModule를 하는 방법이 나와있다. 간략하게 순서를 보면 - maven project 선택 - maven module project 선택 또는 기존 project load (기존 project load가 필요했음 ㅠㅠ) - maven module로 작업시 모든 세팅이 다 되어 있으므로 간단하게 패스 - 기존 project load시 export -> pom 파일 수정 -> import 을 해야한다.    - link만 걸면 안될까 라는 궁금증 발생    - pom에 parent 설정    - pom에 <build>에 <finalName> 설정. final name을 왜 쓸까? (참고 :  http://javacan.tistory.com/entry/WebAppDevelopmentUsingMaven ) <build>/<finalName>의 값을 사용한다. 위 예의 경우에는 simple-web.war 파일이 생성된다. mvn package 명령어로 생성되는 war 파일의 이름을 변경하고 싶다면 <finalName>에 원하는 값을 입력해 주면 된다.

maven unable to locate the javac compiler in lib tools.jar

maven 빌드 시 위와 같은 오류를 만났다면.. JRE의 사용이 JDK가 아닌 경우이다. (JDK는 JRE를 포함하고 있다. 개발인 경우는 eclipse의 JRE 위치를 JDK로 설정을 바꾸는게 좋다.) 아래와 같이 eclipse 설정을 바꾸어 보자 Window > Preference > JAVA > Installed JREs 1. Add 2. Standard VM 선택 3. JRE home의 Directory... 선택 4. JDK1.7이 있는 디렉토리 선택 (예를 들면 C:\Program Files\Java\jdk1.7.0_04) 5. Finish 6. 기존의 항목 Remove 7. OK =0=/ 끝~

Java annotation

Spring를 처음 접했을 때 다양한 annotation에 겁부터 먹은게 생각나서 정리를 하고자 한다. annotation이란 Class나, Method, Parameter.. 등에 메타 데이터를 등록하는것이라 생각하면 된다. 그런데 Spring의 @Transaction이나 Log4j의 @Test 같은 annotation은 특정한 기능(트랜젝션을 건다던가, Test를 수행하게끔 한다던가)을 제공하는 것 처럼 보여서 ... annotation만 있으면 저 기능이 알아서 붙나..싶었다. 나중에 안 사실은 내부에서 Proxy 패턴를 이용하여 지정한 @annotation에 해당 되는 meta data를 가져와서 이를 java의 reflection과 조합하여 마치 @annotation이 특정 기능을 제공하는 것 이였다. 그럼 annotation의 정의는 어떻게 하는 것일까? (참조 : olc 강좌 중 Java Annotation 기본기 강좌-Demo) @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface BGM {            public String value() default “None”;              public String singer() default “unknown”; } 기본으로 @Target, @Retention을 지정 하면 된다. @Target인 경우에는 어떤 대상에 해당 annotation을 달게 할 것인가에 대한 설정이고 @Retention인 경우에는 어느 범위(Source 단계에서만 참조, compile 단계 까지 참조, Runtime 단계 까지 참조)까지 참조할지 지정하면 된다. annotation의 메소드 처럼 보이는 value()나 singer() anntation에서 지...

Spring Batch - invalid LOC header

이미지
repository의 jar 파일이 깨져서 발생함. STS의 프로젝트를 보면 maven dependencies의 jar를 보면 c:\Users\<윈도우 사용자계정>\.m2\repository라고 위치 정보가 있다. 해당 repository 디렉토리에 가서 오류의 jar를 지우면 되는데. 사내 인터넷 속도가 나쁘지 않다면 repository내 모든 파일 및 폴더를 삭제 해도 된다.

Spring Batch - Retry

참고 사이트 :  http://www.egovframe.org/wiki/doku.php?id=egovframework:rte2:brte:batch_core:skip_repeat_retry Dead lock에 대한 retry 관련  <bean id="batchRetryPolicy" class="org.springframework.batch.retry.policy.ExceptionClassifierRetryPolicy"> <property name="policyMap">  <map> <entry key="org.springframework.dao.DataAccessResourceFailureException"> <bean class="org.springframework.batch.retry.policy.SimpleRetryPolicy"> <property name="maxAttempts" value="20" />  </bean> </entry> <entry key="org.springframework.dao.DeadlockLoserDataAccessException"> <bean class="org.springframework.batch.retry.policy.SimpleRetryPolicy"> <property name="maxAttempts" value="20" /> </bean> </entry> </map> </property>   ...