태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

도서출판 ITC

블로그 이미지
도서출판 ITC와 체온365의 블로그입니다. 031-955-4353
ITCnCHAEON365

Article Category

분류 전체보기 (220)
근간안내 (0)
ITC대학교재 (104)
IT단행본 (31)
수입원서 (10)
체온365 (12)
체온365통신 (5)
극장전이야기 (47)
고실장다이어리 (11)

Recent Comment

Recent Trackback

Calendar

«   2010/10   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Archive

  • Total53,977
  • Today56
  • Yesterday84
  1. 2010/10/13
    마릴린 먼로
  2. 2010/10/12
    기본 원리를 완전 분석한 자바스크립트 정규표현식
  3. 2010/10/11
    헬로, 안드로이드 2.1판: 구글의 모바일 개발 플랫폼 소개하기


사용자 삽입 이미지


마릴린 먼로에 대해
알아야 할 것은 다 알고 있다고 생각한다면… 다시 생각하라.


2010년 6월 1일 마릴린 먼로의 84번째 생일,
그녀의 전기 ‘마릴린 먼로 The Secret Life’ 출간! 


뉴욕 타임즈의 베스트셀러 전기인 엘리자베스 테일러, 프랭크 시나트라, 그레이스 왕비(그레이스 켈리), 케네디가의 여자들, 마이클 잭슨 그리고 마돈나의 전기 작가인 J. 랜디 타라보렐리는 마릴린 먼로의 신화를 말하고 이 세상 최고의 영원하고 신비로운 섹스 심벌에 관한 놀라운 진실을 털어 놓는다.

1950년대에 노마 진 베이커가 마릴린 먼로로 유명해졌을 때, 그녀는 당시의 홍보 활동 중에 그녀의 어머니인 글래디스 베이커가 죽거나 그녀 삶의 일부가 아니었다고 말했다. 하지만 어느 것도 진실은 아니었다. 사실, 정신 장애가 있던 마릴린의 어머니는 그녀의 세계에 늘 존재했으며, 그리고 보이지 않게 펼쳐진 복잡한 가족 관계는 그녀가 스타로서 여배우에서 아이콘이 됨에 따라 이제까지 한 번도 밝혀지지 않았던 이야기이다.

이러한 개척 작업에 있어, 타라보렐리는 여배우 마릴린의 삶에 많은 영향을 미친 여성들, 즉 그녀의 어머니, 그녀의 수양 어머니 그리고 그녀의 법적 보호자의 자화상을 자세하고 공감되게 그려내고 있다. 그는 세계적으로 유명한 딸의 애끓는 이야기를 부모의 과도한 편집증적 정신분열증을 가지고 비밀스럽게 말하고 있다. 또한 마릴린 자신의 정신적 건강 악화와 그녀가 그녀 자신과 그녀의 어머니를 도우려 했던 절망적인 시도에 관해서 충격적인 이야기를 말하고 있다.

타라보렐리는 또한 마릴린과 잭, 바비와의 관계, 마릴린과 팻 케네디 로포드와의 사이에 단단히 지켜진 친밀한 우정의 숨겨진 이야기에 관해 이전에 한 번도 볼 수 없었던 증거를 포함해, 마릴린과 케네디 가문과의 관계뿐만 아니라 마릴린의 친부의 정체와 그녀가 알지 못했던 형제에 대해 처음으로 밝히고 있다.

이제까지 한 번도 출판되지 않았던 마릴린의 사진을 새로이 발견하고, 이제까지 수집된 것 중 가장 완벽한 필모그래피와 방대한 가족, 의료 관련 파일, 개인적 서신교환을 포함한 연구조사, 첩보기관 및 FBI와의 인터뷰를 통해 마릴린 먼로의 비밀스런 삶은 그녀의 이야기를 완벽히 재정의한다. 사실을 폭로하고 폭발적이며 감동을 선사하는 이 책은 20세기 최고의 매혹적인 존재이자 수수께끼의 전설 중 한 사람의 삶에 관한 최후의 서술이다.



추천의 글

현존하는 가장 유명한 물리학자 스티븐 호킹은 최근에 미래로의 시간 여행이 가능하다는 주장으로 크나큰 관심을 모았다. 하지만 그는 과거로의 시간 여행은 불가능하다고 보았다. 그러면서도 호킹은 만일 과거로 여행을 떠날 수 있다면 전성기 시절의 마릴린 먼로와 갈릴레오 갈릴레이를 만나고 싶다고 내밀한 소망을 덧붙여 밝혔다.

정말 스티븐 호킹이 마릴린 먼로를 만나면 어떻게 될까. 정반대의 의미에서 육체라는 감옥에 각각 유폐되었다고 할 수 있는 이 두 명사가 얼굴을 마주하면 어떤 이야기가 오갈까. 아니, 그에 앞서 호킹은 먼로의 전성기가 언제라고 생각하고 있는 걸까. 직업에서 성공적인 첫발을 내딛는 순간에 이혼을 경험했고, 남성팬들의 휘파람 소리가 거리를 울리던 때에 유산을 했으며, 흥행과 비평 모두에서 크게 성공한 작품으로 뜨거운 갈채를 받던 시절에 동료 영화인들의 공개적 조롱을 받았고, 기록적인 출연료 계약을 성사시켰던 무렵에 약물로 얼룩진 나날을 보냈으며, 전 세계에서 가장 큰 권력을 지닌 남자를 향해 무대에서 섹시하게 생일 축하곡을 불러 스포트라이트를 받았던, 밤에 값싼 농담의 대상이 되었던 이 여자의 삶에서, 가장 행복했던 (혹은 제일 덜 불행했던) 지점은 대체 언제였을까.

그러니까, 모든 것은 운명이었을까. 할머니와 어머니가 모두 지독한 정신병으로 고통 받는 삶을 살았던 상황에서, 그 자신 끊임없이 분열과 망상에 시달렸던 먼로의 인생은‘나쁜 피’와의 승산 없는 싸움의 나날이었던 걸까.

J. 랜디 타라보렐리가 쓴 마릴린 먼로의 전기를 읽다 보면, 어쩔 수 없이 마음이 자꾸만 가라앉는다. 바깥 세상의 환호와 내면 세계의 한숨, 당당하게 고개를 세우는 자신감과 어느새 무릎을 꺾는 두려움, 그리고 무엇보다 눈동자에 어리는 찬란한 빛과 가슴을 메우는 도저한 어둠. 마릴린 먼로라는 모순과 역설은 그녀가 출연했던 어떤 영화 속 스토리보다도 파란만장한 급류의 삶을 빚어냈다.

마이클 잭슨에서 마돈나와 프랭크 시내트라에 이르기까지, 대중문화의 대표적 아이콘들이 거쳐온 삶의 궤적을 인상적으로 스케치한 전기들로 주목 받아온 타라보렐리는 이제 이 책을 통해 마릴린 먼로의 서른 여섯 해 짧은 인생을 둘러싼 갖가지 일화들을 흥미진진하게 파헤치고 재구성한다.

타라보렐리의 마릴린 먼로 전기는 무엇보다 야심만만하고 흥미진진하면서도 꼼꼼하다. 그는 마릴린 먼로가 로버트 케네디와 연인 사이였다고 확신하는 세간의 믿음을 정면으로 부인하면서, 심지어 먼로가 생전에 했던 발언들의 허점까지 찾아내 공박한다. 자신이 다루고 있는 인물에 대해 그저 좀 더 재미있게 들리도록 말하는 방법을 쓰는 대신, 성실하고 뚝심 있는 전기 작가로서 비밀과 거짓말의 속내를 뒤지고 또 뒤진다.

동시에 그의 저작은 말할 수 있는 것에 대해서는 끝까지 말하지만, 말할 수 없는 것에 대해서는 섣불리 결론을 내리지 않는 신중함도 지녔다. 온갖 음모론이 판을 치는 마릴린 먼로의 최후에 대한 대목이 대표적인 예가 될 것이다. 인물이라는 텍스트의 핵심을 읽어낸 뒤 독자들에게 일목요연하고도 생생하게 전달하는 능력도 돋보인다. ‘뜨거운 것이 좋아’같은 걸작 코미디가 실은 최악의 제작 환경과 개인적인 불운 속에서 탄생되었다는 사실 을 밝히는 에피소드를 포함, 먼로의 출연작들을 둘러싼 갖가지 뒷얘기들을 알게 되는 재미도 만만치 않다.

나는 지금 마릴린 먼로의 노래들을 모은 음반을 들으며 이 글을 쓴다. 숭배와 경멸의 양극단 사이에서 무망한 줄타기를 했던 관능의 여신이 흥분과 불안을 함께 갖춘 연약한 목소리를 통해 자신의 분열적 삶에 대해 조용히 읊조린다. 모든 삶은 결국 하나의 이야기다. 평생 마릴린 먼로라는 인물을 연기했던 노마 진 모텐센이라는 이야기를 나는 방금 다 읽었다. 그것은 책장을 덮어도 여운이 쉽사리 사라지지 않는, 길고도 쓸쓸한 이야기였다.

/이동진-영화평론가 www.leedongjin.com




프롤로그 중에서

......

다시 한번 더, 그저 한 인간이 자신을, 세상이 알게 되고 사랑할 여신으로 바꾸기 위해, 이날 저녁을 견뎌낼 모든 의지력을 끌어냈을 것이다. 마릴린이 마침내 무대에 올랐을 때, 극장에는 우뢰와 같은 박수소리가 쏟아져 나왔다. 그녀는 카리스마가 넘쳤고, 권위가 있었으며, 그리고 물론 엄청나게 아름다웠다. 피터 로포드는 그녀가 다가오는 것을 보았고, 그녀의 얇고 반짝이는 드레스는 옷 가장자리가 딱 맞게 재봉되어 있었기 때문에 그녀는 아주 좁은 보폭으로 걸을 수밖에 없었다. 그날 저녁, 그는 마지막 재미있는 농담으로 “대통령 각하, 지각생 마릴린 먼로입니다.”라고 말한 후, 스타의 풍만한 가슴을 향해 다가가 그녀의 흰 담비 모피를 벗겼다. 그녀는 거기서 거의 나체로, 그저 천상의 아름다움으로 뒤덮여, 반짝이는 금속조각과 비드, 빛나는 조명의 빛을 받으며 서 있었다.

이제 혼자가 된 그녀는, 그녀가 노래를 시작할 수 있도록 청중들의 반응이 잦아들길 기다렸다. 청중들의 반응은 꽤 오랫동안 가라앉지 않았다. 비록 낮은 숨소리와 격려가 나오긴 했지만 대부분은 참석한 남자들에게서 나온 것이었고, 박수는 점점 약해졌다. 사실 그녀의 모습이 드러난 순간부터 그녀가 노래를 할 수 있게 된 순간까지는 30초의 시간이 있었다. 그 동안 관중들의 반응은 야유와 불평에서 중얼거림으로 바뀌고, 마지막으로 조그만 웃음소리로 바뀌었다. 그녀는 스포트라이트로부터 눈을 가리기 위해 눈썹에 손을 갖다 댔다. 아마 그 신사를 더 잘 보기 위해서였을지도 모른다. 그녀가, 언젠가 단순히 그녀의 최고 사령관 이상으로 그녀와 더 가까워지길 바랐던 사람을. 그리고, 맨 앞 몇 줄 중 한 줄에 있던 남자의 특히나 큰 웃음 후, 마릴린의 어깨가 아래로 떨어졌고, 그녀는 사람들에게 들릴 정도로 한숨을 쉬었다. 마침내 조용해지는 것을 기다리지 않기로 결심하고, 그녀는 관중들이 계속해서 반응을 나타내는 동안 노래를 시작했다.

“Happy birthday… to you.” 그녀가 소곤거렸고, 그녀의 목소리는 섹시하게(그리고 어쩌면 그저 단순히 음정이 맞지 않는 남자아이 같이) 속삭였다. “Happy birthday to you. Happy birthday… Mr. President. Happy birthday to you.” 그녀가 청중들에게 그들이 원하는 것(마릴린 먼로에 대한 명백하고 아주 구체적인 기억)을 주기 위해 최선을 다하는 동안, 홀 안에서는 떠들썩한 반응이 계속되고 있었다. 첫 번째 후렴부를 끝내면서 그녀는 청중들에게 함께 하자는 손짓을 보냈다. “Everybody! Happy birthday…….” 청중들은 그녀의 다소 엉뚱하고, 팔을 흔드는 지휘를 따라 하며 그녀의 초대에 응해 노래를 이어 불렀다.

......



차례 및 구매 사이트 찾아가기
http://book.naver.com/bookdb/book_detail.nhn?bid=6282187

크리에이티브 커먼즈 라이선스
Creative Commons License

'체온365' 카테고리의 다른 글

마릴린 먼로  (0) 2010/10/13
바가바드 기타 : 오늘을 위한 인도의 지혜  (0) 2009/02/11
작은 유산: 세상을 보는 16가지 지혜  (0) 2009/02/11
랜스는 어떻게 해냈을까  (0) 2009/02/11
신데렐라는 거짓말쟁이야 : 2030 여우들의 신연애백서  (0) 2009/02/10
프레젠테이션에 할리우드를 더하라: 글머리 기호의 유혹을 넘어  (0) 2009/02/10
Trackback 0 and Comment 0
사용자 삽입 이미지


정규 표현식은 왜 어려운가?

어떤 언어도 마찬가지이지만 기초가 약하면 어렵게 느껴진다. 기초가 튼튼하면 자신감을 갖게 되며 도전 정신이 생기고 창의력이 발동한다. 이는 소프트웨어 개발을 30년 넘게 해온 노병의 경험에서 나온 결론이다. 모두 떠난 자리를 외롭게 지키고 있는 옹고집 개발자의 신념이다.

어떻게 하면 기초를 쌓을 수 있는가?

이에 대한 대답은 한마디로 기본을 완전하게 이해해야 한다는 것이다. 삽질은 결단코 기초가 쌓이지 않는다. 적어도 완벽을 추구하는 개발자라면 기본을 파고 들어야 한다. 물고 늘어져야 한다. 이런 가운데 자연스럽게 기초가 쌓이고 다져진다. 개발한 프로그램에 대해 확신을 갖게 된다. 뒤돌아 섰을 때 성취감과 자신감이 남는다.

이 책은 이런 점에 주안점을 두었다.

독자가 기본을 이해할 수 있도록 분해하고 또 분해했다. 이렇게 하고 싶어서 한 것이 아니라 소프트웨어 개발이 필자의 체질을 이렇게 만들었기 때문에 어쩔 수 없다. 더 이상도 더 이하도 아니다. 이 책의 마지막 페이지를 넘길 때 어렵게 느껴졌던 정규 표현식에 자신감을 갖게 될 것으로 확신한다.

대상 독자

/^[\w][ \w-_\.]+@[ \w]+( \.[A-Za-z0-9]+)*( \.[A-Za-z]{2,3})$/i;

위 코드는 E-Mail 주소를 체크하는 정규 표현식 패턴이다. 이를 분석할 수 있다면 이 책의 대상 독자가 아니다. 한편 이를 분석할 수 없다면 이 책의 대상 독자다.

이 책은 정규 표현식을 만들어 가는 기본을 다루며, 기본을 조합하면 위와 같은 정규 표현식이 나온다. 이를 통해 보다 적극적으로 개발에 임할 수 있으며 정규 표현식으로 구현할 수 있는 것을 창출해 낼 수 있다.

이 책의 중심

정규 표현식의 3대 요소는 매치 대상, 패턴, 메소드다. 매치 대상은 모든 언어가 같으며 패턴은 자바스크립트와 다른 언어가 거의 같다. 하지만 메소드는 자바스크립트와 다른 언어가 다르며, 자바스크립트 자체도 사용하는 메소드에 따라 결과가 다르다.


이 책은 자바스크립트의 정규 표현식을 중심으로 다룬다. 따라서 특화된 전문성을 갖고 있다. 정규 표현식 하나하나의 패턴 문자에 대한 설명과 예제를 제시하고 근거를 분석했다. 실제로 사용하는 정규 표현식과 자바스크립트가 통합한 코드를 제시하고 분석했다.


머리말

예전에는 정규 표현식을 만나면 피하거나 돌아서 갔다. 그런 날들이 이어지면서 가슴 어딘가에 응어리가 남는 것을 느끼며 이건 아니라고 혼잣말을 되뇌었지만 그런 모습은 계속되었다. 답답한 시간들이 흐른 후 정규 표현식에 대해 자신감을 갖게 된 날부터 보다 더 적극적으로 개발에 임할 수 있게 되었다. 이 책은 바로 이런 필자의 어려웠던 과거 경험을 바탕으로 썼다.

▶ 자바스크립트 정규 표현식의 중심

이 책은 자바스크립트의 정규 표현식을 중점적으로 다룬다. 정규 표현식은 자바스크립트 이외의 다른 언어에서도 지원하지만 언어마다 조금씩 차이가 있다. 물론 전체를 망라하여 포괄적으로 다루면 좋겠지만 이는 전문성이 떨어지므로 자칫 잘못하면 남는 것이 없게 된다.

필자의 오랜 경험에 의하면 하나라도 완전하게 접근해야 한다. 그래야 내 것이 되고 실전에 적용할 수 있다. 어설프게 접근하면 이도 저도 아닌 허사가 되고 만다. 점(.) 하나만 잘못 찍어도 다르게 구현되는 것이 프로그램(program)이다. 특히 문장이 아닌 기호 중심으로 구성된 정규 표현식은 더욱 세심한 전문성이 요구된다. 이런 이유로 이 책에서는 자바스크립트의 정규 표현식만 집중적으로 다루었다.

▶ 문자열 처리에 최적

자바스크립트 애플리케이션(application)에서 정규 표현식은 약방의 감초다. 그렇게 두드러지게 표시가 나지는 않지만 정규 표현식이 없으면 어딘가 부족함을 느낀다. 특히 문자열을 처리할 때 필요성을 절실하게 느낀다. 복잡하게 작성할 코드를 단 몇 줄로 끝낼 수 있으며 때로는 정규 표현식이 아니면 구현할 수 없는 문자열도 있기 때문이다. 값을 검색하고 일치된 값을 지정한 값으로 바꾸는 것은 정규 표현식의 백미이며 아름다움의 극치다.

▶ 선행 필요 지식

일단 이 책을 읽는 독자는 자바스크립트의 기본 문법을 이해하고 있어야 한다. 만약 독자가 자바스크립트를 전혀 모른다면 이 책을 보기 전에 자바스크립트 책을 먼저 볼 것을 권한다. 정규 표현식은 그 자체로도 실행되지만 자바스크립트와 같이 사용하면 더욱 완전한 형태가 된다.

이 책에서는 정규 표현식과 관련된 자바스크립트를 약간 다루고 있는데, 정규 표현식을 더 명확하게 설명하기 위해 자바스크립트 코드를 포함시켰다. 정규 표현식을 다루려면 어쩔 수 없이 자바스크립트가 동반되어야 한다. 정규 표현식은 독립된 클래스(Class)이지만 이를 실질적으로 사용하는 클래스는 String(문자열) 클래스이며 자바스크립트는 정규 표현식만 단독으로 다룰 수 없는 구조로 되어 있기 때문이다.

▶ 예제 분류

예제를 되도록 간단하게 하려고 노력했다. 필자의 경험에서 볼 때 코드를 길게 작성하면 그냥 넘어가고 싶은 충동이 일어날 수도 있기 때문이다. 따라서 기본 사항을 중심으로 간단하게 하면서 다양한 각도에서 예제를 다루었다.

기본 사항을 다룬 후에 몇 개의 정규 표현식이 포함된 실제 사용 가능한 코드를 제시하였으며 이를 설명하고 분석하였다. 각 장에서 다룬 내용이 기본 단계라고 한다면 이는 중간 단계에 속한다. 맨 끝의 10장은 마지막 단계로 정규 표현식과 자바스크립트를 통합한 실제로 사용할 수 있는 코드를 중점적으로 게재하고 이를 설명, 분석하였다. 즉 3단계로 나누어 접근하였다.

▶ 기본이 중요

정규 표현식은 디버깅이 어렵다. 자바스크립트로 작성한 코드는 단계마다 결과를 볼 수 있는 방법이 있지만 정규 표현식은 과정이 아닌 결과밖에 볼 수 없으므로 디버깅이 어렵다. 정규 표현식을 분리하는 것이 유일한 방법이지만 때로는 분리하지 못하는 형태도 있다.

이에 대처하기 위한 가장 근본적인 해결 방법은 기초, 기본을 튼튼하게 하는 것이다. 우선 간단한 것부터 접근해서 기본 사항을 이해하고, 점진적으로 어려운 것에 접근해야 스트레스를 받지 않으면서 실력을 향상시킬 수 있다.

책을 한 페이지씩 넘기면서 기본을 탄탄하게 잡아가면 조금씩 자신감이 생길 것이다. 예제가 간단하므로 직접 작성해 보면서 기본을 이해하고 내 것으로 만든다면, 마지막 페이지를 넘길 때 어렵기만 한 정규 표현식에 자신감을 갖게 될 것으로 확신한다.


이 책의 구성

이 책은 총 10장으로 구성되어 있으며 각 장의 주요 내용은 다음과 같다. 이처럼 상세하게 장을 나눈 것은 정규 표현식 패턴 문자 하나하나가 기능을 갖고 있으므로 이에 집중하기 위함이다. 슬슬 넘겨가면서 보는 형태가 아니라 세밀하게 분석하는 형태이기 때문이다.

정규 표현식의 가장 기본적인 형태를 통해 정규 표현식의 3대 요소와 자바스크립트에서 정규 표현식의 역할을 알아본다. 이 책의 예제를 실행하기 위한 환경과 본문의 기준 형태가 작성되어 있다.

모든 언어는 나름대로 작성 방법이 있으며 정규 표현식 또한 작성 방법이 있으므로 이를 작성하는 방법을 알아본다. 정규 표현식 메커니즘과 자바스크립트 메커니즘을 비교하여 차이점을 정리하였다. 객체지향 관점에서 보면 함수와 메소드는 차이가 있다. 무엇에 차이가 있는지, 정규 표현식에서 사용하는 메소드와 클래스를 알아본다.

정규 표현식에서 가장 단순한 형태는 문자열로 매치하는 형태다. 이를 통해 정규 표현식을 매치하는 기본 형태와 매치되었을 때 반환되는 형태를 알아본다. 정규 표현식에서 자주 사용하는 대체(|), 앞뒤 문자에 매치하는 점(.), 공백 문자, 줄 분리자를 살펴 본다.

자바스크립트의 정규 표현식과 다른 언어의 정규 표현식이 다른 점은 메소드다. 또한 자바스크립트 정규 표현식은 메소드에 따라 매치 결과가 달라진다. 따라서 자바스크립트로 정규 표현식을 구현하려면 반드시 메소드를 이해해야 한다. 자바스크립트에 익숙한 독자라면 익히 알고 있는 메소드이지만 정규 표현식 중심으로 살펴 볼 필요가 있다.

매치할 위치를 지정하여 매치할 수 있다. 이 장부터 본격적으로 정규 표현식 패턴 중심으로 접어든다. 문자열 처음부터 매치(^), 문자열 끝에 매치($), 단어 경계 매치(\b), 63개 문자 매치(\B)가 이에 속한다.

매치 수를 지정하여 매치할 수 있다. 매치 수에 관계없이 모두를 매치하는 패턴, 범위를 지정하여 매치하는 패턴, 욕심 없는 매치를 행하는 패턴을 알아본다. *, +, ?, {숫자} {숫자,}, {숫자,숫자}, *?, +?, ??와 같은 패턴 문자가 이에 해당된다.

범위 또는 집합을 지정하여 매치할 수 있다. 집합에 지정한 문자 단위로 매치하고 패턴 문자를 일반 문자로 인식하는 대괄호[ ], 63개 이외 문자에 매치하는 [\b], 매치 구간을 지정하는 하이픈(-), 지정한 문자를 제외하고 매치하는 [^]에 대해 알아본다. CSS 프로퍼티 이름을 변경하는 사례와 스크립트 형태에서 텍스트를 추출하는 사례를 분석한다.

역슬래시(\)에 연이어 문자를 작성한 형태를 이스케이프 문자 클래스라고 하며 이는 수한 기능을 갖는다. 일반 문자로 인식하는 \^, 숫자만 매치하는 \d, 숫자 이외에 매치하는 \D, 보이지 않는 문자에 매치하는 \s, 보이는 문자에 매치하는 \S, 63개 문자에 매치하는 \w, 63개 이외 문자에 매치하는 \W, 유니코드에 매치하는 \u, 16진수 값으로 매치하는 \x, 제어 문자를 매치하는 \c에 대해 알아본다. 공백을 체크하는 패턴 사례, 문자열 앞뒤의 공백을 삭제하는 사례, E-Mail 주소를 체크하는 사례를 분석한다.

정규 표현식에서 가장 돋보이는 패턴 문자를 꼽는다면 괄호( )라고 할 수 있다. 매치 결과를 캡처하는 ( ), 캡처하지 않는 (?:), 전방에 매치하는 (?=), 전방 부정에 매치하는 (?!)가 이에 속한다. 다수의 괄호를 사용하면서 괄호 안에 패턴을 작성했을 때 어려움이 가중되지만 그만큼 탁월하게 기능을 구사할 수 있다.

백래퍼런스인 \숫자 형태, 캡처된 값을 참조하는 RegExp.$숫자 형태를 사용해서 괄호( )로 캡처한 값을 참조할 수 있다. 괄호( )와 대체(|) 패턴 문자가 어울린 사례를 통해 최대로 매치하려는 정규 표현식의 메커니즘을 다룬다. 캡처된 값을 활용하여 숫자와 숫자 사이에 콤마를 삽입하는 사례를 분석한다.

자바스크립트는 RegExp 클래스를 통해 정규 표현식을 구현하며 이 클래스에는 두 개의 메소드가 있다. RegExp가 클래스이므로 이를 인스턴스로 생성할 수 있으며 이에 속한 메소드를 호출할 수 있다. 또한 인스턴스에서 제공하는 프로퍼티를 사용할 수 있다.

정규 표현식을 활용하는 사례 중심으로 자바스크립트와 정규 표현식을 설명하고 분석한다. 사례 코드는 필자가 개발한 자바스크립트 라이브러리인 MethodChain에서 발췌한 것으로 즉시 사용할 수 있다. 아울러 역동적으로 정규 표현식 패턴을 만들어 사용하는 개념을 다룬다.


실행 기준 브라우저

이 책의 예제는 다음과 같은 브라우저에 실행했다. 정규 표현식 몇몇 기능에 크로스 브라우저 문제가 있다.

- IE 7.0
- Firefox 3.0.5
- Chrome 3.0
- Safari 3.2.1
- Opera 10.10


소스 코드와 정오표

이 책에 포함된 소스 코드는 예제를 제시하여 설명하기 위함이다. 이를 독자의 소프트웨어에 적용하여 발생하는 문제에 대해서는 필자가 책임을 지지 않는다. 또한 소스 코드 자체를 판매하거나 다른 책에 포함시키는 것과 같은 상업적인 목적에 사용할 수 없다.

이 책을 출판한 후 발견된 정오표는 필자가 운영하는 카페(http://cafe.naver.com/ requirements.cafe)에 게재할 것이며 이 책의 내용에 대한 문의도 카페를 이용할 수 있다.


김 영 보

1979년 주)코오롱 전산실에 입사한 후 31년 동안 오직 소프트웨어만 개발해 온 옹고집 베테랑 개발자이며 분석가다. 수많은 프로젝트를 수행했으며 산전수전 다 겪은 역전 노장이다. 이런 노하우를 바탕으로 자바스크립트 라이브러리인 MethodChain을 개발, 발표하였으며 지속적으로 발전시켜 나가고 있다. MethodChain은 http://www.methodchain.com에서 만날 수 있으며 라이브러리 소스 파일을 다운받을 수도 있다.

그에게 있어 소프트웨어 개발은 삶 자체다. 한시도 노트북 앞을 떠나지 않는다. 그에게는 소프트웨어 개발의 매 순간순간이 행복인 것 같다. 그는 스포츠를 매우 좋아한다. 때로는 경기장을 찾아 목소리 높여 응원하기도 한다.

[저서]

- Ajax DOM 스크립팅, 2008.05, 도서출판 ITC
- Ajax prototype.js: 프로토타입 완전분석, 2007.03, 위키북스
- Ajax 활용, 2006.04, 가메 출판사
- 요구분석을 위한 Event Process 모델링, 2005.11, 가메 출판사

카페 http://cafe.naver.com/requirements.cafe




차례 보기 및 구매 사이트 가기


http://search.naver.com/search.naver?where=nexearch&query=%C1%A4%B1%D4%C7%A5%C7%F6%BD%C4&sm=top_hty&fbm=1

크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 and Comment 0

사용자 삽입 이미지


안드로이드는 왜 특별한가?

• 리눅스와 오픈 소스 기반의 진정한 의미의 개방적 무료 개발 플랫폼

휴대폰 제조사들은 로열티를 지불하지 않고 플랫폼을 이용할 수 있으며 자유롭게 커스터마이징할 수 있다는 이유로 안드로이드를 좋아하며, 개발자들은 파산하거나 인수될지 모를 특정 공급업체에 발이 묶여 있지 않고 유동성이 있어 좋아한다.

• 인터넷 매시업에 영감받은 구성 요소 기반의 아키텍처

응용프로그램의 한 부분은 다른 곳에 개발자들이 미처 생각하지도 못했던 방식으로 쓰일 수 있다. 기본적으로 제공되는 내장 구성요소를 자신만의 버전으로 대체할 수 있다. 이것은 모바일 공간에서 창조의 새로운 장을 열어 줄 것이다.

• 격이 다른 수많은 기본 제공 서비스

위치 기반 서비스는 여러분이 위치에 따라, GPS 또는 휴대전화 기지국을 이용하며 사용자가 자신의 경험을 직접 정의하게 해 준다. SQL 데이터베이스는 최대 전원으로 가동되는데, 지속적이지 않은 인터넷 연결성과 동기화에 개별 로컬 저장소의 이점을 이용한다. 브라우저와 지도 보기가 응용프로그램에 직접 임베딩될 수 있다. 이와 같이 다양한 내장 기능은 성능의 기준은 높이며 개발비용은 낮춰 준다.

• 응용프로그램 수명주기의 자동 관리

프로그램은 여러 보안층으로 서로 격리되어, 스마트폰에서는 여태껏 볼 수 없던 수준의 시스템 안정성을 제공한다. 어떤 응용프로그램이 활성화되어 있으며 다른 프로그램을 실행시키기 위해 무엇을 종료시켜야 하는지 등을 더 이상 걱정하지 않아도 된다. 안드로이드는 낮은 전력과 낮은 메모리 장치에 최적화되어 있는데, 이전 어느 플랫폼도 시도해보지 못한 수준이다.

• 고품질의 그래픽과 음향

플래시에 영감 받은 부드럽고 앤티엘리어싱된 2D 벡터 그래픽과 애니메이션은 3D로 가속된 OpenGL 그래픽과 합쳐져 신종의 게임과 비즈니스 응용프로그램들을 창조해내고 있다. 오디오와 비디오의 가장 흔한 산업 표준인 H.264(AVC), MP3, AAC 등의 형식을 위한 코덱이 내장되어 있다.

• 현재와 미래의 광범위한 하드웨어를 넘나드는 휴대성

모든 프로그램은 자바로 작성되고, 안드로이드의 달빅 가상 머신에서 실행되므로 ARM, x86 및 여러 아키텍처에 걸쳐 모두 사용될 수 있다. 키보드, 터치, 기울임, 카메라, 음성, 트랙 볼 등의 다양한 입력 방식의 지원. 사용자 인터페이스는 어떤 화면 해상도나 화면 방향에 맞춰서도 정의될 수 있다.


이 책의 구성

이 책은 세 부분으로 나뉘어 있다. 대략적으로 말하자면, 쉬운 주제에서 어려운 주제로, 또는 일반적인 부분에서부터 덜 흔한 내용 쪽으로 진행된다고 볼 수 있다.

여러 장에서 공통된 스도쿠 게임 예제가 사용된다. 점차적으로 게임에 기능을 추가함으로써, 사용자 인터페이스, 멀티미디어, 안드로이드의 수명주기 등을 포함한 안드로이드 프로그래밍의 다양한 면을 배우게 된다.

제1부는 안드로이드에 대한 소개로 시작한다. 안드로이드 에뮬레이터를 설치하는 방법과 통합 개발 환경(IDE)을 사용하는 방법을 배우고 나서 안드로이드 수명주기와 같은 개념을 배워 본다. 안드로이드 개발은 조금 낯설 수 있으므로 다음 주제로 넘어가기 전, 이러한 개념을 확실히 알고 넘어간다.

제2부에서는 안드로이드 사용자 인터페이스, 2차원 그래픽, 멀티미디어 구성요소 및 간단한 데이터 액세스를 다뤄 본다. 이러한 기능은 여러분이 만들 대부분의 프로그램에 사용될 것이다.

제3부는 안드로이드 플랫폼에 대해 더욱 깊이 들어간다. 여기서는 외부 세상에 연결하는 법, 위치 기반 서비스, 내장된 SQLite 데이터베이스 및 3차원 그래픽에 관해 배워 본다.

이 책 마지막의 부록에는 안드로이드와 자바 표준 에디션(SE: Standard Edition)의 차이점, 안드로이드 위젯, 안드로이드 마켓에 대한 내용이 있다.



이 책의 대상 독자

이 책의 유일한 요구사항은 자바 또는 다른 객체 지향 프로그래밍 언어(C# 정도면 충분하다)에 대한 기본적인 이해다. 모바일 기기 소프트웨어 개발에 관한 사전 경험은 필요하지 않다. 개발 경험이 있다면 그 경험을 잊는 게 나을 것이다.



저자 소개

에드 버넷(Ed Burnette)

프로그래머이자 저자로서, 그리고 연설자로서 25년 이상의 경험을 갖고 있는 소프트웨어 업계의 베테랑이다. 상업용 컴퓨터 게임에서 고성능 그리드 컴퓨팅 시스템에 이르기까지 다양한 개발을 두루 섭렵하였다. 에드는 SAS 고급 컴퓨팅 연구소(SAS Advanced Computing Lab)의 창립 멤버이자 수석 연구원이며, 『Google Web Toolkit: Taking the Pain out of Ajax』와『Eclipse IDE Pocket Guide』를 포함한 많은 기술 관련 기사 및 서적을 집필하였다. ZDNet의 개발 커넥션(Dev Connection) 블로그를 담당하고 플래닛 안드로이드(http://www.planetandroid.com)를 만들어 운영중에 있다.



역자 소개

한정민


미국 카네기 멜론 대학Carnegie Mellon University에서 정보 시스템Information Systems과 휴먼 컴퓨터 인터랙션HCI, Human-Computer Interaction을 전공으로, 그리고 커뮤니케이션 디자인Communication Design을 부전공으로 공부하였다. 웹2.0, UX, 사용성, 모바일, SNS 등에 관심이 많으며 최근 SK C&C의 mobile commerce 사업추진단에 합류하였다. SK C&C에 합류하기 전에는 삼성 전자 모바일 및 웹 서비스 전략과 기획을 위한 리서치 및 컨설팅을 하였다.

모바일과의 인연은 아이폰의 첫 출시에 맞춰 애플리케이션을 선보이기 위해 애플과 함께 일하던 샌프란시스코의 IT 회사에서 시작되었다. 여행을 좋아해 유럽, 하와이, 팔라우(태평양의 섬)의 정부와 비영리 단체에서 일한 경험이 있으며 미국 샌프란시스코에서 직장 생활을 하다 귀국했다. 번역 서적으로는 ‘헬로, 안드로이드’, ‘IT 개발자가 쓴 통쾌한 인간관리 이야기’, ‘고성능 MySQL(공역)’, ‘웹 접근성(공역)’, ‘웹 표준(진행 중)’ 등이 있다.




목차보기 및 구매


http://book.naver.com/bookdb/book_detail.nhn?bid=6264911


크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 and Comment 0