반응형

Program/Java 8

유저 IP 를 가져왔을 때 IPv6 (0:0:0:0:0:0:0:1)문제, IPv4(127.0.0.1)로

내 개발 환경에서 내 IP를 불러 보니 0:0:0:0:0:0:0:1으로 떠서 당황스러운 경험이 있다. 이는 정상적인 값이다. 다만 우리가 흔히 사용하는 IPv4가 아니라 IPv6으로 보여준 것이다. 만약 내 개발 서버의 환경에서 IPv6로 반환하고 있는데, IPv4로 반환받도록 하고 싶다면 JVM 환경 변수를 수정하면 됩니다. Eclipse -> Run -> Run Configurations 대상 App의 Arguments 에 아래와 같이 입력하자 -Djava.net.preferIPv4Stack=true 그리고 중요한건 이클립스 재실행 필수! 이제 실행하면 0:0:0:0:0:0:0:1 이 아닌 127.0.0.1 으로 나온다!

Program/Java 2023.11.10

무료 소스 취약점 방법 (Yasca , PMD, SpotBugs)

소스 레벨 취약점 점검을 진행할 일이 있어 찾아보니 대표적으로 Yasca, PMD, SpotBugs 등이 무료로 사용할 수 있다는 것을 알았다. SpotBugs와 PMD는 이클립스 플러그인 추가로 Yasca는 별도 다운로드 후 CMD(윈도)로 명령어를 실행하면 되었다. Yasca가 리보트까지 html로 출력 가능하여 최종적으로 사용하게 되었고 SpotBugs는 사용하기 편리하였고 PMD는 공부를 해야 잘 이용 할 수 있을 정도로 옵션이 다양했다. Yasca 아쉽게도 2011년 이후 업데이트가 되지 않고 있다. 사용할 수 잇는 언어는. NET (VB.NET, C#, ASP. NET) , ASP, C/C++, COBL, ColdFusion, CSS, HTML, JAVA, JavaScript, Perl, PH..

Program/Java 2023.11.08

JDK 설치

JAVA 개발을 하기 위해서 환경 구축을 해야 할 때 가장 먼저 확인할 일은 JDK가 설치되어 있는지 확인해야 한다. 만일 설치가 안되어 있다면 필수로 설치하자. JDK란? https://soccerda.tistory.com/104 JDK(Java Development Kit) , JRE(Java Runtime Environment), JVM(Java Virtual Machine) 란? 자바 개발 키트 JDK 자바 기반 소프트웨어를 개발하기 위한 도구(tool) 패키지 자바 런타임 환경 JRE 자바 코드를 실행하기 위한 도구 패키지 자바 가상 머신 JVM 스프트웨어이지만 Machine이라는 말이 soccerda.tistory.com 설치하기 오라클 공홈에서 다운로드하자 https://www.oracle...

Program/Java 2020.09.10

JDK(Java Development Kit) , JRE(Java Runtime Environment), JVM(Java Virtual Machine) 란?

자바 개발 키트 JDK 자바 기반 소프트웨어를 개발하기 위한 도구(tool) 패키지 자바 런타임 환경 JRE 자바 코드를 실행하기 위한 도구 패키지 자바 가상 머신 JVM 스프트웨어이지만 Machine이라는 말이 들어간 이유는 JVM이 실제로는 CPU와 같은 역할을 하기 때문이다. 클래스 파일(.class)은 직접 CPU에서 동작할 수 있는 코드(native code)가 아니다. 생성된 클래스 파일은 중간단계의 언어라고 할 수 있는 byte code인데 이 코드를 실행하기 위해서는 가상적인 CPU가 필요하다. 바로 그것이 JVM이다. JAVA언어가 native code가 아닌 byte code를 생성하는 이유는 이식성 때문이다. 직접 native code를 생성하면 그 CPU에 종속적인 특성을 갖는다. ..

Program/Java 2020.04.28

DB Connection Pool

https://www.holaxprogramming.com/2013/01/10/devops-how-to-manage-dbcp/ DB Connection Pool에 대한 이야기 DB Connection Pool은 왜 필요할까? www.holaxprogramming.com 웹 애플리케이션을 운영하다 보면 에러 로그로는 식별 할 수 없는 잠재적인 이슈가 발생 할 때가 있다. 애플리케이션내의 오류가 명확히 확인이 되지 않은 상태에서 Out of memory가 발생 하거나, DB 서버에서부터 발생한 장애로 인해 웹 서버가 뻗어 버리는 경우 말이다. 실제로 서비스 운영 중에 문제가 발생 했을 때 원인을 파악하고 조치한 내용을 정리해 보려고 한다. 결론부터 말하면 이러한 문제는 대부분 애플리케이션의 비지니스 로직의 ..

Program/Java 2019.08.08

connection pool leak (커넥션풀 누수)

connection pool은 풀의 데이터베이스에 대한 활성 연결을 유지하여 성능을 향상시킵니다. 풀은 일반적으로 풀 관리자가 관리합니다. 클라이언트 (API)는 풀에서 연결을 빌리고 SQL 쿼리 또는 업데이트를 실행 한 다음 연결을 풀로 다시 반환해야합니다. 그러나 연결 개체가 풀로 다시 반환되지 않으면 풀의 연결이 풀보다 줄어 듭니다. 이것을 연결 풀 누출이라고합니다. 결국이 문제가 계속 발생하면 풀 연결이 끊어지게됩니다.이를 풀 소진이라고합니다. 일반적으로 이는 프로그래머가 리턴 연결 메소드 호출을 잊어 버리거나 일부 조건에서 리턴 연결 메소드가 호출되지 않는 경우에 발생합니다. 특정 응용 프로그램 서버는 연결 누수가 있는지 여부를 감지 할 수 있습니다. 예를 들어 Weblogic Server 8...

Program/Java 2019.08.08

JDBC(Java Database Connectivity)

JDBC(Java Database Connectivity) JDBC란? - Java언어로 데이타베이스에 연결해서 입력,수정,삭제 및 조회등의 작업을 할 수 있도록 해주는 기술이다 - JDBC는 프로그램과 각각의 데이타베이스(Oeacle,MS-SQL,DB2,MySQL등) 중간에서 각 데이타베이스의 벤더(회사)에서 제공하는 API들을 사용할 수 있도록 변환해주는 기능을 수행한다. - JDBC가 각 벤더에 맞는 API를 사용할 수 있도록 프로그래머는 각 벤더에서 제공해주는 드라이버를 다운받아 JAVA개발환경에 설정 해줘야 한다. - 데이타베이스에 일관된 방식으로 접근 할 수 있도록 API를 제공하는 클래스의 집합이라고 할 수 잇다. 드라이버 다운로드 및 JDBC프로그래밍을 위한 환경 설정] -드라이버 다운로드..

Program/Java 2019.08.08

ehcache 가이드

라이브러리 - ehcache-core-x.x.xjar 환경설정 - Cache 객체명, Data Size, 유효기간, 동기화 정책 - ehcache.xml 캐시정책 maxEntriesLocalHeap="1500000" //저장될 객체의 최대수 eternal="false" // 시간 설정 무시 옵션 timeToIdleSeconds="600" //설정된 시간 동안 Idle 상태시 갱신(10분) timeToLiveSeconds="3600" // 설정된 시간 동안 유지 후 갱신(1시간) diskPersistent="true" //디스크 저장 사용 옵션 overflowToDisk="false" //메모리 부족시 디스크 저장 옵션 memoryStoreEvictionPolicy="LRU" // 데이터 제거 알고리즘 옵..

Program/Java 2019.05.17
반응형