윈도에서 화면 캡쳐를 하는 툴로 HyperSnap이라는 것이 있는데 편리하지만 등록한 제품이 아닌 경우에 캡쳐한 이미지에 Watermark가 같이 찍혀있어서 좀 보기가 안좋죠. 구글링하다가 찾았는데 제품등록을 하는 방법이 나와 있어서 공유합니다.


일단 프로그램을 다운받아서 설치를 해야 합니다. 당연한 이야기겠지만요.. ^^


제품은 아래의 주소를 통해 최신 버전을 다운받을 수 있습니다.

http://www.hyperionics.com/downloads/HS8Setup.exe


설치를 완료하고 프로그램을 실행하기 전에 아래의 박스에 있는 내용을 그대로 복사한 후 프로그램을 실행하면 클립보드에 있는 제품등록정보를 인식하여 정상적으로 등록이 완료됩니다.


Activation key: 

PD:{HyperSnap 8}

LO:{giveaway.ht95.net}

A1:{170}

SN:{a2-3911952725}

NC:{13370}

KI:{HPHS-0}

FS:{1}

KD:{99

241 116 162 3 79 178 48 123

3 105 30 182 125 193 37 138

190 191 212 176 239 164 56 47

205 212 181 45 33 55 207 48

55 226 12 58 148 1 111 203

219 116 23 252 212 218 237 204

146 22 154 49 26 12 31 9

198 50 237 99 20 175 146 61

144 56 207 40 115 58 50 37

226 202 28 94 156 208 235 33

217 7 220 106 25 229 168 55

13 215 150 84 225 68 232 185

99 13 57

EK:}


아래의 이미지를 보면 정상적으로 등록이 완료된 것을 알 수 있습니다.


Enjoy yours....


Posted by 한승철 겨울이 오나보다

Linux Shell에서 명령어를 실행할 때 에러에 대한 부분을 파일로 저장한다거나 에러만 찾아서 추가적인 처리를 하고 싶을 때 Error Redirection이라는 기능을 사용할 수 있습니다.


매번 찾아봐야 하는 수고로움이 있지만 귀차니즘 때문에 못하다가 결국 이제야 정리를 해서 간단하게 올려봅니다.


참고적으로 아래의 내용은 Linux에서 표준이라고 일컫는 Bash Shell에서 정상적으로 작동합니다. 다른 Shell이라면 어떻게 될지 알 수가 없습니다.


Linux에서 많이 사용하는 Bash 또는 여타 Shell에서 사용자는 다양한 I/O 관련 Redirection(리다이렉션) 기능을 사용하여 많은 일을 할 수가 있습니다.


일단 Bash Shell은 아래의 세 가지 파일 오픈에 대한 스트림을 지원하고 있습니다.

    • stdin : 키보드를 통한 데이터 입력(input)
    • stdout : 명령어 실행시 출력되는 내용을 화면에 표시
    • stderr : 명령어 실행시 발생하는 에러 메세지를 화면에 표시


위의 I/O 스트림 처리를 위해 Bash Shell은 아래처럼 특별한 핸들러를 또한 제공하고 있습니다.

 Handler (핸들러)

Name (이름)

Description (설명) 

 0

 stdin

 Standard input

 1

 stdout

 Standard output

 2

 stderr

 Standard error


위에서 설명한 내용을 바탕으로 아래의 작업에 활용할 수 있습니다.

  1. Redirect stdout to a file
  2. $ ls -l > ls-l.txt


    => 'ls -l' 명령어를 실행하여 화면에 출력되는 결과 모두를 'ls-l.txt' 파일을 생성하여 저장함

  3. Redirect stderr to a file
  4. $ grep da * 1> grep-errors.txt


    => 'grep-errors.txt' 파일을 생성한 후 'grep' 명령어 수행시 Error로써 출력되는 부분만 저장됨

  5. Redirect stdout to a stderr
  6. $ grep da * 1>&2


    => 'grep' 명령어 수행 결과를 stderr으로 리다이렉션시킴

  7. Redirect stderr to a stdout
  8. $ grep da * 2>&1


    => 'grep' 명령어 수행 중 발생하는 Error를 stdout으로 리다이렉션시킴

  9. Redirect stderr to a stdout to a file
  10. $ find /etc -name '*test*' 2>&1 > find_test.txt


    => 'find' 명령어 수행 중 발생하는 Error를 stdout으로 리다이렉션 후 파일로 저장함

    => Error 메세지를 보지 않으려면 파일명 대신에 /dev/null을 지정할 수도 있음



Posted by 한승철 겨울이 오나보다

When installing rJava package on Linux box, we got the following errors:

[KRX2A1]oracle@krx2adb01:/home/oracle> R CMD INSTALL rJava_0.9-4.tar.gz

* installing to library ‘/usr/lib64/R/library’

* installing *source* package ‘rJava’ ...

** package ‘rJava’ successfully unpacked and MD5 sums checked

checking for gcc... gcc -m64 -std=gnu99

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables... 

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc -m64 -std=gnu99 accepts -g... yes

checking for gcc -m64 -std=gnu99 option to accept ISO C89... none needed

checking how to run the C preprocessor... gcc -m64 -std=gnu99 -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for ANSI C header files... yes

checking for sys/wait.h that is POSIX.1 compatible... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking for string.h... (cached) yes

checking sys/time.h usability... yes

checking sys/time.h presence... yes

checking for sys/time.h... yes

checking for unistd.h... (cached) yes

checking for an ANSI C-conforming const... yes

checking whether time.h and sys/time.h may both be included... yes

configure: checking whether gcc -m64 -std=gnu99 supports static inline...

yes

checking whether setjmp.h is POSIX.1 compatible... yes

checking whether sigsetjmp is declared... yes

checking whether siglongjmp is declared... yes

checking Java support in R... present:

interpreter : '/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre/bin/java'

archiver    : '/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/bin/jar'

compiler    : '/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/bin/javac'

header prep.: '/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/bin/javah'

cpp flags   : '-I/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/include -I/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/include/linux'

java libs   : '-L/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre/lib/amd64/server -L/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre/lib/amd64 -L/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre/../lib/amd64 -ljvm'

checking whether JNI programs can be compiled... yes

checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.

ERROR: configuration failed for package ‘rJava’

* removing ‘/usr/lib64/R/library/rJava’


This is caused by not setting up the JAVA-related environmental parameter. Firstly, we need to set up the parameter and then execute the javareconf as follows:

[KRX2A1]oracle@krx2adb01:/home/oracle> export JAVA_HOME=/u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre

[KRX2A1]oracle@krx2adb01:/home/oracle> R CMD javareconf -e

Java interpreter : /u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre/bin/java

Java version     : 1.5.0_30

Java home path   : /u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre

Java compiler    : /u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre/../bin/javac

Java headers gen.: /u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre/../bin/javah

Java archive tool: /u01/app/oracle/product/11.2.0.3/dbhome_1/jdk/jre/../bin/jar

Java library path: $(JAVA_HOME)/lib/amd64/server:$(JAVA_HOME)/lib/amd64:$(JAVA_HOME)/../lib/amd64

JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -L$(JAVA_HOME)/lib/amd64 -L$(JAVA_HOME)/../lib/amd64 -ljvm

JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/linux


The following Java variables have been exported:

JAVA_HOME JAVA JAVAC JAVAH JAR JAVA_LIBS JAVA_CPPFLAGS JAVA_LD_LIBRARY_PATH

Running: /bin/bash

Here I used the pre-installed JDK 1.5.x from Oracle Database 11g R2. If you want, you can install the latest Oracle Java 7 or 8, too.


As shown above, JAVA_HOME is exported, but due to this, the required libjvm.so library cannot be successfully loaded. Hence, before installing rJava package, we need to unset it by executing

[oracle@krx2adb01 ~]$ unset JAVA_HOME

[oracle@krx2adb01 ~]$ R CMD INSTALL rJava_0.9-4.tar.gz


Now, it works pretty well.


Good Luck!!


Posted by 한승철 겨울이 오나보다
TAG JNI, Linux, r, rJava

티스토리 툴바