본문 바로가기

MyDevLife

(257)
05.  Scalar Data 영어에서 단수, 복수를 구분하는 것 처럼 스칼라는 단수에 해당한다. 즉 일반적으로 펄에서 하나의 값을 갖는 것은 스칼라이며 스칼라 값과 스칼라 변수가 있다. 스칼라 변수에는 숫자, 문자, 참조, undef 의 값들을 대입할 수 있다. Boolean 타입은 따로 없고 조건문에 0, "", "0", undef 인 경우 false 라고 인식한다. my $num = 4040.5 ; print $num ; my $string1 = "hello"; my $string2 = "world"; print $string1 .' '. $string2 ; 숫자 펄에서는 정수값과 실수값을 구분하지 않는다. 정수값도 내부적으로 부동 소수 값으로 계산한다. 0 2001 -40 255 4345345677567 4_345_345_67..
04. Variable Variable 펄에는 스칼라, 배열, 해시의 세 가지 종류의 변수가 있다. 각각을 고유의 sigil ( 앞에 붙이는 특수문자 ) 로 구분한다. 각각 $, @, % 이다. 변수의 선언은 my 구문으로 선언하며 블럭 단위로 scope 가 위임된다. Weak Type 스칼라에 대입된 값이 "숫자" 인지 "문자열" 인지 확인하는 것은 불가능하다. 즉 스칼라를 숫자로 취급할지 문자열로 취급할지 정해서 각각 경우에 맞게 정확히 연산자를 사용해야 한다. # 숫자로 취급하여 비교하는 연산자: , =, ==, !=, , +, * # 문자열로 취급하여 비교하는 연산자: lt, gt, le, ge, eq, ne, cmp , . , x # 고전적인 실수 사례 print "yes" == "no"; # "1" 즉 참. 경고가 ..
03. Hello World Hello World use strict; use warnings; print "Hello, World!\n" Perl 의 구문은 굉장히 자유로워서 어떻게 동작할지 종잡을 수 없는 모호한 명령을 쓰는 것도 가능하다. 하지만 이런 경우는 보통 피하고자 use strict; use warnings; 를 펄 스크립트 또는 모듈 제일 처음에 둔다. 앞으로 다룰 예제들에는 이를 생략하겠지만 실제 프로그램 시에는 써줘야 한다.
02. Elipse 에  Perl IDE 설치 1. Java JDK 와 Eclipse 설치 Java JDK 와 Eclipse 를 설치하고 Eclipse 를 업데이트 한다. 2. Perl 다운로드 http://www.epic-ide.org/ 에 접속하여 Download 에 들어간다. 들어가면 아래와 같은 화면이 나오는데 그중 아래 표시한 주소를 긁고 3. Eclipse 에 인스톨 이를 Eclipse 에서 인스톨 하면 된다. 4. Eclipse 설정 변경 먼저 아래 창에서 Perl 을 찾아 추가한다. 그리고 Perferences 의 Perl EPIC 을 열어 Suspend debugger at first statement 를 해지하고 Perl executable 을 Perl 을 설치한 경로로 수정한다. 5. Padwalker 설치 http://perlm..
01. Environment Setup Perl 이 적용 가능한 플랫폼 - Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX etc.) - Win 9x/NT/2000/ - WinCE - Macintosh (PPC, 68K) - Solaris (x86, SPARC) - OpenVMS - Alpha (7.2 and later) - Symbian - Debian GNU/kFreeBSD - MirOS BSD ... Window Perl 설치하기 윈도우에서 사용하기 위해서는 컴파일러를 다운로드 받아 설치해야 한다. http://www.activestate.com/activeperl http://strawberryperl.com/ 두 개의 차이점은 activeperl 은 MS VC++ 를 사용하여 컴파일된..
17. Rest 이번에는 Groovy 에서 제공하는 Rest 기능에 대해 알아보자. HTTP Verbs Request And Response HTTP Status Code HTTP Builder HTTP Builder 가 있으며 Groovy 에선 이 클래스를 이용하면 쉽게 Rest Call 을 할 수 있다. 아래 웹 사이트는 Rest Call 테스트를 위한 페이지를 제공한다. http://www.icndb.com/api/ 이를 HTTP Builder 에서 제공해 주는 다양한 API 와 함께 테스트 해 볼수 있다. https://github.com/jgritman/httpbuilder https://github.com/jgritman/httpbuilder/wiki https://github.com/jgritman/http..
16. Builder Groovy 에서는 XML, JSON, HTML 등의 Markup 언어에 대한 Builder 를 제공하여 이를 쉽게 만들수 있으며 반대로 Parser 도 제공하여 해당 언어를 Groovy 에서 쉽게 파싱하여 사용하도록 하고 있다. 이번장에서는 이와 관련된 몇개의 빌더에 대해 알아보도록 하자. http://groovy-lang.org/api.html XML 간단히 아래와 같이 입력하면 XML 이 뚝딱 만들어진다. JAVA 나 다른 언어에 비해 표현이 아주 쉽다. 아래 예에서는 기본 생성자로 만들었지만 생성자에 FileStream 등을 파라미터로 값으로 주면 출력 대상으로 지정할 수 있다. 다른 유용한 테스트는 아래 사이트를 통해 확인하자. https://github.com/apache/groovy/tree..
15. MOP - Compile Time 앞서 MOP 는 런타임과 컴파일 타임으로 구분되며 컴파일 타임 MOP 는 Groovy 어노테이션인 AST Transform 을 가리킨다고 하였다. 이번 장에서는 AST Transform 을 만드는 것보다 기본적으로 제공되는 여러 어노테이션들을 살펴보도록 하자. 각 어노테이션의 상세 사용법은 아래 페이지를 참조하여 검색하자. http://groovy-lang.org/api.html @ToString 기본형으로 @ToString 어노테이션을 사용해도 되는데 이 경우는 아래와 같이 클래스명(입력데이터들) 형식으로 나온다. import groovy.transform.ToString @ToString class Customer { String first, last int age Date since = new Da..