목록Language (22)
시다바리
* Serializable 객체 직렬화란 객체의 내용을 바이트 단위로 변환하여 파일 또는 네트워크를 통해서 송수신(스트림)이 가능하게 만들어 주는 것을 말합니다. 여기서 객체란 멤버변수의 메모리만으로 구성된 것을 말하구요. 따라서 객체 직렬화에서 메서드와 생성자는 제외된다는 것을 잊지 마세요! 이렇게 객체를 직렬화 함으로써 얻을 수 있는 장점은 객체 자체의 내용을 입출력 형식에 구애 받지 않고 객체를 파일에 저장함으로써 영속성을 제공할 수 있고, 객체 자체를 네트워크를 통하여 손쉽게 교환할 수 있게 됩니다. 객체 직렬화는 자바 1.1 이후에 도입이 되었는데 그 이유는 RMI와 Bean 때문이었습니다. RMI는 원격객체통신을 지원해야 하기 때문에 객체가 그대로 이동할 수 있어야 합니다. 따라서 이를 지원하..
* ResourceBundle의 활용 API 위치 java.util.ResourceBundle 역할 프로그램 배포시 고정된 자원과 변화하는 자원이 있다. 게시판 배포를 예로 든다면 안에 소스는 대부분 고정된 자원이다. 하지만 사용자마다 database의 설정 등은 수정해서 사용해야 하는 부분이다. 이러한 값들은 프로그램의 알고리즘과 상관없는 부분으로 따로 관리해야 하는 자원들이다. 이러한 자원은 파일로 저장해서 관리하는 것이 보편적 추세로 ResourceBundle을 이용 할 수 있다. 아래는 현제 사용중이 properties 파일이다. ADMIN_ID=id ADMIN_PWD=pass MAX_UPLOAD_SIZE=6291456 위에서 보면 단순히 "="를 기준으로 해서 왼쪽에 key 오른쪽에 value가..
* MVC : Model, View, Controller - MVC패턴은 Smalltalk에서 그래픽 인터페이스와 실제로 동작하는 코드를 분리하기 위해 개발되었다. - 지금은 다른 객체지향언어에서도 널리 사용되는 패턴 중 하나이다. ▶ Model 프로세스 주요 로직 - DAO (Data Access Object) : DB table에 접근하여 삽입, 수정, 삭제, 검색하는 로직 - VO (Value Object) : View, Controller, Model 사이에서 DB Table에 대한 정보를 표현하는 객체 모델(model)이란 어떠한 동작을 수행하는 것을 코드를 말한다. 표시 형식에 의존하지 않는다. 다시 말해, 사용자에게 어떻게 보여질지에 대해 신경쓰지 않아도 된다. 모델은 순수하게 public ..
* indexOf 와 startsWith 의 차이 indexOf는 예를 들어 하나의 배열이 있다고 합시다 String[] sArry = new String[]{"a","b","c"}; 이런경우에 for( int i = 0 ; i < sArry.length ; i++ ) { System.out.println( sArry[i].indexOf("b") ); } 라고 하시면 아마도 -1, 1, -1 이라고 위치가 출력될 것입니다. indexOf란 인자값으로 받은 것이 대상객체에 있는 위치(인덱스번호)를 리턴해줍니다. 만약 없다면 -1을 리턴해줍니다. 중복값을 체크할때 유용하게 많이 사용합니다. 이런식으로요 for( int i = 0 ; i < sArry.length ; i++ ){ if( sArry[i].ind..
1. 소개 별도로 룩앤필을 지정하지 않으면 자바 룩앤필이 기본으로 지정됩니다. 룩앤필을 지정할 때에는 다음과 같이 UIManager 클래스를 사용합니다. try { UIManager.setLookAndFeel ( UIManager.getCrossPlatformLookAndFeelClassName ( ) ); } catch ( Exception e ) { System.err.println ( "Cannot set look and feel:" + e.getMessage ( ) ); } UIManager 클래스의 getCrossPlatformLookAndFeelClassName() 메쏘드는 자바 룩앤필 클래스 이름을 리턴합니다. getSystemLookAndFeelClassName() 메쏘드는 현재 자바 스윙..
WM_IME_COMPOSITION The WM_IME_COMPOSITION message is sent to an application when the IME changes composition status as a result of a key stroke. An application should process this message if it displays composition characters itself. Otherwise, it should send the message to the IME window.chDBCS = (WORD) wParam; fFlags = (BOOL) lParam; Parameters chDBCS DBCS character representing the latest cha..
/** * Java로 오라클 접속하는 예제 * Myoung-Geun Jang(jangsalt@nextelecom.co.kr) * 2008. 5. 9 */ import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.sql.SQLException; public class OracleConnection { private static Driver JDBC_DRIVER = null; Connection connection = null; ResultSet rs = null; Statement stmt = nul..
/** * 한글 UniCode 를 한글로 변환 시키는 소스 * Myoung-Geun Jang(jangsalt@nextelecom.co.kr) * 2008. 5. 9 */ public class UnicodeToChar { public static void main(String[] arg) { String uniCodeStr = String.format("\uD14C\uC2A4\uD2B8"); String[] rawUnicode = uniCodeStr.split(""); int intVal = 0; char[] chVal; for( int i = 0; i < rawUnicode.length; i++ ) { chVal = rawUnicode[i].toCharArray(); for( int j = 0; j <..
출처 : http://blog.naver.com/endfirst가.가변 인수 함수여기서는 가변 인수 함수에 대해서 알아 본다. 가변 인수의 함수를 만드는 방법에 대해서는 물론이고 가변 인수 함수가 동작하는 원리에 대해서도 자세하게 분석해 볼 것이다. 조금 어렵기는 하지만 포인터를 적절하게 활용하는 예를 볼 수 있으며 포인터로 어떤 일이 가능한지를 경험할 수 있는 좋은 기회가 될 것이다. 가변 인수 함수가 어떻게 동작하는지를 설명할 수 있다면 포인터를 정복했다고 생각해도 좋다.가변 인수란 말 뜻 그대로 인수의 개수와 타입이 미리 정해져 있지 않다는 뜻이며 그런 인수를 사용하는 함수를 가변 인수 함수라고 한다. 가변 인수 함수의 가장 좋은 예는 C언어의 가장 기초 함수인 printf이다. C언어를 배우는 사..
출처 : http://cafe.daum.net/ITdreamHACKER/4J9G/25 1.1.1 fork() 함수는 어떤 일을 하는가? #include #include pid_t fork(void); `fork()' 함수는 존제하는 프로세스가 새로운 프로세스를 생성하고자 할때 사용된다. 이때 새로 생성되는 프로세스를 자식 프로세스라고 부르고, 신규 프로세스를 생성하는 프로세스를 부모 프로세스라고 부른다. 또한 프로세스 생성이 성공적으로 이루어지면 부모 프로세스쪽으로는 자식 프로세스의 Process ID가 넘어오고, 자식 프로세스로는 0이 넘어온다. 이 간단한 코드가 이 기본원리를 설명한다 pid_t pid; switch (pid = fork()) { case -1: /* 여기서 pid는 -1이고, for..