2. String클래스 2.1 String클래스의 특징 2.2 빈 문자열(empty string) 2.2 String클래스의 생성자와 메서드 ======================================================== 2. String클래스 기존의 다른 언어에서는 문자열을 char형의 배열로 다루었으나 자바에서는 문자열을 위한 클래스를 제공한다. 그 것이 바로 String클래스인데, String클래스는 문자열을 저장하고 이를 다루는데 필요한 메서드를 제공한다. 지금까지는 String클래스의 기본적인 몇 가지 기능만 사용해 왔지만, String클래스에는 문자열을 다루는데 유용한 메서드들이 많이 있다. 이제 String클래스에 대해서 자세히 알아보도록 하자. 2.1 String클래스..
Collator 사용하기 java.text.Collator 클래스는 자연어 비교 기능을 제공하는데, 자연어 비교는 주로 특정 서체의 문자들에 대한 동일성과 순서를 결정하는 지역 고유의(locale-specific) 규칙에 의존한다. Collator 오브젝트는 사전에서 'cat'이 'Hat'보다 먼저 나온다는 사실을 이해하므로 collator 비교를 이용할 경우 다음 코드는 cat < Hat을 출력하게 된다. Collator collator = Collator.getInstance(new Locale("en", "US")); int comparison = collator.compare("cat", "Hat"); if (comparison < 0) { System.out.printf("%s < %s\n", ..
* 압축 파일을 만들때 파일 대상이 폴더 단위가 아닌 파일 단위로 해야한다. (당연하겠지 파일스트림으로 읽어 들일때 폴더를 읽을시 에러(FileNotFoundException)가 날테니까) ==> File target_file = new File("C:/test/test.txt"); // 특정 파일의 File객체 * 만약 특정 폴더를 압축하고 싶을때는 폴더 경로로한 File 객체를 만들어서 작업하면 된다. ==> File target_folder = new File("C:/test"); // 특정 폴더의 File객체 File[] target_file = target_folder.getlistFiles(); // 특정 폴더의 하위 파일 & 폴더의 File객체 * 이제는 압축되어 만들어질 Zip파일의 Fil..
● 보안 서버(Secure Server) 란? 보안 서버란 인터넷 상에서 사용자 PC와 웹 서버 사이에 송·수신되는 개인정보를 암호화하여 전송하는 서버를 의미한다. 또한 보안 서버는 해당 전자거래 업체의 실존을 증명하여 고객과 웹 서버간의 신뢰를 형성하고, 웹 브라우저와 웹 서버간에 전송되는 데이터의 암/복호화를 통하여 보안 채널을 형성하므로 안전한 전자거래를 보장한다. 개인정보를 송·수신하는 대표적인 예로는 회원가입시 주민등록번호 입력, 로그인시 ID/패스워드 입력, 인터넷뱅킹 이용시 계좌 번호/계좌 비밀번호 입력 등이 해당된다. 인터넷 상에서 암호화되지 않은 개인정보는 가로채기 등의 해킹을 통해 해커에게 쉽게 노출될 수 있으므로 웹 서버에 보안 서버 솔루션을 설치하면 해커가 중간에 데이터를 가로채도 ..
* 객체직렬화의 개념 자바 I/O 처리는 정수, 문자열, 바이트 단위의 처리만 지원했었다. 따라서 복잡한 객체의 내용을 저장/복원하거나, 네트워크로 전송하기 위해서는 객체의 멤버변수의 각 내용을 일정한 형식으로 만들어(이것을 패킷이라고 한다) 전송해야 했다. 객체직렬화는 객체의 내용(구체적으로는 멤버변수의 내용)을 자바 I/O가 자동적으로 바이트 단위로 변환하여, 저장/복원하거나 네트워크로 전송할 수 있도록 기능을 제공해준다. 즉, 개발자 입장에서는 객체가 아무리 복잡하더라도, 객체직렬화를 이용하면 객체의 내용을 자바 I/O가 자동으로 바이트 단위로 변환하여 저장이나 전송을 해주게 된다. 또한 이것은 자바에서 자동으로 처리해주는 것이기 때문에, 운영체제가 달라도 전혀 문제되지 않는다. 객체를 직렬화할때 ..
1.2. SSL은 뭐고, 인증서는 뭔가? Secure Socket Layer(SSL) 프로토콜은 넷스케이프사에서 웹서버와 브라우저 간의 보안 통신을 위해 만들어졌다. SSL은 통신할 때 인증기관(Certificate Authority, CA)라는 것을 이용해서 서로 인식하게끔 되어 있다. 이 과정을 간단하게 설명하면 다음과 같다. [웹브라우저] 보안 페이지를 요청한다. (일반적으로 주소에 https:// 라고 붙는다). [웹서버] 자신의 공개키를 인증서와 함께 웹브라우저로 보낸다. [웹브라우저] 웹서버의 인증서가 신뢰할 수 있는 제3자(신뢰할 수 있는 루트 인증기관,Trusted root CA)에게 서명되었는지 확인한다. 그리고 인증서가 아직 유효한지, 그리고 접속하려는 사이트와 연관되어 있는지 최종 확..
보안을 위해 https로 통신해야 할 필요가 있는 경우 tomcat에서 다음과 같이 설정한다. 1. key 생성 Windows 인 경우 %JAVA_HOME%bin/keytool -genkey -alias tomcat -keyalg RSA Unix 인 경우 $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA 이때 패스워드를 물어보는데 "changeit"이라고 입력한다. 다른 패스트워드를 입력할 경우 tomcat startup시 다음과 같은 오류가 발생한다. Keystore was tampered with, or password was incorrect 그 다음은 알아서 입력하고 국가코드에는 "82"를 입력한다. 2. tomcat server.xml 파일 변..
요약 JDK 1.5 Beta 2가 릴리즈 된지 몇 달이 지났다. 아직 Beta 버전이긴 하지만, JDK 1.5에서의 변화를 미리 살펴보기엔 부족함이 없다 생각된다. JDK 1.5에서 가장 먼저 눈에 띄는 것이 바로 문법적인 변화들이며, 본 글에서는 JDK 1.5에서 새로 추가/변경된 문법적 변화중에서 Generics, Autoboxing/unboxing, for 루프에 대해서 알아보도록 하겠다. 타입에 안전한 컬렉션 - Generics JDK 1.4까지의 Collection 객체들은 모두 Collection에 담긴 객체를 얻을 때 Object 타입으로 리턴을 하기 때문에, 반드시 Collection으로부터 객체를 얻은 후 원하는 타입으로 캐스팅을 해야 했다. 따라서 Integer 객체만 넣어야 하는 Co..
개발자가 놓치기 쉬운 자바의 기본 원리에 대하여 기본적이긴 하지만 개발하면서 느끼고 경험한 내용을 정리하였다. 목차 1 객체지향의 구멍 static 1.1 Java는 객체지향 언어이다? 1.2 전역변수 2 Java는 Pointer언어이다? (Java에는 Pointer밖에 없다?) 2.1 Java는 primitive형을 제외하곤 모두 Pointer이다 2.2 null은 객체인가? 2.3 String에 대하여 2.4 객체지향의 캡슐화 파괴 주의 2.5 배열에 대하여 2.5.1 배열은 object 인가? 2.5.2 배열의 length는 왜 field(member variable)인가? 2.5.3 final과 배열에 대하여... 2.5.4 "Java에서의 다차원 배열은 존재하지 않는다." 2.6 인수(param..
1. J2SE 5.0(타이거-호랑이) 베타버전이 2004년 초 공개됐다. 이 릴리즈는 품질, 모니터링과 관리 편의, 성능 향상과 확장성 그리고 개발과 데스크탑 용도 사용 편의라는 몇몇 핵심 주제에 포커스를 맞추고 있다. 2. Joshua Bloch 가 쓴 타이거에 관한 시가 아래에 인용되어 있다. 3. 제너릭(Generics) - 컴파일 할 때 컬렉션에 자료형을 안전하게 사용할 수 있도록 보장해주며, 짜증나는 캐스팅을 없애준다. 시 인용: 가장 짜증나는 캐스팅에게 우리는 드디어 작별을 고하네 제너릭의 불타오르는 창끝에 캐스팅은 사라져가네. String 객체를 위해 java.util.List를 사용해서 값을 가져올 때마다 String 으로 캐스팅을 해야했다. List names = new ArrayList..