2007년 10월 28일 일요일

자바에 날개를 달자!

보통 대학에서 자바를 배울때는 '메모장'과 같은 텍스트 에디터로 충분했다.
그것으로도 충분히 코딩을 하고 컴파일을 해서 실행 할 수 있었기 때문이다.
하지만 기업은 개발에 있어서 효율성을 중시하고 개발의 속도가 중요하다.
텍스트 에디터로 개발하기에는 속도면에서 부족한 점이 있는 것이다.
(C의 경우도 gcc등을 이용해서 충분히 C로 프로그래밍을 할 수 있지만, Visual C++이라는 툴을 이용해서 프로그래밍을 하는 이유도 효율성 면에서라고 볼 수 있다.)
위에서 예를 든 Visual C++은 개발환경, 영어로는 IDE(통합개발환경)라고 한다.
프로그램을 컴퓨터가 이해할 수 있는 형태로 만들어주는 컴파일러를 포함해서 편집 및 디버깅등을 편하고 쉽게 할 수 있게 도와주는 일종의 도구(툴)이다.

이번에는 지난번에 설치했던 자바에 이어 이런 IDE툴을 설치해보자.
1. eclipse

이클립스라는 개발 환경은 자바와 비슷한 점이 많다. 여러 플랫폼을 지원하고, 또한 무료라는 점이다. 자바라는 것이 어떤 환경에서라도 돌아갈 수 있게 개발이 되다보니 그것을 지원하는 프로그램도 따라 가는 것 같다.
우선 프로그램을 다운받자.
그림을 클릭하면 자신의 환경에 맞는 프로그램을 다운받을 수 있다.
다운 받은 후 압축을 풀면 별도의 설치없이 바로 실행 할 수 있다.

2. Oracle JDeveloper
처음에 제이디벨로퍼라는 이름을 듣고 볼랜드의 제이빌더와 착각을 했다.
제이디벨로퍼는 오라클이라는 데이터베이스 회사가 볼랜드에서 라이센스를 받아서 무료로 사용할 수 있게 하는 방식이다.
다음 그림을 클릭해서 다운 받자.
이 게시물을 쓸 당시에는 11g라는 버전과 10.1.3.3버전 두가지(링크는 3가지)를 받을 수 있었는데 필자는 후자를 선택했다.


본인도 위의 툴을 아직 사용하지 않았기에 우선은 설치하는 방법까지만으로 만족을 하자.

2007년 10월 26일 금요일

자바 설치하기

자바? 인도네시아의 섬나라 자바가 아니다? 그런 커피? 물론 커피도 아니다. 컴퓨터 프로그래밍 언어의 이름이다.

자바의 특징
1. 플랫폼 독립적(어떠한 OS에서도 실행이 가능: Write once, Run anywhere, VM/Bytecode)
2. 객체지향 프로그래밍(클래스)
3. 인터넷 환경에 강함(Applet)

실행방식에 따라
- Application : 데스크 탑에서 실행(javac -> java)
- Applet: 웹브라우저에서 실행(html에 삽입)


자바의 장점: 공짜이다!!! -> 어디서? => 인터넷에서.
무엇을 다운받나?
- JDK란?
-- Java Development Kit의 약자
-- 활용분야에 따라: SE(Standard Edition), EE(Enterprise Edtion), ME(Micro Edition)

어디서 다운받나?
http://java.sun.com

[아래는 해당 버전에 따라 연결되는 링크이다]
SE(Standard Edition), EE(Enterprise Edtion), ME(Micro Edition)

다운을 받아 설치를 한다.
본인이 설치를 할 당시에 최신버전은 6.0, 즉 JDK 1.6 버전이었으나 1.5를 설치하기 위해 구버전을 찾아 설치했다.
1.5 다운링크

-버전의 확인
- 명령프롬프트 창을 띄워 'java -version'이라고 쳐본다.
(위에서 에러가 생기거나 설치한 버전과 다르게 나오면 PATH 환경이 설정을 해준다.)

- PATH 설정하기(윈도우 2000이상 기준 / 98이하에서는 c:\ 루트에 있는 'autoexec.bat'에 패스를 추가해준다 (다음을 추가)"SET PATH=C:\[경로]\bin")
- [제어판]-[시스템]-[고급]탭에서 {환경변수} 클릭
- "~에 대한 사용자 변수"에 본인의 javac.exe가 있는 경로를 추가해준다.
-- 변수는 "JAVA_HOME"과 "PATH"를 추가해 준다.
노란색 상자가 가장 중요!
본인이 설치한 폴더에 따라 달라 질 수 있다. 참고로 저는 D드라이브에 설치를 했기에 위와 같이 설정을 했습니다. (디폴트 값은 보통 "C:\Program Files\Java\jdk~"와 같은 형태를 띄게 됩니다. 탐색기로 찾아가서 확인해보세요.

2007년 10월 25일 목요일

XML (The Extensible Markup Language) 시작하기

그동안 존재만 알았지 실제로 세부적으로 알지 못했기에 여기저기 검색을 통해
처음 XML을 접하는 사람의 관점으로 정리가 된 사이트를 통해 XML에 대해 학습을 했다.

[외부링크]
http://www.w3.org/TR/2000/REC-xml-20001006 // W3C 문서(영문, 브라우저에서 XML을 파싱해야 한다.)

http://www.adobe.com/kr/devnet/dreamweaver/articles/xml_overview_02.html // 드림위버 기술 문서에서 소개

2007년 10월 24일 수요일

약어들

APIs (application programming interfaces)
AWT (Abstract Windowing Toolkit)
BMT (BenchMark Test)
CASE (Computer-Aided Software Engineering)
CB (Channel Business)
CBE (Core Business Entities)
CDF (Common Data Format)
CGO(Chief Gaming Officer)
CISE (Computer and Information Science and Engineering)
CMS (Category Management System)
CTO(Chief technical officer)
CVS (Concurrent Versions System)
DD (Deployment Descriptor)
DFD (data flow diagram)
DOM (Document Object Model)
DTD (Document Type Definition)
EDI (Electronic Data Interchange)
EPC (Electronic Product Code)
ERM / E-R Model (Entity-relationship model)
FB-DIMM (Fully-Buffered Dual Inline Memory Module)
HIPO (hierarchical input, process, output) 계층적 입출력 기법, 階層的入出力技法
J2EE (Java 2 Platform, Enterprise Edition)
JAIN (Java API for Intelligent Networks http://java.sun.com/products/jain/ )
JCA (Java Connector Architecture)
JDS (Java Desktop System)
JSF (Java Server Faces)
JSF (Java Server Faces)
mA (microArchitecture)
MCF (Meta Content Framework)
MEP (Message Exchange Pattern)
OJT (On-the-Job Training)
OLE (Object Linking and Embedding)
OSD (On-screen display)
OSS (Operation Support System)
PL/SQL (Procedural Language/Structured Query Language)
POJO (Plain Old Java Object)
RDBMS (relational database management system)
RFID (Radio Frequency Identification)
RM (Repository Management System)
RTSJ (Real-Time Specification for Java)
SAX (Simple API for XML)
SCM (Source Configuration Management)
SCM (Supply chain management)
SGML (Standard Generalized Markup Language) 표준화된 일반 마크업 언어
SLEE (Service Logic Execution Environment)
SOA (Service-Oriented Architecture)
SODA(Service Oriented Development of Application)
SWT (Standard Widget Toolkit)
WAS (Web Application Server)
WIA (Windows Image Acquisition)
XML (The Extensible Markup Language)
XQL(XML Query Language)
XSL (XML Style Sheet)

자바-파일의 크기 구하기

자바로 간단하게 로컬의 파일의 크기를 구하는 것을 만들어보았다.
1. 실행 java Getfs [파일] , 즉 파일에 인자를 넘겨 주어서 파일의 크기를 알고 싶은 파일을 지정할 수 있어야 한다.
2. 파일이 존재 여부를 확인한다.
- 형태에 따라 '파일', '디렉토리', '파일의 미존재'에 따라 구분하여 출력한다.
3. 용량의 크기에 따라 단위를 "Byte", "Kilobyte", "Megabyte"등으로 바뀌어서 출력 가능하도록 한다.
4. 출력시 소수점 셋째 자리에서 반올림하여 소수점 둘째자리까지 표시한다.

[필요지식]
1. 명령 프롬프트 사용하기.
2. javac로 컴파일, java로 실행하기
3. 용량의 단위 개념 : 1024 단위로 나뉘어 지며 순서는 바이트, 킬로, 메가, 기가, 테라 순..
3. if문을 통한 분기문
4. while loop를 통한 반복문
5. File 클래스의 사용

[실행상태]


[소스]
// Getfs.java

import java.io.File;
import java.text.*; // 포맷 출력을 위함
public final class Getfs {
public static void main(String args[]) {
// 실행될때 넘어오는 인자를 확인
if(args.length>0) { // 인자의 개수가 0보다 클 때
File file = new File(args[0]); // 입력받은 첫번째 인자를 화일 이름으로 받는다.

// 파일인지 판단
if (file.isFile()) {
long length = file.length(); // 넘어온 파일의 길이를 구하여
double LengthbyUnit = (double)length;
int Unit=0;
while(LengthbyUnit > 1024 && Unit < 5) { // 단위 숫자로 나누고 한번 나눌 때마다 Unit 증가
LengthbyUnit = LengthbyUnit / 1024;
Unit++;
}
DecimalFormat df = new DecimalFormat("#,##0.00");
// 화면에 출력part
System.out.print("Size of file : " + df.format(LengthbyUnit)); // 출력한다.
switch(Unit) {
case 0:
System.out.println(" Bytes");
break;
case 1:
System.out.println(" KB");
break;
case 2:
System.out.println(" MB");
break;
case 3:
System.out.println(" GB");
break;
case 4:
System.out.println(" TB");
}
}
// 디렉토리인지 판단
else if (file.isDirectory()){
System.out.println("Directory!");
}
else {
System.out.println("not exist!");
}
}
}
}