개인정보 문제가 대두되어서 운영이 아닌 테스트에서는 실제 이름과 주민번호를 넣지 말라는 방침이 내려왔다.

주민번호 뒷자리 7자리만 '1234567' 로 update 를 하려고 한다.

update [테이블명]
set
[주민번호컬럼명]=substr([주민번호컬럼명],1,6)  || '1234567'


Posted by 쭌쓰파파
,

find / -name *list.jsp*

list.jsp 라는 이름이 들어간 파일을 모두 검색한다.
Posted by 쭌쓰파파
,

http://mathmagic.sshel.com/moniwiki/wiki.php/FindInFiles

파일 검색을 할 수 있으며, 파일 내용도 검색할 수 있는 툴.
에디터도 연결해서 바로 사용가능해서 꽤 강력함.
링크 참고
Posted by 쭌쓰파파
,

<meta http-equiv="imagetoolbar" content="no">
Posted by 쭌쓰파파
,

chmod -R 755 [movie]
예제는 'movie' 라는 폴더에 755의 권한을 주면서 하위 폴더까지 모두 755로 권한을 주는 예제입니다.

'프로그래밍 > Unix / Linux' 카테고리의 다른 글

파일 검색  (0) 2010.06.14
특정 폴더만 압축  (1) 2008.05.01
Unix(or Linux)에서 특정 폴더 파일 갯수 세기  (0) 2008.05.01
Posted by 쭌쓰파파
,

<script>
function inputImg(obj)
{
   obj.style.backgroundImage="";
   obj.onkeydown=obj.onmousedown=null;
}
</script>

<input type=text name=keyword value="input_image" onkeydown="inputImg(this)" onmousedown="inputImg(this)" style="background-image:url(http://anipia.nayana.com/kenshins/04s.jpg);background-repeat:no-repeat;background-position:center;">

Posted by 쭌쓰파파
,

str.replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "");

예전엔  삽질했어야 하는 걸...이 한줄이면 된다...-_-;;
Posted by 쭌쓰파파
,

  우선 http://www.andykhan.com/jexcelapi/download.html 에 가서 jexcelapi_2_4_5.tar.gz 파일을 다운로드해서 압출을 해제한다.
  압축 파일안에 보면 jxl.jar 파일이 있다. java classpath에 이 파일을 걸어준다.
  아래 링크는 Tutorial이 나와있는 사이트이다.



  자바로 엑셀을 핸들링 할 수 있는 방법은 크게 두가지로 나누어 진다.

1. Java Excel API
    http://www.andykhan.com/jexcelapi/
2. POI
    http://jakarta.apache.org/poi/index.html

※ 흔히 POI를 엑셀을 핸들링 하기 위한 것으로만 오해하기 쉬운데, POI 프로젝트는 마이크로소프트 OLE 2 복합 도큐먼트 포맷의 파일을 순수 자바를 이용하여 핸들링하는 APIs로 구성되어 있다. OLE 2 복합 도큐먼트 포맷의 파일은 Microsoft 엑셀 혹은 워드 파일 등의 대부분의 오피스 파일들을 나타낸다.

  일반적으로 엑셀에 대한 핸들링만을 수행할 때에는 Jxl을 권장한다. 엑셀을 핸들링 할 때 엑셀에서 가장 작은 단위는 "셀"이다. 모든 작업은 이 셀을 중심으로 이루어진다.

※ 주의할 점
  1. 엑셀 쉬트상에 "C15"라는 셀에 데이터가 있다고 가정하자 (15행 C열을 나타낸다). 이 때 Jxl에서는  A1 (1행 A열)부터 C15까지는 실제 데이터가 없을 경우에라도 null이 아닌 빈데이터가 있다고 인식한다. 즉, D열 이상이나, 16행 이상을 접근 할 때에 null로 인식한다.  하지만 POI에서는 C15 이내에 있다 하더라도 실제 데이터가 없을 때에는 null로 인식한다.

  2. Jxl에서는 각 셀의 데이터 타입을 실제 엑셀 파일에서 지정된 셀의 타입을 따르고, POI에서는 셀의 실제 데이터 형을 따른다. 예를 들어 특정 셀의 타입을 text 로 잡아놓고, 데이터를 1234로 입력하면 Jxl에서는 "12345"로 인식하고, POI에서는 12345.00 이런 식으로 인식한다.


ex) Java Excel API를 이용한 Excel 읽기
import jxl.*;

// .. 중간생략

    Workbook workbook = null;
    Sheet sheet = null;
    Cell cell = null;

    try
    {
        //엑셀파일을 인식
        workbook = Workbook.getWorkbook( new File( szFileName));

        //엑셀파일에 포함된 sheet의 배열을 리턴한다.
        //workbook.getSheets();

        if( workbook != null)
        {
            //엑셀파일에서 첫번째 Sheet를 인식
            sheet = workbook.getSheet(0);

            if( sheet != null)
            {
                //셀인식 Cell a1 = sheet.getCell( 컬럼 Index, 열 Index);
                //셀 내용 String stringa1 = a1.getContents();

                //기록물철의 경우 실제 데이터가 시작되는 Row지정
                int nRowStartIndex = 5;
                //기록물철의 경우 실제 데이터가 끝 Row지정
                int nRowEndIndex   = sheet.getColumn( 2).length - 1;

                //기록물철의 경우 실제 데이터가 시작되는 Column지정
                int nColumnStartIndex = 2;
                //기록물철의 경우 실제 데이터가 끝나는 Column지정
                int nColumnEndIndex = sheet.getRow( 2).length - 1;

                String szValue = "";

                for( int nRow = nRowStartIndex; nRow <= nRowEndIndex; nRow++ )
                {
                    for( int nColumn = nColumnStartIndex; nColumn <= nColumnEndIndex ; nColumn++)
                    {
                        szValue = sheet.getCell( nColumn, nRow).getContents();
                        System.out.print( szValue);
                        System.out.print( "\t" );
                    }
                    System.out.println();
                }
            }
            else
            {
                System.out.println( "Sheet is null!!" );
            }
        }
        else
        {
            System.out.println( "WorkBook is null!!" );
        }
    }
    catch( Exception e)
    {
        e.printStackTrace();
    }
    finally
    {
        if( workbook != null)
        {
            workbook.close();
        }
    }


ex) Jxl을 이용하여 Excel에 데이터 저장하기
import jxl.*;

// .. 중간생략

   WritableWorkbook workbook = null;
   WritableSheet sheet = null;

   File excelFile = new File( szFileName);
   Label label = null;

   long start = 0;
   long end = 0;
  
    try
    {
        for(int i = 0 ; i < 10; i++)
        {
            workbook = Workbook.createWorkbook( excelFile);
            workbook.createSheet("sheet1", 0);
            sheet = workbook.getSheet(0);

            for( int j = 0; j < 10000; j++){
                label = new Label( j, 0, "test cell");
                sheet.addCell( label);
            }

            kidsbook.write();
            kidsbook.close();
        }
    }
    catch( Exception e)
    {
    }


ex) POI를 이용한 Excel 파일 읽기
import org.apache.poi.hssf.usermodel.*;

// .. 중간 생략

    HSSFWorkbook workbook = null;
    HSSFSheet sheet = null;
    HSSFRow row = null;
    HSSFCell cell = null;

    try
    {
        workbook = new HSSFWorkbook( new FileInputStream( new File( szFileName)));

        if( workbook != null)
        {
            sheet = workbook.getSheetAt( 0);

            if( sheet != null)
            {
                //기록물철의 경우 실제 데이터가 시작되는 Row지정
                int nRowStartIndex = 5;
                //기록물철의 경우 실제 데이터가 끝 Row지정
                int nRowEndIndex   = sheet.getLastRowNum();

                //기록물철의 경우 실제 데이터가 시작되는 Column지정
                int nColumnStartIndex = 2;
                //기록물철의 경우 실제 데이터가 끝나는 Column지정
                int nColumnEndIndex = sheet.getRow( 2).getLastCellNum();

                String szValue = "";

                for( int i = nRowStartIndex; i <= nRowEndIndex ; i++)
                {
                    row  = sheet.getRow( i);

                    for( int nColumn = nColumnStartIndex; nColumn <= nColumnEndIndex ; nColumn++)
                    {
                        cell = row.getCell(( short ) nColumn);
                       
                        if( cell == null)
                        {
                            continue;
                        }
                        if( cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
                        {
                            szValue = String.valueOf( cell.getNumericCellValue());
                        }
                        else
                        {
                            szValue = cell.getStringCellValue();
                        }

                        System.out.print( szValue);
                        System.out.print( "\t" );
                    }
                    System.out.println();
                }
            }
            else
            {
                System.out.println( "Sheet is null!!" );
            }
        }
        else
        {
            System.out.println( "WorkBook is null!!" );
        }
    }
    catch(Exception e){
        e.printStackTrace();
    }


ex) POI를 이용한 브라우저에서 Excel에 데이터 저장하여 보여주기

import org.apache.poi.hssf.usermodel.*;

// ... 생략

public void writeStream( PTSEvaluation[] arrPTSEvaluation) throws Exception
{
    try
    {
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet( "new sheet");
        HSSFRow row = null;
        HSSFCell cell = null;
        HSSFCellStyle style = null;

        ServletOutputStream excelOut = ServiceContext.getResponse().getOutputStream();
        ServiceContext.getResponse().setHeader( "Content-Disposition", "attachment;filename=EvaluationCompensationList.xls");
        ServiceContext.getResponse().setContentType( MimeType.getMimeType( "xls"));

        //로우 생성
        row = sheet.createRow( ( short)0);
        row.setHeightInPoints( 30);

        //셀에 적용한 스타일을 생성한다.
        style = PTSUtil.setExcelHeaderStyle( wb);

        // 셀 생성
        cell = row.createCell( (short)0);

        //한글 처리
        cell.setEncoding( HSSFCell.ENCODING_UTF_16);  

        //셀에 데이터 입력하기
        cell.setCellValue( "값");

        //셀에 스타일 적용하기
        cell.setCellStyle(style);

        //.. 중간생략 ( 이런 방식으로 로우와 셀을 증가 시키면서 작업을 수행하면 된다.

        wb.write( excelOut);
        excelOut.flush();
    }
    catch( Exception e)
    {
        e.printStackTrace();
        throw e;
    }
    finally
    {
        ServiceContext.getResponse().getOutputStream().close();
    }
}


-----------------------------------------------------------------------------------
  HSSF를 이용해 자바에서 간단한 엑셀 파일을 생성하는 방법을 살펴보도록 하겠다. HSSF를 사용하기 위해서는 먼저 POI 라이브러리를 다운받아야 하는데 아래의 주소에 가서 라이브러리를 다운받은 후 클래스 패스를 잡아주면 된다.


  아래의 소스는 간단한 엑셀파일 생성에 관한 소스이다.
import java.io.*;
  import org.apache.poi.hssf.usermodel.*;

  public class NumberForm {
      public static void main(String[] args) throws IOException, InterruptedException {
          // 먼저 파일이 되는 workbook부분을 생성한다.
          HSSFWorkbook workbook = new HSSFWorkbook();

          // workbook부분에 sheet를 새로 생성한다.
          HSSFSheet sheet = workbook.createSheet("new");

          // sheet부분에 행을 새로 생성한다.
          HSSFRow row = sheet.createRow((short)0);

          // 새로 생성된 행 부분에 셀을 추가한다.
          HSSFCell cell = row.createCell((short)0);

          // 셀 값을 집어넣는다(숫자형)
          cell.setCellValue(1);

          // 셀 값을 집어넣는다(실수형)
          row.createCell((short)1).setCellValue(1.2);
          // 셀 값을 집어넣는다(문자형)
          row.createCell((short)2).setCellValue("string");
          // 셀 값을 집어넣는다(boolean형)
          row.createCell((short)3).setCellValue(true);
 
         FileOutputStream outFile = new FileOutputStream("newexcelfile.xls");
         workbook.write(outFile);
         outFile.close();
      }
   }


  새로이 Excel파일을 만드는 방법은 기본적으로 다음과 같다.

1. WorkBook를 만든다 (즉, 파일이 될 부분을 만든다)
2. WorkBook안에 sheet를 만든다
3. sheet안에 행을 만든다
4. 행 안에 기본단위인 셀을 만든다

* 이때 하늘색 바탕으로 표시된 부분이 인텍스 값이 되며, 인덱스는 0부터 시작한다.

 출처 : http://jetzt.tistory.com/tag/Java
Posted by 쭌쓰파파
,


## LONG TYPE을 LOB TYPE으로 CONVERSION하는 방법(TO_LOB) ##

Bulletin no 12143 참고


Oracle8 부터 LONG이나 LONG RAW Type과는 별도로 LOB Type이 추가 되었습니다.

LONG 이나 LONG RAW Type을 CLOB 또는 BLOB Type으로 변경하기 위해서는 Oracle8에서는
데이타를 다시 입력해야 했지만, 오라클 8i부터는 TO_LOB Function을 이용해서 Long Type의 Data를 LOB Type으로 쉽게 Conversion할 수 있습니다.

TO_LOB Function은 보통 CREATE TABLE .. AS SELECT .. 문장이나
INSERT INTO .. SELECT .. 문장을 이용해서 쉽게 사용 할 수 있습니다.



[예제1] LONG Type의 데이타를 CLOB Type으로 옮기는 방법
아래의 예제에서 Type만 LONG RAW와 BLOB으로로 바꾸어도 가능 합니다.


-- 마이그레이션 테스트를 위한 long컬럼을 가지는 테이블을 생성 합니다.
SQL>CREATE TABLE long_data (
c1 NUMBER,
c2 LONG);

테이블이 생성되었습니다.


-- 테이블의 확인
SQL> DESC long_data

Name Null? Type
----------- ------ ----
C1 NUMBER
C2 LONG


-- 샘플 데이터를 입력 합니다.
SQL>INSERT INTO long_data
VALUES (1, 'This is some long data to be migrated to a CLOB');
1 개의 행이 만들어졌습니다.

SQL>INSERT INTO long_data
VALUES (2, 'long컬럼을 clob으로 마이그레이션 하기 위한 테스트 데이터 입니다.');
1 개의 행이 만들어졌습니다.


-- clob로 마이그레이션 하는 테이블을 생성 합니다.
SQL>CREATE TABLE test_lobs(
c1 NUMBER,
c2 CLOB);

테이블이 생성되었습니다.


-- 테이블의 확인
SQL> DESC test_lobs
Name Null? Type
----------- -------- ----
C1 NUMBER
C2 CLOB


-- LONG타입의 데이터를 CLOB타입의 데이터로 변환
SQL>INSERT INTO test_lobs
SELECT c1, to_lob(c2)
FROM long_data;
2 개의 행이 만들어졌습니다.


-- 변환된 데이터를 확인 합니다.
SQL> SELECT c2 FROM test_lobs;

C2
-----------------------------------------------------------------
This is some long data to be migrated to a CLOB
long컬럼을 clob으로 마이그레이션 하기 위한 테스트 데이터 입니다.





[예제2] LONG Type을 CLOB Type으로 바꾸어 Table 생성하는 방법


-- 새로운 테이블을 생성하면서 기존의 LONG Type의 데이터를 CLOB Type의 데이터로 변환합니다.
SQL>CREATE TABLE clob_data
AS SELECT c1, to_lob(c2) c2
FROM long_data;
테이블이 생성되었습니다.


-- 데이터를 확인해 보세요..
SQL> SELECT c2 FROM long_data;




[예제3] LONG RAW Type을 BLOB Type으로 바꾸어 Table 생성하는 방법


-- image_data테이블에 LONG RAW컬럼이 있다고 가정을 하면은
SQL> DESC image_data
Name Null? Type
------------------------------- -------- ----
C1 NUMBER
C2 LONG RAW


-- 아래의 예제와 같이 테이블을 생성하면서 쉽게 blob Type으로 변환 할 수 있습니다.
SQL>CREATE TABLE blob_data
AS SELECT c1, to_lob(c2) c2 FROM image_data;


================================================
* 오라클 정보공유 커뮤니티 oracleclub.com
* http://www.oracleclub.com
* http://www.oramaster.net
* 운영자 : 김정식 (oramaster _at_ naver.com)
================================================
※ oracleclub 강좌를 다른 홈페이지에 퍼가실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

Posted by 쭌쓰파파
,
# tar -cvf [내가 지정하는 파일명].tar [폴더명]

- 폴더 자체가 TAR 형식으로 압축됨. 압축을 풀어도 폴더째로 풀림.
Posted by 쭌쓰파파
,