목록전체 글 (39)
Technical NOTE
- 작성일 : 2024.09.24 Java EE 와 Jakarta EE 의 차이점은 주로 역사적 배경과 라이센스, 패키지 네이밍, 관리 구조 및 규격 명세 등에서 차이가 발생하게 된다. 이를 이해하기 위해, 두 규격의 개념과 차이점에 대해 각각 설명해보겠다. 개념 및 역사적 배경 Java EE (Java Platform, Enterprise Edition)초기 개발 및 관리 : Java EE는 Sun Microsystems에 의해 개발되었으며, Java 기반의 엔터프라이즈 어플리케이션을 개발하기 위한 표준 규격이다.Oracle 인수 : 2010년에 Oracle이 Sun Microsystems를 인수하면서 Java EE의 관리 주체가 Oracle로 변경되었다.기능 및 구성 요소 : Java EE는 Serv..
- 작성일 : 2024.09.24 SpringFramework 에서 지원하는 JavaEE(JakartaEE) 스펙 버전은 아래와 같이 정리가 가능하다. SpringFramework 버전JavaEE (JakartaEE) 버전Servlet 버전JSP 버전JPA 버전최소 Java 버전호환 Java 버전1.xJ2EE 1.32.31.2 JDK 1.3JDK 1.3, 1.42.xJ2EE 1.42.42.0 JDK 1.4JDK 1.4, 53.0JavaEE 52.52.11.0JDK 5JDK 5, 63.1JavaEE 52.52.11.0JDK 5JDK 5, 6, 73.2JavaEE 52.52.11.0JDK 5JDK 5, 6, 74.0JavaEE 63.02.22.0JDK 6JDK 6, 7, 84.1JavaEE 63.02.22...
- 작성일 : 2024.09.12 미들웨어 (웹서버, 와스서버)는 장애가 발생하면 언제나 점검해야되는 대상 중에 첫번째로 늘 거론되는 제품이다.사용자 서비스가 지연이 되거나 무한루프를 도는 경우 미들웨어를 먼저 점검한 후 데이터베이스, 서버, 네트워크, 보안 장비 등을 점검하는 순으로 장애를 처리하는게 일반적인 것같다. 그래서 미들웨어 엔지니어는 미들웨어 자체 기술력 뿐만 아니라, DBMS, OS, Network, Security Appliance 등에 대한 다양한 기술력을 어느정도 가지고 있는 것이 중요한 것같다. 그리고 자기 제품에 대한 문제가 없는 것을 입증하기 위해 다양한 방법론과 접근방식을 가지고 있어서 잘하고 오래 견딜 수 있는 실력자가 되는 것같다. 최근 보안장비에서 패킷을 드랍(Drop)시..
- 작성일 : 2024.09.12 SSH에서 사용하는 RSA 인증 방식에 대해 알아보겠다.SSH는 서버와 클라이언트 간의 안전한 연결을 제공하는데, 이 과정에서 RSA라는 비대칭 암호화 알고리즘을 사용한다.그럼, SSH에서 RSA 인증이 어떻게 이루어지는지 하나하나 살펴보자? 1. 키 값 생성하기 먼저, 클라이언트는 RSA 키 쌍을 생성해야 한다.이 키 쌍은 두 가지로 이루어져 있는데, 공개 키와 개인 키이다.공개 키는 서버에 제공하고, 개인 키는 본인만 사용할 수 있도록 비밀로 유지해야 한다.키 쌍을 생성하기 위해서는 ssh-keygen 명령어를 사용하면 되는데. 아래 명령어를 터미널에 입력한다: 이 명령어를 실행하면, 공개 키와 개인 키가 생성된다.일반적으로 공개 키는 ~/.ssh/id_rsa.pu..
putty 자동로그인하는 방법 과정을 간략하게 요약해보면 아래와 같다.1. 로그인 계정에 해당하는 ssh key 를 생성한다.2. id_rsa 개인키 파일을 로컬 컴퓨터에 다운로드 받는다.3. puttygen.exe 를 실행시켜 putty 형식의 key파일로 변환한다.4. putty 에서 인증서파일 설정하기5. putty 에서 자동로그인 해보기 자세한 설명은 아래 내용을 참고하자. 1. 로그인 계정에 해당하는 ssh key 를 생성한다 root 계정을 통해 로그인하도록 설명하겠다. 인증키를 생성하기 위해ssh-keygen -t rsa명령을 입력한다.3가지를 물어봄 (key 파일의 위치, password와과 확인)물어보는 값은 모두 Enter키를 눌러 기본으로 설정하는 것을 권장한다.참고로 password..
- 작성일 : 2024.09.12 Tomcat 을 설치했으면 제일 먼저 JVM 옵션을 설정해야 한다.JVM을 모니터링하고 튜닝하기 위한 최소한의 표준화된 옵션 작업이므로,싸이트 상황에 맞게 튜닝해서 사용하기를 권장한다. 먼저 gclog와 heapdump가 생성될 디렉토리를 생성하는 작업을 먼저 수행한다.$ mkdir /logs/tomcat/gclog $ mkdir /logs/tomcat/dump 그러면,catalina.sh 파일을 열어서 JAVA_OPTS 파라미터에 생성하는 작업을 해주겠다.설정 파라미터 값은 편의를 위해 TOMCAT_JVM 이라는 이름을 생성해서 추가해주겠다.$ cd ${TOMCAT_HOME}/bin $ vi catalina.sh>JAVA_OPTS="$JAVA_OPTS $JSSE_OPT..
- 작성일 : 2024.09.12 2024년 9월 기준으로 Tomcat 9 버전의 최신 패치는 Tomcat 9.0.93 버전이다. Tomcat 9 바이너리 다운로드 1. tomcat 싸이트에 접속해서 Tomcat 9 버전 최신 버전 확인하기아래 tomcat 공식 페이지에 접속해서, Tomat 9 버전의 최신 패치가 몇인지 확인한다.https://tomcat.apache.org/download-90.cgi Apache Tomcat® - Apache Tomcat 9 Software DownloadsWelcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest v..
- 작성일 : 2024.09.05 Tomcat 9 버전을 운영하기 위해 Java 8 이 필요하다고 가정했을 때,JDK 8 버전을 설치하는 방법을 설명한다. 먼저 Java를 설치할 경우, JRE를 설치할 수도 있고, JDK를 설치할 수도 있다.그런데 WAS의 경우 JRE를 설치하게 되면 javac 명령이 없어서 javac를 이용한 java파일을 컴파일 할 수 없게 된다. 그런 이유로 WAS에서는 jsp파일이 컴파일이 안되어 동작이 안될 수 있으니, 반드시 JDK를 설치해야한다. 여기서는 총 3가지 설치방법을 설명한다. 첫번째 방법 : yum을 이용한 OpenJDK 8 버전 설치하기 1. 먼저 설치 가능한 JDK 버전을 확인한다.$ sudo yum list java*jdk-devel-> 우리는 목록 중에 j..
- 작성일 : 2024.09.05 먼저 Tomcat 9 버전을 설치하기 위해 OS 버전과 설치할 OS 그룹명/계정명, 설치 디렉토리, 로그위치를 정해야 한다. 설치 전 점검 사항설치 항목설치 정보(값)기타Tomcat 버전Tomcat 9.0 Java 버전Java 8- JDK가 설치되어야 함 (JRE는 안됨)- Java 8u421 (2024년 9월 기준 최신)설치 OSCentOS 7.9 CPUx86/x64 OS Group명/GIDwebgrp / 10010 OS User명/UIDtomcat / 10020 설치 Directory명/app/tomcat/tomcat9 Log Directory명/logs/tomcat ※ 제품설치와 로그기록을 위해 별도의 Disk Mount 설정 권고. 용량은 싸이트 상황에 맞게 설..
- 작성일 : 2024.09.05- 참고 URL : egovframework:dev4.2:gettingstarted [eGovFrame] - 참고 URL : egovframework:dev4.2:gettingstarted [eGovFrame] egovframework:dev4.2:gettingstarted [eGovFrame]본 가이드는 전자정부 표준프레임워크 기반의 단순한 응용프로그램(HelloWorld)를 직접 실습해 봄으로써 빠른 시간 내에 전자정부 프레임워크의 기본 기능을 파악하기 위하여 제공한다. 본 가이드www.egovframe.go.kr 전자정부 표준프레임워크 4.2.0 버전이 릴리즈되면서 개발환경과 운영(실행)환경이 JDK버전 차이가 발생해서 혼란스러운 부분이 있는데, 개발환경의 경우 ec..
- 작성일 : 2024.09.05- 수정일 : 2024.09.24 / JEUS 21 추가 2024.12.05 / JEUS 8.5 -> JDK 17 지원 추가 / JEUS 9, JEUS 11 추가 (단 11버전은 Roadmap 상 내용임)- 기준일 : 2024년 12월 5일 기준 JEUS 버전Fix버전JDK 6JDK 7JDK 8JDK 11JDK 17JDK 21EE Version비고JEUS 7Fix#1 ~ #3●● 6 Fix#4●●● 6JDK 1.8 적용을 위해 jext_v7004_i105358_a691316.jar 패치 적용 필요Fix#5●●● 6 JEUS 8 ● ● 7 JEUS 8.5 ..
- 작성일 : 2024년 9월 5일- 제품 : JEUS 8.5 고객사에서 JEUS의 webadmin 화면에 접속하기 위해서 기본 context-path 인 /webadmin 이 아닌 다른 context-path를 설정하고자 하는 경우, JEUS 에서는 adminServer 의 jvm 설정에 -D 설정을 이용해서 context-path 설정이 가능하다. adminServer의 jvm option 에 "-Djeus.domainadminserver.webadmin.contextpath=/contextpath" 옵션 추가 후http://:/ 호출 시 webadmin 페이지 정상적으로 뜨는 것을 확인할 수 있다. 참고로 JEUS 7 버전은 별도의 패치파일이 필요할 수 있다. - JEUS 7.0 Fix#3 : 1..
sql 문장 여러개로 구성된 파일을 split 명령으로 자른 후 tbsql 에서 @를 이용해서 실행해야되는 경우 xaa.sql 파일을 찾으면서 에러가 발생한다. 그래서 아래와 같이 for 문으로 shell script 작성을 하면 쉽게 .sql 파일명으로 변경할 수 있다. ### 아래는 itas_sql_user1.sql 파일을 200라인씩 잘라서 별도 파일로 저장된다$ split -l 200 itas_sql_user1.sql$$ ls -alxaaxabxacxad 위롸 같이 split으로 자르면 xaa, xab, xac 이런 파일명으로 200라인씩 나뉘어 저장된다. # xaa 파일에 .sql 확장자 붙이기for file_name_str in x*do cp ${file_name_str} ${file_nam..
DB LINK를 이용해서 ITAS로 Oracle의 데이타를 Tibero로 이관 작업을 하는 중에ITAS 다음에 바로 COMMIT을 주고 싶었는데, INSERT INTO TB0001 SELECT * FROM TB0001@ORA_DEV; COMMIT; 이런식으로 한 줄로 출력할 경우 문법 에러가 발생하게 된다. 그래서 짝수 번째 줄에 COMMIT; 문장을 출력해주는 스크립트를 꼼수로 작성해 보았다. 아래는 ITAS로 이루어진 itas_gen_sql.sql 파일INSERT INTO USER1.TB0001 SELECT * FROM USER1.TB0001@ORA_DEV;INSERT INTO USER1.TB0002 SELECT * FROM USER1.TB0002@ORA_DEV;INSERT INTO USER1.TB..
JEUS 8.0 버전을 사용하면서 deploy시에 JEUS 엔진단에서 IllegalArgumentException 이 발생함그런데 로그를 보면 에러는 났지만 deploy는 그대로 진행하겠다고 하는데 실제로 deploy는 성공해서 page test는 성공아래는 JeusServer.log 파일에서 Exception이 발생한 Stack Trace임[2018.08.08 12:00:21][2] [www-31] [WEB-3911] Processing @HanlesTypes of ServletContainerInitializers failed for the class [module-info.class] but the deployment process will continue.>java.lang.IllegalArgum..
티베로 Data 작업시 특정 owner 에 대한 모든 table에 대해서 truncate table 문장을 작성해주는 스크립트참고로 HP-UX, Linux 에서 테스트하였음먼저 2단계로 진행하는 걸로 구성했다.※ Truncate Table SQL 문장 생성하기 (generate)▶ 스크립트명 : gen_truncate_sql.sh ( 다운로드 : ▶ 사용방법 : sh gen_truncate_sql.sh [OWNER명]▶ 출력파일 : sql/truncate_sql_[OWNER명].sql list/table_list_[OWNER명].lst▶ 사용예 : ./gen_truncate_sql.sh TIBERO▶ Shell Script 소스 ( gen_truncate_sql.sh..
티베로에서 쿼리 결과를 CSV 파일로 만드는 스크립트이다.Shell Script에서 Query String 에 "*" Asterisk 문자가 들어가는 경우 주의해서 처리가 필요하다.(다운로드 : ※ 주의 : Asterisk 처리할 때 순서로 작성할 것$ cat csv_convert.sh#!/bin/shCSV_FILE="/home/tibero/work/out.csv"QUERY_STR="select "'*'" from all_tables;"SQL_COMMAND="tbsql -s sys/tibero"RESULT=`$SQL_COMMAND set pagesize 0 feedback off ver off heading off echo offset pages 0 colsep ',' trimspool on lines..
WAS에서 jsp파일을 컴파일하게 되면 자동으로 smap 확장자 파일이 생성되는 경우가 있다..smap 파일이 생성되지 않도록 하는 가이드이다. ※ 테스트 환경WAS : JEUS 6.0 Fix#9JDK : JDK 1.7.0_55 1. suppressSmap param 설정하기jsp compile 시 생성되는 .smap 파일은 jsp 파일의 debugging을 위해 자동으로 생성되는 파일이다.그래서 smap 파일을 생성하지 않기 위해서는 web.xml 파일에 jeus.servlet.servlets.JspServlet의 suppressSmap param 값을 true로 설정해 주어야 한다.또한 servlet-mapping을 *.jsp로 설정하여 모든 jsp에 대하여 적용되도록 해주면 된다. ▶ web.xml..
WAS에서 TO_CHAR를 이용해 요일을 한글로 가져오는 방법에 대해 설명한다. Windows 환경에서는 문제가 안될 것같은데,Linux나 Unix 환경에서는 TO_CHAR를 이용해서 날짜 데이타를 'YYYY/MM/DD DY' 포맷으로 요일 정보를 가져오는 경우 한글로 요일이 출력되어야 되는데 영문으로 출력되는 경우에 대한 해결 방법 ※ 테스트 환경OS : CentOSWAS : JEUS 7DB : Tibero 6 쿼리문 : SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD DY') FROM DUAL; 1. TbSQL에 접속해서 DB의 NLS_DATE_LANGUAGE 파리미터가 KOREAN 인지 확인하기TbSQL은 Tibero에서 제공하는 Command 기반 Tool이다. 오라클의sqlpl..