반응형

Memory-mapped files

Memory-mapped files allow you to create and modify files that are too big to bring into memory. With a memory-mapped file, you can pretend that the entire file is in memory and that you can access it by simply treating it as a very large array. This approach greatly simplifies the code you write in order to modify the file. Here’s a small example:

//: c12:LargeMappedFiles.java
// Creating a very large file using mapping.
// {RunByHand}
// {Clean: test.dat}
import java.io.*;
import java.nio.*;
import java.nio.channels.*;

public class LargeMappedFiles {
  static int length = 0x8FFFFFF; // 128 Mb
  public static void main(String[] args) throws Exception {
    MappedByteBuffer out = 
      new RandomAccessFile("test.dat", "rw").getChannel()
      .map(FileChannel.MapMode.READ_WRITE, 0, length);
    for(int i = 0; i < length; i++)
      out.put((byte)'x');
    System.out.println("Finished writing");
    for(int i = length/2; i < length/2 + 6; i++)
      System.out.print((char)out.get(i));
  }
} ///:~


To do both writing and reading, we start with a RandomAccessFile, get a channel for that file, and then call map( ) to produce a MappedByteBuffer, which is a particular kind of direct buffer. Note that you must specify the starting point and the length of the region that you want to map in the file; this means that you have the option to map smaller regions of a large file.

MappedByteBuffer is inherited from ByteBuffer, so it has all of ByteBuffer’s methods. Only the very simple uses of put( ) and get( ) are shown here, but you can also use things like asCharBuffer( ), etc.

The file created with the preceding program is 128 MB long, which is probably larger than the space your OS will allow. The file appears to be accessible all at once because only portions of it are brought into memory, and other parts are swapped out. This way a very large file (up to 2 GB) can easily be modified. Note that the file-mapping facilities of the underlying operating system are used to maximize performance.

Performance

Although the performance of “old” stream I/O has been improved by implementing it with nio, mapped file access tends to be dramatically faster. This program does a simple performance comparison:

//: c12:MappedIO.java
// {Clean: temp.tmp}
import java.io.*;
import java.nio.*;
import java.nio.channels.*;

public class MappedIO {
  private static int numOfInts = 4000000;
  private static int numOfUbuffInts = 200000;
  private abstract static class Tester {
    private String name;
    public Tester(String name) { this.name = name; }
    public long runTest() {
      System.out.print(name + ": ");
      try {
        long startTime = System.currentTimeMillis();
        test();
        long endTime = System.currentTimeMillis();
        return (endTime - startTime);
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
    }
    public abstract void test() throws IOException;
  }
  private static Tester[] tests = { 
    new Tester("Stream Write") {
      public void test() throws IOException {
        DataOutputStream dos = new DataOutputStream(
          new BufferedOutputStream(
            new FileOutputStream(new File("temp.tmp"))));
        for(int i = 0; i < numOfInts; i++)
          dos.writeInt(i);
        dos.close();
      }
    }, 
    new Tester("Mapped Write") {
      public void test() throws IOException {
        FileChannel fc = 
          new RandomAccessFile("temp.tmp", "rw")
          .getChannel();
        IntBuffer ib = fc.map(
          FileChannel.MapMode.READ_WRITE, 0, fc.size())
          .asIntBuffer();
        for(int i = 0; i < numOfInts; i++)
          ib.put(i);
        fc.close();
      }
    }, 
    new Tester("Stream Read") {
      public void test() throws IOException {
        DataInputStream dis = new DataInputStream(
          new BufferedInputStream(
            new FileInputStream("temp.tmp")));
        for(int i = 0; i < numOfInts; i++)
          dis.readInt();
        dis.close();
      }
    }, 
    new Tester("Mapped Read") {
      public void test() throws IOException {
        FileChannel fc = new FileInputStream(
          new File("temp.tmp")).getChannel();
        IntBuffer ib = fc.map(
          FileChannel.MapMode.READ_ONLY, 0, fc.size())
          .asIntBuffer();
        while(ib.hasRemaining())
          ib.get();
        fc.close();
      }
    }, 
    new Tester("Stream Read/Write") {
      public void test() throws IOException {
        RandomAccessFile raf = new RandomAccessFile(
          new File("temp.tmp"), "rw");
        raf.writeInt(1);
        for(int i = 0; i < numOfUbuffInts; i++) {
          raf.seek(raf.length() - 4);
          raf.writeInt(raf.readInt());
        }
        raf.close();
      }
    }, 
    new Tester("Mapped Read/Write") {
      public void test() throws IOException {
        FileChannel fc = new RandomAccessFile(
          new File("temp.tmp"), "rw").getChannel();
        IntBuffer ib = fc.map(
          FileChannel.MapMode.READ_WRITE, 0, fc.size())
          .asIntBuffer();
        ib.put(0);
        for(int i = 1; i < numOfUbuffInts; i++)
          ib.put(ib.get(i - 1));
        fc.close();
      }
    }
  };
  public static void main(String[] args) {
    for(int i = 0; i < tests.length; i++)
      System.out.println(tests[i].runTest());
  }
} ///:~


As seen in earlier examples in this book, runTest( ) is the Template Method that provides the testing framework for various implementations of test( ) defined in anonymous inner subclasses. Each of these subclasses perform one kind of test, so the test( ) methods also give you a prototype for performing the various I/O activities.

Although a mapped write would seem to use a FileOutputStream, all output in file mapping must use a RandomAccessFile, just as read/write does in the preceding code.

Here’s the output from one run:

Stream Write: 1719
Mapped Write: 359
Stream Read: 750
Mapped Read: 125
Stream Read/Write: 5188
Mapped Read/Write: 16


Note that the test( ) methods include the time for initialization of the various I/O objects, so even though the setup for mapped files can be expensive, the overall gain compared to stream I/O is significant.

출처 : http://www.linuxtopia.org/

반응형
반응형


Oracle version이 10.2.0.4로 동일하고 DB간 character set 도 동일하다고 가정한다면....

 

그냥 데이타파일을 copy하면 안되고요...

Cross-Platform Transportable Tablespaces 기능을 사용하시면 됩니다.

 

이때 Source 와 Target DB에서 아래를 조회해서 endian format이 같은지 검사해서...

아래 경우 little endian인데...source db와 target db의 os가 동일한 endian이면 상관없지만

 

 

        SQL> select PLATFORM_ID, PLATFORM_NAME  from v$database;
       
        PLATFORM_ID PLATFORM_NAME
        ----------- ------------------------------
                 10 Linux IA (32-bit)

 

        SQL> select  * from v$transportable_platform;
       
        PLATFORM_ID PLATFORM_NAME                  ENDIAN_FORMAT
        ----------- ------------------------------ --------------
                  1 Solaris[tm] OE (32-bit)        Big
                  2 Solaris[tm] OE (64-bit)        Big
                  7 Microsoft Windows IA (32-bit)  Little  
                 10 Linux IA (32-bit)              Little   <--- Little endian임.
                  6 AIX-Based Systems (64-bit)     Big
                  3 HP-UX (64-bit)                 Big
                  5 HP Tru64 UNIX                  Little
                  4 HP-UX IA (64-bit)              Big
                 11 Linux IA (64-bit)              Little
                 15 HP Open VMS                    Little
                  8 Microsoft Windows IA (64-bit)  Little
                  9 IBM zSeries Based Linux        Big
                 13 Linux 64-bit for AMD           Little
                 16 Apple Mac OS                   Big
                 12 Microsoft Windows 64-bit for A Little
                    MD

 

다를 경우 Rman으로 Data File Conversion 을 해야 합니다.

 

     - Source 에서
       > rman target=/
       RMAN> Convert Tablespace 'FINANCE, HR' to Platform ='AIX_Based System (64-bit)'  <--    

                  v$transportable_platform.platform_name
                     DB_FILE_NAME_CONVERT = '/orahome/dbs1', '/orahome/dbs/transport_aix',
                                            '/orahome/dbs2', '/orahome/dbs/transport_aix'; 
         <--해당 디렉토리 아래 FINANCE, HR TS에 해당하는 모든 것을 convert하여 지정된 디렉토리 아래로 copy
        
     또는
    
     - Target 에서
       > rman target=/    
       RMAN> Convert Datafile '/tmp/transport_stage/*' From Platform = 'Solaris[tm] OE (32-bit)'
                     DB_FILE_NAME_CONVERT = '/tmp/transport_stage/fin', '/orahome/dbs1/fin',
                                            '/tmp/transport_stage/hr',  '/orahome/db2/hr';
     - DB_FILE_NAME_CONVERT 가 없으면 flash recovery area에 같은 이름으로 만들어진다.
     - Parallelism option은 parallel하게 복수개의 file을 convert할때 사용.  Convert 시간은 Rman으로
       백업할때 걸리는 시간과 같다. Convert 전후의 file size는 변함이 없다.





TDB라는 방법도 있습니다.

http://www.oracle.com/technetwork/database/features/availability/maa-wp-10gr2-platformmigrationtdb-131164.pdf


HP.UX -> AIX로 진행 해 봤는데..

시간이 많이 걸리던 순서대로 나열하면 exp/imp, TTS, TDB 순서 더군요...

참고 하세요..





반응형
반응형

레지스트리 변경을 통해 해결

1. 시작 -> 실행 -> regedit

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments\ScanWidthAntiVirus

의 값을 1로 변경 (첨부파일 다운로드가 안될경우 3으로 되어있음)

2. 시작 -> 실행 -> regedit (1번의 경우 대부분 해결되지만 혹 안될경우)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments\ScanWithAntiVirus

값을 1로 변경함

※ office 제품군의 경우 다운로드는 되나 파일이 열리지 않는 경우에는(2007 기준)

excel 실행 -> 왼쪽 상단의 윈도우 마크의 동그라미 클릭 -> Excel 옵션 -> 고급탭 -> 일반 -> DDE(동적 데이터 교환)를 사용하는 다른 응용 프로그램을 무시(O) >>> 체크 해제함. -> 확인



반응형
반응형


단일 PDF와 PDF 포트폴리오의 차이




[단일 PDF로 파일 병합]
여러 개의 문서를 페이지가 연속된 하나의 PDF로 결합합니다. 이 때 원래 문서의 페이지별로 책갈피가 작성됩니다. 결합 전 파일에 보안이나 전자서명 등이 부여되어 있을 경우, 이러한 설정은 해제됩니다.





[PDF 포트폴리오]
PDF는 물론 그 밖의 다양한 파일 형식을 그대로 PDF 포트폴리오로 정리할 수 있습니다. 각각의 파일에 대해 설명을 덧붙일 수도 있어 사용자가 보기 쉬운 파일을 작성할 수 있습니다. Pro, Pro Extended에서는 포트폴리오의 외관이나 레이아웃을 독자적으로 사용자 정의할 수 있으므로, 인상적인 프리젠테이션이나 사내에서 파일을 주고 받는 여러 업무를 효율화하는 등 다양하게 활용할 수 있습니다.








다양한 파일을 하나의 PDF로 결합하기  
이 옵션을 선택하면 여러 개의 파일을 모아서 연속된 PDF페이지로 변환할 수 있습니다.



[결합] 작업 버튼에서 [단일 PDF로 파일 병합]을 클릭하여 [파일 결합] 대화상자를 표시합니다.





[파일 추가] 버튼에서 결합할 파일을 선택하고 추가합니다. 필요에 따라 순서 정렬 및 페이지 선택 등을 설정하고 [파일 결합]을 클릭합니다.





변환이 종료되면 [다른 이름으로 저장] 대화상자가 표시되므로 저장위치를 지정하고 [저장] 버튼을 누르면 결합된 PDF가 Acrobat에서 열립니다.

 
출처 : http://www.acrobatpdf.com/tip/detail.asp?id=94&gotopage=7&code=
반응형
반응형


주석 PDF 파일에 합치기

크리스가 검토자에게 보낸 전자문서에 저장된 주석 파일을 열려 있는 PDF 파일로 불러들이 려면 애크로뱃에서 작업해야 한다. 검토 파일을 PDF에서 여는 방법은 다음과 같다.

DOWNLOAD 크리스의 검토자가 보낸 검토 파일로 작업하려면 베이커 웹사이트에서 comments_heather.fdf, comments_john c.fdf, comments_rocky.fdf를 다운로드한 다음, 애크 로뱃에서 이 파일들을 PDF 파일에 추가한다.

1. manualE라는 이름으로 검토가 허락된 파일이 나 그 사본 파일을 연다. 검토에 관련된 파일이 병합된다는 대화상자가 열린다<그림 3-22>.

2. 크리스의 경우, [예]를 클릭하면 추적 가능한 원본 파일이 열린다. 또는 [아니오]를 클릭하면 사본으로 문서가 열리거나 파일 가져오기가 취소된다. 어도비 애크로뱃 대화상자에서 사본의 주석과 원본 문서가 통합하는 메시지가 나오면, [예]를 클릭해서 대화상자를 닫는다.

3. 프로그램 창의 왼쪽, 탐색 패널에서 <방법> 패널에서 검토자의 주서들을 통합시키는 방법을 참고 한다. 처음으로 주석 통합 작업을 시작한다면 관련 정보를 살펴보기 바란다.

파일이 연 후에, 크리스는 검토자의 전자 메일에서 저장한 주석 파일들을 직접 불러들이 기로 했다. 주석 파일을 찾고 추가하는 방법은 다음과 같다.



<그림 3-22>가져오고자 하는 파일이 추적 가능한 검토 파일이라는 사실 등을 확인하라는 대화상자가 열린다.



<그림 3-23> <방법> 패널를 보면 주석에 관한 정보를 참조할 수 있다

1. ‘주석 > 주석 가져오기’를 선택해서 <주석 가져오기> 대화상자를 연다.

2. 가져 올 파일을 찾고 선택한다<그림 3-24>.크리스는 동시에 3개의 주석 파일들을 선택 했다.

3. 올바른 폴더에서 파일을 찾고 있는데도 해당파일을 찾을 수 없다면, ‘파일 형식’화살표 를 클릭해서 또 다른 포맷을 선택한다.

4. 파일들이 하나씩 병합될 것이다. 검토에 사용한 파일이나 주석을 추가한 파일의 이름에 따라서 주석이 원본 파일이 아닌 사본 파일에서 불러왔다는 대화상자가 나타나기도 한다. [예]를 클릭해서 주석들을 문서에 추가한다.

5. 주석을 추가한 후에 파일을 저장한다.


<그림 3-24>검토문서에 병합할 주석 파일들을 선택한다.

크리스는 검토자로부터 답장을 받고 검토자들이 사본에 주석을 완성할 수 있도록 설정하여 이후 주석들을 원본 문서에 계속해서 통합할 수 있었다. 이와 같이 디지털 주석 과정을 유지하면, 종이로 작업하면서 여러 가지 자료로부터 오는 자료들을 일일이 취합하면서 생기는 문제들을 해결할 수 있다. 수기로 편집하다 보면 오탈자 등의 실수가 입력하는 것에 비해서 많은 것이 현실이다.
애크로뱃 검토 과정은 또한 시간상으로도 대단한 효율성을 자랑한다. 크리스는 주석을 받아서 원본 문서에 통합할 때 별도의 이름으로 저장한다. 독특한 이름, 예 를 들어 원본 문서의 이름 끝에 검토 일자 등을 덧붙이면 프로젝트의 진행을 파악하기가 쉬 워진다. 크리스는 파일을 manualC.pdf로 저장했다(C는‘comments’의 약자).


주석 마이그레이션
주석은 한 번만 PDF 문서에 가져오기를 한다. 한 문서를 여러 버전으로 작업할 때는 번호를 붙여서 저장하는 것이 좋다. 이런 식으로 한 문서를 돌리면 하나의 PDF 문서에 여러 주석을 추가할 수 있다. 이와 달리, 주석 마이그레이션을 이용하면 하나의 문서에 주석들을 여러 번 추가할 수 있다.
‘주석 > 주석 마이그레이션’을 선택해서 대화상자를 열고, 주석을 불러올 문서와 주석을 내보낼 문서를 동시에 선택한다.
마이그레이션이 진행되면 프로그램이 해당 문서를 찾고 문서의 태그에 따라 올바른 위치에 주석을 배치해야 한다. 두 문서의 차이에 따라 주석의 위치가 다른 경우가 있는데, 이런 문제는 하나씩 조정하는 수밖에 없다.

불러들인 주석은 다음과 같은 기준에 따라 자리를 잡게 된다.
  • 선택한 단어에 추가한 텍스트 주석은 수정 문서에 똑같은 단어가 배치되어 있다가 거기에 자리를 잡는다. 단어가 일치하지않으면 주석은 그 문서의 첫 페이지 또는 마지막 페이지에 삽입된다. 그 단어가 지워졌다면, 주석은 노트로 전환된다.
  • 스탬프, 노트, 마크업은 원본 문서의 구조에 따라 삽입된다. 해당 페이지가 삭제되었으며, 주석은 수정 문서의 마지막 페이지에 배치된다.



검토 관리하기

‘옛날’이었다면, 크리스는 누가 주석을 마쳤고 누구의 피드백이 진행 중인지를 일일이 확인 하느라 페이지를 넘기고, ‘독촉’메일을 보내야 했을 것이다. 그러나 지금은 애크로뱃의 검 토 추적기와 주석 패널을 사용하면 이런 정보를 얼마든지 관리할 수 있다. 검토 추적기를 여는 방법에 대해 알아보자.

1. 검토 및 주석 화살표를 클릭하고 <검토 추적기>를 선택한다.

2. 검토 추적기는 별도의 창으로 열린다<그림 3-25>. 왼쪽 창의 목록에서 확인하려는 검토를 선택한다.


<그림 3-25>검토 추적기를 사용하면, 검토에 대한 정보를 확인할 수 있다

3. 오른쪽 창에서 검토자의 이름을 클릭해서 정보를 연다.
오른쪽 창에는 선택한 검토자의 이름, 원본 검토 문서의 저장 위치와 참가자 목록이 나온다. 참가자는 활성링크로 구성되어 있다. 이름을 클릭하면 선택한 참가자와 연결된 전자 문서 대화상자가 열린다.

4. 대화상자의 오른쪽 상자에서 다음 중 하나를 선택한다.
  • 모든 검토자에게 전자 메일 보내기 : 검토 참가자 목록 속한 사람들에게 연결된 전자 메일 대화상자가 열린다.
  • 검토자 추가 : 추가 검토자를 초대하는 <검토를 위해 전자 메일 보내기> 대화상자가 열린다. 마법사의 지시에 따라 참가자를 추가한다.

참가자가 여러 사람이면 검토를 추적하기란 어려운 일이 아니지만 10명이 넘어가면 검토를 관리하기가 어렵다. 그러나 주석 패널을 이용하면 여러 가지 방법으로 주석을 정리할 수 있 으므로 일이 아주 쉬워진다.



주석 패널 활용하기

문서에서 어떤 주석들은 원본 워드 문서에 삽입하기 위한 텍스트도 있지만, 어떤 것들은 PDF 문서에 속하는 요소, 특히 책갈피 같은 것일 수도 있다.
크리스는 이번에 검토자들에게 책갈피를 평가해 줄 것을 부탁했다. 문서에 통합된 주석이라도 여러 가지 방식으로 검사하고 이용할 수 있다. 이번에는 애크로뱃 에 주석을 다루는 방법에 대해 알아보겠다.

1. 프로그램 창의 왼편, 탐색 패널에 있는 주석 아이콘( )을 클릭해서 주석 패널을 연다.
애크로뱃의 탐색 패널들과는 다르게, 주석 패널은 문서창 및 탐색 패널에 있다.

2. 원본에서 가져오기 한 주석들은 기본 설정에 따라 페이지 순서로 주석 창에 정렬된다(그림 3.26).



<그림 3-26>기본적으로, 애크로뱃의 주석은 페이지 순서에 따라 정렬된다.


<그림 3-27>공간을 절약하기 위해서 주석을 확장하거나 접을 수 있다.

<그림 3-28>정렬할 방식을 선택한다.

3. 정렬 기준’의 화살표를 클릭한 후에 정렬 방법을 선택한다<그림3-27>. 크리스는 유형별 정리를 선택해서 주석을 정렬했다.

4. 주석의 종류가 닫혀 있으면 이름 왼쪽의 플러스(+) 기호를 클릭하면 특정한 유형의 주석 목록이 열린다<그림 3-28>.



확인 표시 달기

크리스는 주석을 자동으로 워드 문서에 내보내려고 한다. 모든 주석을 내보낼 필요가 없기 때문에, 크리스는 주석 패널의 확인 기능을 이용해서 내보내려는 주석에만 분류하기로 했다.
주석 패널에서 주석에 확인 표시를 하는 방법은 다음과 같다.

1. [확인]을 적용할 주석을 선택한다.

2. 주석 패널에서 확인 아이콘을 클릭한다.

3. 이 기능을 처음 사용하는 경우에는 애크로뱃 정보 대화상자에 확인 표시는 이 문서에만 적용되고 다른 사용자와 공유되지 않는다는 설명이 나온다. 크리스가 원하는 설정이다.

4. [확인]을 클릭해서 정보 대화상자를 닫는다. 주석 패널의 해당 주석 왼쪽에 확인 상자에 확인 표시가 보인다<그림 3-29>.


<그림 3-29>애크로뱃에서 주석이나 작업 과정을 확인할 수 있다.

크리스는 주석 패널을 훑어보면서 보내고자 하는 주석에는 확인 표시를 덧붙였다. 확인 표시가 없는 것은 나중에 삭제할 것이다. 크리스는 작업 과정을 확인하고 빠뜨린 주석이 없는지를 확인하기 위해서 다음과 같은 방법으로 확인 표시에 따라 주석을 정리했다.

1. 주석 패널의‘정렬 기준’을 클릭해서 메뉴를 연다.

2. ‘확인 표시 상태’를 선택한다. 주석이‘표시되지 않음’과 ‘표시됨’, 두 가지로 정렬된다<그림 3-30>.

3. ‘표시되지 않음’항목을 클릭해서 목록을 열고, 그대로 처리해도 좋은지 다시 한 번 확인 표시가 없는 목록들을 살펴본다.

4. 파일을 저장한다.
이것으로 크리스는 종이를 쓰지 않고 많은 시간을 절약하며 처음으로 검토 작업을 마쳤다.


<그림 3-30>빠진 항목이 없는지 주석을 정렬해서 확인해 보자



주석을 Word 문서로 합치기


이후 검토 작업을 하는 데는 몇 가지 방법이 더 있다.‘ TouchUp’도구로 문서의 텍스트를 일 일이 수정하고, 동료들에게서 입수한 주석에 따라 책갈피를 하나씩 정리할 수도 있다.
그러나 주석이‘텍스트 편집’도구로 작성되었으므로, 크리스는 주석을 애크로뱃 8 프로페셔널에서 직접 Word 문서(윈도우)로 내보내기 하면 자동으로 수정을 진행하고 PDF 파일처럼 주석을 정돈할 수 있다.

DOWNLOAD 주석을 Word 소스 문서로 내보내서 수정하는 방법은 베이커 웹사이트에서 ch03b1.pdf 파일을 참고한다. 주석 통합 기능은 윈도우에서만 가능함.



그 밖에 할 수 있는 일들

크리스는 이후 검토 작업으로 PDF 파일에서 편집해서 새로운 PDF 문서를 만들고 이를 참가 리스트에 따라 다시 배포해야 한다. 모든 검토자로부터 승인을 받으면 문서는 인쇄 과정을 시작할 것이다.

12장“보안 및 보고서”에 설명하겠지만, 검토자들끼리 참고해야 하는 주석 요약을 PDF 문서 로 저장할 수도 있다. 또는 텍스트나 FDF(File Data Format)으로 주석을 내보내서 검토자 이 외의 사람들이 검토 문서를 각자 통합하게 할 수도 있다.

 
출처 : http://www.acrobatpdf.com/tip/detail.asp?id=91&gotopage=8&code=
반응형
반응형


  Adobe Acrobat 8의 PDF파일 주석 달기(annotation), 코멘트(comment), 마크업 기능은 교사와 학생들에게 다양한 기회를 제공한다. 또한 작성자는 코멘트 기능을 활성화하여 무료 Adobe Acrobat 리더를 통해 문서를 보는 이용자들을 마크업과 리뷰 과정에 참여시킬 수 있다. 오디오 코멘트 기능도 추가되어 좀더 손쉽게 서로의 과정을 평가할 수 있게 되었다. 4장에서는 PDF파일 코멘트, 리뷰 기능에 대해서 살펴 보겠다.



학습자 수준

 초, 중급 수준. 1장을 통해 Adobe Acrobat 문서 작업에 대한 기본적인 지식을 갖추고 있어야 하며 파일 열기, 닫기, 저장 기능을 숙지하고 있어야 한다.



개요 및 목표

 Acrobat 의 마크업 도구를 소개하고 이를 이용해 주석, 코멘트를 작성할 수 있게 한다. 강조표시(Highlight tool), 펜슬(Pencil tool), 노트(Note tool)도구와 더불어 각각의 도구와 관련된 코멘트 기능, 코멘트 보내기, 받기, 요약하기, 전자메일로 리뷰하기 등을 자세히 살펴 보겠다.

4과에서 학습할 내용은 다음과 같다.
  1. 강조표시 도구를 (Highlight tool) 이용하여 다음 사용을 위해 PDF 문서에 표시한다.
  2. 다양한 코멘트 도구를 이용해 PDF 문서에 주석을 단다.
  3. 리뷰를 위해 코멘트 상태를 설정한다.
  4. 코멘트 보내기, 받기를 통해 다른 사람과 공유한다.
  5. 코멘트 목록을 이용하여 주석을 삭제하고 정리한다.
  6. 전자메일로 리뷰한다.
Note
4과는 한 시간 분량 수업이 3장으로 나누어져 있다. 1장에서는 디지털 워크플로우에 이용하는 코멘트 달기에 초점을 맞춰 처음에 나온 세 가지를 중심으로 살펴보겠다. 2장에서는 다양한 종류의 코멘트를 작성하고 이를 반 학생들과 주고 받는 연습을 직접 해보도록 한다. 3장은 이러한 연습에 초점이 맞춰진다. 학습 시간은 클래스 수준에 따라 유연하게 적용한다.



제4과를 위한 핵심용어

스티커 노트(Sticky note): 마크업 도구에 관련된 전자 코멘트.

마크업 도구(Mark up):
PDF 문서에서 표시하고 메모할 때 이용되는 코멘트 도구를 모아놓은 것.

FDF(Forms Data Format):
PDF의 코멘트를 컴퓨터끼리 전달할 때 사용됨.

이메일 기반의 리뷰(E-mail based Review):
여러 명의 참여자의 코멘트를 문서 작업자가 취합할 때 사용하는 자동프로세스.

주석목록(Comments List):
모든 주석과 문서 마크업을 관리하는 곳. 아이콘은 문서 창 좌측하단에 있음.



1장: 코멘트 달기

코멘트란

 Comment 도구는 PDF 파일에 주석 달기, 텍스트에 표시하기, 코멘트를 작성하기 등 다양한 방법을 제공한다. 또한 음성녹음이 가능하고 외부 파일을 코멘트로 첨부할 수 있다.

 코멘트 작성 도구에는 텍스트 마크업, 그래픽 마크업, 코멘트가 있다. 툴바에 있는 도구 중에는 아래 숨겨진 도구가 있는 경우도 있다. 클릭하고 위 쪽에 있는 도구에 커서를 갖다 대면 아래 쪽에 있는 다른 도구가 나온다. 모든 코멘트 도구에는 그와 관련된 팝업 노트가 있다. 코멘트는 레이어에 있고 문서의 마크업을 더블 클릭하면 볼 수 있다.
여기서는 ACR_Resources 폴더에 있는 TopAcrobatFeatures.pdf 파일을 작업 창에서 사용할 것이며 작업 창에 이 파일을 띄어놓아야 한다.



코멘트와 마크업 툴바

  1. 리뷰와 코멘트(그림 1)을 클릭하여 테스크 툴바에서 코멘트 및 마크업(Comment & Markup)을 연다.
    혹은 Acrobat 메뉴에서 도구>코멘트 및 마크업>코멘트 툴바 보기를 선택해서 열 수도 있다.

    (그림 1)

    (그림 2)



코멘트 도구

 기본적인 코멘트 달기 도구는 그림1에서와 같이 툴바 좌측에 있다. 왼쪽에서 오른쪽 순서로 되어있으며, 각각의 도구에 커서를 갖다 대면 이름을 볼 수 있다.
  • 스티커 노트 도구(Sticky Note tool): PDF 문서에 주석 달기를 함.
  • 텍스트 편집 도구(Text Edit tool): 쉽게 편집 및 리뷰하기 위해 강조표시 기능을 포함함.
  • 스탬프 도구(stamp tool): 날짜와 시간이 함께 나와 있는 다이내믹 스탬프 혹은 일반 비즈니스 스탬프를 사용하거나 자신의 PDF 문서에 맞게 스탬프를 직접 만들 때 사용.
  • 텍스트 강조 표시 도구(Highlight text tool): 텍스트를 강조 표시할 때 사용.
    음성 녹음과 파일을 코멘트로 첨부하려면 Acrobat 메뉴에서 도구>코멘트와 마크업을 선택, 목록에서 해당기능을 선택한다.



마크업 도구

 툴바의 마크업 그리기는 PDF 문서에 다양한 그림을 가능하게 한다. 그 외에도 텍스트 박스 그리기, 직접 그리기, 불러오기 등이 있다. 기본 마크업 툴은 그림 1에서와 같이 툴바에 우측에 있고, 왼쪽에서 오른쪽 순서로 되어 있으며 각각의 도구에 커서를 갖다 대면 이름이 보인다.

  • 불러오기: 문서의 한 부분을 가리키고 텍스트를 덧붙인다.
  • 텍스트 박스 도구: 텍스트 코멘트를 덧붙인다.
  • 화살표, 줄, 직사각형, 타원, 펜슬 도구: PDF에서 표시 부분을 명확히 한다.
  • 첨부 도구: PDF에 파일, 오디오 코멘트를 첨부한다.


코멘트 목록


 코멘트 목록은 문서에 있는 모든 코멘트와 마크업, 주석을 보여주는 것으로 이를 페이지, 종류, 작성자, 날짜 별로 분류하는 데 쓰인다. 모든 코멘트에는 아이콘이 있어서 코멘트의 일부분을 볼 수 있으며, 코멘트 목록에 있는 코멘트를 클릭하면 그 코멘트가 있는 페이지로 넘어간다.

코멘트 목록 아이콘은 탐색 창 아래쪽에 있다(그림 3).

 
(그림 3)



코멘트 아이디와 선호(preference) 지정하기
  1. 코멘트 아이디를 지정할 때는 편집> 선호(preferences)로 가서 목록에서 아이디를 선택한다.
    매킨토시 사용자는 OSX에 있는 Acrobat 메뉴에서 원하는 것을 선택한다.
  2. 아이디 정보를 써넣는다. (이를 위해 관리자의 허가가 필요할 수도 있다)
  3. 선호 목록 위 부분에서 코멘트 작성하기를 선택하고 선택된 텍스트 강조하기, 줄 그어 지우기, 코멘트 팝업 밑줄 긋기 등이 선택됐는지 확인한다.
  4. 확인을 클릭한다.
앞의 과정을 거치면 작성자 이름이 보이고 강조 표시된 텍스트는 자동으로 팝업 노트에 저장된다.



스티커 노트 도구

스티커 노트 도구를 사용하는 방법은 다음과 같다.
  1. 코멘팅 툴바에서 스티커 노트 도구를 선택한다. (그림4)

    (그림 4)

  2. 주석을 달고 싶은 부분을 클릭한다. 빈 메모박스가 생기면 그 안에 내용을 써넣는다.
코멘트를 쓰고 싶은 부분에 오른쪽 클릭을 하거나 (Windows)Ctrl-클릭을 하고, (Mac OS)메모 달기를 선택한다.

주석의 ( 노트 ) 속성 변경 방법은 다음과 같다.
  1. 변경할 주석을 선택하고 오른쪽 클릭(Windows) 혹은 Ctrl-클릭(Mac OS)한 후 속성을 선택한다.
  2. 모양 탭에서 스티커 노트의 아이콘, 색깔, 밝기를 선택한다.
  3. 일반 탭에서 아이디 선호에서 미리 지정된 작성자 이름을 볼 수 있다. 새로운 이름을 써넣으면 주석 이름을 변경할 수 있다. 히스토리 리뷰 탭에서(히스토리 리뷰 탭)에서 코멘트의 정보를 확인할 수 있다.

    (그림 5)

  4. 계속 작업을 이어나가면서 주석을 단다.


텍스트 강조표시

 텍스트 강조표시 도구는 텍스트를 선택하고 일반 마커를 이용해 자신이 원하는 대로 표시 할 때 사용된다. 텍스트 강조 표시 도구를 사용하는 방법은 다음과 같다.
  1. 툴바에서 텍스트 강조표시 도구를 선택한다. (그림6)

    (그림 6)

  2. 강조하고 싶은 텍스트의 앞 부분에 커서를 대고 드래그한다.

    (그림 7)

  3. 원하는 부분 까지 갔을 때 마우스에서 손을 떼면 그림 7과 같이 된다.
  4. 커서를 강조 표시된 텍스트로 옮기면 강조 표시된 부분이 보인다. 강조 표시된 부분을 클릭하면 강조 표시된 텍스트가 자동으로 텍스트 노트에 들어간 것을 확인할 수 있다. 메모에서 텍스트를 선택해서 내용을 수정하여 편집할 수 있다.
  5. 색깔이나 작성자를 변경할 시 오른쪽 클릭(Windows), Ctrl-클릭(Mac Os)하고 컨텍스트 메뉴에서 속성을 선택한다.

    Note
    앞의 과정은 PDF문서를 읽으면서 메모할 때 가장 유용하게 쓰이는 기능이다. Acrobat Help
    파일을 읽을 때 강조표시 도구를 이용해 중요한 정보를 메모해야 한다.

  6. 계속해서 중요한 정보에 강조표시를 한다 . 메모를 하면서 다른 페이지로 넘어가도록 한다 .
  7. 끝나면 핸드 도구를 클릭한다 .


화살표 도구

 화살표 도구와 관련 그래픽 마크업은 코멘트와 마크업 툴바의 일부분으로서 , 문서에 다양한 그림 표시와 메모를 할 때 사용된다.

화살표 도구를 사용하는 방법은 다음과 같다 .
  1. 화살표 도구를 선택하고 (그림 8) 드래그 해서 화살표를 그린다.

    (그림 8)

  2. 방금 그린 화살표 줄 부분을 조심스럽게 더블 클릭하면 텍스트 박스가 만들어진다. 박스 안에 내용을 써 넣는다. (그림9)

    (그림 9)

  3. 줄의 속성을 바꾸려면 코멘트를 더블 클릭한다.
  4. 문서를 저장하면 코멘트가 파일에 포함된다.
  5. 탐색 창에서 코멘트를 클릭하면 자신이 쓴 모든 코멘트를 볼 수 있다. (그림10)

    (그림 10)



2장: 코멘트 작업하기

 2장에서는 1장에서 만든 코멘트를 갖고 작업하는 연습을 한다. 1장에서 만들었던 주석이 달린 TopAcrobatFeature.pdf파일을 Acrobat 작업 창에 띄어 놓는다.

PDF에서 코멘트 보기
  1. 아이콘을 선택해서 코멘트 목록을 열면 자신이 이제까지 썼던 코멘트가 그림 11과 같이 보인다. 코멘트 목록 위 부분에서 자신의 코멘트를 확인, 분류, 관리 할 수 있다.

    (그림 11)

  2. 코멘트의 내용을 볼 때는 전체 내용 보기를 클릭한다. 코멘트를 클릭하면 코멘트가 있는 문서의 페이지로 갈 수 있다.



코멘트 요약

 코멘트를 요약해서 모든 코멘트가 포함된 새로운 PDF를 만들 수 있다. 이 파일은 저장, 인쇄하여 일반 PDF 파일과 같이 사용될 수 있다.

코멘트를 요약하는 방법은 암과 같다.
  1. 코멘트 리스트 위 부분에 있는 옵션에서 코멘트 요약을 선택한다.
  2. 요약 옵션 대화 박스에서 요약 레이아웃을 선택하고 “컨텐츠 요약 PDF 생성하기”를 클릭한다. (그림 12)
    선택에 따라 PDF 문서에서 모든 코멘트가 포함된 새로운 PDF가 만들어진다. (그림 13)

    (그림 12)

  3. 요약 PDF 파일을 저장한다.

    (그림 13)



코멘트 삭제하기

코멘트 목록이나 문서에서 코멘트를 한번 클릭한 후 몇 가지 과정을 거치면 된다.

PDF에서 코멘트를 삭제하는 방법은 다음과 같다.
  1. 삭제할 코멘트를 클릭하십시오. 클릭할 때 Shift키를 누르면 하나 이상의 코멘트를 선택할 수 있다.
  2. Delete키를 누른다. 혹은 오른쪽 클릭(Windows) 혹은 Ctrl-클릭(Mac OS)을 하고 삭제를 선택한다. 그림 14와 같이 문서에서 코멘트나 표시된 부분이 삭제된다.

    (그림 14)



코멘트 스펠링 검사

 코멘트의 스펠링 검사를 하고 Acrobat 에 추가 편의를 위한 영역을 만드는 방법을 소개한다. 필요할 경우 새로운 단어를 사용자 사전에 추가할 수 도 있다.

스펠링 검사를 하는 방법은 다음과 같다.
  1. Acrobat 메뉴에서 편집>스펠링 검사>코멘트에서 스펠링 검사를 선택하거나 혹은 F7을 누른다.
  2. “스펠링 체크하기” 대화 상자가 뜨면 “시작”을 누른다.
  3. 리뷰해 나가면서 스펠링 검사를 실시한다.

    (그림 15)

    의심스러운 단어나 단순한 구두법 실수가 발견되면 교정 표시가 뜬다. 이때 무시하거나 수정할 수도 있고 그 단어를 사용자 사전에 추가할 수 도 있다. (그림 15)

  4. 작업을 다 마치면 “완료”를 누르고 문서를 저장한다.



코멘트 보내기

 PDF의 코멘트를 다른 사람들이 사용할 수 있도록 보낼 수 있다. 코멘트를 FDF(Forms Data Format)이라는 특수 Acrobat 파일로 저장한다. FDF파일은 associated PDF파일 보다 용량이 훨씬 작은 파일로 다른 사람들의 컴퓨터로 보낼 수 있다.

코멘트 보내기를 할 때는 다음의 순서를 따른다.

  1. Acrobat 메뉴에서 코멘트>코멘트를 데이터 파일로 보내기를 선택한다.
  2. 보내기 상자에서 “. fdf extension”이 파일명에 꼭 포함되도록 한다.
  3. 저장을 누르면 다른 사람들과 코멘트를 공유할 수 있다.
Note
코멘트 보내기에 대한 구체적인 내용은 complete Acrobat Help file을 참조한다. 플랫폼이나 워크그룹, 워크플로에 따라서 내부적으로 혹은 웹이나 전자메일을 통한 다양한 방법으로 코멘트를 공유, 유지할 수 있다.



3장: 워크그룹에서 함께 작업하기

 PDF 문서로 작업할 때 가장 큰 이점은 코멘트를 작성, 그래픽 표시, 문서에 정보 추가를 통해 문서를 읽는 사람들이 그 문서를 손상하지 않고도 주석을 달고 리뷰할 수 있다는 점이다. 그룹으로 작업할 때 각 그룹멤버는 자신의 위치에서 문서를 리뷰, 수정을 할 수 있고 자신이 추가한 주석을 다른 사람들에게 보낼 수 있다.

다음의 사항은 디지털 공동 작업의 기본 개념이다.

  • 모든 사용자들은 Adobe Acrobat으로 작업한다.
  • 모든 사용자들은 자신의 컴퓨터 상에 똑같은 PDF파일을 갖고 있다.
  • 각 사용자들이 고유한 작성자 이름을 갖고 있다.
  • 다른 글자 색을 써서 멤버들의 코멘트와 주석을 구분 할 수 있다.
그룹이 형성되고 모든 준비가 끝나면 공동 작업을 시작할 수 있다. 이 장에서는 모든 그룹멤버가 TopAcrobatFeatures.pdf를 공동 PDF문서로 사용한다.

Note
각 그룹의 멤버는 3-5명으로 한다. 파일은 네트워크나 디스크로 교환한다. 3장에서는 Acrobat8의 신기능을 골라서 중요한 부분을 강조 표시하고 코멘트나 메모를 하는 방법을 익히도록 한다. 이 과정이 끝나면 How-to and Help를 참조해서 새로운 기능을 빠르게 학습할 수 있다.



작성자 선호 지정하기
  1. 편집> 선호> 일반을 선택하고 목록에서 아이디를 선택한다.
  2. 이름을 써넣는다.
  3. 확인 버튼을 누르고 선호박스를 닫는다.


PDF에 주석 달기


 1,2장에서 학습한 내용을 바탕으로 그룹 샘플 파일에서 자신의 영역에 표시를 하고 강조표시를 한다. 다양한 색깔과 도구를 사용하도록 하자. 각 상황에 맞는 도구를 사용하도록 한다.



코멘트 보내기


코멘트를 작성했으면 다른 사람들이 볼 수 있도록 보내야 한다. 코멘트를 보내는 방법은 다음과 같다.

  1. Acrobat 메뉴에서 코멘트>코멘트 보내기를 선택한다.
  2. 파일명을 쓸 때 “. fdf” 앞에 자신의 이름을 써넣는다.
  3. 저장을 누른다. 이때 파일명에 “. fdf extension”이 꼭 포함되도록 한다.



코멘트 받기

모든 그룹멤버는 자신이 작성한 코멘트를 파일 공유나 전자메일을 통해 다른 멤버에게 보낸다.

모든 코멘트를 각 그룹멤버에게 보낸 후 다음의 순서를 따른다.
  1. 컴퓨터에서 문서를 연다.
  2. 메뉴에서 코멘트>코멘트 받기를 선택한다.
  3. 모든 사람의 코멘트를 다 받을 때까지 위의 과정을 반복한다.
  4. 코멘트 목록이 열려 있지 않은 경우 아이콘을 클릭해서 열도록 하고 모든 사람들의 코멘트가 자신의 파일에 포함됐는지 확인한다.
  5. 코멘트 리스트에서 “분류” 버튼을 누르고 “작성자”를 선택한다(그림 16)

    (그림 16)

  6. “보기”버튼을 클릭하고 옵션을 이용한다.
  7. 코멘트 목록을 열고 코멘트를 클릭하면 자신의 파일에서 코멘트가 포함된 부분으로 이동할 수 있다.



코멘트 상태 설정하기

 각 멤버들이 서로 다른 주제를 다루고 있기 때문에 코멘트 창에 “체크 박스”를 이용하여 각 코멘트의 리뷰를 관리할 수 있다.

코멘트의 상태를 설정하는 방법은 다음과 같다.
  1. 코멘트 목록에서 상태를 설정하고 싶은 코멘트를 클릭한다.
  2. 상태설정>리뷰에서 해당 사항을 선택한다. (그림 17)

    (그림 17)

  3. 완료 버튼을 선택한다.
  4. 코멘트를 리뷰 해 나가면 앞의 과정을 계속한다.
  5. 오른쪽 클릭(Windows) 혹은 Ctrl-클릭(Mac Os)을 하고 속성을 선택한다.
  6. 리뷰 정보 탭을 선택한다.
코멘트 변경 사항 리스트가 (그림 18)과 같이 보입니다.

 
(그림 18)



4장: 전자 메일 리뷰

 Acrobat8의 큰 특징은 전자메일로 문서를 보내 리뷰를 할 수 있다는 점이다. 무료 Adobe 리더 이용자들도 리뷰, 코멘트 작성 과정에 참여 할 수 있다. 적어도 한 명 이상의 파트너와 연습하도록 한다.
다음은 전자메일을 통한 디지털 공동작업 워크플로우의 기본개념이다.
  • 모든 작성자는 Adobe Acrobat 에서 작업한다.
  • 다른 참여자들이 Acrobat을 이용하지 못하는 경우 작성자는 Adobe 리더에서 코멘트 작성이 가능하도록 한다.
  • Adobe Acrobat 프로그램이 없는 사람은 무료 Adobe Acrobat 리더를 다운받아 사용한다.
  • 모든 참여자는 클라이언트 전자메일 애플리케이션을 사용할 수 있어야 한다.

이 장에서 리뷰할 문서로 TopAcrobatFeatures.pdf 를 사용한다 .

Note
전자메일 리뷰를 시작하고 참여하기 위해서는 통합 전자메일 클라이언트를 사용할 수 있도록 컴퓨터가 설정되어 있어야 한다. 웹 전자메일은 사용될 수 없다. 많은 사람들이 함께 이용하는 학교 컴퓨터의 워크스테이션은 통합 유저 로그인을 위한 전자메일 클라이언트가 설정되지 않은 경우도 있다. 시행하기 전에 네트워크 관리자에게 문의해보도록 한다.




리뷰용 전자메일 보내기
  1. Acrobat 툴바에서 “리뷰 및 코멘트” 버튼을 누르고 “전자메일 리뷰용으로 첨부”를 선택한다. (그림 19)

    (그림 19)

    “리뷰하고 싶은 파일 선택하기”, “리뷰 할 사람 초대하기”, “초대장 미리 보기의 과정”이 담긴 대화 상자가 차례대로 뜬다.

  2. 대화 박스에 나와있는 지시를 따른다.

    수신자가 전자메일을 통해 PDF를 받을 경우 코멘트를 작성할 수도 있고 파일을 다시 돌려보낼 수도 있다. 이 과정은 Acrobat 과 Adobe 리더를 통해 자동적으로 이루어진다.

  3. 전자메일 보내기 두 번째 단계에서 리뷰 옵션에서 설정바꾸기를 선택한다. (그림20)

    (그림 20)

  4. Adobe 리더 사용자들이 참여할 수 있도록 옵션을 선택한다. (그림 21)

    (그림 21)

  5. 마지막 단계에서 “초대장 보내기”를 클릭해 전자메일을 보낸다.




전자메일 리뷰용 코멘트

 전자메일 리뷰 메시지를 받을 때는 전자메일에서 첨부 파일을 연다. 원본을 찾지 못할 경우 이를 검색 할 수 있다.

“PDF 통합하기” 대화 박스에서 “예”버튼을 클릭하여 PDF원본을 열고 코멘트를 파일에 취합한다. 코멘트를 다 통합한 후 파일>저장을 선택한다.

전자메일 관리와 온라인 리뷰에 대한 더 자세한 사항은 Acrobat Help 파일을 참조한다.



활동:
  • 조별로 색 배합과 아이콘 시스템을 만들어서 주석을 제출하게 한다. 이 때 다양한 방법을 사용하게 해서 가장 잘 맞는 방법을 찾아보게 한다.
  • 학습자들의 이름대신 선호 아이디를 설정해서 익명으로 동료 리뷰가 이루어지게 한다.
  • 지원자를 중심으로 마크업 도구를 조사하고 이를 발표하게 한다. 좀 더 재미있게 수업할 수 있게 다양한 방법을 이용한다.
  • 점수를 매기는데 스탬프 도구가 유용하게 쓰일 수 있다. 도움말을 이용해 스탬프를 어떻게 만드는지 조사하게 한다.

Note
Acrobat 코멘트 작성하기는 공동 작업에서 쓰이는 주요 기능이다. 그러므로 시간의 여유가 있다면 학생들에게 더 자세한 내용을 알려주도록 한다.


원문출처 :

http://www.adobe.com/education/instruction/acrobat/pdfs/acr8_curriculum_guide.pdf
 

출처 : http://www.acrobatpdf.com/tip/detail_02.asp?id=23&gotopage=5&code=
반응형
반응형


Search_class.sh

#!/bin/ksh
#
############[ Useage ]############
if [ $# -lt 1 ]; then
        echo "Usage: $0 찾을Class명"
        exit 0
fi
 
for file in $(ls -1 *.jar)
do
        echo "[ $file ]"
        jar tvf $file | grep $1
done

 
반응형
반응형


공지사항을 멀티로 돌려서 읽을려고 한다.

방법은 아래와 같다

아래의 jsp 파일을 생성시키고 같은 디렉토리 내에

readme.txt 파일을 만들어 사용하고자 한다.

 <%@page contentType="text/html;charset=euc-kr" %>
<%@page import="java.io.*"%>

<%
  String fileName = "readme.txt"; //생성할 파일명
  String fileDir = "."; //파일을 생성할 디렉토리
  String filePath = request.getRealPath(fileDir) + "/"; //파일을 생성할 전체경로
  filePath += fileName; //생성할 파일명을 전체경로에 결합


 // 파일읽기
  FileReader fr = new FileReader(filePath); //파일읽기객체생성
  BufferedReader br = new BufferedReader(fr); //버퍼리더객체생성

  String line = null;
  while((line=br.readLine())!=null){ //라인단위 읽기
    out.println(line + "<br>");
  }
%>




반응형

'Language > JSP' 카테고리의 다른 글

JSP 2.0 프로그래밍 소스  (0) 2011.10.12
로딩된 CLASS 정보 보기  (0) 2011.03.10
JSP WEB shell  (0) 2010.05.10
웹 상에서 바로 엑셀로 저장하기  (0) 2009.03.06

+ Recent posts