728x90
반응형


1. 인터넷망 PC에서 jar 파일 준비

  • 해당 PC에 본인이 필요한 이클립스 플러그인 설치
  • plugins 폴더(\eclipse\plugins)에 본인이 설치한 플러그인 jar 파일 옮기기(CD든 뭐든)

2. 폐쇄망 PC에 jar 파일 추가

  • plugins 폴더(\eclipse\plugins)에 가져온 jar 파일 추가
  • *bundles.info 파일 수정(\eclipse\configuration\org.eclipse.equinox.simpleconfigurator)

* bundles.info 파일 수정

해당 파일 내에 아래 형식으로 텍스트 추가

식별자,버전,파일경로(plugins/jar 파일명),4,false
  • 식별자: jar 파일명을 언더바(_) 기준으로 구분하여 언더바 앞부분
  • 버전: jar 파일명을 언더바(_) 기준으로 구분하여 언더바 뒷부분
  • 파일경로: plugins/ + jar 파일명


예)

  • jar 파일명: com.github.eclipsecolortheme_1.0.0.201410260308.jar
  • 추가할 텍스트: com.github.eclipsecolortheme,1.0.0.201410260308,plugins/com.github.eclipsecolortheme_1.0.0.201410260308.jar,4,false




728x90
반응형
728x90
반응형

*고정 필터 설정


1. Schema Browser 클릭
2. 화면의 왼쪽에 object 별로 검색할 수 있는 영역이 있는데 그중에 필터 모양의 버튼을 클릭
3. 필터를 설정할 수 있는 팝업창이 열리면 Schema, Table, Column 명 별로 필터를 설정할 수 있음


-필터를 여러 개 걸고 싶으면 세미콜론(;) 찍고 추가하면 됨



*검색 시 필터 적용


단순 일회성으로 필터 적용을 원한다면 필터 아이콘 옆에 있는 텍스트 박스에 입력하면 됨.

✔️ 필터 문법(?)

  • parsley로 시작하는: parsley%
  • parsley로 끝나는: %parsley
  • parsley를 포함하는: %parsley%


like 함수 사용할 때랑 똑같음
여기도 마찬가지로 필터 여러 개 적용할거면 세미콜론(;)으로 구분



참조
https://forums.toadworld.com/t/filter-schema-browser-multiple-criteria/55919

728x90
반응형
728x90
반응형
SELECT SYSDATE
      ,TO_CHAR(SYSDATE, ‘Q’) - 1 AS “전분기”
      ,ADD_MONTHS(TRUNC(SYSDATE), ‘Q’,- 3) AS “전분기첫일”
      ,TRUNC(SYSDATE, ‘Q’) - 1 AS “전분기막일”
      ,TO_CHAR(SYSDATE, ‘Q’) AS “현분기“
      ,TRUNC(SYSDATE, ‘Q’) AS “현분기첫일”
      ,ADD_MONTHS(SYSDATE, ‘Q’, 3) - 1 AS “현분기막일”
FROM dual
;


728x90
반응형
728x90
반응형

1. 관리자 권한으로  cmd 실행

2. netstat -a -o 

2-1. 죽이고자 하는 프로세스 pid를 확인

3. taskkill /f /pid ____

 

728x90
반응형
728x90
반응형


이클립스에서 웹 프로젝트를 생성 후 파일을 추가하거나 열 때 에러가 발생한다
 

java.lang.NoClassDefFoundError: com/ibm/icu/util/StringTokenizer

java.lang.RuntimeException: org.eclipse.ui.PartInitException: Editor could not be initialized. 

Cannot invoke "org.eclipse.e4.core.contexts.IEclipseContext.get(java.lang.Class)" because "this.e4Context" is null

 
이런 식의 다양한 에러가 났는데,, 이럴 땐 그냥 이클립스를 완전히 제거 후 재설치하는게 가장 빠른 해결 방법이라고 생각한다.
재설치 하니까 문제 해결!

728x90
반응형
728x90
반응형



log4j2 라이브러리 추가 후
출력되는 로그들 중 sql 로그의 경우 쿼리와 파라미터 값이 따로 출력된다.

Executing Statement: SELECT * FROM emp WHERE age > ? AND name LIKE ‘%’|| ? || ‘%’
Parameters: [28, k]

대충 이런 느낌으로..

그래서 디버깅 시 해당 쿼리를 따로 실행하려고 하면 굉장히 불편하다.
이럴 때는 log4jdbc 라이브러리를 사용하면 현재 실행되는 쿼리의 파라미터까지 한번에 로그로 출력할 수 있다.


설정


1. log4jdbc.log4j2.properties 추가

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

log4j2.xml 설정 파일이 위치한 경로에 추가



2. log4jdbc-log4j2-jdbc4-1.16.jar 라이브러리 추가
아니면 pom.xml에 추가하던가..



3. context-datasource.xml 수정
변경 전

<property name=“driverClassName” value=“oracle.jdbc.driver.OracleDriver”>

변경 후

<property name=“driverClassName” value=“net.sf.log4jdbc.sql.jdbcapi.DriverSpy”>




4. globals.properties 수정
변경 전

Globals.Url=jdbc:oracle:thin:@…

변경 후

Globals.Url=jdbc:log4jdbc:oracle:thin:@…



728x90
반응형
728x90
반응형

오류 발생😕


1. 상위 화면이 로딩될 때 사용자 권한에 따라 하위 div의 url 속성값을 변경
2. 상위 화면이 로딩되기 전에 하위 div 내 객체 접근



해결책🧐

하위 div의 async 속성값을 false로 변경

async

: 하위 div의 url 속성값을 동적으로 변경 시 연결된 form 로딩 방식을 설정하는 속성

true

  • div에 form 비동기(async) 방식으로 로드
  • div에 로딩된 form에서 onload 이벤트가 발생한 후, form의 내부 컴포넌트에 접근 가능
  • onload 이벤트 발생 전 div에 로딩된 form의 내부 컴포넌트 접근 시 오류 발생

false

  • div에 form 동기(sync) 방식으로 로드
  • url 속성값을 변경한 후 로딩된 form의 내부 컴포넌트에 바로 접근 가능
  • url 속성값을 변경한 위치 이후 스크립트는 form에서 onload 이벤트가 발생한 다음 수행됨





728x90
반응형
728x90
반응형

1. 언어팩 변경(한국어→영어로)

① Settings 진입

  • 단축키: Ctrl + Alt + S
  • 경로: File > Settings

 

 Plugins - installed

설치된 플러그인 중에서 '한국어 언어 팩' 체크 해제 

 

 

 

 

 

 

2. 프로젝트 터미널 기본 변경

① Settings 진입

  • 단축키: Ctrl + Alt + S
  • 경로: File > Settings

 

② Tools > Terminal - Application Settings

  • Terminal 단축키: Alt + F12

Shell path 변경(powershell, cmd, bash..)

 

 

728x90
반응형
728x90
반응형

📢 오류 내용

The Apache Tomcat installation at this directory is version 10.1.10.  A Tomcat 10.0 installation is expected.
(이클립스에서 톰캣의 버전을 10.0까지만 사용하도록 막아서 발생한 오류)

 

 


✅ 해결 방법

① Catalina.jar로 이동(C:\Program Files\Apache Software Foundation\Tomcat 10.1\lib\catalina.jar)

② ServerInfo.properties 파일 수정(\org\apache\catalina\util\ServerInfo.properties)

ServerInfo.properties 파일 위치

변경 전

변경 후

 

 

오류 메세지가 사라짐!

 

 

 

728x90
반응형
728x90
반응형

✅ Logging

  • 시스템이 동작할 때 시스템의 상태 및 동작 정보를 시간 경과에 따라 기록하는 것을 의미
  • 개발 과정 혹은 개발 후에 발생하는 동작에 대해 트래킹을 하여 예기치 못한 이슈를 진단 및 해결하는데 도움이 되지만 무분별한 로깅은 성능상 이슈를 발생시킬 수 있기 때문에 의미 있는 정보를 적절한 수준으로 수집하는 것이 중요
  • Java는 System.out.println()을 이용하거나 Logging Framework를 사용하여 로그를 남길 수 있음
System.out.println();
- Java를 처음 접할 때부터 사용할 수 있는 간단한 로깅 방법
- 가장 편하고 확인하기 좋은 방법이지만 성능에 영향을 많이 주는 경우가 빈번히 발생
- 파일이나 콘솔에 로그를 남길 경우 내용이 완전히 프린트되거나 저장될 때까지 다른 작업들이 대기할 수 밖에 없음→애플리케이션에서는 대기시간 발생(이 대기시간은 시스템 속도에 의존적)
- locale의 영향으로 실제 결과와 콘솔에 출력되는 결과가 다를 수 있음
Logging Framework
Java에서는 성능과 편리함을 잡은 다양한 Logging Framework가 있으며 이를 통해 쉽게 로깅을 처리할 수 있음

 
 
 

 Logging Framework 종류

 

*jul(java.util.logging) → Log4j → Logback → Log4j2 순으로 등장
 

종류설명
jul(java.util.logging)- Java 1.4 버전부터 내장되어있는 내장 로깅 프레임워크
Slf4j
(Simple Logging Facade for Java)
- 퍼사드패턴을 적용한 로깅 추상화 프레임워크(interface)
- 래퍼 라이브러리로 설정에 따라서 실제 구현체(implement)인 'Log4j2', 'Logback'을 사용할 수 있음(but 하나만 사용 가능하며 두개 이상 사용할 경우 에러 발생)
- interface이므로 단독 사용 불가
Apache Log4j
(Logging for Java)
- Apache의 Java 기반 로깅 프레임워크 
Logback- Log4를 만든 개발자가 Log4j기반으로 더 빠른 속도와 더 적은 메모리 점유율 등 성능을 개발하여 만든 로깅 프레임워크
Apache Log4j2
(Logging for Java 2)
- Log4j와 java.util.logging(jul)을 포함한 기존의 로깅 솔루션을 기반으로 만들어진 로깅 프레임워크

 

퍼사드 패턴(Facade Fattern)


- 여러 라이브러리, 프레임워크 또는 클래스들의 복잡한 집합을 단순화시켜주는 인터페이스를 제공하는 구조의 디자인 패턴
- 퍼사드 패턴 적용 장점 예: log4j2 보안 이슈가 발생하면 자바 코드 수정 없이 설정 파일만 추가해서 logback으로 이전 가능
 
 
 


✅ log4j2 설정

 

로그 레벨 종류 및 우선순위

TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF

TRACE

  • 가장 상세한 단계별 내부 흐름
  • 아주 세밀한 디버깅(루프 내부, 변수 상태 추적 등)


DEBUG

  • 개발 중 동작 확인용
  • SQL 실행, 로직 흐름, 파라미터 등
  • 시스템의 거의 모든 세부 동작이 로그로 찍힘


INFO

  • 시스템의 정상 동작 보고
  • 서버 시작, 주요 업무 처리 완료, 설정 정보
  • 시스템의 정상적인 동작 흐름을 알 수 있는 주요 정보만 로그로 찍힘


WARN

  • 경고: 이상 징후나 잠재적 문제
  • 성능 저하, 잘못된 입력, retry 발생 등

ERROR

  • 에러: 기능 실패(복구 가능)
  • DB 연결 실패, 예외 발생, Validation 오류


FATAL

  • 치명적 오류(서비스 중단급)
  • 시스템 종료, 치명적 예외, 복구 불가 상황


OFF

  • 로그 출력 안 함





https://dev-donghwan.tistory.com/128
https://kanoos-stu.tistory.com/76
https://www.atatus.com/blog/best-practices-in-java-logging/

728x90
반응형

+ Recent posts