전체 글 399

[개요] 클래스 로더(Class Loader) 이해

1. 자바 언어에서 클래스 로더(Class Loader) 정의 및 특징 클래스 로더(Class Loader)는 컴파일 시점(Compile Time)이 아닌 실행 시점(Run Time)에 클래스(Class)를 로딩할 수 있게 해주는 기술이다. 예를 들어, ClassA = new HelloWorld(); 라는 코드를 최초로 실행할 때, 자바 가상 머신(JVM)은 HelloWorld라는 클래스를 클래스 로더를 통해서 메모리에 로드하게 된다. 클래스는 로더는 클래스의 바이트 코드(Bytecode)를 파일 시스템 상의 클래스나, JAR와 같은 아카이브(Archive) 형태로 동적으로 로딩할 수 있도록 지원해준다. 이 클래스 로더는 기술적으로 아래와 같은 특징을 가지고 있다. 계층적(Hierarchical) : 클..

WAS/WebLogic 2015.05.13

[개요] Java 직렬화(Serialization) 이해

자바 직렬화(Java Serialization)는 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환하는 것을 말한다. 반대로 스트림에서 데이터를 읽어 객체로 변환하는 것을 역직렬화(deserialization)라 한다. 객체를 파일에 저장하거나 파일에서 꺼내오기 위해서 또는 객체를 네트워크를 통해 전송하기 위해서는 미리 객체를 직렬화(Serialization) 해야한다. 아래 예제는 SerializeDemo.java에서 Serializable한 Employee 클래스를 직렬화 하고, DeserializeDemo.java에서 역직렬화하는 예제이다. 1. java.io.Serializable interface를 상속받은 클래스를 생성한다. 아래에서 transient의 의미는 직렬화시에 제외시..

[Tips] WebLogic 11g 패치(Patch) 방법

Patch 방법은 웹로직 버전에 따라 상이하므로 매뉴얼을 참조하여 해당 버전에 맞는 패치 방법을 적용해야 한다. 여기에서는 웹로직 11g 버전의 패치 방법에 대해 설명하고자 한다.주요 패치 방법은 아래와 같다. 패치 시에 패치파일(압축파일)에 포함되어 있는 README.txt를 반드시 읽어보아야 한다. 예를들어 권장하는 JDK 버전(Minor 번호 포함)이 있을 수 있으므로 사전에 체크해야 한다. smart update를 서버에서 수행하여 패치방법smart update를 PC에서 수행해서 패치한 후에 그 파일을 서버에 올리는 방법커맨드라인 명령어 기반 패치방법$WL_HOME/common/bin/commEnv.sh에 PATCH_CLASSPATH 설정 1. smart update를 서버에서 수행하여 패치방법..

WAS/WebLogic 2015.03.10

[예제] 간단한 JNI 예제 작성

[작업 순서]1 C Function을 호출하는 자바 프로그램(HelloJNI.java) 작성 후 .class 생성 2 C 프로그램(HelloJNI.h와 HelloJNI.c) 작성 후 Shared Library 생성 3 테스트. $java HelloJNI 1. C Function을 호출하는 자바 프로그램(HelloJNI.java) 작성 Line 3 Native 동적 라이브러리(Windows에서는 .dll 파일, Linux에서는 .so 파일)를 로딩한다. 위의 예제에서는 libhello.so(Linux) 또는 hello.dll(Winodws)를 로딩한다는 의미이다. Line 6 JNI를 통해 제공되는 함수 선언 2. C 프로그램(HelloJNI.h와 HelloJNI.c) 작성 및 Shared Library ..

What is DevOps?

DevOps 배경Time To Market을 통한 경쟁력 요구됨개발자관점 : 개발환경과 실운영환경이 다르므로, 개발 코드의 운영서버 배포 시 오류 발생 위험시스템관리자 관점 : 99.9% 가용성을 확보한 상태에서 지속적으로 관리 대상 운영 서버는 증가하고 있느나, 신규 서비스 개시 시간 압박 때문에 코드 리뷰 등 표준 절차를 거치지 않고 배포하다 보니 서비스 불안정 DevOps 필요성 DevOps 정의 DevOps integrates developers and operations teams in order to collaboration and productivity by automating infrastructure, automating workflows and continuously measuring ..

DevOps & ALM 2015.03.08