Google Web Toolkit과 Eclipse Galileo를 이용한 고성능 웹 개발 Michael Galpin, Software architect, eBay
Michael Galpin은 1990년대 말부터 웹 애플리케이션을 개발하고 있으며 California Institute of Technology에서 수학과를 졸업하고 현재는 캘리포니아 산호세에 있는 eBay에서 아키텍트로 근무하고 있다.
요약: GWT(Google Web Toolkit)에 대한 이야기를 들어보았을 것입니다. 그리고 GWT를 사용하면 Java™ 프로그래밍 언어로 웹 애플리케이션을 작성한 후 컴파일하여 JavaScript로 만든 다음 웹 브라우저에서 이 JavaScript를 실행하게 된다는 것도 알고 있을 것입니다. 또한 GWT를 사용하면 Java의 정적 형식 지정 기능과 Eclipse 등의 우수한 도구를 활용하여 생산성을 높일 수 있습니다. 아마도 GWT 기반의 유용하고 깔끔한 위젯은 여러 번 보았겠지만 GWT를 사용하여 고성능 웹 애플리케이션도 작성할 수 있다는 사실은 모르고 있었을 것입니다. 이 기사에서는 Google Plug-in과 Eclipse Galileo를 함께 사용하여 컴파일러 최적화, 지연된 바인딩 및 Ajax 최적화와 같은 GWT의 성능 기능을 활용하는 방법에 대해 설명합니다. 개발자 성능은 GWT의 중요한 부분이므로 Google Plug-in for Eclipse를 통해 생산성을 높이는 방법에 대해서도 살펴봅니다.
정규식은 보통 텍스트에 덧붙여서 확장된 검색 옵션을 지정하는 특수한 기호들을 포함합니다. 정규식을 이용하면 보다 정교하게 텍스트를 검색할 수 있습니다
예를 들어 "[0-9]"와 같은 정규식을 지정하면 숫자만을 검색합니다. 비슷한 예로 "[^0-9]"와 같은 정규식을 지정하면 숫자가 아닌 글자만을 검색합니다.
에디트플러스에서는 다음과 같은 정규식을 찾기와 바꾸기, 여러 파일에서 찾기 명령에서 지원합니다.
식 설명 \t 탭 문자를 찾습니다.
\n 줄 바꿈 문자를 찾습니다.
. 모든 문자를 찾습니다.
| 이 기호의 양쪽에 있는 두 글자를 모두 찾습니다. 예를 들어 "a|b"를 지정하면 "a"와 "b"를 모두 찾습니다.
[] 대괄호 범위의 모든 문자를 찾습니다. 예를 들어 "[ab]"를 지정하면 "a"와 "b"를 모두 찾습니다. 또 "[0-9]"를 지정하면 0부터 9까지의 모든 숫자를 찾습니다.
[^] 대괄호 범위의 모든 문자를 제외한 문자를 찾습니다. 예를 들어 "[^ab]"를 지정하면 "a" 와 "b"를 제외한 모든 문자를 찾습니다. 그리고 [^0-9]"를 지정하면 숫자가 아닌 모든 문자를 찾습니다.
* 별표 왼쪽에 있는 문자가 0번 또는 그 이상 일치하는 텍스트를 찾습니다. 예를 들어 "be*"를 지정하면 "b"와 "be", "bee"를 찾습니다.
+ 플러스 기호 왼쪽에 있는 문자가 1번 또는 그 이상 일치하는 텍스트를 찾습니다. 예를 들어 "be+"를 지정하면 "be" 와 "bee"를 찾지만 "b"는 찾지 않습니다.
? 물음표 왼쪽에 있는 문자가 0번 또는 1번 일치하는 텍스트를 찾습니다. 예를 들어 "be?"를 지정하면 "b" 와 "be"를 찾지만 "bee"는 찾지 않습니다.
^ ^기호 오른쪽에 있는 문자가 줄의 처음 글자인 경우를 찾습니다. 예를 들어 "^A"를 지정하면 줄의 처음 글자가 "A"인 경우를 찾습니다.
$ $기호 왼쪽에 있는 문자가 줄의 마지막 글자일 경우를 찾습니다. 예를 들어 "e$"를 지정하면 줄의 마지막 글자가 "e"인 경우를 찾습니다.
() 식을 해석하는 순서를 바꾸거나 식을 태그로 표시할 때 사용합니다.
\ 이스케이프 문자로 쓰입니다. "\" 문자 자체를 검색하려면 "\\"로 나타내어야 합니다.
태그로 표시된 식은 ()로 둘러 싼 식을 말합니다. 태그로 표시된 식은 \0, \1, \2, \3등과 같은 식을 사용하여 바꿀 말 항목에서 지정할 수 있습니다. \0은 일치된 텍스트 전체를 나타내고 \1은 첫 번째 태그로 표시된 부분을 나타내고 \2는 두 번째, 이런 식으로 지정할 수 있습니다. 다음의 예를 참고하십시오.
Original Search Replace Result
abc (ab)(c) \0-\1-\2 abc-ab-c
abc a(b)(c) \0-\1-\2 abc-b-c
abc (a)b(c) \0-\1-\2 abc-a-c