출처 : http://narrowway.tistory.com/43
CSV파일
Comma Separated Value의 약자로,
데이타를 컴머(,)단위로 잘라서 나열한 파일 형태.
컴머단위로 잘라져 있으므로, 텍스트 파일로도 읽을수 있지만,
엑셀파일로도 바로 읽을수 있다는 장점이 있어서
많은 데이타 관련
소프트웨어에서 사용되고 있다.
1. 자바에서의 구현
// 파일 다운로드 형식 지정
res.setContentType("application/octet-stream;charset=Shift_JIS");
res.setHeader("Content-Disposition","attachment;
filename="+selected_Table+"_"+date+".csv");
PrintWriter
out=res.getWriter();
// 데이타를 DB로 부터 읽어서 CSV로 만드는 과정
query = "select * from " +
selected_Table;
PreparedStatement pstmt =
con.prepareStatement(query);
rs = pstmt.executeQuery();
String strData = "";
while(rs.next()){
for(int i=0 ; i < selectedFieldList.length ; i++){
strData =
rs.getString(Integer.parseInt(selectedFieldList[i])+1);
if(strData==null){strData="";}
out.print( new String( strData.getBytes("8859_1"),"Shift_JIS") );
out.print(i<selectedFieldList.length ? "," : "");
}
out.print(System.getProperty("line.separator"));
}
위와같이 컴마와 System.getProperty("line.separator")를 이용해서 제어가 가능하고,
문자열처리과정을 일본어의 경우 new String( strData.getBytes("8859_1"),"Shift_JIS")
처럼
해결해 주면 된다.
2. 주의할 점
CSV파일의 가장 주의점이라 한다면 데이타 자체에 컴마나 줄바꿈 표시가 들어가 있는 경우로,
이때는 의도하지 않는
데이타상의 구분이 생겨버리므로,
향후 엑셀로 읽으려 할때에는 전체 테이블이 깨져버린다.
private String checkDataFormat(String data){
String returnVal = data;
returnVal =
returnVal.replaceAll(","," ");
returnVal =
returnVal.replaceAll("\n"," ");
returnVal =
returnVal.replaceAll("\r"," ");
returnVal =
returnVal.replaceAll("\r\n"," ");
return returnVal;
}
와 같은 방법으로 데이타 치환을 해주어야 한다.
'작업노트 > JAVA' 카테고리의 다른 글
자바의 가비지 콜렉터(Gavage Collector) (0) | 2010.07.27 |
---|---|
Java TimeZone 관련 링크 (0) | 2009.07.17 |
자바 5 에서의 반복자와 컬렉션(for/in 반복문) (0) | 2008.02.28 |
Java API Map (0) | 2008.01.05 |
JVM 메모리구조와 스택 - 참조 ^^ (0) | 2007.11.19 |
http://www.ibm.com/developerworks/kr/library/tutorial/os-apachelucene/index.html
http://www.ibm.com/developerworks/java/library/j-solr1/
'작업노트 > Search Engine' 카테고리의 다른 글
오픈소스 검색서버 SOLR 설치 메뉴얼 4 (0) | 2009.04.07 |
---|---|
오픈소스 검색서버 SOLR 설치 메뉴얼 3 (1) | 2009.04.07 |
오픈소스 검색서버 SOLR 설치 메뉴얼 2 (0) | 2009.04.07 |
오픈소스 검색서버 SOLR 설치 메뉴얼 1 (0) | 2009.04.07 |
[SOLR] CustomClobTransformer (0) | 2009.03.12 |
1. 서버단 기술
- 자바
프로그래밍
. 객체 지향 프로그래밍 기본 이해(추상화, 다형성, 캡슐화)
. 중요한 자바 API 활용 가능(Collection
API, Reflection API, generic, annotation)
. 많이 쓰이는 기본 디자인 패턴 이해(VO 패턴, MVC
패턴, FILTER 패턴 및 OBSERVER 패턴)
-
Servlet/JSP
. 브라우저와 서버간의 통신에서 HttpServletRequest/Response 객체 생명 주기와 중요 메소드
이해
. 웹 어플리케이션 구조 및 배포 방법의 이해
(filter, listener, Servlet 배포 방법 및 프로그래밍 이해
--> web.xml의 이해)
. JSTL과 EL 이해(JSP 1.2와 2.0차이점 이해) 및 Custom Tag handler 작성
가능
2. 데이터베이스단 기술
-
Database
. 관계형 데이터 베이스 논리/물리 모델링 설계 가능(ERD 작성 가능)
. 적당한 수준의 정규화/역정규화를 통한
기본적 성능 향상 방법의 이해
. 적절한 인덱싱과 인라인 쿼리의 사용을 통한 기본 SQL Tunning 가능(plan 사용)
.
Hibernate와 iBatis등의 OR-Mapping 프레임웍의 등장 배경과 사용 이유에 대한 이해
3. 화면단 기술
-
Ajax/HTML/CSS/DOM/JavaScript
. JSON을 이용한 기본적 AJAX 프로그래밍 가능
. XHTML과 HTML의
차이점과 등장배경을 이해하고 코딩 가능
. DOM API를 이용해서 동적인 화면을 표현/제어
4. 광범위하게 쓰이는 프레임워크 사용법 기본 이해
- 오픈 프레임워크
사용 방법의 이해(개발자 수준에서)
. Struts : 전형적인 MVC패턴으로 구성된 스트럿츠의 구조를 파악하고 간단한 게시판을 코딩할
수 있는 수준
. Spring : 스프링 혹은 EJB 컨테이너가 빈을 관리함으로써(Ioc) 얻는 잇점과 이를 통해
이루어지는
다양한 엔터프라이즈급 서비스(AOP 등)등을 이해하고 사용할 수 있는 수준
5. 최소 토익
750 정도 수준의 영어 실력(각종 API의 원활한 참조를 위해)
- 최소 750점 이상 의 토익 실력(Reading 400점 이상
--> 기본적 독해가 가능한 최소 실력)
- A4지 한장분량의 (영자신문수준의) 영문을 10분 이내로 읽고 90% 이상 이해
가능
*
하드정리하다가 2년전에 이곳에 올렸던 게시물을 발견해 약간 수정후 다시 올립니다. (이전껀 지워졌더군요)
* 다시 생각해
봐도 2년차 웹 개발자 수준이라면 반드시 알아야 할 내용만 나열했습니다.
솔직한 심정으로, "실무에 투입할 신입개발자" 스펙으로서
알아야할 지식이라 생각됩니다.
============================================================================
'작업노트 > etc.' 카테고리의 다른 글
NNTP, Usenet, UUCP 간략한 정의 (0) | 2009.04.20 |
---|---|
WOA - Web Oriented Architecture 관련 글 (0) | 2009.03.11 |
파이어폭스(firefox)에서의 새로고침 (1) | 2008.12.26 |
[퍼온 글] 서울특별시의회 전자회의시스템 프로젝트 프로그램 개발자 폭행사건 (0) | 2008.10.28 |
호오 쓸만한 녀석 일세 (0) | 2008.06.13 |