자바설치 및 이클립스 환경설정 #1/2

자바설치 및 이클립스 환경설정

자바개발을 위해서 Java Development Kit(이하 JDK)설치 및 이클립스 환경설정에 대해서 알아보도록 하겠습니다.

우선 설치환경은 다음과 같습니다.

운영체제 : Windows10 64bit

자바버전 : Java 8u 144

이클립스 : Eclipse Oxygen

자바는 엔터프라이즈 환경에서 가장 많이 사용하는 언어이며 오랜기간 수많은 프로젝트가 있어 안정된 언어중에 하나 입니다.

자바의 정의를 위키백과에서 찾아보면 아래와 같습니다.

“자바(영어: Java, 문화어: 쟈바)는 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다. 1991년 그린 프로젝트(Green Project)라는 이름으로 시작해 1995년에 발표했다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발했지만 현재 웹 애플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나이고, 모바일 기기용 소프트웨어 개발에도 널리 사용하고 있다. 현재 버전 9까지 출시했다.

자바의 개발자들은 유닉스 기반의 배경을 가지고 있었기 때문에 문법적인 특성은 파스칼이 아닌 C++의 조상인 C 언어와 비슷하다.[1] 자바를 다른 컴파일언어와 구분짓는 가장 큰 특징은 컴파일된 코드가 플랫폼 독립적이라는 점이다. 자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트코드라는 특수한 바이너리 형태로 변환한다. 바이트코드를 실행하기 위해서는 JVM(자바 가상 머신, Java Virtual Machine)이라는 특수한 가상 머신이 필요한데, 이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킨다. 때문에 자바로 개발된 프로그램은 CPU나 운영 체제의 종류에 관계없이 JVM을 설치할 수 있는 시스템에서는 어디서나 실행할 수 있으며, 이 점이 웹 애플리케이션의 특성과 맞아떨어져 폭발적인 인기를 끌게 되었다.”

위에 나온바와 같이 자바는 썬 마이크로시스템즈의 제임스 고슬링이 개발한 언어입니다. 처음부터 컴퓨터 프로그래밍 언어로 만들어진것이 아니라 가전제품에 내장하기 위한 프로그래밍 언어였으나 오늘날 가장 많이 사용하는 언어 중에 하나가 되었습니다.

자바는 썬 마이크로시스템즈에서 개발되었으나 썬 마이크로시스템즈가 오라클로 인수되면서 지금은 오라클에서 자바를 관리하고 있습니다.

자바를 개발하기 위해서는 이클립스라는 IDE개발도구를 가장 많이 사용합니다. 물론 텍스트에디터에서도 개발이 가능하지만 무척 번거롭고 어려우므로 이클립스의 사용을 권합니다.

이클립스는 위키백과에서 아래와 같이 정의하고 있습니다.

“ 이클립스(영어: Eclipse)는 다양한 플랫폼에서 쓸 수 있으며, 자바를 비롯한 다양한 언어를 지원하는 프로그래밍 통합 개발 환경을 목적으로 시작하였으나, 현재는 OSGi를 도입하여, 범용 응용 소프트웨어 플랫폼으로 진화하였다.

자바로 작성되어 있으며, 자유 소프트웨어이지만 막강한 기능을 자랑한다. 2004년과 2005년 졸트 어워드(Jolt Award)를 수상했다.

식(蝕)을 뜻하는 이클립스란 이름은 자바를 개발한 회사의 Sun이란 이름을 염두에 두었다는 말도 있어 2003년도에 썬 마이크로시스템즈는 이클립스 재단에 참여하지 않았던 이유 중의 하나였지만 2005년도에 열린 EclipseCon의 키노트에서 Lee Nackman은 그 목적은 원래 마이크로소프트와 비주얼 스튜디오 생태 시스템을 겨냥한 것이었다고 말했다. [1]
원래 IBM의 웹스피어 스튜디오 애플리케이션 디밸로퍼(WebSpheare Studio Application Developer)란 이름으로 개발되었던 것인데, 엔진부분을 오픈소스로 공개한 것을 기반으로 지금의 이클립스로 발전해 왔다.
최근 버전은 4.6.2이며 (C/C++ 개발자용, 자바 개발자용, 웹 개발자용 등등) 다양한 배포판이 존재한다.”

이클립스는 현재 자바이외에 다양한 언어도 개발환경을 제공하고 있으며 원래 IBM의 웹스피어 스튜디오 애플리케이션 디벨로퍼란 이름으로 개발되었으나 엔진부분을 오픈소스로 공개하여 지금은 자바 개발에서 가장 많이 사용하는 개발도구가 되었으며 사실상 자바를 지금의 모습으로 키운것은 이클립스의 영향이 대단히 컸던 것으로 생각됩니다. 만약 이클립스같은 훌륭한 무료 개발도구가 자바진영에 없었더라면 다른 언어가 현재의 주류가 되었을지도 모릅니다.

어찌되었든 지금은 엔터프라이즈 시장은 자바가 대부분을 차지하고 있으며 이러한 자바를 배우기 위해서는 자바 JDK와 이클립스를 설치하고 환경설정하는것이 선행되어야 할 것입니다.

1. 자바 JDK 설치

자바 JDK를 설치하기 위해서는 자바JDK 다운로드 받아야 하는데 아래 주소에서 다운로드 받을수 있습니다.

특히 자바는 수시로 업데이트되며 현재 화면과 다르게 나타날수도 있고 버전이 다를수도 있다는것을 염두에 두어야 합니다.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

위의 주소를 브라우저에서 입력하고 엔터키를 클릭하면 아래와 같이 자바를 받을수 있는 웹사이트가 나옵니다.

여기에서 JDK다운로드를 클릭하면 아래와같이 운영체제와 비트수를 선택해서 다운로드 받을수 있습니다.

위에서 현재 사용하는 운영체제와 비트수를 선택하고 다운로드 받으시기 바랍니다.

다운로드 받은 파일을 선택해서 실행시키면 아래와 같이 설치화면이 나타납니다.

설치를 위해 Next버튼을 클릭합니다.

자바설치환경을 설정합니다. 

Development Tools, Source Code, Public JRE 옵션은 그대로 설치 폴더만 변경하였습니다. 자바 환경설정을 위해 설치폴더는 꼭 알아두어야 합니다.

압축을 풀면서 설치중입니다.

JRE설치폴더를 선택합니다. 저는 java 와 마찬가지로 폴더를 변경하여 설치하였습니다.

모든 설치가 완료되었습니다.  close를 클릭하세요.

JDK는 설치되었지만 아직 JDK 를 사용하기 위한 환경설정이 남아 있습니다. 이 환경설정을 해주지 않으면 JDK를 사용할수 없습니다 .또한 이러한 환경설정을 해주는 이유는 여러버전의 JDK를 한 컴퓨터에 설치하고 각각의 JDK를 사용할수 있도록 해줍니다.

여기서는 한개의 버전만 설치하였으므로 지금 설치한 JDK환경설정을 하도록 하겠습니다.

우선 JDK가 설치되기전에 아래와 같이 javac를 입력하면 프로그램을 인식하지 못합니다.

윈도우10에서 윈도우키를 누르고 “환경”이라는 글씨를 쓰면 아래와 같이 시스템 환경 변수 설정이 검색됩니다. 여기를 클릭하고 시스템 환경 변수 설정 화면으로 들어갑니다.

시스템 환경변수 설정을 위해 우측 하단에 환경변수 버튼을 클릭합니다.

환경 변수를 설정할수 있는 화면으로 들어왔습니다.

자바를 설치한 폴더가 어디 있는지 탐색기에서 확인합니다.

상단의 환경변수에서 새로만들기 버튼을 클릭하고 위와 같이 넣어줍니다.

JAVA_HOME

C:\java\java8 <- 설치한 환경에 따라 달라집니다. 정확히 어디에 설치했는지 확인후 입력해주세요.

입력후 확인버튼을 클릭합니다.

다시한번 새로만들기 버튼을 클릭합니다.

CLASSPATH

%JAVA_HOME%\lib\tools.jar 를 입력합니다.

입력후 확인버튼을 클릭합니다.

이번에는 Path를 선택하고 편집버튼을 클릭합니다.

위와같은 화면이 출력됩니다. 출력되면 오른쪽 상단에 새로만들기를 클릭합니다. 한줄이 추가되면 %JAVA_HOME%\bin을 클릭하고 확인버튼을 클릭합니다.

JDK의 설치와 환경설정이 모두 끝났습니다. 아래와 같이 java -version을 입력하고 엔터키를 치면 설치된 자바 버전이 나오는것을 확인할수 있습니다.

짝짝짝.. 수고하였습니다. 자바개발을 위한 1단계가 완료되었습니다. 이상으로 JDK를 다운받아서 설치하는 과정을 알아보았습니다.

이번에는 이클립스를 설치하고 자바프로그램이 실행되는것까지 확인해보도록 하겠습니다.

유용한 파이썬 라이브러리 모듈

아래내용은 좋은 글이 있어서 퍼온글입니다.

 

유용한 파이썬 라이브러리 모듈

##########################

파이썬의 내장 라이브러리 모듈은 다양한 분야에 걸쳐서 충분한 테스트를 거친 좋은 코드임에도 불구하고 많은 프로그래머가 이를 모르거나 무시하면서 똑같은 또는 유사한 기능을 다시 코딩하는 우를 범하는 경우가 많다. 본격적인 프로그래밍에 앞서 구현하려는 기능이 파이썬 라이브러리 모듈에 있는지 꼭 확인해 볼 필요가 있다. 이미 안정적으로 만들어 놓은 기능을 또다시 개발하지 말고 라이브러리를 최대한 활용해 보자.
모듈 단위의 문서화 자료를 참조해도 되고 import 모듈명 이후에 help(모듈명)하면 자세한 설명을 확인할 수 있다. 아래는 re 모듈에 대한 help중 일부이다.

>>> import re
>>> help (re)
Help on module re:

NAME
re – Support for regular expressions (RE).

FILE
d:\python27\lib\re.py

DESCRIPTION
This module provides regular expression matching operations similar to
those found in Perl.  It supports both 8-bit and Unicode strings; both
the pattern and the strings being processed can contain null bytes and
characters outside the US ASCII range.

Regular expressions can contain both special and ordinary characters.
Most ordinary characters, like “A”, “a”, or “0”, are the simplest
regular expressions; they simply match themselves.  You can
concatenate ordinary characters, so last matches the string ‘last’.

The special characters are:
“.”      Matches any character except a newline.
“^”      Matches the start of the string.
“$”      Matches the end of the string or just before the newline at
the end of the string.
“*”      Matches 0 or more (greedy) repetitions of the preceding RE.
Greedy means that it will match as many repetitions as possible.
“+”      Matches 1 or more (greedy) repetitions of the preceding RE.
“?”      Matches 0 or 1 (greedy) of the preceding RE.

– 스트링 관련 모듈

  • re : 스트링을 효과적으로 분석 및 처리할 수 있는 정규식 관련 모듈
  • struct : C언어 API를 사용할 수 있도록 돕는 모듈로 C언어 struct 오브젝트를 다룬고 이를 통해 바이너리 형태의 파일을 처리할 수 있도록 한다.
  • difflib : 파일비교 관련 모듈로 유닉스의 diff, 윈도우의 COMP와 유사한 알고리즘을 갖는다.
  • StringIO, cStringIO : 파일 처럼 읽고 쓸수 있는 오브젝트를 제공한다. cStringIO는 속도를 위해 C언어로 구현된 것이다.
  • textwrap : word-wrapping등 텍스트 처리를 수행한다.
  • codecs : 텍스트 인코딩 관련 모듈

– 데이터 타입 관련 모듈

  • datetime :  달력 및 시간, 일자 관련 작업을 다룸
  • calendar : 달력 출력과 윤달 검사, 주단위 시작/종료일 추출등 작업
  • collections : 스택과 큐로 모두 활용할 수 있는 deque와 defaultdict 이라는 키가 없으면 기본값을 돌려주는 또다른 사전 타입을 제공
  • bisect : 정렬된 리스트를 관리위한 함수로 항목 추가를 위한 insort와 검색을 위한 bisect 함수를 제공하여 별도의 정렬이 필요없도록 한다.
  • array : 이미지나 음성 파일을 처리할때 유용하도록 리스트나 튜플보다 융통성을 떨어지지만 고속, 저용량의 특성으로 배열을 제공한다
  • sched : 단순한 작업 스케쥴러 관련 모듈
  • copy : 복잡한 오브젝트의 복사본을 생성한다. 파이썬의 대입문은 단순 참조로 참조가 아닌 새로운 오브젝트 생성을 목표할 때 사용
  • pprint : 내포한 리스트나 사전 오브젝트를 보기 쉽도록 출력한다.
  • sets : 임의의 집합을 다룰때 사용

– 수학 함수 및 기타 숫자 모듈

  • decimal : 통화 금액 계산과 관련한 연산, 함수 지원
  • math : 다양한 수학 함수 지원
  • random : 난수 발생기 관련

– 인터넷 데이터 처리 모듈

  • mimify : 메일 메시지의 QP(quoted-printable) 인코딩 및 디코딩 처리. mime_decode_header, mime_encode_header, mimify, unmimify
  • base64 : RFC 3548 Base16, Base32, Base64를 처리
  • binascii : 바이너리 데이터와 ASCII간의 변환
  • binhex : 맥용 binhex의 압축 및 해제
  • quopri : 스트링의 QP(quoted-printable) 인코딩 및 디코딩 처리
  • uu : UUencode, UUdecode 지원

– 마크업 처리 모듈

  • htmllib : HTML을 분석하기 위한 모듈
  • sgmllib : SGML을 분석하기 위한 모듈로 HTML에서 텍스트, 링크, 제목등의 원소를 추출하는데 사용할 수 있다.
  • xml.sax, xml.dom, xml.dom.minidom : XML을 분석하기 위한 모듈로 SAX파서 또는 DOM파서를 선택하여 사용할 수 있다.
  • formatter : HTML, XML 및 기타 형식으로 출력할 때 사용한다.

– 파일 형식 관련 모듈

  • csv : CSV(Comma Separated Value) 파일을 읽거나 내보낼때 사용
  • ConfigParser : 윈도우의 *.ini같은  환경 파일을 다룰수 있도록 한다

– 암호 처리 모듈

  • hashlib : 다양한 해시 함수 제공
  • hmac : RFC 2104의 HMAC 알고리즘 지원
  • md5 : MD5  해시 제공
  • sha : SHA1 해시 제공

– 파일 및 디렉토리 처리 모듈

  • os, os.path : 운영체제에 관계없이 운영체제의 기본적인 기능들을 다룰 수 있도록 한다.
  • fileinput : 대량의 파일을 쉽고 단순하게 사용할 수 있도록 해준다.
  • glob, fnmatch : 윈도우의 와리카드 경로 지정을 운영체제에 관계없이 사용할 수 있도록 한다.
  • shutil : 쉘환경에서 파일 복사, 이름변경등의 작업 하는 것처럼 기능을 제공한다

– 압축 및 보관 처리 모듈

  • tarfile, zipfile : 여러 파일을 묶을 수 있도록 기능 제공
  • zlib, gzip, bz2 : 압축 및 해제 처리

– 자료 보존 처리 모듈

  • pickle, shelve : 파이썬 오브젝트를 일회용이 아니라 지속적으로 사용할 수 있게 해주는 것으로 pickle은 serialize기법을 사용하고 shelve는 dbm 데이터베이스를 활용한다.
  • sqlite3 : SQLite DB에 접근할 수 있도록 기능 제공

– 운영체제 및 런타임 관련 모듈

  • os, os.path : 파일, 프로세스, 디렉토리등 다양한 운영체제 기능을 접근할 수 있도록 한다.
  • time : 시간과 일자 처리를 위한 함수 제공
  • getopt, optparse : 명령행의 옵션을 분석할 수 있는 기능 제공
  • logging : 디버깅 및 오류로그를 남길 수 있도록 기능 제공
  • cmd : 프롬프트를 출력하고, 명령을 받고, 도움말이나 이전 명령을 보여주는 등의 기능을 제공
  • shlex : 쉘 프로그램처럼 입력을 받아 내용을 분석할 때 사용
  • sys : 프로그램 실행 환경과 관련한 정보등을 제공한다.
  • profile : 파이썬 코드의 성능 검사(Profile)를 위한 기능을 제공한다.
  • pydoc : 파이썬 문서화 자료를 HTML이나 텍스트로 생성한다.
  • unittest : Unit test를 지원한다.

– 인터넷 프로토콜 처리 모듈

  • cgi : 웹서 cgi-bin에서 파이썬으로 웹 응용을 작성할 수 있도록 돕는다.
  • urllib, urllib2, urlparse : httplib등과 연동하여 URL을 열고 HTML, XML결과를 파싱한다.
  • httplib, ftplib, gopherlib : HTTP, FTP 프로토콜 클라이언트를 사용할 수 있도록한다.
  • poplib, imaplib : 메일을 읽기 위한 POP3 및 IMAP 프로토콜을 사용할 수 있게 한다.
  • nntplib : 뉴스 그룹, NNTP서버를 읽을 수 있게 한다.
  • SocketServer : 독립형 TCP 또는 UDP 서버를 손쉽게 제작할 수 있도록 한다.
  • SimpleHTTPServer, CGIHTPPServer, BaseHTTPServer : 간단한 웹서버를 구축할 수 있도록 해준다.
  • asyncore, asynchat : 시분할 응용을 만들수 있도록 해준다.
  • smtplib : 메일 전송을 위한 SMTP/ESMTP 클라이언트를 구현할 수 있게 한다.

 

출처 : http://agfree.cafe24.com/?p=862