Programming/jsp2014. 4. 25. 17:13
로그인 로직을 싱글톤으로 사용시 
과연 thread-safe할까? 라는 생각에 검색해보니 똭!

결론은 일반 싱글톤은 당연히 thread-safe하지 않으니
synchronized 등으로 동기화를 하거나(퍼포먼스 저하..)

ThreadLocal로 쓰레드별 로컬 변수로 생성하거나 등으로 회피를 하는 것으로 보인다.
[링크 : http://docs.oracle.com/javase/7/docs/api/java/lang/ThreadLocal.html]



[링크 : http://www.javaservice.net/~java/bbs/read.cgi?m=devtip&b=javatip&c=r_p&n=1028393658]
  [링크 : http://www.cs.umd.edu/~pugh/java/memoryModel/DCL-performance.html] << 원문
[링크 : http://levin01.tistory.com/307] << 부분 번역
[링크 : http://en.wikipedia.org/wiki/Singleton_pattern#Example

'Programming > jsp' 카테고리의 다른 글

EL(Expression Language)$와 #  (0) 2014.04.30
POJO - Plain Old Java Object  (0) 2014.04.29
oreilly fileupload/multipart 라이브러리(jar)  (0) 2014.04.24
context.xml을 이용한 dbcp  (0) 2014.04.24
dbcp와 ORA-12518  (0) 2014.04.24
Posted by 구차니
Programming/jsp2014. 4. 24. 16:41
jsp 수업중에 사용한 라이브러리
apache commons에서 upload 라이브러리가 있지만
oreilly에서 공개한 이게 더 좋다고 하니 머.. 일단 링크 저장

[링크 : http://www.servlets.com/cos/]

'Programming > jsp' 카테고리의 다른 글

POJO - Plain Old Java Object  (0) 2014.04.29
thread-safe singleton  (0) 2014.04.25
context.xml을 이용한 dbcp  (0) 2014.04.24
dbcp와 ORA-12518  (0) 2014.04.24
eclipse quantumDB CSV 파일 import  (0) 2014.04.23
Posted by 구차니
Programming/jsp2014. 4. 24. 16:39

'Programming > jsp' 카테고리의 다른 글

thread-safe singleton  (0) 2014.04.25
oreilly fileupload/multipart 라이브러리(jar)  (0) 2014.04.24
dbcp와 ORA-12518  (0) 2014.04.24
eclipse quantumDB CSV 파일 import  (0) 2014.04.23
tomcat war deploy  (0) 2014.04.23
Posted by 구차니
Programming/jsp2014. 4. 24. 01:17
ORA-12518 에러는 oracle 리스너에서 접속을 거부하는 상황에 대한 에러코드이다.
[링크 : http://mindsteeper.tistory.com/180]

아마도.. dbcp를 사용하면
아래와 같이 기본값으로 8개의 최대 접속이 생성이 되는데
오라클 리스너에서 하나의 아이피에서 몇개 이상의 동시 접속(세션)을 막아둬서
저런 오류가 발생하는게 아닐려나?

[링크 : http://commons.apache.org/proper/commons-dbcp/configuration.html]

일단.. 저런 문제가 발생하는 도중에도
eclipse/quantumDB에서 접속은 문제가 없는 것 봐서는...
dbcp의 문제일 가능성이 높을것으로 추측된다.


tomcat에서 연동시 context.xml 에 maxActive와 maxIdel이 500, 100 이었는데 줄여주니 접속이 된다.
<Context>
<Resource name="jdbc/OracleDB" auth="Container" type="javax.sql.DataSource"
username="user" password="pass" driverClassName="oracle.jdbc.driver.OracleDriver"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:oracle:thin:@serverip:port:dbname"
maxActive="5" maxIdle="2" />
</Context> 
[링크 : http://gangzzang.tistory.com/120]

'Programming > jsp' 카테고리의 다른 글

oreilly fileupload/multipart 라이브러리(jar)  (0) 2014.04.24
context.xml을 이용한 dbcp  (0) 2014.04.24
eclipse quantumDB CSV 파일 import  (0) 2014.04.23
tomcat war deploy  (0) 2014.04.23
javax.servlet.http cannot be resolved?!?!  (0) 2014.04.23
Posted by 구차니
Programming/jsp2014. 4. 23. 23:31
원하는 테이블에 우클릭으로 import를 하고
CSV를 선택하면


해당 테이블에 CSV 파일 포맷에 따라 입력이 가능한 것 같은데...


대한민국 우편번호/주소를 입력하려고 했더니
3MB에 못미치는 파일을 입력하는데 어마어마한 시간이 걸리고..
나중에 켜놓고 돌아와서 보니 삽입안된게 더 많은데다
테이블 다시 확인해보니.. 타임아웃으로 롤백되었는지 입력된게 하나도 없다 ㅠㅠ


그래도 어떻게 잘 사용해 보면 넣을순 있을것 같으니.. 조금 더 찾아 봐야지 ㅠㅠ


----
일단.. column이 문제인것 같아서
고심하다.. 'Ignore header row column names, import columns in order' 옵션을 꺼주었더니 된다!!!
해석하자면 'row column 헤더의 이름을 무시함, columns 순서대로 입력함' 인데


우편번호에서 SEQ를 ID로 변경하여 ZIPCODE와 동일하게 만들어주고


간략하게 import 하니 들어갔다!!!!!

 
원격지 서버로 우편번호 2.3M 짜리 CSV 파일을


대략 7분 만에 넣는데 성공!

 

'Programming > jsp' 카테고리의 다른 글

context.xml을 이용한 dbcp  (0) 2014.04.24
dbcp와 ORA-12518  (0) 2014.04.24
tomcat war deploy  (0) 2014.04.23
javax.servlet.http cannot be resolved?!?!  (0) 2014.04.23
apache commons / beanutils , logging, digester  (0) 2014.04.18
Posted by 구차니
Programming/jsp2014. 4. 23. 15:21
eclipse를 쓰면 간단한데..
tomcat 자체 관리페이지에서도 가능하고
수작업으로도 가능은 하다고 한다.

음.. 일단 server.xml 에 role을 정해줘서 하는건 안된다
그럼.. local/remote에서 war 를 넣는건 불가능.. ㅠㅠ

[링크 : http://www.manydesigns.com/en/portofino/portofino3/3_1_x/installation-guide/deploying-on-tomcat]

'Programming > jsp' 카테고리의 다른 글

dbcp와 ORA-12518  (0) 2014.04.24
eclipse quantumDB CSV 파일 import  (0) 2014.04.23
javax.servlet.http cannot be resolved?!?!  (0) 2014.04.23
apache commons / beanutils , logging, digester  (0) 2014.04.18
maven  (0) 2014.04.18
Posted by 구차니
Programming/jsp2014. 4. 23. 09:41
eclipse에서 war로 프로젝트를 넣었는데
뜬금포 안되서 깜놀 -_-a


일단 해결책으로 Java build path를 넣으라고 해서
구글로 검색을 하다 보니.. Tomcat 어쩌구 ... 아.. -_-a

"Add External JARs..."를 눌러


tomcat/lib/servlet-api.jar를 추가해주면 해결!
왜 이걸 잊고 있었지?! ㅠㅠ


'Programming > jsp' 카테고리의 다른 글

eclipse quantumDB CSV 파일 import  (0) 2014.04.23
tomcat war deploy  (0) 2014.04.23
apache commons / beanutils , logging, digester  (0) 2014.04.18
maven  (0) 2014.04.18
jsp EL/JSTL 사용법  (0) 2014.04.13
Posted by 구차니
MVC 패턴은 GUI를 지닌 프로그램에서 사용하는 디자인 패턴이다.

View는 GUI drawing을
Controller는 버튼 클릭시 발생하는 이벤트에 대한 처리나 작동(Action/behavior)를
Model은 이러한 View와 Controller에 대한 상태머신을 구현한다.

위키피디아의 내용을 보면.. MFC나 JFC 등에서 사용하는
핸들러 기반의 message/event driven progam이라고 해야하나?
GUI 자체는 MFC에서 XML나 별도의 DAO를 통해 구성하게 되고
GUI는 Model의 제어를 통해 Control을 위해 eventhandler로 넘겨주게 된다.

즉..
눈에 보이는 수많은 구현 부분은 View 와 Controller이고
윈도우 시스템을 위한 Win32api 프레임워크는 Model이라고 보여진다.

  • controller can send commands to the model to update the model's state (e.g., editing a document). It can also send commands to its associated view to change the view's presentation of the model (e.g., by scrolling through a document).

[링크 : http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
[링크 : http://msdn.microsoft.com/en-us/library/ff649643.aspx

'Programming > 소프트웨어 공학' 카테고리의 다른 글

코딩 룰 & 정적분석 툴  (0) 2015.05.19
정적분석 / 동적분석  (0) 2015.02.18
디자인 패턴 - singleton  (0) 2014.04.02
매번 느끼는 서글프지만 인정하고 싶지 않은 것  (0) 2012.02.08
간트차트  (0) 2012.01.31
Posted by 구차니
Programming/jsp2014. 4. 18. 19:17
학원에서 배울 commons 패키지...

타입에 맞게 값을 받아오도록 도와주는 패키지
However, there are some occasions where dynamic access to Java object properties (without compiled-in knowledge of the property getter and setter methods to be called) is needed. Example use cases include:
[링크 : http://commons.apache.org/proper/commons-beanutils/]

라이브러리 디버깅등의 목적으로 로그를 남기는 것을 도와주는 패키지
When writing a library it is very useful to log information. However there are many logging implementations out there, and a library cannot impose the use of a particular one on the overall application that the library is a part of.
[링크 : http://commons.apache.org/proper/commons-logging/]

XML에 저장한 값들을 불러 초기화에 쓰기 용이하도록 도와주는 패키지
Many projects read XML configuration files to provide initialization of various Java objects within the system. There are several ways of doing this, and the Digester component was designed to provide a common implementation that can be used in many different projects.
[링크 : http://commons.apache.org/proper/commons-digester/]

'Programming > jsp' 카테고리의 다른 글

tomcat war deploy  (0) 2014.04.23
javax.servlet.http cannot be resolved?!?!  (0) 2014.04.23
maven  (0) 2014.04.18
jsp EL/JSTL 사용법  (0) 2014.04.13
jsp / el과 jstl  (0) 2014.04.13
Posted by 구차니
Programming/jsp2014. 4. 18. 16:50
project object model (POM) 어쩌구 하는데 먼진 모르겠고
'프로젝트 빌드관리를 위한 툴' 이거 하나면 정리 되려나?

아무튼 이녀석이.. 
프로젝트 추가시 빌드할 목록에 자동으로 추가하고
자동으로 이클립스에서 저장하면 빌드하는 등의 역활을 하는 것으로 보인다.

Maven's Objectives

Maven's primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with:

  • Making the build process easy
  • Providing a uniform build system
  • Providing quality project information
  • Providing guidelines for best practices development
  • Allowing transparent migration to new features
[링크 : http://maven.apache.org/what-is-maven.html
[링크 : http://maven.apache.org/


그리고 이클립스 특유의 프로젝트 폴더 구조인
java / resource / webapps 가 바로 maven에서 관리하는 것으로 보여진다.
(물론 pom.xml은.. 이클립스에서 maven plugin - m2eclipse - 가 알아서 하니까 존재도 몰랐네..)
간단하게 생각하세요. 
maven 의 주임무는 라이브러리(dependency) 목록의 관리가 되겠습니다. (pom.xml) 
여기서 pom.xml은 협업개발자들이 모두 공유하기때문에 신경쓸일없습니다. 
자기 업무에 필요한 라이브러리(dependency)를 추가했을경우 커밋만해주면 끝. 
pom.xml 에 설정한대로 필요한 모든 라이브러리를 관리해준다.(등록/삭제) 

maven 으로 웹프로젝트시 폴더구조가 특이하죠? 
src/main/java => 이곳에 모든 자바소스, 패키지들이 들어갑니다. 
src/main/resource => 이곳에 xml 설정파일들이 들어갑니다. 
src/main/webapps => 이곳에 jsp (프레젠테이션) 부분들이 모두 들어갑니다. 

[링크 : http://www.okjsp.net/bbs?seq=158969]


'Programming > jsp' 카테고리의 다른 글

javax.servlet.http cannot be resolved?!?!  (0) 2014.04.23
apache commons / beanutils , logging, digester  (0) 2014.04.18
jsp EL/JSTL 사용법  (0) 2014.04.13
jsp / el과 jstl  (0) 2014.04.13
jdbc는 DESCRIBE를 지원안해?  (0) 2014.04.11
Posted by 구차니