반응형

리눅스 Ping 정책에 추가로 아래 정책도 추가해 줍니다.


iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

반응형
반응형

iptbables 에서 INPUT 을 DROP 을 기본으로 했을 경우 


아래 DNS 포트를 열어 주어야 합니다.


iptables -I INPUT -p udp --sport 53 -j ACCEPT

iptables -I INPUT -p tcp --sport 53 -j ACCEPT


** OUTPUT 기본은 ACCEPT

반응형
반응형

리눅스를 사용하다 보면 오라클 클라이언트가 필요할 떄가 있습니다.


리눅스에 오라클 클라이언트 설치방법을 공유하겠습니다.


우선 설치파일을 다운로드 합니다. 


URL :  http://www.oracle.com/technetwork/indexes/downloads/index.html#database


위 URL에 접속하면 아래와 같은 화면이 나오는데 Instant Client 를 클릭합니다.




제가 설치할 서버는 리눅스 64bit 라서 Lixus x86_64 를 다운로드 하겠습니다.





Accept License Agreement 를 체크하고,

오라클 계정으로 로그인을 진행해야 다운로드를 받을 수 있습니다.



저는 편하게 rpm 을 통해서 설치할겁니다.


basic / devel / sqplus 3개를 설치 합니다.


basic은 기본, devel 은 헤더를 사용할 때 필요(개발), sqlplus는 sqlplus 명령어를 사용하기 위해 필요 합니다.





3개의 파일을 모두 다운 받았다면


다음의 명령어를 통해서  설치를 진행합니다.


1
2
3
4
rpm -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -i oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
 
cs



설치하다가 


오류: Failed dependencies:

        libaio is needed by oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64

 
이런 오류가 발생한다면

1
2
yum install libaio -
 
cs


을 통해서 관련 라이브러리를 설치하셔야 합니다.


설치가 완료 되었다면, 아래와 같이 확인해 볼 수 있습니다.


1
2
3
4
5
rpm -qa | grep oracle
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64
 
cs




** sqlplus 실행시 오류 참고


1
2
3
4
5
6
7
/usr/lib/oracle/11.2/client64/bin]# ./sqlplus 
 
./sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
 
$ vi /etc/ld.so.conf.d/oracle.conf && sudo chmod o+/etc/ld.so.conf.d/oracle.conf
/usr/lib/oracle/12.1/client64/lib/
 
$ ldconfig
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
## ORACLE_HOME 설정
 
$ vi /etc/profile.d/oracle.sh && sudo chmod o+/etc/profile.d/oracle.sh

export ORACLE_HOME=/usr/lib/oracle/12.1/client64 
export TNS_ADMIN=/usr/lib/oracle/12.1/client64/bin ## tnsnames.ora 파일위치
 
$ vi ~/.bash_profile
 
##… 중략
 
PATH=$PATH:$ORACLE_HOME/bin
 
export PATH
 
cs


반응형
반응형

cordova 는 html, css, javascript 만으로 앱을 개발할 수 있도록 지원해주는 프레임워크 입니다.


코도바 설치 방법을 공유 합니다.


홈페이지는 주소는 https://cordova.apache.org/ 입니다.


cmd 창에서 코도바 설치 명령어 입니다.


1
npm install -g cordova

cs


npm 명령어 사용을 위해서는 Node.js 가 설치되어 있어야 합니다. Node.js 설치하기를 참고하세요.

리눅스의 yum 처럼 코도바를 알아서 설치해 줍니다.



설치가 완료되면 확인을 위해서 cmd 창에서 cordova 쳐 봅니다.


설치가 정상적으로 되었다면 아래와 같은 화면이 나옵니다.


익명으로 사용 통계를 보고할거냐고 물어보는데 No 했습니다. 미안~



반응형
반응형

apache poi 로 엑셀 파일 read 시 Package should contain a content type part [M1.13] 오류가 발생하는 경우 입니다.


원인으로, 코드는 XSSFWorkbook 를 사용하고 엑셀파일은 xls 확장자인 경우 발생하는 오류입니다.


XSSFWorkbook 은 xlsx 확장만 처리할 수 있습니다.


이런 경우 이런식으로 처리해야 합니다.


private Workbook getWorkbook(FileInputStream inputStream, String excelFilePath)
        throws IOException {
    Workbook workbook = null;
 
    if (excelFilePath.endsWith("xlsx")) {
        workbook = new XSSFWorkbook(inputStream);
    else if (excelFilePath.endsWith("xls")) {
        workbook = new HSSFWorkbook(inputStream);
    else {
        throw new IllegalArgumentException("The specified file is not Excel file");
    }
 
    return workbook;
}


반응형
반응형

Java를 이용하다 보면 좀 더 높은 수준의 암호화가 필요한 경우가 있습니다.


java 기본 패키지에 없는 알고리즘이나 높은 비트의 암호화를 하는 경우가 그렇습니다.


이런 경우에 JCE를 별도로 설치해야 합니다.


JCE 는 Java Cryptography Extension 의 약자로 암호화를 위한 확장팩 정도로 보면 되겠습니다.


1. 다운로드

- URL : http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html  오라클 로그인이 필요합니다.

- jce_policy-8.zip 클릭하여 다운로드 ( 0.01 MB )


2. 압축 해제


3. 

윈도우  C:\Program Files\Java\jdk1.8.0_111\jre\lib\security 

리눅스 /usr/lib/jvm/java-8-oracle/jre/lib/security/


위 폴더에서 압축해제된 아래 파일들로 교체 합니다.


local_policy.jar

US_export_policy.jar


혹시 모르니 백업은 해두는게 좋습니다.



아래의 예외가 발생하는 경우도 동일한 경우로 볼 수 있습니다.


java.security.InvalidKeyException : Illegal key size or default parameters


1
2
3
4
5
6
Exception in thread "main" java.security.InvalidKeyException: Illegal key size or default parameters
    at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026)
    at javax.crypto.Cipher.implInit(Cipher.java:801)
    at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
    at javax.crypto.Cipher.init(Cipher.java:1249)
    at javax.crypto.Cipher.init(Cipher.java:1186)
cs


반응형
반응형

Invalid tld file: [/WEB-INF/tags/common.tld], see JSP specification section 7.3.1 for more details


잘 사용하던 JSP 커스텀 태그가 Servelt 3.0 스펙을 하면서 위와 같은 오류가 발생하기 시작했습니다.


위 오류 문구 권고대로 JSP 2.2 의 7.3.1 섹션을 찾아보았습니다.


TLD files should not be placed in /WEB-INF/classes or /WEB-INF/lib, and must not be

placed inside /WEB-INF/tags or a subdirectory of it


내용중에 위의 문구가 바로 문제의 포인트 였습니다.


/WEB-INF/classes 안돼요.

/WEB-INF/lib 안돼요.

/WEB-INF/tags 나 그 하위폴더 안돼요.


해결책은 /WEB-INF/tags/common.tld ===> /WEB-INF/custom-tags/common.tld 


이렇게 폴더 위치를 변경했습니다.


스펙이 변경되면서 뭔가 까다로워 졌네요. @.@


반응형
반응형



오라클을 사용하다 보면 다른 유저의 테이블을 같이 써야하는 경우가 있습니다.


일반적으로는 다른 유저의 테이블을 볼 수 없습니다.


그래서 권한을 부여해야만 다른 유저의 테이블을 조회 할 수 있습니다.


시스템 계정으로 접속 후 아래와 같은 형식으로 쿼리를 하면 테이블 조회 권한을 다른 유저에게 부여할 수 있습니다.



1
GRANT SELECT ON [테이블소유자].[테이블명] TO [다른소유자];




권한을 부여 후 조회 테스트 쿼리를 실행합니다.



1
SELECT * FROM [테이블소유자].[테이블명];




반응형
반응형

스프링부트의 기본 지원 뷰는 타임리프입니다.

(Springboot의 기본 지원 view는 thymeleaf 입니다.)


view를 jsp로 사용하기 위해서는 아래와 같은 설정이 필요합니다.


pom.xml - JSP 및 JSTL 사용을 위해서 필요합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>




application.properties 에서 jsp 뷰의 prefix와 suffix 를 설정해 줍니다.


1
2
3
spring.mvc.view.prefix=/WEB-INF/jsp
spring.mvc.view.suffix=.jsp




!! 404 오류 !!

위 pom.xml 에 의존성을 추가하지 않아도 별다른 컴파일 오류나 런타임 오류가 발생하지 않는다.

하지만 실제 웹페이지를 호출하면 404 오류가 발생한다.

반응형
반응형

오라클 jdbc 라이브러리는 메이븐 중앙저장소에 찾을 수가 없어서 다른 저장소에서 찾습니다.


pom.xml 에서 아래와 같이 별도 repository를 설정해서 받습니다.


1
2
3
4
5
    <repository>
      <id>oracle</id>
      <name>ORACLE JDBC Repository</name>
      <url>http://maven.jahia.org/maven2</url>
    </repository>
cs



2017년 6월 8일 기준으로 위 사이트에 들어가보면 아래와 같이 버전이 등록되어 있습니다.



https://devtools.jahia.com/nexus/content/groups/maven-jahia-org/com/oracle/ojdbc5/


11.2.0.2.0

11.2.0.3


https://devtools.jahia.com/nexus/content/groups/maven-jahia-org/com/oracle/ojdbc6/


12.1.0.1

12.1.0.2


https://devtools.jahia.com/nexus/content/groups/maven-jahia-org/com/oracle/ojdbc7/


12.1.0.2



골라서 원하시는 버전을 쓰시면 됩니다.


참고로, ojdbc6 과 ojdbc7 의 차이점은 jdk6과 jdk7로 컴파일 한 차이 입니다.






반응형

+ Recent posts