Showing posts with label Java. Show all posts
Showing posts with label Java. Show all posts

30 June 2007

Sun Certified Java Programmer (SCJP)

삼성SDS멀티캠퍼스에서 Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (CX-310-055) 시험을 응시했습니다.
멀티플 초이스 형 문제가 주로 나오고, Drag & Drop 형식의 문제가 가끔 나왔습니다.
배정받은 컴퓨터에서 약 3시간이 조금 안 되는 시간 동안 72문제를 푸는 것이므로 시간은 충분합니다. 시험을 본 후, 그 자리에서 바로 Score Report를 받을 수 있습니다. 물론 Pass/Fail 여부도 함께요.
시험 언어는 영어와 한글을 선택할 수 있는데, Java를 집중적으로 배운 곳이 캐나다이고, SCJP가 국제공인자격증이기도 해서 영어로 보았습니다.
리포트에는 다음 7가지의 섹션 별 점수가 나옵니다.

  • Section 1: Declarations, Initialization and Scoping
  • Section 2: Flow Control
  • Section 3: API Contents
  • Section 4: Concurrency
  • Section 5: OO Concepts
  • Section 6: Collections / Generics
  • Section 7: Fundamentals
---------------------------------------------------------------------
저는
Section 7: Fundamentals은 훌륭하고,

Section 4: Concurrency,
Section 5: OO Concepts 은 우수하며

Section 2: Flow Control,
Section 1: Declarations, Initialization and Scoping,
Section 6: Collections / Generics 은 무난한 정도네요.

Section 3: API Contents 은 공부를 많이 해야겠어요.

자세한 섹션별 설명은 Exam Objectives 에 있습니다.

국제공인자격증을 취득해서 기쁘지만, 사실 Java에 자신감이 생겨서 매우 우수한 성적으로 Pass할 거라 기대했는데, 생각보다는 점수가 나오지 않았네요. 점수가 낮게 나온 섹션을 더욱 공부해야겠습니다. 시험을 보면 내 능력의 feedback을 받을 수 있어서 좋아요.
덕분에 겸손한 자세로 항상 배우라는 교훈을 얻었어요. =)

8 June 2007

SUN CERTIFIED PROGRAMMER FOR JAVA[tm] 2 PLATFORM 5.0 출제 경향


시험바우처 구입 : 썬 자격증 바우처 판매 업체
시험장소 : Prometric 공인 시험센터
시험번호 : CX-310-055
시험유형 : 객관식 & 단답식
시험문항 : 72문항
합격점 : 59% (72문항 중 43문항 이상 통과)
시험시간 : 175분
시험가격 : \200,000(부가세포함)

SUN CERTIFIED PROGRAMMER FOR JAVA[tm] 2 PLATFORM 5.0 출제 경향


Section 1: 선언, 초기화, 범위 (Declarations, Initialization and Scoping)


추상 클래스, 중첩 클래스, 인터페이스, enums의 선언과 패키지, import 선언문의 적절한 사용
인터페이스의 구현(implements)과 상속(extends)
추상 클래스의 상속(extends)
선언, 초기화의 코드 작성과 기본 타입, 배열, enums의 사용 및 정적, 인스턴스,
지역 변수와 클래스의 객체화.
정적, 동적 메소드의 선언과 메소드 Naming Convention, 다양한 argument list 선언과 사용
메소드 오버라이딩, 오버로딩 및 메소드의 리턴타입 결정
생성자의 특징 및 디폴트 생성자의 생성.

Section 2: 제어 구문(Flow Control)


if , switch-case구문을 이용한 코드작성
for, do, while, labels, break, continue와 관계한 Loop구문의 사용과 실행 및 Loop구분의 지역변수의 변화.
assertion을 사용한 코드 작성
예외처리 문(try, catch, finally) 작성
runtime exception, checked exception 및 error
ArrayIndexOutOfBoundsException, ClassCastException, IllegalArgumentException,
IllegalStateException, NullPointerException, NumberFormatException, AssertionError,
ExceptionInInitializerError, StackOverflowError 또는 NoClassDefFoundError 상황의 이해

Section 3: API 컨텐츠(API Contents)


Primitive wrapper classes(Boolean, Character, Double, Integer 등) 과 autoboxing & unboxing 을 사용한 코드 작성. String, StringBuilder, StringBuffer 클래스들간의 구별.
Java.io : BufferedReader, BufferedWriter, File, FileReader, FileWriter, PrintWriter를 활용
Java.text.package에서 standard J2SE API의 사용
Java.util과 java.util,regex 패키지에서 standard J2SE API 사용

Section 4: 동시성(Concurrency)


Java.lang.Thread 와 java.lang.Runnable을 이용한 쓰레드의 구현, 객체화, 실행 을 위한 코드작성
쓰레드의 Lifecycle 파악 및 상태 변화
객체 locking을 위한 코드 작성
wait, notify, notifyAll 메소드의 사용

Section 5: 객체지향 개념들 (OO Concepts)


클래스의 캡슐화, 느슨한 결합, 강한 결합을 이행하는 코드를 개발하고 장점들을 묘사
다형성의 코드 개발 및 캐스팅 시기의 결정, 객체 캐스팅과 관련한 컴파일 에러와 런타임 에러
생성자, 인스턴스 변수, 정적 변수, 인스턴스 메소드, 정적 메소드와 상속과의 관계
메소드 overriding, overloading의 선언 및 실행과 생성자의 superclass, overriding, overloading 선언 및 실행
“is a”와 “has a” 관계

Section 6: 콜렉션/일반(Collections/ Generics)


콜렉션 클래스와 인터페이스들의 결정
hashCode, equals 메소드의 올바른 override 방법 및 “==”연산자와 equals 메소드의 차이점
Set, List, Map 인터페이스와 implementation 클래스를 사용하는 코드 작성. Non-generic 콜렉션 API의 제한점을 파악 및 generic 버전 사용을 위한 방법
클래스/인터페이스 선언부, 인스턴스 변수, 메소드 아규먼트, 리턴 타입에 적절한 타입 파라미터를 사용하는 코드 작성

Section 7: 자바프로그램 기초 문법(Fundamentals)


예시 코드에 맞는 상속, 접근 제한자, 패키지 선언, import 선언문의 사용
예시 코드에서 예상되는 런타임 behavior 결정
가비지 컬렉션 시점을 파악과 System.gc 및 finalization 메소드의 기능
JAR 파일 및 클래스에 적합한 디렉토리 구조 설계. 예시 코드와 클래스path를 보고 클래스path가 코드를 성공적으로 컴파일 할 것인지 여부 결정
대입연산자(=, +=, -=) , 산술연산자(+,-,*,/,%,++,--),관계연산자(<,<= ,> ,>=, ==, !=),
논리 연산자(&,|,^,!,&&,||) 그리고 조건연산자(?: ) 를 사용하는 코드 작성

IT 자격증

5 April 2007

I’m done.

with Introduction to Software Development Term Project (Winter 2006, term 2)
  • A program in Java that performs file compression and decompression using the LZW compression algorithm

Wow, so beautiful!!

Because TA who gives me marks considers my coding style, I became more focusing on good style of programming. In other words, I'm trying to make more maintainable and readable programs with good coding style.
When my TA deducted my marks just because of no appropriate helper method, no module, or using 'this.' when it is not necessary, I felt bad at that time.
But I really appreciate because I know I can lean from those in the long run. =)
Plus, I became a student who loves to make good programs after taking computer science courses at UBC. And now I know I enjoy solving problems that gives me a sense of achievement.
So, computer science is fun ;) You should try IT.

Coding With Style
It is important to follow the coding conventions that your team sets. That said it can be an enormous pain to break personal coding habits. Coding styles can be widely varied and you may even have the "pleasure" of working on separate projects at once that each have their own coding conventions. [read more...]

6 September 2006

BiG JAVA




by Cay S. Horstmann
Paperback: 1248 pages
Publisher: Wiley; 2 edition (March 8, 2005)
Language: English
ISBN-13: 978-0471697039