방콕에 한국 식당은 시내쪽 수꾸밋 십쏭(12)에 많이 몰려 있습니다.
아래 보이는 식당은 랏차다(거리명) 앞쪽은 Fortune 호텔이 있는 Fortune Tower 지하에 있는 한국 식당입니다.

포춘 호텔은 시내하고 약간 떨어져 있긴 하지만 옆에 피자헛, 일식 식당, 맥도널드, KFC, TELSCO(이마트 같은 곳)이 바로 옆에 있어서 아주 편합니다.

지하에 한국 식당도 있구요.

식당 주인은 한국 아저씨... 요리사는 태국 여자분인데, 꽤나 먹을만 합니다.
각종 음식이 대략 120바트 정도...
왠만한거 다 있습니다. 찌게류, 라면, 만두국류....
기본으로 김치도 세 종류... 깍두기, 오이김치, 배추김치
물도 물론 공짜~~ (태국 식당은 물도 사 먹어야 합니다. 간혹 주는 곳도 있지만)

'travel > thai' 카테고리의 다른 글

[태국] 신호등~  (3) 2004.03.19
[태국] 방콕의 생활물가  (0) 2004.03.18
[태국] 방콕의 돈무앙 공항의 모습  (4) 2004.03.16

파견나와서 일하고 있는 곳이 방콕의 약간 외곽에 위치한 곳이다. 마땅히 점심 먹을만 한 곳이 없는데... 최근에 카페가 하나 생겼다.
거기 메뉴판을 보면~


사용자 삽입 이미지
플래쉬를 터트린 관계로 잘 보이진 않지만...
대략... 보인다 ㅋㅋ
환율이 1바트 = 약 30원 (현재는 약 27~8원정도)
 
스테이크라고 써 있다고 한국 TGI같은데서 먹는 스테이크가 아니고... 적당히 얇은 소고기...
위 음식은 하나만 시켜 먹기엔 좀 부족하다.. 그래서 요리 하나랑 볶음밥 이렇게 두개 정도 시킨다.
 
대략 40~60바트... 약 1200원 ~ 1800원이다. (무지 싸다 ^^;;)
 
사용자 삽입 이미지

 
 
이게 소세지 볶음밥... 밥 사이로 삐져나온 소세지가 보인다.. 붉은색 소세지... 요즘은 이런 소세지 보기 힘들지만 ^^;; 대략 맛있다 ㅋㅋ 이제 49바트... 1500원정도
 
사용자 삽입 이미지
 

이건 잘못 시킨거다.. --;; 돈까스만 시켰는데... 종업원이 잘못 알아들었는지 돈까스 & 밥을 가져왔다. 이렇게 두개를 먹으니 무지 배불렀다 ^^;;



사용자 삽입 이미지
네스카페~ 앞에 패미리마트에서 샀다. 이게 11바트...약 330원...
 
태국오기 바로 전에 일본을 갔다와서 그런지 상대적인 물가 차이가 어마어마하다 --;;
일본에서는 캔커피가 130엔이었다... 대략 1400원정도...

만나기로한 태국 직원이 안보여서 무자게 기다리던 중.... 한 컷

 

공항내의 환전소~

'travel > thai' 카테고리의 다른 글

[태국] 방콕의 생활물가  (0) 2004.03.18
태국 입국 신고서 작성 방법  (0) 2004.01.02
태국에서 먹은 저녁식사  (0) 2003.10.06

네이버 블로그 툴 총 정리

- 다른 웹의 내용을 편리하게 내 블로그로 담기 툴
http://blog.naver.com/yonnieda/60001103801

 

- 내 블로그를 백업하자
http://blog.naver.com/secretidea.do#

 

- 내 블로그의 통계를...
http://blog.hellophp.com/

 

 

통계는 아래 게시물에서 소개된 적 있죠...

나두 하나 만들어 볼까??? 음...

 

참.. 글구 백업 같은건 네이버에서 만들어 주는게 더 좋을거 같은데 ^^;;

 

'IT' 카테고리의 다른 글

[팁] 웹 이미지가 다 bmp로만 저장 되요!  (0) 2004.05.19
포탈에서 사용하는 용어를 영어로...  (0) 2004.05.13
[펌] ASCII CODE TABLE  (0) 2004.04.21
나만의 평가
전체적으로 어때요?         :
여자친구랑 볼만한가요?   :
얼마나 야해요?               : ☆☆☆☆☆
멋진 장면들이 많아요?     :
얼마나 감동적인가요?      :
친구들한테 추천할만해요?:
 
캬~~ 방금 보고 와서 올리는 따끈따끈한 영화평!!
음... 재미있게 봤다. 너무 과한 평가를 하면 혹시 영화를 안 보신분은 실망하실까봐.. 자제..
스토리 라인은 일반적인 김하늘의 코믹물과 아주 유사하다... 웃기게 가다가 막판에 진지해지는 그런... 하지만 이 영화의 코믹한 장면은 다른 영화들과 조금 다르게 전개가 된다. 그래서 그런지 그리 유치하게 받아드려지지 않고 재미있게 느껴졌다.
갠적으로 김하늘을 좋아하는 이유 때문인지는 몰라도 영화 첨부터 끝까지 그리 흠 잡을곳은 없는 듯 ㅋㅋ
마지막 장면이 좀 유치하다고 같이본 와이프가 얘기 했지만... 난 괜찮았던거 같다.
결론은 볼만한 코믹물... 최근에 위대한 유산을 봤는데 그것보다 훨씬 나은 듯~
 

'movie' 카테고리의 다른 글

[2004. 4] School of Rock  (0) 2004.04.04
[2004. 2] 사랑도 통역이 되나요  (2) 2004.02.27
[2004. 2] 데스티네이션 2  (3) 2004.02.26
나만의 평가
전체적으로 어때요?         :
여자친구랑 볼만한가요?   :
얼마나 야해요?               : ☆☆☆
멋진 장면들이 많아요?     :
얼마나 감동적인가요?      :
친구들한테 추천할만해요?:
 
 

 
이 영화가 무슨 상을 받았다던데.... 음...
영화의 제목과 내용에 무슨 연관 관계는 있는거 같지만, 말로 표현은 못하겠다.
관심있는 사람은 내용을 다 알겠지만, 알려진 바와 같이 유명 배우가 일본으로 CF 촬영차 방문을 하고, 위에 보이는 여자 주인공은 남편이 사진작가인데 출장을 같이온 상태...
서로 비슷한 외로움을 느끼면서 서로에게 호감을 갖고...
그러다 헤어지는 --;; 영화 제목의 통역이라는 의미를 여러가지 부분에 끼워 맞출 수 있는것 같던데..
중요한 것은 영화가 끝나면서 생각한 것은... '이게 뭐야...'
이런 류의 영화를 제대로 이해하지 못하는 나의 안목이 문제인지... 아니면 안목이 높지 못한 관객을 이해시키지 못하는 감독이 문제인지...
하여간 개인적으로 추천할 만한 영화는 아니었다.
 
 

'movie' 카테고리의 다른 글

[2004. 3] 그녀를 믿지 마세요  (0) 2004.03.01
[2004. 2] 데스티네이션 2  (3) 2004.02.26
[2004. 2] 태극기 휘날리며..  (0) 2004.02.15
나만의 평가
전체적으로 어때요?         :
여자친구랑 볼만한가요?   :
얼마나 야해요?               : ☆☆☆☆
멋진 장면들이 많아요?     :
얼마나 감동적인가요?      :
친구들한테 추천할만해요?:

 
데스티네이션1을 매우 재미있게 본 기억이 있어, 2도 보게 되었다.
개봉한지 좀 지난 영화라... divx로 나온 줄 알았는데...
이제 선전하는 걸 보니 아직 미 개봉작인가보다 --;;
 
역시 1과 거의 유사한 형태의 영화 진행이였다.
언제 어떻게 될까?? 라는 생각을 하면서 보니 좀 긴장도 됐고,
역시 너무나도 잔인하게(킬빌보다 더 잔인하게 느껴졌다.) 죽는 장면들이 나왔다.
영화가 끝난 후 약간은 허무하기도 했지만...
 
그럭저럭 재미있게 봤다.
 

'movie' 카테고리의 다른 글

[2004. 2] 사랑도 통역이 되나요  (2) 2004.02.27
[2004. 2] 태극기 휘날리며..  (0) 2004.02.15
[2004. 1] 폰부스  (0) 2004.01.26
 
며칠 전 강남 교보문고에서 우연히 한 챕터를 읽어보고 구입하게 된 책이다.
어제 받아서 퇴근, 출근하면서 하루 읽었는데 벌써 반 넘게 읽었다. 책이 별로 두껍지 않은 이유도 있지만 그만큼 재미 있다. 최근에 임백준씨가 이 책과 유사한 내용의 책을 또 쓰셨는데, 그 책에 비해 훨씬 읽기 좋은 내용이다. 프로그래머이건 아니건 재미있게 부담없이 읽어볼 만한 책이 아닌가 싶다.
 

책제목 : 행복한 프로그래밍 (컴퓨터 프로그래밍 미학 오디세이)
지은이 : 임백준

출판사 : 한빛미디어

초   판 : 2003년 5월 19일

 

 

필리핀의 시스템 시간이 초가 빨리 가다가 천천히 가다가 지 맘데로 가는 문제...

 

아직 미결이지만, 일단 그렇게 만드는 프로그램이 있다고 한다. 어떤 보안회사에서 한 얘기

네트웍을 타고 그렇게 될 수도 있다는 듯..

요즘 C# 프로그래밍에 재미를 더하고 있다...

 

최근에 두번째로 만든 프로그램이 있다.

특정 파일을 모니터링하다가 파일 갱신 내용으로 특정 웹페이지는 call하는 단순한 프로그램이다.

 

덕분에 첨으로 쓰레드도 함 써보고, 이벤트도 만들어서 함 해 보고... 재미있었다.

 

그런데 오늘 FileSystemWatcher의 존재에 대해 아는 강군으로부터 전해 들었다.

충격... 역시 두루두루 많이 알아야 한다는 생각이 들었다.

 

FileSystemWatcher이 클래스는 .Net에 있는 것으로, MSDN의 개요를 보면

 

----------------------------------------------------------------------------------------

 

파일 시스템 변경 알림을 수신하면서 디렉터리 또는 디렉터리의 파일이 변경되면 이벤트를 발생시킵니다.

 

FileSystemWatcher를 사용하여 지정된 디렉터리의 변경 내용을 조사합니다. 지정된 디렉터리에 있는 하위 디렉터리 및 파일의 변경 내용을 조사할 수 있습니다. 구성 요소는 로컬 컴퓨터, 네트워크 드라이브, 또는 원격 컴퓨터에 있는 파일을 조사할 수 있습니다.

참고    FileSystemWatcher 에서는 전환되거나 제거되지 않은 디스크도 조사할 수 있습니다. 타임스탬프 및 속성은 변경될 수 없으므로 FileSystemWatcher 는 CD와 DVD에 대한 이벤트는 발생시키지 않습니다. 구성 요소가 올바르게 작동되도록 하려면 원격 컴퓨터에 이러한 플랫폼 중 하나가 설치되어 있어야 합니다. 하지만 Windows NT 4.0 컴퓨터에서 원격 Windows NT 4.0 컴퓨터를 조사할 수는 없습니다.

 

----------------------------------------------------------------------------------------

라고 나와있다.

 

이 클래스를 이용하면 이벤트 수신만으로 쓰레드 없이 내가 한 작업을 할 수 있는 것이다.

 

함 써보고 사용 내용을 올려 볼란다.

 

나만의 평가
전체적으로 어때요?         :
여자친구랑 볼만한가요?   :
얼마나 야해요?               : ☆☆☆☆
멋진 장면들이 많아요?     :
얼마나 감동적인가요?      :
친구들한테 추천할만해요?:
 
 

 
 
상당히 괜찮은 영화였다. 영화를 보기 전에 두명으로부터 영화평을 들었었는데... 한명은 엄청 괜찮다. 다른 한명은 괜찮은데 스토리는 좀.. 이라고 평가를 해서...
기대는 많이 하지 않았다.(영화를 재미있게 보려면 절대 기대를 하면 안된다.. 그래서 의도적으로 기대를 하지 않았다.)
그래서 그런지... 영화를 보는 중간에 감정이입이 되버려서... 막판엔 매우 감동적이기도 했다.
중간에 중국군이 역공하는 장면이 있는데... 반지의제왕과 비교는 안됐지만.. 그래도 멋졌다.
컷이 좀 짧은게 아쉬웠다.
 
기대하지 않고 또 중간에 감정이입이 되어버려 나에겐 개인적으로 꽤 감동적이게 느껴졌다...
그래서 그런지 실미도보다 훨씬 나은 영화라는 생각이 든다.
실미도를 재미있게 본 사람이라면 이 영화도 재미있게 볼 수 있을것이다. 물론... 의도적으로 기대는 하지 말고 보시라...

'movie' 카테고리의 다른 글

[2004. 2] 데스티네이션 2  (3) 2004.02.26
[2004. 1] 폰부스  (0) 2004.01.26
[2004. 1] 말죽거리 잔혹사  (0) 2004.01.21

좋은 사이트 정보 하나

소개글입니다.

 

Microsoft patterns & practices guides contain specific recommendations illustrating how to design, build, deploy, and operate architecturally sound solutions to challenging business and technical scenarios. They offer deep technical guidance based on real-world experience that goes far beyond white papers to help enterprise IT professionals, information workers, and developers quickly deliver sound solutions.

 

http://www.microsoft.com/resources/practices/default.asp

 

여러 줄 주석화 할때

/*

 

*/

를 이용해도 되지만..

 

이클립스에서 사용하던 방식으로 블럭 지정한 줄 앞에 모두 //를 붙여주는 단축키가 있습니다.

 

Ctrl + K + C  : 주석 붙이기

Ctrl + K + U  : 주석 해제

 

 

'programming > c#' 카테고리의 다른 글

Microsoft Application Block  (0) 2004.02.15
Test-Driven Development In .NET  (0) 2004.02.02
csUnit 간단 사용법(VS에서의 UnitTest)  (0) 2004.02.01

.Net 환경에서의 TDD에 관한 글입니다.

 

Unit Test와 .Net에서 사용 가능한 Mock Object의 설명과 실제 사용법까지 잘 나와 있는거 같아서 Link 합니다.

 

http://www.peterprovost.org/wiki/ow.asp?Test-Driven_Development_In_.NET

 

목차 입니다.

  • Introduction
  • What Are Unit Tests?
  • The NUnit Testing Framwork
  • TestFixture Attribute
  • Test Attribute
  • SetUp & Teardown Attributes
  • ExpectedException Attribute
  • Ignore Attribute
  • The NUnit Assertion Class
  • Running Your Tests
  • Doing Test-Driven Development
  • Using Mock Objects - DotNetMock
  • Testing the Business Layer
  • Testing the User Interface
  • Conclusion
  • More Info on the Web
  •  

    혹시 페이지가 없어질까봐 페이지 전문을 파일로 첨부합니다.

    참고로 첨부 파일 중 Zip 파일은 .Net용 MockObject입니다.

    위 첨부 파일명을 눌러도 창에서 글이 뜹니다.

    음... 글 쓰다 키를 잘못 눌러서 날렸네요 --;;

    다시 쓰려니 정말 귀찮지만...

     

    csUnit은 Visual Stdio .Net에서 Unit Test를 하기 위한 Add-in software입니다. 자세한 소개는 아래 post를 참고하시구요..

    http://blog.naver.com/goodfeel/80000706176

     

    자 그럼 csUnit의 간단한 사용법 먼저 보시죠.

    일단 csUnit을 다운 받은 후 설치 하고나서 Visual Stdio(이하 VS) .Net을 실행합니다.

     

     

    그 다음 '새 프로젝트' 버튼을 누르면 아래와 같이 보입니다. 뭔가 바뀐게 있죠?

    예.. 'csUnit Test library'라는 템플릿이 하나 추가 되어 있습니다.


     
    자 그럼 그 'csUnit Test library'를 선택한 후 프로젝트 이름 적당히 바꾸시고 '확인'을 눌러 보시죠.
     

     

    아래 그림과 같이 프로젝트가 만들어 지고 'TestFixture1.cs'라는 샘플 코드가 자동 작성 됩니다.

    그 Sample코드를 간단히 테스트 해 보죠.

     
     
    테스트 하는 방법은...
     
     
     오른쪽 '솔루션 탐색기' 부분에서 프로젝트 이름을 선택한 후 오른쪽 마우스 버튼을 누르시면 왼쪽 화면과 같은 메뉴들을 볼 수 있습니다.
     
    예전과 다를겁니다.
    역시 메뉴 하나가 추가 됐죠??
     
    'Build And Run Tests'를 선택해 보세요.
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    자 새 프로그램이 하나 자동으로 뜹니다.
    우리가 처음에 설치한 csUnit이라는 프로그램이 자동으로 뜨면서 1개의 테스트 중 1개가 성공했다는 의미로 녹색으로 표시 됩니다.
     
    테스트 중 하나라도 실패할 경우 빨간색 줄을 볼 수 있습니다.

     
     
     
    그럼 테스트에 오류가 있는 경우 어떻게 표시 되는지 함 보죠.
    맨 마지막 줄 코드를 보면,
    기존 코드는
    'Assert.Equals(0, 0, "Zero no longer equals zero.");'
     
    새 코드는
    'Assert.Equals(0, 1, "Zero no longer equals zero.");'
     
    자세한 내용은 추후 메뉴얼을 참고 하시면 되는데..
    Assert.Equals에서 앞에 인자는 Expected값.. 그러니까 이 값이 나와야 맞다라는 거구요.
    뒤 인자는 Actual값 그러니까 실제 프로그래밍 상 이 값이다. 이런 의미 입니다.
    그 두 값이 틀리게 코드를 수정했으니 에러가 날텐데..
     
    위에 설명드린데로 다시 한번 테스트를 해 보시면...
     
     
     
    아래 그림과 같이 빨간색으로 오류가 있음을 나타내게 됩니다.

    'programming > c#' 카테고리의 다른 글

    Test-Driven Development In .NET  (0) 2004.02.02
    다음 릴리즈 될 Visual Stdio 코드 네임 'Whidbey'  (0) 2004.01.30
    .Net Unit Testing  (5) 2004.01.30

    기사는 2003년 11월에 올라 왔는데...

    오늘 알았네요 --;;

     

    VS 다음 버젼에서는 IDE 차원에서 Refactoring을 지원한다는군요.

     

    The C# Whidbey IDE now includes refactoring support. Refactoring enables developers to automate many of the common tasks when restructuring code. For more information on refactoring, please visit http://www.refactoring.com/. Using the built-in refactoring support, developers can, for example, use the rename refactoring to automate the process of renaming a variable in source code.

    The refactorings currently available in the Whidbey Technical Preview are:

    • Extract Method
    • Rename
    • Extract Interface
    • Encapsulate Field
    • Change Method Signature
    • Replace Arraylist

     

    기사 원본입니다.

    http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dv_vstechart/html/whidbey_csharp_preview.asp

    'programming > c#' 카테고리의 다른 글

    csUnit 간단 사용법(VS에서의 UnitTest)  (0) 2004.02.01
    .Net Unit Testing  (5) 2004.01.30
    .Net Refactoring  (0) 2004.01.30

    쩝... 계속 관련 자료 찾다가.. 우연히 Unit Testing 도구를 찾았네요.

    이건 공짜~~

     

     

    여깁니다.

    http://www.csunit.org/index.php

     

    다운 받고 있는데...

    해 보고 잘 되면 설명도 올리던지 하죠.

     

     

     

    그 홈페이지의 tutorials에 소스가 틀린  것도 있고... CUnit이 업데이트 됐는데, 내용이 update 안된 것들도 있긴 하지만... 음.. 잘 되네요...

     

    오랫만에 다시 해 보니 재미있네요..

    회사 컴 상태가 안좋아 화면 capture가 안되는 관계로... 노트북에 설치해서 화면 캡쳐까지 해서 사용법을 올리겠습니다.

    'programming > c#' 카테고리의 다른 글

    다음 릴리즈 될 Visual Stdio 코드 네임 'Whidbey'  (0) 2004.01.30
    .Net Refactoring  (0) 2004.01.30
    정규식 ( regular expression)  (3) 2004.01.26

    C# 코딩하면서 편하게 Refactoring을 할 수 있는 방법이 없는지 인터넷의 세계를 항해하다 발견한 좋은 개인 Blog입니다.

     

    한 1시간 돌아댕이면서 찾은게 이넘 찾은거 중 일부 밖에 안되네요...

     

    참고하세요. 죄다 상용이네요...

     

    ----------------------------

     

    .NET Refactoring (Looking for advice...)

    I am looking into tools for doing .NET (specifically C#) refactoring within VS.NET.   I used the Eclipse product for my previous Java development and although it supports C#, it really doesn't.  

    I have found these products in my search, and I am curious if anyone has tried these tools or has found other refactoring tools that work well.

    Xtreme Simplicity
    .NET Refactoring
    DeKlarit  (not a true refactoring tool)
    Rational XDE  (Stand alone tool)
    Flywheel
    Openieuw  (from Patrick Steele's blog)

    If anyone has feedback or advice please post your comments!   Thanks!

    posted on Wednesday, July 23, 2003 7:56 AM

     

    ------------------------------------------------

     

    출처 : http://weblogs.asp.net/bhouse/archive/2003/07/23/10435.aspx

    'programming > c#' 카테고리의 다른 글

    .Net Unit Testing  (5) 2004.01.30
    정규식 ( regular expression)  (3) 2004.01.26
    배열관련 사항  (2) 2003.10.30

    =맛대맛에 나온 맛집 주소=

     

    1. 짬뽕 *초류향 02-752-4442
    2 짬뽕 *현경 02-3446-0022
    3 짬뽕 *전창걸 짬뽕 031-918-1289
    4 <서울설렁탕> * 이남장 02) 2267-4081 을지로 2가의 본점과 서울시내 전역에 5~6곳이 있음.
    5 <서울설렁탕> * 선달 설곰탕 02) 780-7802 여의도 맨하탄 호텔 맞은편. 프린스텔 지하 1층 .
    6 <평안도순대> * 백암순대 02) 337-7894 서울시 서대문구 연희1동 122-18
    7 <평안도순대> * 우래옥 02) 2265-0151 서울시 중구 주교동 118-1
    8 <평안도순대> * 신림동 순대 타운 신림 사거리에 위치한 우리나라 최대 규모의 신림동 순대타운
    9 간장게장 둥지가든 041-943-0008
    10 간장게장 자연마을 02-553-6767 서울 서초동에 위치,
    11 간장게장 *둥지가든 041-943-0008
    12 간장게장 *자연마을 02-553-6767
    13 갈비찜 * 안의 갈비찜 (강서 본점) 02-668-1493 지하철 5호선 발산역 큰 4거리 (성산대교에서 김포공항 가는 방향에서 좌측)
    14 갈비찜 * 우리들의 이야기 (강남역점) 02-594-7676 지하철 2호선 강남역 5번출구로 나와 교대역 방향으로 가다가 T.G.I.F와 마르쉐 사이 골목으로 들어가 올라가서 좌측의건물 2층
    15 갈치조림 왕성식당 02) 752-9476 남대문 시장 내 갈치 골목에 위치.
    16 갈치조림 옥주식당 02) 567-4009 역삼역 1번 출구에서 직진해서 쌍용 자동차 건물 뒷편에 위치.
    17 갈치조림 제주항 02) 562-6962 강남역 8번 출구로 나오면 바로 위치.
    18 감자탕 * 고스락감자탕 (신내점) 02) 437-8705 중량구청에서 퇴계원 방향으로 200m정도 내려간 곳에 위치.
    19 감자탕 * 은행나무 집 031) 977-5033/5034 일산신도시 중산마을에서 봉일천 쪽으로 나가는 길에 왕복 6차선 도로가 1차선으로 줄어드는 곳에서 3분 정도 가다보면 오른쪽 길에 위치.
    20 감자탕 * 감자마루 031) 718-5608 분당 이마트 옆에 있는 하이마트와 하나 선교원 사이 길로 가다가 불곡산 쪽으로 올라가는 길에 위치.
    21 골뱅이무침 * 풍남원조골뱅이 ( 4시 이후로 영업 ) 02) 2265 - 2336 을지로 3가 골뱅이 골목의 맛 집.
    22 골뱅이무침 * 정회진 생 골뱅이 02) 517-1084 ~ 5 갤러리아 백화점 패션관 남쪽, 로데오 거리로 들어가면 정면에 위
    23 골뱅이무침 * 다오래 골뱅이 031) 907 - 0806 일산 암 센터 바로 정문 건너편에 위치.
    24 광어회 * 리틀 프랑스 515-3220 / 515-4220 서울시 강남구 논현동 107번지 1층
    25 광어회 * 긴자 566-0485 / 566-1506 강남구 대치동 891-44 (한강빌딩1층)
    26 광어회 * 해초록 3452 - 2527 서울 강남구 대치3동 1007
    27 국수 * 국수생각 02) 515-6336 / 515-6776 성수대교 사거리 호산 병원 뒤 골목.
    28 국수 * 누들바 엔즐 N-zel 02) 6002-6760 삼성동 코엑스 몰 지하. 메가박스 좌측 건너 편.
    29 국수 * 부흥국수 031) 941-6533 / 873-6533 경기도 의정부시 의정부 3동 경희 초등학교 앞.
    30 규동 * 아소산 02) 561-6658~9 역삼동 특허청 길, 올림피아 센터 맞은 편.
    31 규동 * 텐키치 02) 551-1097 2호선 삼성역(무역센터)역, 코엑스몰 입구에 위치
    32 김밥 * 종이비행기 02) 926-5735 돈암동 성신여대 정문 오거리
    33 김밥 * 스시캘리포니아 02) 312-5567 이대역 3번 출구로 나와 10m정도 올라가다가 오른쪽으로 보이는 코닥칼라 골목으로 직진해서 올라가다 보면 왼쪽에 위치. (이대역에서 도보로 2분 정도)
    34 김밥 * 원조뚱보할매김밥 055) 645-2619 시외버스 터미널에서 하차해서 중앙동 문화마당 앞에 위치.통영시내에 위치
    35 김치찌개 * 삼김 (02) 771-5025 명동 세종호텔 밀리오레 주차장 옆
    36 김치찌개 * 현대정육식당 (02) 540-7205 강남구 청담동
    37 꼬치구이 * 이끼이끼 02) 3783-0002 광화문 파이낸스 빌딩 지하 2층.
    38 꼬치구이 * 살람 02) 793-4323 이태원 이슬람 성원 옆.
    39 꽃게찜 * 파타야 02-515-9922 서울시 강남구 신사동 643-8
    40 꽃게찜 * 선유 02-569-0852 역삼동 테헤란로 르네상스호텔 옆 서울 BD 1층
    41 낙지볶음 호미낙지 02-566-7779
    42 낙지볶음 현대낙지 02-544-8020
    43 낙지볶음 호산회관 061-278-0050~2
    44 낙지볶음 *호미낙지 02-566-7779 역삼동 세무서 골목!!
    45 낙지볶음 *현대낙지 02-544-8020 압구정 광림교회에서 일방통행으로 12M
    46 낙지볶음 *호산회관 061-278-0050~2
    47 낙지전골 * 영명식당 (061) 472 - 4027 목포시 삼호면의 대불대학교 도로를 타고 가다보면 나오는 덕천에 있는 새마을금고 앞에 위치.
    48 낙지전골 * 옹지촌 (02) 783 - 2112 63빌딩 맞은 편.
    49 낙지전골 * 먹물 (031) 908 - 9777 일산 마두 지하철역 4번 출구로 나오면 바로 위치.
    50 낙지전골 * 원풍식당 (041) 672 - 5057 서해안 고속도로를 타고 서산을 지나서 태안을 지나 원북면에 있는 새마을 금고 옆에 위치.
    51 냉면 * 시골마당 (031) 585-2309 경기도 가평군 하면에 청평 검문소에서 좌회전해서 14km 내려가면 왼쪽에 위치.
    52 냉면 * 옥천면옥 (031) 772-5187 경기도 양평군 옥천 면사무소 바로 옆 한화 콘도 입구 쪽 옆에 위치.
    53 냉면 * 현래장 (02) 712-0730 - 0833 마포역 4번 출구에서 불교방송국 쪽으로 걸어내려 가다보면 왼쪽에 위치.
    54 냉면 * 유천 칡냉면 (02) 485-4500 풍납동 현대 아파트 옆에 풍납 동사무소와 파출소 바로 뒤에 위치.
    55 냉면 남포면옥 02) 777-2269 지하철 2호선 을지로 입구 역. 롯데백화점 길 건너편 삼성화재와 하나은행 뒷골목에 위치.
    56 냉면 초릿골초계탕 (영업시간 : 오후 12시 ~ 오후 8시까지) 031) 958-5250 불광동 버스터미널에서 법원리행을 타고 법원리 종점에서 가던 방향으로 300m 지점.
    57 냉면 향림면옥 02) 931-3488 <중계점> 02) 543-8996 <압구정점> 중계 본동 사무소 맞은 편 / 수암 초등학교 앞에 위치.
    58 냉면 홍낙신안촌 02) 738-9970 지하철 5호선 광화문 역에서 하차해서 1번 출구. 세종문화회관 뒷골목에 있는 국민은행 광화문 지점 뒤편에 위치.
    59 닭갈비 * 춘천 명동 본가 닭갈비 (033) 241-4400 강원도 춘천시 명동 51-8
    60 닭갈비 * 희래 숯불 닭갈비 “참나무 숯불에 닭이 만나는 순간” (02) 572-6616 / (02) 574-2606 서울 서초구 양재동 368
    61 대게찜 강구항 02) 518-6081 강남구 논현동 경복 아파트 4거리 코미디 클럽 건물 뒤
    62 대게찜 초원 02) 549-6446 강남구 청담동 리베라호텔 건너 편 SK주유소 옆 골목
    63 대게찜 왕돌잠(광화문점) 02) 738-3331 3호선 경복궁역 7번 출구 (서울시경 맞은 편)
    64 대구탕 ▶원대구탕 02-797-4488 삼각지에 위치한 25년 전통의 대구탕집
    65 대구탕 ▶서울 프라자호텔 아사달 02-3676-2345 성북동 삼청각 내에 위치한 서울프라자 호텔 한식당
    66 대구탕 ▶박민주 찜 전문점 02-334-2366 마포구 서교동 경남예식장 뒤 쪽
    67 뎀뿌라 * 남당리 전망대 횟집 ( 041 ) 634 - 4886 홍성군 서부면 남당리.
    68 뎀뿌라 * 뉴서린 ( 02 ) 517 - 7900 강남현구청 길 바로 건너 보이는 현대증권 옆길로 내려오다 보면 위치한 삼성아파트 바로 옆 건물.
    69 뎀뿌라 * 죽촌 ( 02 ) 3143 - 0084 홍대역 6번 출구로 나와서 홍대 정문쪽으로 가다가 극동 방송국쪽으로 50m 걸어가다 보면 보이는 작은 삼거리에서 우회전하여 30m정도 올라가다가 우측에 있는 < 바이더웨이 편의점 > 길 건너의 대각선 건물 2층에 위치.
    70 돈까스 * 진까스 (02) 777 - 0741 명동 샤보이 호텔 뒤
    71 돈까스 * 이끼 (02) 763 - 8850 ( 대학로점 ) 혜화역 4번 출구로 나와서 서울대학병원 방향으로 20m정도 내려오다 함흥냉면을 끼고, 오른쪽 길로 들어가서 50m정도 가다보면 정민약국과 애즈까페 사잇길로 10m 걸어가서 연두색 집.
    72 돈까스 * 다오래 돈까스 02) 756 - 5211 남대문 시장 입구
    73 돈까스 * 쯔루가메스시 031) 703 - 7272 분당구 서현동
    74 돈까스 *명동돈까스 02-774-5400 명동
    75 돈까스 *남산돈까스 02-777-1976 남산
    76 돈까스 *사 보 텐 02-776-4510 무교동(서울시청 후문)
    77 돌솥밥 전주중앙회관 02-754-7789
    78 돌솥밥 고마나루 돌쌈밥 041-857-9999
    79 돌솥밥 ▶가마고을(분당 미금점) 031-716-2721
    80 돌솥밥 전주중앙회관 02-754-7789
    81 돌솥밥 고마나루 돌쌈밥 041-857-9999
    82 돌솥밥 가마고을(분당 미금점) 031-716-2721
    83 돼지갈비 * 마포 최대포집 ( 02 ) 719 - 9292 5, 6호선 공덕역 4번과 5번 출구 사이에 위치.
    84 돼지갈비 * 소도둑 ( 02 ) 744 - 8383 / 8313 혜화역 동숭아트센터 뒤편.
    85 돼지갈비 * 최대감 ( 02 ) 312 - 3336 신촌 기차역 맞은 편.
    86 두부김치 * 초당할머니 순두부 (033) 652 - 2058 경포대 해수욕장 입구로 들어가면 오른쪽에 보이는 경포 호수를 끼고, 찻길 따라 내려가다가 신호등 사거리가 나오면 우회전하여 보이는, 초당 두부마을 안에 위치.
    87 두부김치 * 은실네 가마솥 순두부 (031) 572 - 0469 구리시에 위치한 두부요리 전문점.
    88 두부김치 * 고모네 원조 콩탕 (02) 485 _-4675 강동구 둔촌역 4번 출구로 나와서 보이는 한빛 은행 뒷편에 위치한 토속음식 전문점..
    89 두부김치 * 도리원탕 (02) 3773 - 1220 여의도 LG 트윈타워 내에 동관 5층에 위치한 중식당.
    90 두부김치 * 콩두 (02) 722 - 0272 종로구 팔판동 국무총리공관 조금 못 가서 보이는 우리은행 에 위치함.
    91 두부김치 * 한국 두부 연구소 (02) 3401 - 0085
    92 딤섬 * DIM SUM ( 2834 - 8893 )
    93 딤섬 * 페닌슐라 호텔(Spring Moon) ( 2920 - 2888 )
    94 딤섬 * 슈퍼스타 Super Star ( 2802 - 8182 ) .
    95 딤섬 * 양자강 ( 02. 595. 2874 / 2875 ) 7호선 반포역 6번 출구로 나오면 바로 앞에 위치.
    96 떡갈비 * 덕인관 ( 061) 381 - 2194 담양 읍사무소 바로 옆에 위치.
    97 떡갈비 * 송정 떡갈비 ( 062 ) 944 - 1439 광주 송정리의 떡갈비 골목 안에 광산구청 바로 앞에 위치 함.
    98 떡갈비 * 강강술래 ( 02 ) 567 - 9233 역삼역에서 도곡동 방향으로 가다가 첫 번째 사거리를 지나 100m정도 가다보면 우측에 위치.
    99 떡볶이 예문병과 02) 3288-1320
    100 떡볶이 꼬시나 02) 756-1970
    101 떡볶이 윗도리 02) 3445-3721
    102 떡볶이 아이러브신당동 02) 2232-7872
    103 똠얌꿍 * 치포차나 D`JIT POCHANA ( 272 - 0661 ~ 6 ) 태국 방콕 파호리오틴 로드. 짜뚜짝 부근.
    104 똠얌꿍 * 욕요 마리나 YOKYOR MARINA ( 02 - 722 - 9640 ) 태국 방콕 짜오프라야 강 주변.
    105 똠얌꿍 * 삼얀 SAMYAN ( 215 - 4356 / 216 - 4278 ) 태국 방콕 삼얀 거리.
    106 똠얌꿍 * 실크 스파이스 ( 02 ) 2005 - 1046 역삼동 LG 강남타워 전문 식당가.
    107 라면 * 규슈라멘 02) 548-7341 청담동 갤러리아 백화점 길 건너편에 현대 오일뱅크 바로 전 건물 1층에 위치.
    108 라멘 * 면스토랑 ( 02 - 927 - 1988 ) 돈암동 성신여대 앞 메인 ( TBJ 중앙 ) 골목.
    109 라멘 * 겐조라멘 ( 02 - 393 - 3579 ) 연대 정문에서 현대 백화점 후문 방향, 신촌 형제갈비 맞은편
    110 라멘 * 삿뽀로 ( 02 - 6747 - 7114 ) 여의도 imbc 옆 미원빌딩 1층
    111 라멘 * 후루사또 ( 02 - 771 - 0147 ) 명동 유투존 후문쪽 골목 안에 위치.
    112 라면 ▶틈새라면 02-756-5477 명동 유투 존 후문 충무김밥 2층 건물 골목으로 들어가 좌측!
    113 라면 ▶규수라멘 02-548-7341 청담동 갤러리아 명품관 옆에 기아 자동차 건물 큰 길 맞은 편.
    114 라면 ▶황토군 토담면 오다리<<토요일 6시 30분 // 일요일은 휴무>> 02-555-4985 선릉역 4거리에서 강남구청으로 가다가 맥도날드에서 우측에 있는
    115 라면 ▶명선헌-김치 062) 228-2942~3 광주 무등산 파크 호텔 앞, 한정식 집.
    116 마산아귀찜 * 마산 오동동 진짜 초가집 원조 아귀찜 (055) 246-0427 마산 오동동 사거리 경주 빵집 뒤편에 위치 함.
    117 마산아귀찜 * 고래등 (02) 542-6666 서울시 압구정동 갤러리아백화점 전 한양아파트 맞은편 하나은행과 주택은행 사이길
    118 마산아귀찜 * 첨벙 02) 543-8873 신사동 사거리 영동 호텔 쪽 한미은행 뒷골목에 위치
    119 만두 ▶청호만두 02-545-4487
    120 만두 ▶양자강 02-595-2874
    121 만두 ▶삼미옥 02-782-1780
    122 만두 ▶남한산성 손두부 031-749-4763
    123 만두 청호만두 02-545-4487
    124 만두 양자강 02-595-2874
    125 만두 삼미옥 02-782-1780
    126 만두 남한산성 손두부 031-749-4763
    127 메기매운탕 남강 메기매운탕 031-985-7764 김포강화방면 48번 국도를 타고 가다가 김포시내 지하차도를 지나 강화쪽으로 쭉 직진!! 나진검문소와 청솔마을 현대아파트를 지나 500M를 더 내려가면 왼편에 위치! 또는 송정역 1번 출구로 나와 1,2,8번 버스를 타고 바리미역에서 하차!
    128 메기매운탕 청평 민물매운탕 02-858-5906 가리봉역에서 마을버스 18-5를 타고 가산동에서 내려 두산아파트 정문 앞!
    129 메기매운탕 메기대감 02-3461-4008 매운탕에 넣어 먹는 수제비와 나중에 볶아먹는 볶음밥이 일품!! 양재역 6번출구로 나와 성남방면으로 직진하여 일동제약 사거리에서 좌회전!! 150M를 내려와 좌측에 위치!
    130 메밀국수 * 초가집 옛골 033) 336 - 3360 평창군 봉평에 위치.
    131 메밀국수 * 미진 02) 730 - 6198 / 722 - 2034 광화문 교보빌딩 뒤쪽에 위치.
    132 메밀국수 * 스바루 02) 338 - 5153 홍대 입구에 위치 ( 홍대 정문에서 2분 거리 )
    133 모듬소시지 * 옥토버 훼스트 (02) 3481 - 8881 강남역 5번 출구로 나와서 T.G.I. 와 마르쉐 사이 골목으로 들어가면 위치.
    134 모듬소시지 * 가빈 소시지 (02) 396 - 0239 종로구 평창동 21세기 웨딩홀(구 귀빈 예식장)건물 지하에 위치.
    135 모듬소시지 * 오크 (02) 365 - 0833 이대 후문. 여우사이 건물 3층.
    136 모듬소시지 * 오킴스 브로이하우스 (02) 6002 - 7007 삼성동 코엑스 몰 컨벤션 센터 1층에 위치.
    137 바닷가재요리 *바닷가재 가리비 02-849-4096 대방전철역에서 시흥방향으로 나와 직진하여 해군회관 사거리의 대방 한의원 골목 안!
    138 바닷가재요리 *프라자 Hotel 아세아도원 02-562-5565 역삼역 1번 출구로 나와 역삼역 사거리에서 도곡방면으로 100M 내려온 뒤 아세아 빌딩 지하 1층!
    139 바닷가재요리 *뉴욕바닷가재(일산점) 031-918-5959 3호선 정발산역에서 주엽역쪽으로 내려가 사거리에서 우회전한 뒤 현대 밀레니엄 빌딩을 끼고 다시 우회전!! 쭉 직진하여 저동중고등학교에서 옆
    140 바비큐 * 가파랑재 (031) 565-6670 워커힐 호텔에서 양평방향으로 가다가 토평 IC에서 3km 가서 사거리가 나오면 우회전하여 600m 내려가면 위치.
    141 바비큐 * 로즈가든 (031) 766-2022 중부고속도로에서 곤지암 IC로 내려와서 광주방향으로 1.5km 정도 내려가다 보면 왼쪽에 위치함.
    142 바비큐 * 델리스 빌 바베큐 (02) 573-5436 양재역 5번 출구에서 버스를 타고, 삼호 물산에서 내려 파리바게뜨 골목으로 들어가서 20m 직진하여 쪼끼쪼끼 생맥주 집에서 좌회전하면 바로 위치함.
    143 바비큐 * 국제숯불통돼지바비큐 (주) 1588-9244
    144 버섯매운탕 * 화산 청학동 버섯전골 ( 063-225-6860 ) 전주시 완산구 중화산동 2가 585-8 .
    145 버섯매운탕 * 원미 해물버섯매운탕 ( 02-717-7710 ) 마포 불교방송국 차길 건너 맞은편,
    146 버섯매운탕 * 들풀 ( 02. 745. 9383 ) 대학로 함흥냉면 소나무 길 50m 첫 번째 오른쪽 골목에 위치.
    147 버섯매운탕 * 르갈라 ( 02. 542. 2705 ) 압구정동에서 학동 사거리 가는 쪽으로 가다가 강남구청 방향으로 300m.
    148 보쌈 ▶전주 할머니 보쌈 02) 3481-9211 강남역 6번 출구로 나와서 국민은행 뒷 편에 위치
    149 보쌈 ▶울릉도 오징어 보쌈 02) 3481-3285
    150 보쌈 ▶장원보쌈 02) 516-5625 논현동 학동역 5번 출구. 유료 주자장 옆 위치
    151 보쌈 * 원 할머니보쌈 ( 02 ) 2232 - 3232 청계동 8가
    152 보쌈 * 두리반 ( 02 ) 333 - 4113 홍대 입구 3번 출구 코코스에서 신촌방향으로 50m.
    153 보쌈 * 시골순대보쌈 ( 02 ) 3442 - 0005 7호선 논현역 8번출구 주택은행 옆 골목 10m
    154 보쌈 * 굴 구이 횟집 ( 061 ) 686 - 2816 여수시 화양면 원표.
    155 복국 충무로 부산복집 맏언니(김옥진) :// 02-2266-6334
    156 복국 힐튼호텔 일식당 겐지 02-317-3240
    157 부침개 * 종로 빈대떡 ( 뼉?) ( 02 ) 743 - 7430 / 742 - 9494 종로 3가 단성사 극장에서 비원쪽으로 가다 첫 번째 사거리 지나면 오른쪽에 위치.
    158 부침개 * 나무가 있는 집 ( 02 ) 737 - 3888 서울 종로구 신문로 2가 구세군 회관 옆 골목
    159 부침개 * 옛집 ( 031 ) 442 - 4886 경기도 안양시 만안구청 옆 골목
    160 부침개 * 63빌딩 한식당 한가람 ( 02 ) 789 - 5955 여의도 63빌딩 지하 1층 한가람.
    161 부침개 ▶부산동래파전 051-552-0792 부산광역시 동래구 복천동
    162 부침개 ▶서피동파(신촌) 02-3142-1133
    163 부침개 ▶굴사랑 02)425-1221 송파구 방이동 송파구청 건너 편
    164 부침개 ▶굴수하양식수산업 협동조합 (055) 645-4511~4, 641-4061~2 경남 통영시 동호동 350번지
    165 북경오리구이 * 베이징코야 ( 02 ) 553 - 5292 삼성동 포스코 사거리에서 보이는 남서울 병원 바로 옆 건물에 위치.
    166 북경오리구이 * 구룡 ( 02 ) 3453 - 7878 역삼동 영동전화국 바로 맞은 편에 위치.
    167 북경오리구이 * 숲 속의 하얀 집 ( 031 ) 254 - 5292 수원시 장안구 송죽동.
    168 북경오리구이 * 개울오리농장 (031) 531 - 5246 포천 삼팔선 휴게소 근처.
    169 불고기 * 광양불고기 02) 555-5035/ 5095 서울시 강남구 역삼동 823-12
    170 불고기 * 로뎀나무 031) 962-3996 경기도 고양시 덕양구 고양동 422-1
    171 삼겹살 ▶짚불삼겹살 031-901-3363 백마 까페촌 센터 사우나 위쪽에 위치.
    172 삼겹살 ▶코기코기(홍대점) 02-3141-4207 청기와 주유소 사거리에서 홍익대학교 방향으로 50m직진해 우측으로 두 번째 골목.
    173 삼겹살 ▶고바우 덩어리 생고기 02-2611-5586 7호선 온수역 5번 출구에서 나와 123번 버스 종점 입구.
    174 삼겹살 ▶유명농장(제주도) 064-782-2637 유기농 흑돼지의 맛을 볼 수 있는 집.
    175 삼겹살 짚불삼겹살 031-901-3363 백마 까페촌 센터 사우나 위쪽에 위치.
    176 삼겹살 코기코기(홍대점) 02-3141-4207 청기와 주유소 사거리에서 홍익대학교 방향으로 50m직진해 우측으로 두 번째 골목.
    177 삼겹살 고바우 덩어리 생고기 02-2611-5586 7호선 온수역 5번 출구에서 나와 123번 버스 종점 입구.
    178 삼겹살 유명농장(제주도) 064-782-2637 유기농 흑돼지의 맛을 볼 수 있는 집.
    179 삼계탕 * 고려 삼계탕 (02) 752 - 9376 / 2734 시청 역 대한항공 빌딩에서 서소문 쪽으로 가다보면 고려 삼계탕 건물이 보임.
    180 삼계탕 * 호수 삼계탕 (02) 848 - 2440 신길 5동 성락 교회 근처.
    181 삼계탕 * 우슬이네 (031) 923 - 7100 / 8877 자유로 타고 문산 방향으로 직진 하다보면, SK 주유소 보이면 오른쪽으로 들어가면 길 바로 옆에 위치함.
    182 삼계탕 * 벅 멀리건스 02) 3783 - 0004
    183 삼계탕 * 신카이 02) 3783 - 0000 ~ 1
    184 새우요리 * 텐키치 02) 551-1097 삼성동 코엑스 몰 입구 마르쉐 앞. (삼성역 5,6번 출구)
    185 샌드위치 * 앤치즈 (02) 511 - 7712 압구정역 사거리에서 성수대교 방면으로 200M 정도 내려가다 오른쪽에 보이는 신한은행과 하나은행 사이골목으로 들어가서 왼쪽 편에 있는 건물 2층
    186 샌드위치 * 위치스 테이블 (02) 732 - 2727 광화문 사거리의 금강제화를 끼고 우회전하면 바로 위치. (고려쇼핑 맞은 편).
    187 샌드위치 * 르뺑 (02) 549 - 4717 학동 4거리에서 키네마 극장 옆에 언덕 골목길로 200M 올라가다 보면 위치.
    188 샌드위치 * 퀴즈노스 (02) 539 - 8410 역삼역 사거리에서 역삼 세무서 방향으로 100M 정도 내려가면 우측에 있는 1, 2층 건물.
    189 샌드위치 * 리나스 02) 542-4826 압구정동 디자이너 클럽 맞은 편 골목으로 들어가 락앤롤 맞은 편 1,2층
    190 샌드위치 * 레인보우 썹 02) 542-9287 압구정동 갤러리아 백화점 맞은 편 파리 크라상 골목으로 들어가 막다른 3거리가 나올 때까지 우회전해서 우측에 1층에 위치.
    191 샌드위치 * 뽀아르 과자점 02) 3147-1537~8 이대 정문에서 럭키 아파트 쪽으로 올라가는 길에 위치.
    192 생선초밥 ▶어장군 064-744-2258 제주공항 5분거리
    193 생선초밥 ▶와사비 02-532-3399 방배중학교 앞
    194 생선초밥 ▶에미야스시 02-3482-4781 강남역 뒷길
    195 생선초밥 ▶소소(홍대앞) 02-333-0690
    196 샤브샤브 * 미시령 02-516-0340 강남구 논현동 98-12
    197 샤브샤브 * 스끼샤브 02-571-6868 서울시 강남구 도곡동 411-14 유일빌딩 1층
    198 수제비 * 샬레스위스 (02) 797 - 9664 이태원로를 타고 삼각지 방향으로 가다 홀리데이 이태원 호텔을 지나 첫 번째 골목에서 우회전하여 150m쯤 올라가면 우측에 위치.
    199 수제비 * 푸치니 (02) 552 - 2877 강남역에서 역삼역으로 좌회전해 목화예식장 골목으로 올라가면 우측에 위치. ( 시티극장 뒤편에 위치 )
    200 수제비 * 궁 (02) 515 - 0861 갤러리라 백화점에서 청담동쪽으로 직진하다가 시티뱅크 골목으로 계속 직진하여 보이는 하얀 건물.
    201 수제비 * 삼성동 수제비 (02) 508 - 8297 지하철 2호선 선릉역 8번 출구에서 200m정도 직진하여 보이는 신한은행 삼성동 지점 뒤 건물.
    202 수제비 * 뽕씨네 얼큰 수제비 (02) 678 - 0142 영등포 연흥극장 오른쪽에 있는 국민은행 후문 앞.
    203 수제비 * 수제비 매운탕집 (031) 765 - 1855 중부고속도로를 타고 가다가 광주 경안 인터체인지에서 광주 경안쪽으로 빠져서 광주읍으로 들어가 다시 곤지암 이천간 산업도로를 탄 후, 직진하다 <도평리> 팻말이 나오면 좌회전해서 수제비 매운탕 표지판을 따라, 직진하다보면 대성학원이 보인다. 그 골목으로 직진하면 위치.
    204 스테이크 뉴욕스테이크 02) 535-9845 서울시 서초구 반포동에 위치 이수교에서 팰래스 호텔 방향의 육교.
    205 스테이크 이빠네마 02) 779-2757 덕수궁 돌담길을 따라 10분 정도 도보 경향신문사 가기 전 정경빌딩 지하1층
    206 스테이크 잭 스테이크 02) 3143-4121 홍익대 정문에서 극동 방송국 방향으로 가다가 우회전해 바이더웨이에서 다시 우회전한 서교동 유창빌딩 8층
    207 스테이크 심 샤브샤브 032) 833-5581~5583 인천시 연수구 옥련동
    208 스파게티 뽐모도로 02-722-4675 서울 광화문에 위치,
    209 스파게티 메드 포 갈릭 02-546-8117 서울 압구정동 위치,
    210 스파게티 *뽐모도로 02-722-4675 서울 광화문에 위치,
    211 스파게티 *매드 포 갈릭 02-546-8117 서울 압구정동 위치,
    212 시골밥상 옛골 시골밥상 (본점) 031) 977-4799 / 031) 901-8680 경기도 고양시 일산구 성석동 일산경찰서에서 86번 도로 봉일천 방향 5km 군부대 앞에서 좌회전해서 들어간 곳.
    213 시골밥상 옛골 시골밥상 (원당점) 031) 962-6379 원당 전철역에서 의정부 송추 넘어가는 길로 2km정도 가다가 첫 번째 사거리에서 좌회전.
    214 시골밥상 지리산 02) 723-4696 서울 인사동 학고재 골목으로 쭈욱 들어가 막다른 곳에서 좌회전.
    215 시골밥상 놀부집 (대학로점) 02) 3675-9990~2 서울 대학로 동성 중학교 옆 피자헛 건물 지하 1층
    216 쌈밥 * 스님이 담근 된장 (031) 531 - 2433 경기도 포천시
    217 쌈밥 * 뚝배기 보다 장맛 (02) 536-2444 반포동 뉴코아백화점과 법원 사이에 있는 산호가든 1,2차 아파트 앞에 위치.
    218 쌈밥 * 원조 쌈밥집 (02) 549-3768 논현역 2번 출구 영동시장 방향으로 나오면 위치.
    219 쌈밥 * 경주 이풍녀 구로 쌈밥 (054) 749-0600 톨게이트에서 나와 첫 번째 신호에 좌회전해서 가다가 사거리 신호가 나오면, 다시 우회전해 대능원 입구에서 보문 방향으로 올라가다 보면 좌측.
    220 쌈밥 * 쌈밥 전문점 잎새 (031) 904-3356 풍동 까페 촌 안에 위치.
    221 아귀찜 김성애 해물나라 02-742-7752 낙원상가 허리우드 극장 터널을 지나 직진하여 끝지점 사거리에서 우회전!
    222 아귀찜 오동동할매 아구찜 055-241-2566 마산의 오동동 사거리 동아극장 옆에 위치!
    223 아귀찜 부산옥미 아구찜 02-561-6998 역삼역 7번 출구로 나와 직진! 경복APT 4거리 슈퍼월드 스포츠센터
    224 아귀찜 *김성애 해물나라 02-742-7752 낙원상가 허리우드 극장 터널을 지나 직진하여 끝지점 사거리에서 우회전!낙원떡집 맞은편에 위치!!
    225 아귀찜 *오동동할매아구찜 055-241-2566 마산의 오동동 사거리 동아극장 옆에 위치!
    226 아귀찜 *부산옥미아구찜 02-561-6998 역삼역 7번 출구로 나와 직진! 경복APT 4거리 슈퍼월드 스포츠센터 후문쪽!!!
    227 양장피 * 태화원 (032) 766 - 7688 인천시 선린동. 차이나타운 내.
    228 양장피 * 목란 (02) 517 - 0052 3호선 압구정역 4번출구. 먹자골목 내.
    229 양장피 * 남궁 (031) 911 - 3773 일산 대화 역 청저 공원 맞은 편..
    230 양장피 * 문창수산 (061) 246 - 3939 / 011 - 632 - 0056 흑산도 흑산면 수리 마을
    231 오징어불고기 * 낙끼오끼 (02) 741 - 3170 혜화역 1번 출구로 나와 우회전해서 낙산가든 주차장으로 넘어가다 보면 왼쪽에 위치.
    232 오징어불고기 * 곰터먹촌 (033) 434 - 8753 홍천구 서면 대곡리. 대명 비발디 파크 입구.
    233 오징어불고기 * 해남갈비 (02) 795 - 8428 한남동 순천향 대학 병원 후문 골목에 위치.
    234 우동 * 아마기리 (02) 783 - 6226 맨하탄 호텔 후문 쪽 극동 VIP빌딩 2층
    235 우동 * 누들 X (02) 392 - 4906 신촌에 위치한 퓨전 면요리 전문점. (신촌 신나라 레코드 맞은 편)
    236 우동 * 쇼우겐 (02) 6366 - 2800 시청 앞 신동아화재 빌딩 지하 1층에 위치한 정통 우동 전문점.
    237 우동 * 동경 02) 540-7557 / 548-8384 압구정동 구정 중학교 건너 편 오솔길 골목에 위치. (호산 병원 뒤 성수대교 남단 4거리)
    238 우동 * 하하 02) 3447-4242 강남구청역 3번 출구에서 하차. 압구정동 방향으로 50m 내려가서, 영동고등학교 맞은 편 골목에 위치. (논현동 TGI 뒷골목)
    239 우동 * 마도 02) 784-2660 대방역(여의도 역)에서 도보로 3분 거리. 알리안츠 생명보험과 KBS 별관 뒤편에 위치.
    240 육개장 * 샘터마루 ( 02 ) 902 - 6456 4.19탑에서 100m정도 직진하다가 우측에 있는 진달래 길 23호.
    241 육개장 * 진골목식당 ( 053 ) 253 - 3757 대구 중앙통 제일극장 건너 편 농협중앙회 뒤 길에 위치.
    242 육개장 * 새성주식당 ( 054 ) 333 - 4878 영천시 문외동
    243 육개장 * 오킴스 ( 02 ) 317 - 0388 조선호텔 지하 1층.
    244 자장면 옛날자장 02-416-0067 석촌호수 사거리! 롯데월드 맞은편에 위치!
    245 자장면 복성각 02-364-1522 신촌 연세대 정문 앞!
    246 자장면 자금성 032-765-1688 / 032-766-7688 직접 춘장을 담궈 그 맛이 일품! 인천역 맞은편 차이나타운 내 위치!
    247 장어구이 ▶성창식당 서울 은평구 역촌 오거리 (역촌역 4번출구)
    248 장어구이 ▶자갈치 꼼장어 숯불구이 관악구 신림동! 신림역에서 서울대 방면 버스 2정거장 정도
    249 장어구이 ▶풍천만옥 7호선 논현역! 5번 출구 터미널방향으로 150m가서 비너스빌딩 뒷편에 위치!
    250 장어구이 성창식당 02-355-5285 서울 은평구 역촌 오거리 (역촌역 4번출구)
    251 장어구이 자갈치 꼼장어 숯불구이 02-877-1577 관악구 신림동! 신림역에서 서울대 방면 버스 2정거장 정도
    252 장어구이 풍천만옥 02-549-9775 7호선 논현역! 5번 출구 터미널방향으로 150m가서 비너스빌딩 뒷편에 위치!
    253 전주콩나물국밥 * 왱이집 063) 287-6980 전주시 경원동 홍지 서림 옆에 위치.
    254 전주콩나물국밥 * 전주 한일관 02) 3453-5777 강남구 특허청 서울 사무소 뒤편에 위치.
    255 전주콩나물국밥 * 민들레 02) 541-1992 지하철 7호선 강남구청 역 2번 출구 LG 정유 골목으로 올라가서 100m 지점 위치.
    256 전주콩나물국밥 * 전주그린식품 063) 244-4622
    257 전주비빔밥 * 성미당 063) 287-8800~1 전주시 중앙동 전주 우체국 앞 골목에 위치.
    258 전주비빔밥 * 고궁 02) 776-3211 (서울 명동점) 4호선 명동역 9~10번 출구로 나와서 세종 호텔 뒤편에 위치.
    259 전주비빔밥 * 고궁 063) 251-3211 (전주 본점) 전주시 덕진 공원 옆.
    260 족발 * 뚱뚱이 할머니집 (24시간 영업) 02) 2279-2714 / 2273-5320 서울시 중구 장충동 장충 체육관에서 동대문운동장 쪽으로 가다가 육교가기 전 우측에 위치.
    261 족발 * 제주 허가네 족발 02) 730-5657 서울시 종로구 관훈동 인사동 경인 미술관 앞 (인사 갤러리에서 경인 미술관으로 들어가는 골목 제일 안쪽)
    262 족발 * 청솔왕 족발 (24시간 영업) 031) 453-4488 경기도 안양시 동안구 호계동 1번 국도상 수원에서 서울 방향으로 가다가 호계시장 밑 대로 주유소 앞 (서울 외곽 순환고속도 로 밑) 안양시 1번 국도 무궁화 태양 아파트 옆
    263 주꾸미구이 * 쭈꾸미 불고기 02) 2279-0803 충무로역 5번 출구 농협 옆 SK 골목 안.
    264 주꾸미구이 * 쭈삼쭈삼 031) 919-0066 일산 대화동 장성마을 대명아파트 2단지 건너편에 위치.
    265 죽 * 죽향 (한국전통죽) 02) 2265-1058 2호선 을지로 3가역 12번 출구로 나와서 백병원 정문 맞은편 2층
    266 죽 * 칭 (홍콩죽집) 02) 561-5551 역삼역 2번이나, 3번 출구로 나와서 스타빌딩 후문 뒤쪽에 위치.
    267 죽 * 소라의 성 (제주도 전복죽) 064) 784-6363 제주 정산읍 온평리 오촌계 해녀의 집
    268 중국요리 * 도이 02) 538-8887 대치동에 위치한 깔끔하고 격조 있는 분위기의 중식당.
    269 짬뽕 초류향 02-752-4442
    270 짬뽕 현경 02-3446-0022
    271 짬뽕 전창걸 짬뽕 031-918-1289
    272 참치스시 남가스시 02-554-2660 서울 대치동의 스시집!
    273 철판볶음밥 * 타이오키드 (02) 792 - 8836 ~ 8 홀리데이 이태원 호텔 바로 옆에 위치.
    274 철판볶음밥 * 진성집 (02) 547 - 7892 / 541 - 7892 서울시 서초구 신사동
    275 철판볶음밥 * 송광호 철판요리집 ( 논현점 ) 02) 3443 - 7852 / 7892 서울시 강남구 논현동
    276 철판구이 베니 하나 강남구 논현동 안세 병원 옆
    277 철판구이 서울 프라자호텔 뉴하마 시청 앞, 서울 프라자호텔 2층
    278 철판구이 쿡앤쿡 혜화로타리에서 과하고 방향으로 진입. 150m전방 기아 자동차 골목 안
    279 철판구이 별난 버섯집 지하철 5호선 답십리역 6번 출구와 7번 출구 사이 위치.
    280 카레 *타고르 02-326-0998
    281 카레 *장(張) 02-742-4788 지하철 4호선 혜화역 1번출구에서 KFC 골목안 주차장 근처
    282 카레 *강가(GANGA) 청담점 02-3444-3610 갤러리아 백화점에서 영동대교 방향으로 죽 내려가다가 우측 구찌매장 골목안
    283 카레 * 탈리 (031) 707 - 3192 분당 율동 공원내 새마을 연수원 초입
    284 카레 * 치앙마이 (02) 3783 - 0770 시청 파이낸스 빌딩 지하 1층 식당가.
    285 카레 * 달 ( dal ) (02) 736 - 4627 종로구 소격동 선재 아트 센트 1층.
    286 칼국수 명동교자칼국수(명동 유투존 뒷편) 02-776-5348 명동칼국수의 원조집이 바로 여기!
    287 칼국수 앵콜칼국수 02-525-8418 서초동 예술의전당 뒷편
    288 칼국수 김철1080칼국수(일산점) 031-908-1080 8가지 싱싱한 해물이 들어가는 해물칼국수와
    289 탕수육 ▶63시티 중식당 <백리향> 02-789-5741
    290 탕수육 ▶완차이 02-392-0302 연세대에서 신촌기차역으로 이어지는 먹자골목 내에 위치해 있다.
    291 탕수육 ▶도이 02-538-8887
    292 탕수육 ▶만리장성 02-591-3735 방배동 팔레스호텔 근처 주택가 안에 위치해 있다.
    293 통닭 영양센타본점 (명동) 02-776-2015 / 2341 명동 사보이 호텔 옆
    294 통닭 하회안동찜닭 (신촌) 02-312-6859 신촌 풍물거리에서 신촌역 방향으로
    295 통닭 참나무로 바베큐 02-716-9595 (오후 3시 30분부터 영업) 마포 공덕역 7번 출구
    296 통닭 성실축산 (치킨코리아) - 토종닭 054-955-2676 경북 고령군
    297 통닭 옥수산장- 토종닭 055-931-9397 경남합천군
    298 파스타 * 스케치 (02) 516-1581~3 압구정동 디자이너스 클럽 바로 옆에 위치.
    299 파스타 * 안나비니 (02) 3444-1275 청담동 갤러리아 명품관 맞은편에 있는 한국주단 골목으로 들어가, 좌측에 2번째 작은 골목 안에 위치함.
    300 파스타 * 쌀레에뻬뻬 (02) 745-2077~9 대학로에 위치.
    301 팟타이 * 타이오키드 ( 02 ) 792 - 8836 ~ 8 용산구 한남동. 한남대교나 반포대교를 타고 이태원로로 진입. 제일기획(구, 비바 백화점) 맞은편 이태원 호텔 옆 건물 3층.
    302 피자 * 라타볼라 (02) 793 - 6144 이태원 역 2번 출구로 나와서 10m정도 직진하다보면 왼쪽에 위치.
    303 피자 * 제시카 (02) 312 - 6947 이대 후문 맞은 편.
    304 피자 * 마지아노 피제리아 (02) 564 - 2255 역삼역 2번 출구로 나와서 70m정도 직진하다 보이는 스타타워 바로 옆 건물 2층에 위치.
    305 피자 * 삼립식품 (031) 496 - 2104 특징 : 삼립식품 피자호빵은 피자 토핑물과 독특한 피자소스, 피자치즈가 어울러져있어 색다른 피자의 맛을 느낄 수 있는 제품
    306 피자 라 볼파이아(청담동) 02-543-1770 청담 4거리 프라다 골목 빨간간판
    307 피자 오뗄(소시지) 02-408-9393 본사는 잠실에 공장은 포천에 있다.
    308 피자 우노(압구정 점) 02-547-4111 빵이 두툼하지만 오븐에 세번구워 바삭한맛이 난다.
    309 피자 피자모레(서울 혜화동) 02-762-4646 참나무 화덕을 사용해, 맛이 담백하며 피자종류만 20가지가 넘는다.
    310 피자 *라 볼파이아(청담동) 02-543-1770 청담 4거리 프라다 골목 빨간간판
    311 피자 *오뗄(소시지) 02-408-9393 본사는 잠실에 공장은 포천에 있다.
    312 피자 *우노(압구정 점) 02-547-4111 빵이 두툼하지만 오븐에 세번구워 바삭한맛이 난다.
    313 피자 *피자모레(서울 혜화동) 02-762-4646 참나무 화덕을 사용해, 맛이 담백하며 피자종류만 20가지가 넘는다.
    314 한우갈비 조선옥 02-2266-0333 서울 을지로에 위치한 갈비집
    315 한우갈비 삼부자갈비 031-211-8959
    316 해물탕 * 털보 해물탕 ( 032 ) 662 - 6848 중동역 남부광장으로 나와 송내 사거리에 있는 농협 건물 맞은 편에 있는 하이마트 옆에 위치한 연세 정형외과 건물 지하 1층.
    317 해물탕 * 세종회관 ( 02 ) 690 - 7515 까치산 전철역 사거리에 있는 화곡 전화국 맞은 편 복개천.
    318 해물탕 * 삼보식당 ( 064 ) 762 - 3620 제주도 서귀포 천지동에 위치한 제주 향토 음식 전문점.
    319 해물탕 * 아라줘 특이한 떡볶이 ( 02 ) 487 - 1442 천호동 구사거리에서 성내동 방향 30m 정도 2, 3층 건물.
    320 햄버거 치폴라 02-771-7890 광화문 파이낸스빌딩 지하 아케이드
    321 햄버거 네쉬빌 02-798-1592 이태원 헤밀턴호텔 맞은편
    322 햄버거 패리쉬 02-3444-0250 / 0251 청담동 갤러리아 맞은편 대로 두번째골목
    323 홍콩게요리 * hei kai (喜記) 2893-7565 g/f, shop h, 392 jeffe road, wanchai, hk
    324 홍콩게요리 * Rainbow Seafood Restaurant 2982-8100 16-20 & 23-24 first st,sok kwu wan lamma island
    325 홍콩게요리 * golden bauhinia 2582-7728 hk convention & exhibition centre, golden bauhinia square, hk
    326 홍콩게요리 * 미스터 차우 ( 02-730-5656 ) 광화문 코리아나호텔 1층.
    327 화히타 * 까사마야 (02) 545 - 0591 압구정동 로데오 거리에 위치.
    328 화히타 * 칠리스 (02) 416 - 7272 2호선 잠실 역 8번 출구로 나와서 교통회관 방면으로 가다보면 왼쪽에 위치.
    329 화히타 * 판쵸스 (02) 792 - 4767 지하철 이태원 역 4번 출구로 나와서 30m 정도 걸어가다 보면 왼쪽에 보이는 나이키 대리점 3층에 위치한 멕시칸 음식점.
    330 화히타 * 남향 또띠아 (032) 811 - 3288 인천시 남동구 고잔동.

    아래 글은 NHN 대표이사의 강연회 글입니다. (2003년 5월 27일)

    울회사 사장님이 사내 인트라 게시판에 올린 글인데, 와 닿는 부분이 많아 여기에도 올립니다.

     


    안녕하십니까? NHN 이해진입니다. 회사를 시작한지 4년 정도 됐습니다. 이제 시작하는 회사라 생각합니다. 이런 강연이 부담스럽고 피하는데, 이번에는 피할 수 없는 분이 부탁하는 바람에 자리에 서게 됐습니다. 삼성SDS 시절 알던 임원 한 분이 괜히 잘 나간다고 어디가서 강연하지 말라고 충고했습니다.

    오늘은 매우 의미있는 날입니다다. 회사 시작하던 날부터 신문기사를 잘 모아서 서비스하고 싶었습니다. 나는 유니텔에서 신문기사 검색을 개발했고, 신문 콘텐츠야말로 인터넷 검색의 최고라 생각했습니다. 그때부터 디조를 찾아가서 콘텐츠 제휴를 하고자 했습니다.

    2주 전 조선일보에 기고를 했다. 답글을 보니 “반이회창, 반미의 선봉 네이버의 사장이 조선일보에 글을 싣다니…”란 게 추천을 13개나 받고 올라와있었습니다. 오마이뉴스, 프레시안은 네이버에 서비스하면서 조선일보는 서비스를 하지 않는다는 얘기였습니다. 우리 입장에서는 엄청나게 억울했습니다. 조선일보가 안 줘서 그런건데 외부에서 보는 거는 이렇구나라고 생각했습니다.

    오늘 강의 제목도 그렇지만 인터넷의 방향, 비전 같은 거는 기자들과 인터뷰할 때도 갑자기 썰렁해지면 나오는 질문입니다. “NHN의 비전이 뭡니까?” 그러면 나는 속으로 ‘그런 질문하지 마세요’라고 말합니다. 그 때 변명처럼 한 얘기가 “인터넷이 어떻게 변할지는 아무도 모른다”는 거였습니다. 과거 빌 게이츠는 “인터넷은 쓰레기 더미이기 때문에 성공하지 못할 것”이라고 말했습니다. 하지만 빌 게이츠가 대단한 것은 빨리 자신의 말을 재빨리 번복했다는 것입니다.

    하지만 내가 알고 있는 것 중 (인터넷에서) 몇 가지 룰이 있는 것 같습니다. 우선 생물의 생존 법칙에서 보더라도 강자 또는 영리한 자가 살아남는 게 아닙니다. 살아남는 것은 환경에 가장 잘 적응하는 것입니다. CEO가 앞으로 비전을 말하는 게 오히려 더 위험합니다. 제 장점은 방향과 타이밍에 대해 늘 검증하는 것이라고 생각합니다.

    예전에 책에서 카리스마, 강한 비전을 갖고 있는 CEO가 있는 회사는 10년 이상 못 간다는 내용을 본 적이 있습니다. 이런 회사는 CEO가 무슨 문제가 있으면 함께 무너집니다. 장수기업을 보면 3M의 경우 CEO가 누군지 모릅니다. 인터넷이 어떻게 변할지 알고 있는 사람이 있으면 제 자리를 기꺼이 내드리겠습니다.

    1. 인터넷은 브랜드보다 서비스 퀄러티가 중요합니다.
    서비스 퀄러티가 인터넷만큼 빨리, 냉정하게 평가받는 게 있을까요? 사람들은 휴대폰에 가입할 때 011이 좋은지 016이 좋은지 확인을 못합니다. 샴푸를 살 때도 펜틴이 좋은지 도브가 좋은지 확인을 못합니다. 브랜드에 휩쓸려 구입한 후 계속 사용하는 것입니다.

    하지만 이런 룰이 안 먹히는 게 방송입니다. MBC가 아무리 드라마 왕국이라고 하지만 SBS가 ‘올인’같은 드라마를 내놓으면 사람들은 SBS로 옮기기 마련입니다. 방송은 이전에 대한 코스트가 없습니다. 금방 비교가 가능합니다. 신문만 해도 조선일보를 끊고 중앙일보를 보려면 과정이 귀찮습니다. 이와 똑 같은 게 인터넷입니다. 인터넷은 주소 한 번 치면 되니까. 비교할 수 있으니 남들한테 얘기할 수 있고… 구전효과가 큽니다.

    외국에서도 유명한 인터넷 브랜드는 마케팅 덕분이 아니라 구전 효과 덕분입니다. 미국에서 검색엔진 시장을 장악한 구글은 마케팅 비용을 한 푼도 들이지 않았습니다.

    4년 전 사업을 시작할 때 걱정하는 사람이 많았습니다. 그 때 이미 야후라는 거대 브랜드가 있었고, 새롬/다음 같은 코스닥 수퍼스타도 있었고, 라이코스 같은 외국 브랜드도 있었습니다. 사람들이 했던 말 중 하나가 “미디어는 3~4개 정도가 살아남는다”는 거였습니다.

    98년 처음으로 광고를 수주했습니다. 지금까지 사업하면서 가장 힘들었을 때가 그때였던 것 같습니다. 첫 광고를 딸 때 직원들이 다들 엔지니어라서 영업에 대해 무지했습니다. 결국 내가 총대를 맸는데 광고를 따러 가면 담당자들이 불쌍해서 하나 주고 하는 식이었습니다. 그 때 인터넷 광고를 가장 많이 했던 곳이 조선일보였습니다. 당시 조선일보 홈페이지에는 광고 걸 공간이 없을 정도로 인기가 높았습니다.

    광고 노하우를 배우기 위해 조선일보 광고 영업 담당자에게 찾아갔습니다. 그 분은 굉장히 괴로워하며 “당신네는 사업을 접는 게 낫겠다. 비전이 없다”고 말했습니다. 그 분은 조선일보가 가면 광고주들이 광고를 주지만 우리 같은 작은 업체는 광고수주를 잘 할 수 없을 것이라 생각했습니다.

    닷컴 초창기 인터넷업체들도 광고를 많이 했습니다. 우리 꼬마도 “잘 했어, 라이코스!”라는 TV 광고를 따라해 내가 스트레스를 받았던 기억이 납니다. 그 때 ‘네이버는 마케팅을 모른다’는 비난도 많이 받았습니다. 남들은 아무도 기억을 못하지만 우리도 1년에 50억원씩 쓰며 광고를 했습니다. 얼마 전 한 네티즌이 “사랑을 주제로 한 네이버 광고를 본 후 줄곧 네이버를 이용하고 있다”는 글을 올린 걸 보고 내가 굉장히 흥분했었습니다. ‘아, 우리 광고를 기억하는 사람도 있구나!’(웃음)

    작년 초만해도 네이버는 페이지뷰는 높지만 브랜드 인지도는 낮았습니다. 하지만 서비스는 굉장히 좋아지고 있었습니다. 경영학적 관점에서 보면 마케팅에서 밀리면 끝이지만 인터넷은 퀄러티가 제일 중요합니다. 네티즌은 퀄러티에 민감하고, 그게 특히 심한 데가 우리나라입니다. 그래서 고맙기도 하고 두렵기도 합니다.

    우리 회사 직원들은 나를 쫀쫀하다고 합니다. CEO가 직원들 불러서 “야, 여기 오타났다”고 말하니 말입니다. 하지만 이게 바로 내가 만들고 싶은 우리 회사의 문화입니다. 나는 퀄러티에 있어 베스트가 되라고 강조합니다. 내가 제일 싫어하는 게 사용자가 보는 페이지에 오타가 나는 것입니다. 히딩크 말을 인용하면 “기술 떨어지는 사람, 전략을 이해 못하는 사람은 용서해도 몸싸움에서 밀리는 사람은 용서할 수 없다.” 마찬가지로 돈 못 벌어오고, 큰 기획을 못 하는 건 용서해도 사용자가 보는 페이지에 실수를 하는 건 용서하지 못합니다. 내가 신입사원을 불러 강조하는 말입니다.
    인터넷에서는 오프라인의 패러다임이 안 통합니다. 인터넷 분야에서 삼성 등 대기업이 고전을 면치 못하고 있습니다. 인터넷은 브랜드 싸움이 아니라 퀄러티 싸움이기 때문입니다. 네티즌들은 써보니 불편하고, 가격이 비싸고, 불친절하다면 금세 바꿔 버립니다. 그리고 입소문을 냅니다.

    ‘조선’은 강한 브랜드입니다. 하지만 인터넷 광고주들은 철저히 효과를 봅니다. 클릭수와 페이지뷰를 봅니다. 3년 전에는 무조건 조선일보 홈페이지에 내 광고가 떴다는 것에 기뻐했지만, 지금은 아닙니다.

    2. 핵심에 집중하라.
    핵심역량에 집중하는 게 꼭 중요하지만은 않습니다. 질레트도 면도기 뿐 아니라 ‘오랄비’라는 칫솔을 만들어 성공했고, 엔씨소프트도 그룹웨어 업체에서 게임회사로 변신했고, 네오위즈도 원클릭에서 세이클럽으로 바뀌었습니다. 소니도 밥솥회사였고, 3M도 광산회사였습니다. 처음 일을 계속 이어가는 게 중요하지는 않습니다. 중요한 것은 타이밍이다.

    하지만 더 중요한 것은 core이다. 그럼 나에게 core는 무엇인가? 회사가 어려워졌다고 가정해봅시다. 구조조정시 끝까지 자르지 않고 쥐고 있을 것은 무엇인가를 생각해보자.

    인터넷 열풍이 꺼졌을 때 제가 저지른 큰 실수가 검색엔진만으론 도태될 것 같아 메일, 클럽 등 포털이 하는 모든 것을 펼쳐놓았던 것이다. 그 때 나온 결과는 신통치 않았다. 검색엔진의 개발자들을 메일, 클럽에 보내 핵심 역량을 분산시키자 엠파스가 등장하며 우리의 핵심이던 검색엔진이 공격받았습니다. 여기 빼다 저기에 박으면 여기가 공격당한다는 것을 배웠습니다.

    전자상거래는 참 매력적인 사업이다. 지금은 비록 회계기준이 바뀌었지만 매출을 부풀릴 수 있는 좋은 수단이기도 했습니다. 하지만 내가 전자상거래에 손을 대지 않은 게 결국은 좋은 결과를 가져왔습니다.

    집중을 해야 서비스 퀄러티를 높일 수 있습니다. 그 때 이것저것 다 한다던 포털들은 지금 망가졌습니다.

    또 한가지 집중해야 할 것이 나에게 오는 사용자중 core가 누구냐를 파악하는 것입니다. 내 제품을 가장 중요시 여기고 끝까지 남을 사람이 누군지 파악하는 것입니다.

    사람들은 머릿속에 포지셔닝을 하는 버릇이 있습니다. 다음은 이메일 용량을 5MB밖에 안 주지만 우리는 10MB나 준다. 하지만 사람들은 다음을 더 많이 갑니다.

    한게임과 합병할 당시 브랜드 네임을 갖고 고민을 많이 했습니다. 그 때 내린 결론이 사용자들은 놀고 싶을 때 원하는 브랜드와 정보를 얻으려는 브랜드가 따로 있다는 사실이었습니다.

    한게임에서 “뉴스 보세요” “증권 정보 얻으세요”라고 하면 먹히겠습니까. 아직도 미국은 야후가 지오시티를 합병하며 ‘야후!지오시티’라는 이름을 붙이는 등 하나의 브랜드로 통합하는 경향이 있습니다. 바람직하지 않다고 봅니다.

    얼마 전 경영교육을 받았는데 이랜드와 제일모직의 사례가 나왔습니다. 제일모직은 모든 종류의 옷을 만들지만 이랜드는 젊은이 캐주얼만 만듭니다. 이랜드는 매출도 높고 순이익도 높습니다. 사용자를 넓혔다고 다 좋은 건 아닙니다. 하지만 잘 판단해야 할 것이 있습니다. 너무 사용자를 좁혀서 사업이 안되는 경우도 있으니까. 예를 들어 모바일 솔루션 업체의 경우 아무리 좋은 기술을 갖고 있어도 유통사가 SK텔레콤/KTF/LG텔레콤 3개밖에 없으니 성장할 수가 없습니다.

    3. 인터넷 서비스업체들은 돈을 어떻게 벌까?
    네이버는 99년 1억원의 흑자를 냈습니다. 2000년에는 닷컴 버블이 꺼지고 마케팅 경쟁을 벌이느라 80억원 적자를 냈습니다. 2001년에 들어서니 회사의 현금이 줄어들더라. 6개월 후면 구멍이 날 상황이었습니다. 스트레스를 엄청 받았습니다.

    그 때 시도한 것 중 하나는 반드시 성공을 시켜야 했다. 그 중 하나가 게임 유료화였습니다. 당시 우리가 한게임을 유료화한다고 했을 때 많은 이들이 비웃었습니다. 카드게임 하는데가 너희 밖에 없냐고.

    또 하나 시도는 검색광고였습니다. 큰 기업은 경기에 따라 광고물량이 다르기 때문에 큰 기업에 의존해서는 경영을 예측하기 어렵습니다. 그래서 소액 광고를 개발했다.

    나머지는 일본 지사였다. 솔직히 그 전에는 잘난체하려 일본 지사를 만든 감도 있었습니다. 하지만 모두 실패하면 일본 가서 솔루션이라도 팔자는 심정으로 일했습니다.

    결과는 성공이었습니다. 한게임 매출액이 올라가는 것을 보며 “이거 에러 아니야?”라고 되물을 정도였습니다. 2001년 20억원의 흑자를 냈다. 전세계 닷컴이 모두 적자를 내고, 다음커뮤니케이션은 200억원의 적자를 낸 상황이었습니다. 그 때 가장 많이 받은 질문이 “닷컴 기업이 언제 살아날 것 같아요?”였다. 처음엔 우리가 흑자를 냈다고 믿어주는 분위기도 아니었습니다. 비상장기업이기도 하니…

    작년에는 200억원 흑자를 냈습니다. 인터넷이란 게 거품이 아니라 이렇게 돈 벌 수도 있다는 사실을 보여줬습니다.

    네이버의 검색, 한게임의 유료화가 성공한 것은 결국 핵심 서비스에서 내 revenue가 나온다는 것을 보여준 것이었습니다. 다른 닷컴의 예를 봐도 네오위즈는 사용자는 느는데 돈은 못버는 채팅 때문에 고민하다 아바타를 만들어 성공했습니다. 결국 그 회사의 장점에서 수익이 나오는 것입니다.

    누군가 수익모델을 찾아내면 또 다른 수익모델이 계속 나올 것이다. 여기서 누군가란? 그 서비스에 몰입해있는 사람이다.

    사람들의 능력도 중요하지만 더 중요한 것은 열정입니다. 서비스에 몰입해 사용자의 마음을 읽어내야 합니다. 어떤 사람에게는 ‘시키는 것만 잘해라’라고 요구하지만 어떤 사람에게는 ‘뭘 해야할지 알아내라’고 요구합니다. 두 사람의 차이는 ‘열정’입니다.

    그럼 어떻게 하면 사람들에게 열정을 불어넣을 수 있을까? 언젠가 책에서 경영자들이 가장 많이 하는 실수가 자신이 직원들을 열정있게 만들 수 있다는 착각이란 내용을 읽은 적이 있다. 경영자는 열정있는 사람을 찾아 그 사람에게 맞는 일을 시키는 것입니다.

    기술자 같으면 그 사람에게 실력이 있는지 없는지 바로 알 수 있습니다. 하지만 기획자는 발견하기 어렵습니다. 포토 서비스, 메일 서비스 담당자는 전공도 없으니… 이럴 때는 열정있는 사람을 많이 써야합니다. 경영진이 motivate하는 것이 아니라 스스로 열정있는 사람을 찾아야 합니다.

    삼성에 근무할 때 ‘내가 이 일을 열심히 하면 뭐가 될까? 과장? 부장?’ 이런 고민을 많이 했습니다. 삼성에서는 이런 경우가 흔하지 않은데 나 같은 경우 운 좋게도 내가 재미있게 할 수 있는 분야를 찾았습니다. 검색엔진이라는 분야에서 7년간 일한 것이다.

    아까도 핵심 경쟁력이 중요하다고 말했지만, 우리는 모든 포털이 전자상거래에 뛰어들 때도 이는 우리의 핵심이 아니라고 판단해 시작하지 않았습니다. 사람들은 대표적 인터넷기업을 아마존이라 얘기하는 데 난 이해하지 못하겠습니다. 아마존은 앞에서는 온라인을 내세우고 뒤에서는 큰 물류창고를 운영하는 오프라인 기업입니다. NHN은 콘텐츠를 생산하는 곳이 아니라 콘텐츠를 사용자들에게 보여주고 유통하는 곳입니다.

    Q&A
    1. 언론사 사이트의 검색은 어떻게 가는 게 옳은가?
    일단은 잘 모르겠다. 97년 신문사 사이트를 열심히 봤다. 다른 건 몰라도 우리가 검색은 자신있다고 생각해 언론사를 찾아갔다. 모두 거절당했다. 신문사들은 사람들이 기사 퍼가는 문제를 겁내하며 자기가 직접 하자는 주의였다. 검색이란 게 기계 하나로 되는 게 아니다. 업그레이드도 계속해줘야 하고… 검색 전문가와 손잡았으면 좋았을텐데… 검색이 잘되면 퀄러티가 높아지는 것이다.
    퀄러티도 나오기 전에 비즈니스 모델을 생각하면 안 된다. 퀄러티가 높아지면 페이지뷰도 오르고 그러면 열정있는 누군가가 비즈니스 모델을 생각하기 마련이다.
    2. 네이버의 가장 취약한 콘텐츠와 앞으로의 전략은?
    요즘 신문사들이 포털에 경계의 시각을 갖고 있다. 쟤들이 미디어 사업을 하려는게 아닌가 하는 우려다. 우리는 콘텐츠를 생산하지 않는다. 제휴를 할 뿐이다.
    요즘 모바일이니 유비쿼터스니 하는 말이 많다. 사업을 하며 중요한 것이 타이밍이다. 나는 지금까지 해서 득 본 것보다 안 해서 득 본 게 더 많다. 퀴즈 프로그램에서도 가만히 있다 감점 안 당하고 나오는 사람이 설치다 감점 당하는 사람보다 낫지 않은가. 나는 모바일을 시작하지 않았다. 언론은 포털이 모바일로 가면 장악하지 않을까 우려한다. 나는 모바일이 조금 더 시간이 걸릴 것이라 생각한다.

    3. 조선일보라는 브랜드를 인터넷에서도 계속 사용해야 할까?
    서비스는 사용자에 포커스를 맞춰야 한다. 조선일보는 퀄러티가 높다. 하지만 사람들 머릿 속에 브랜드 이미지가 강하게 박혀있다. 나는 ‘게임조선’이란 말을 듣고 너무 놀랐다. ‘조선’이 주는 이미지가 있고 ‘게임’이 주는 이미지가 있는데, 두 브랜드가 충돌하는 느낌이었다.
    질레트가 칫솔을 만들며 질레트 칫솔이 아니라 오랄비를 만들었듯 그 사업을 할 때 브랜드의 힘을 싣고 갈 것인지 아닌지를 잘 판단해야 한다.
    조선닷컴은 서비스 퀄러티도 중요하지만 어떻게 포지셔닝 할까도 고려해야 한다. 보수며 조선일보를 좋아하는 사람도 붙잡으면서 젊은 세대도 끌어모아야 한다. 아직까지 신문사 사이트는 퀄러티보다 브랜드를 보는 경향이 높은 것 같다. 한겨레 사이트를 가는 사람들은 퀄러티 때문이 아니라 브랜드를 보고 가는 것이다.

    4. 인터넷의 미래?(정확히 기억나지 않음. 야마없는 질문^^)
    우리 회사에서 내부적으로 하는 농담 중 ‘찾을 때는 네이버, 심심할 때는 한게임’, ‘낮에는 네이버, 밤에는 한게임’이란 말이 있다.
    인터넷시대에 접어들며 정보가 파워풀해졌다. 또 엔터테인먼트도 강해졌다. 나는 정보와 엔터테인먼트가 큰 축이라 본다. 한게임 쪽은 김범수 사장이 따로 있어 잘 모르겠고 네이버 예를 들면, 새로운 정보를 보여줄 여지는 충분하다.
    우리가 지식iN 서비스를 처음 시작할 때 질문은 많겠지만 답이 얼마나 될까 우려했다. 하지만 의외로 질문보다 답이 더 많다. 우리는 현재 70만권의 논문 서비스도 유료로 진행중이다. 정보를 잘 담는 사람들이 사용자들의 갈증을 해소시켜 줄 것이다.

    'Useful things' 카테고리의 다른 글

    =맛대맛에 나온 맛집 주소=  (5) 2004.01.29
    영작문에 도움되는 실용영어 1,001  (0) 2004.01.27
    지하철 빨리 갈아타는법..  (0) 2004.01.26
    메일 프로그램을 하나 짜야 하는데 클래스 상속과 재정의 문제로 반나절 삽질을 했습니다.

    현재 서버에 설치된 SMTPd가 localhost조차도 인증을 해야만 메일을 보낼 수 있게 설정되어 있습니다. smtplib 모듈의 login(user, password) 메쏘드를 이용하면 된다는 말을 듣고 그대로 해보았는데 계속 실패하는 것입니다.

    문제의 원인을 찾아본 결과, SMTPd가 제공(한다고 표시)하는 AUTH 방식이 제대로 작동하지 않는 것이었습니다. 위 SMTPd의 ehlo 메시지는 다음과 같습니다.

    코드:
    ehlo localhost
    250-xxx.xxx.co.kr
    250-PIPELINING
    250-AUTH LOGIN CRAM-MD5 PLAIN
    250 8BITMIME


    LOGIN, CRAM-MD5, PLAIN 이 3가지의 인증방식을 제공한다고 나와 있지만, 실제로 제가 테스트해본 결과 CRAM-MD5 인증은 작동하지 않습니다. 그동안 몰랐던 이유는 아웃룩이나 모질라에서는 LOGIN 방식만을 지원하기 때문에 메일 클라이언트에서 메일 보내고 받는 데 여태 문제가 없었기 때문입니다. 물론 CRAM-MD5 인증방식이 제대로 작동하도록 재설치하면 아무 문제가 없지만, 그럴 수 없는 사정이었습니다.

    smtplib 모듈의 login() 메쏘드 소스를 보니, 서버의 AUTH 응답 코드를 리스트로 가지고 있다가, CRAM-MD5, LOGIN, PLAIN 순서대로 인증 시도를 하더군요.

    코드:
    if authmethod==AUTH_CRAM_MD5:
        ...
    elif authmethod==AUTH_LOGIN:
        ...
    elif authmethod==AUTH_PLAIN:
        ...


    여기서 문제가 생기는 것입니다. 실제로 서버에서는 CRAM-MD5 인증방식이 제대로 작동하지 않는데도 불구하고 Response 메시지에 표시가 되는 문제가 있는데, smtplib 모듈에서는 Response 메시지만을 읽고 CRAM-MD5 방식의 인증을 먼저 시도한다는 거죠. 참고로 CRAM-MD5 인코딩은 서버측 세션값과 timestamp, 클라이언트의 MAC 어드레스 등을 base64로 인코딩합니다. 이에 비하자면 LOGIN은

    코드:
    "%s %s" % ('LOGIN', encode_base64(user, eol=""))


    어렵지 않게 풀립니다. 아웃룩, 모질라 등의 메이저 메일 클라이언트들에서 CRAM-MD5 방식의 SMTP 인증을 빨리 지원해주기를 바랍니다. (사실 위 클라이언트들에서 CRAM-MD5 방식을 (smtplib 모듈과 같은 방식으로) 지원했더라면, 서버 관리자가 진작에 문제를 알아차렸을 것이므로 이렇게 허망한 삽질을 할 이유도 없었을 것입니다. -_-)

    아뭏든 smtplib.py 소스에 직접 손을 대면 어렵지 않게 해결할 수 있었겠지만--if/elif 순서를 바꿔 LOGIN을 먼저 처리하도록--, 표준 라이브러리에 손을 대는 것이 영 찜찜하여, 관계된 모듈의 클래스를 상속받아 문제가 되는 login() 메쏘드만 재정의했습니다.

    코드:
    import smtplib

    class SimpleSMTP(smtplib.SMTP):
        def login(self, user, password):
            (code, resp) = self.docmd("AUTH",
                "%s %s" % (AUTH_LOGIN, encode_base64(user, eol="")))
            if code != 334:
                raise SMTPAuthenticationError(code, resp)
            (code, resp) = self.docmd(encode_base64(password, eol=""))
            if code not in [235, 503]:
                # 235 == 'Authentication successful'
                # 503 == 'Error: already authenticated'
                raise SMTPAuthenticationError(code, resp)
            return (code, resp)


    아래와 같이 사용합니다.

    코드:
        smtp = SimpleSMTP(smtphost)
        smtp.login(user, password)
        smtp.sendmail(mailfrom, mailto, subject+'\r\n\r\n'+body)
        smtp.quit()


    혹시 SMTP 인증 문제로 어려움을 겪고 계시다면, 을 참조하여 서버와 주고받는 메시지를 확인해보시고, smtplib 모듈에서 encode_base64, encode_cram_md5, encode_plain 등을 각각 추출하여 직접 서버와 통신해보십시요.

    코드:
    def encode_base64(s, eol=None):
        return "".join(base64.encodestring(s).split("\n"))

    def encode_cram_md5(challenge, user, password):
        challenge = base64.decodestring(challenge)
        response = user + " " + hmac.HMAC(password, challenge).hexdigest()
        return encode_base64(response, eol="")

    def encode_plain(user, password):
        return encode_base64("%s\0%s\0%s" % (user, user, password), eol="")

     

     

    출처 : http://bbs.python.or.kr/viewtopic.php?t=19659

    'programming > python' 카테고리의 다른 글

    파이썬 코딩 스타일 가이드  (0) 2004.01.27
    파이썬 스타일 지도서  (0) 2004.01.27
    특정 달의 날짜 수 구하기  (4) 2004.01.27

    하루에 한 두 문장씩 외워보는 것도 좋은 방법일거 같네요.

     

    그냥 올리면 너무 길어서 파일로 첨부했습니다.

     

    출처 : http://board1.hanmir.com/blue/Board.cgi?path=db374&db=gpldoc&page=0&cmd=view&no=392

    'Useful things' 카테고리의 다른 글

    =맛대맛에 나온 맛집 주소=  (5) 2004.01.29
    [펌] NHN 대표이사의 강연회 글..  (0) 2004.01.28
    지하철 빨리 갈아타는법..  (0) 2004.01.26

    파이썬 코딩 스타일 가이드

    한글판 johnsonj 2003.11.21

    파이썬 코드의 형식에는 수 많은 방식이 있다. 이런 자유를 남용하여 읽기 어렵게 만들고 그리하여 유지보수하기가 힘들게 코드를 작성하는 프로그래머가 많다. 적절하게 코드를 포맷하는 방법에는 여러가기 있겠지만, 여기에서는 실제로 사용할 때 쓸모가 있을 만한 가이드라인을 제공한다. 맹목적으로 따를 필요는 없지만, 어설픈 형식에는 확실하게 어깃장을 놓아볼 생각이다. 이 가이드라인중 일부는 크게 쓸모가 없어 보일 수도 있지만, 코드를 읽어 보면, 확실하게 그 차이를 느낄 수 있을 것이다.

    다음에서, 각 항목은 설명다음에 그에 관련된 코드가 따른다. 이 코드로 문제를 지적하면서 코드를 교정하겠다. 항목에 코드를 짝짓는 일은 여러분의 책임이다. 모쪼록 이렇게 해서 재미있게 이 스타일 가이드를 읽기를 바란다:-) 일반적으로, 한 섹션에서 앞의 항목은 뒤의 항목보다 더 중요하며 그리고 더 자주 일어나는 에러를 나타낸다.

    또, 가장 단순한 스타일의 실수를 잡는 것을 돕기 위하여 자동화된 스타일 점검기 프로그램을 제공한다. 이 프로그램은 에러 모두를 잡아내는 것은 아니지만, 일반적인 에러들을 많이 잡아낸다. 코드를 제출하려면 먼저 스타일 점검기에 그 코드를 넣어 테스트해 볼 필요가 있을 것이다; 실패하면, (스타일 점검기에 버그가 있다는 것을 확신시켜 주지 못하는 한, 물론 그럴 수 있다) 평가 대상이 되지 못한다. 파이썬 스타일 점검기는 (물론) 파이썬으로 작성되었다;-). 먼저 내려 받은 다음, "~/bin" 디렉토리에 넣고 나서 (디렉토리를 하나 만들고 탐색 경로에 넣어두면 된다) 다음과 같이 하자:

        chmod +x ~/bin/python_style_check
    그 다음에, 파일 "foo.py"의 스타일을 점검하려면, 다음과 같이 한다:
        python_style_check foo.py
    에러가 많이 보고되더라도 놀라지 말자; 그냥 파일을 찾아 들어가 고치면 된다. 어떤 줄에서는 갖가지 모습으로 규칙을 범하고 있을 것이다; 그 모든 실수들을 고쳐야 한다. 처음에는 이 프로그램이 마음에 들지 않겠지만, 그 결과로 코드가 훨씬 읽기에 편하게 된다는 사실을 명심하자. 프로그램에서 버그를 발견했다고 생각하면, 즉시 알려주기를 바란다; 이 프로그램은 개발중인 작품이다. 주의할 것은 스타일 점검기가 가끔씩 멍청해서 주석이나 기호문자 문자열 안에 있는지 알지 못하므로, 그러한 경우에는 실제로는 에러가 아닌데도 보고하는 경우가 있다. 그렇다면, 그냥 무시하면 된다. 스타일 점검기는 또한 여러 자바 소스 코드 파일도 다룰 수 있다는 것을 주목하자. 그래서 따로따로 파일을 지정하는 대신에 다음과 같이 할 수 있다:
        % python_style_check *.py
    물론, 파일이 .py로 끝나지 않으면 따로따로 다 지정해야 한다.


    일반적으로 많이 저지르는 스타일 실수

    다음에 지적하는 실수들은 거의 보편적이라고 할 정도로 아주 자주 일어난다. 그러므로, 특히 주의해서 피해 주기를 바란다. 링크를 따라가서 아래에 기술된 설명을 보도록 하자. 별표(*)가 뒤에 붙은 스타일 실수는 스타일 점검기로 잡을 수 있다.
    • TABS*   코드에 탭 문자를 사용한다.
    • OPERATOR_SPACE*   연산자 양쪽에 공간을 하나씩 두지 않는다.
    • COMMA_SPACE*   쉼표 뒤에 공간을 두지 않는다.
    • LINE_LENGTH*   78 문자가 넘는 줄을 작성한다.
    • USAGE_STMT   사용 설명이 빠졌거나 부적절하다.
    • BLANK_LINES   함수나 프로그램에 너무 많은 또는 너무 적은 빈 줄을 사용한다.
    • COMMENTS_FULL_SENTENCES   불완전한 문장으로 주석을 작성한다.
    • COMMENTS_GRAMMATICAL   문법적으로 옳지 않거나 철자가 바르지 못한 주석을 작성한다.
    • COMMENT_SPACE*   열림-주석 심볼 "/*" 뒤에 닫힘-주석 심볼 "*/" 앞에 공간을 하나씩 두지 않는다.
    • DOCSTRINGS   함수, 클래스, 혹은 모듈의 머리부에 적절한 문서화문자열 주석을 작성하지 않는다.
    • EXCEPTIONS_CATCH_ALL   일망타진(catch-all) 예외 처리를 사용한다.

    스타일 실수의 범주

    일반

    • [TABS]

      절대로 탭 문자(ascii 0x9)는 사용하지 말자! 사람마다 탭 설정을 다르게 사용한다. 너비가 2인 탭으로 잘 작동하는 듯 보이는 코드라도 너비가 8인 탭에서는 문제가 된다. (추천해 마지 않는) 이맥스를 사용한다면, 다음 줄들을 .emacs 파일에 넣어두자:

          ;; Load python mode.  The path will depend on the installation.    (load-file "/home/cs11/emacs/python-mode.el")    ;; Make files that end in .py automatically go into python mode.    ;; If your file doesn't end in ".py" then you'll have to do    ;; "M-x python-mode" manually after you load up the file.    (append '(("\\.py\\'" . python-mode)) auto-mode-alist)    ;; Set up initialization parameters for python mode:    (setq python-mode-hook          '(lambda () (progn                        (set-variable 'py-indent-offset 4)                        (set-variable 'py-smart-indentation nil)                        (set-variable 'indent-tabs-mode nil) )))
      이맥스에서 파이썬 코드를 편집하면서 탭 키를 치면, 자동으로 그 코드를 그 줄에서 합리적인 위치까지 들여쓰기 해 준다. 앞의 코드를 (이 코드는 emacs-lisp 코드이지만, 신경쓰지 말것) .emacs 파일 안에 넣어 두면, 탭 키를 치더라도 실제로 코드에 탭 문자가 들어가는 대신에, 그냥 네 개의 공간을 넣는다.

    • [OPERATOR_SPACE]

      언제나 다음 연산자들 주위에는 각 양쪽에 공간을 하나 두자: 할당 연산자 (=, +=, 등등), 비교 연산자 (==, <, >, !=, <>, <=, >=, in, not in, is, is not), 불리언 연산자 (and, or, not), 그리고 산술 연산자. 예제:

      i = j + 1               # 불가 i=j+1        submitted += 1          # 불가 submitted+=1        x = x * 2 - 1           # 불가 x=x*2-1        hypot2 = x * x + y * y  # 불가 hypot2=x*x+y*y        c = (a + b) * (a - b)   # 불가 c=(a+b)*(a-b)

      어떤 사람들은 * 또는 / 양쪽에 공간을 두지 않는 편을 더 좋아하지만, + 그리고 -에는 우선순위에 대한 힌트로서 공간을 두기를 좋아한다. 그렇지만 이는 권장할 수 없다. 그렇지만, 간단한 증/감 연산에 대한 배열 첨자에서는 양쪽에 공간을 생략해도 좋다:

          b = a[i-1]

      불행하게도 현재 버전의 스타일 점검기는 무조건 이에 표식을 한다.

    • [COMMA_SPACE]

      쉼표 다음에는 언제나 공간을 하나 두자.

    • [LINE_LENGTH]

      주변에는 여전히 80개의 문자로 제한되는 장치들이 많다 (특히 프린터). 그런 장치에 대하여 기본 줄바꿈 값은 보기에 않 좋다. 그러므로, 줄들을 모두 78 자까지 제한하자.

      긴 줄을 감싸는 유력한 방법은 파이썬이 활괄호, 각괄호, 반괄호 안에서는 묵시적으로 줄이 연속되어 있다고 간주하는 점을 이용하는 것이다. 필요하다면, 표현식 주위에 괄호를 하나 더 덧붙여도 좋지만, 역사선을 이용하는 것이 더 보기 좋은 경우도 있다. 반드시 연속된 줄을 적절하게 들여쓰기 하자. 예제 약간:

          class Rectangle(Blob):        def __init__(self, width, height,                     color='black', emphasis=None, highlight=0):            if width == 0 and height == 0 \               and color == 'red' and emphasis == 'strong' \               or highlight > 100:                raise ValueError, "sorry, you lose"            if width == 0 and height == 0 and (color == 'red' \                                               or emphasis is None):                raise ValueError, "I don't think so"            Blob.__init__(self, width, height,                          color, emphasis, highlight)

      어떤 경우에는, 명시적인 줄 연속 문자가 불필요한 경우가 있다. 잘 모르겠으면, 어쨌거나 사용하자. 또, 기다란 불리언 표현식에는 (a and b and c...) "and" 또는 "or"를 줄의 끝이 아니라 앞에다 두자; 이렇게 하면 표현식이 앞의 줄에서 계속된다는 사실을 확실히 알 수 있다.

    • [USAGE_STMT]

      프로그램이 올바르지 않은 인자로 호출되면, 그 사실을 탐지해서 터미날에 사용법을 인쇄해 주어야 한다. 사용 방법에는 반드시 그 프로그램의 이름이 들어가야 한다. 가장 쉽게 하는 방법은 sys.argv[0]를 이용하는 것이다.

          import sys, re    # 완전한 프로그램의 경로이름을 벗겨내고 프로그램 이름만 남긴다.    prog_name = re.sub(".*/", "", sys.argv[0])    usage = "usage: %s input_filename output_filename" % prog_name    if len(sys.argv) != 2:       print usage       sys.exit(1)
      주목할 것은 인자들이 연상작용을 돕는 이름이 있다는 것이다. 사용법 메시지가 아주 길면, 문서화문자열 안에 넣자 (아래 참조).

    • [BLANK_LINES]

      최고-수준의 함수와 클래스 정의는 최소한 두 개의 빈 줄로 가르자. 클래스 안에서 메쏘드 정의를 가르는 것도 역시 빈 줄 두개로 가른다. 그러나 어떤 경우에는 빈 줄 한개도 괜찮다. 관련 함수를 모아 놓은 그룹이라면 빈 줄을 더 사용하여도 좋다 (그러나 너무 지나치면 안된다). 또 주석을 두어 함수의 그룹을 갈라도 좋다. 예.

          # 다음 함수들은 위젯 클래스를 위하여 인터넷 접근을 제공한다.

      정말로 중요한 섹션이라면, 또는 클래스 머리부라면, 다음과 같이 하자:

          #    # 이 클래스 위젯이 구현하는 객체는    # 갖가지 종류의 일들을 할 수 있다.    #

      즉. 즉 머리부의 윗쪽과 아래쪽에 빈 주석 줄 하나씩을 두자.

      기다란 함수나, 또는 함수 안에서 섹션이 길다면, 주석을 함수/블록의 끝에다 다른 것도 좋은 생각이다, 예.

          def foobar(x, y, z):        # 다음에 코드가 2000 줄 따른다...        return 1    # foobar 끝	

      비슷하게, "# end if", "# end while", 등등을 두어도 좋다. 더 좋은 해결책은 이것이 필요하지 않도록 가능하면 함수와 블록을 짧게 유지하는 것이다.

      함수에서 논리적 구획을 나타내려면 빈 줄들을 사용하자. 또한 각 if/while/for 서술문 앞에다 빈 줄들을 두어서 그를 둘러싼 코드와 논리적으로 구별하기를 즐기는데, 경험상 이렇게 하면 코드가 더 읽기 쉽다.

      코드에서 서로다른 구역을 분별할 필요가 확실하지 않는 한 코드 구역 사이에 너무 많은 빈줄(> 2)을 놓지 말자.

    • [INDENT_CONSISTENT]

      들여쓰기 수준은 일관성이 있어야 한다. 한 수준 들여쓰기에 4개의 공간을 선호한다.

    • [MAGIC_NUMBER]

      둘러싼 코드와 별 관련이 없는 기다란 숫자를 파일에 넣는 것을 피하자. 이는 "마법의 수(magic number)"라고 알려져 있다 (역주 : 물리학 용어에서 유래, 양성자의 수 또는 중성자의 수가 미리 정해진 어떤 값을 가지면 원자핵이 특별히 안정된다. 그렇지만 처음 관찰되었을 때는 왜 그런지 잘 설명할 수가 없어서 그런 수를 마법의 수(magic number) 라고 불렀다. 마법의 수를 가지면 존재 확률이 높아짐을 비유해서, 각종 프로토콜에서 서로 간에 신분을 확인하는 숫자를 마법의 수라고 일컫는다.) 대신에 그 마법의 수를 파일의 위에다 정의해 두자.

    • [USELESS_CODE]

      아무 기능이나 효과도 없는 코드를 넣지 말자. 그것이 디버깅 코드라면, 확실하게 그렇다고 표식을 해 두어야 한다.

    • [STMTS_ON_LINE]

      한 줄에 여러 서술문을 두지 말자. 아주 간단한 서술문이라고 할지라도 안된다. 그저 혼란스럽고 읽기가 어렵게 만들 뿐이다. 비슷하게, 다음도 별로 마음에 안든다:

          if not line: break

      그 보다 다음을 더 선호한다:

          if not line:        break

      명심하자: 새줄문자(newlines)에는 세금이 없다. 한 줄에다가 억지로 많이 구겨 넣으려고 하지 말자.

    • [BAD WHITESPACE]

      다음의 장소에는 공백(whitespace)을 사용하지 말자:

      • 활괄호, 각괄호, 또는 반괄호 바로 안쪽에서, 다음과 같이:
            spam( ham[ 1 ], { eggs: 2 } )

        언제나 다음과 같이 작성하자:

            spam(ham[1], {eggs: 2})
      • 쌍점, 쌍반점, 또는 쉼표 바로 앞에서, 다음과 같이:
            if x == 4 :        print x , y        x , y = y , x

        언제나 다음과 같이 작성하자:

            if x == 4:        print x, y        x, y = y, x
      • 함수 호출의 인자 목록을 시작하는 여는 괄호 바로 앞에서, 다음과 같이
            spam (1)

        언제나 다음과 같이 작성하자

            spam(1)
      • 지표화나 조각썰기를 시작하는 여는 괄호 바로 앞에서, 다음과 같이:
            dict ['key'] = list [index]

        언제나 다음과 같이 작성하자

            dict['key'] = list[index].
      • 다른 것과 줄을 맞추기 위해 할당 (또는 다른) 연산자 주위에 과도한 양의 공간, 예를 들어:
            x             = 1    y             = 2    long_variable = 3

        최고로 좋은 규칙: 연산자를 8개 또는 9개의 공간을 두고 이동해야 한다면, 시간을 낭비하지 말자. 그렇지 않으면, 정렬하자. 예., 다음은:

            x = 1    foo = 2    fudge = 5

        다음과 같이 바꾸자.

            x     = 1    foo   = 2    fudge = 5

        그러나 다음은

            x = 1    y = 2    this_variable_name_is_really_long = 3

        그대로 두자. 이는 스스로 내려야 하는 결단(judgment call)의 문제이다.

    • [KEYWORD_SPACES]

      '='가 키워드 인수나 기본 매개변수 값을 나타내는데 사용되면 '=' 주위에 공간을 사용하지 말자. 예를 들면:

          def complex(real, imag=0.0):        return magic(r=real, i=imag)
    • [PRECEDENCE]

      모든 경우에 덧셈/뺄셈과 할당 서술문 보다 곱셈/나눗셈이 우선순위가 있음을 괄호로 둘러 연산자 우선순위를 나타내자.

    • [IMPORT]

      일반적으로, "from X import *"로 형태로 사용하는 것을 피하자; 다음과 같이 하든가:

          from X import Y  # 많이 사용되는 함수만 하나 수입

      또는 다음과 같이 하자:

          import X # 사용할 모듈에서 수 많은 함수가 필요할 때.

      또, 클래스나 함수 안에서 "import X"나 "from X import Y"를 사용하지 말자. 꼭 그렇게 사용해야 할 경우를 보지 못했고, 그렇게 하는 것은 혼란만 초래할 뿐이다. 모든 수입 서술문은 모듈의 최상위 수준에 그리고 파일의 최상단에 두자. 그렇게 해 두어야, 어디에서 찾아 보아야 할지 알 수 있다. 어떻게 형식화할지는 자신의 자유이다

          import X, Y, Z

      또는

          import X    import Y    import Z

      보통 한 번 쓰고 버릴 스크립트에는 앞의 형식을 커다란 프로젝트에는 뒤의 형식을 사용하는 경향이 있다.

    주석

    • [COMMENTS_FULL_SENTENCES]

      주석이 구이거나 문장이라면, 소문자로 시작하는 식별자가 아닌 한 첫 단어는 반드시 대문자여야 한다 (식별자의 격을 절대로 바꾸지 말 것!). 되도록 완벽한 문장이면 더 좋다. 마침표 뒤에는 공간을 두 개 사용해야 한다. 이상적으로, 식별자를 가리키려면 따옴표를 두르자, 예.

          # 변수 'nitems'은 스택에 있는 항목의 개수를 나타낸다.

      주석이 아주 짧다면, 완전한 문장이 될 필요가 없으며, 또는 마침표로 끝날 필요가 없다 예.

          i = 1  # 회돌이 지표
      이는 이른바 "인라인 주석(inline comment)"이라고 부른다. 무언가를 기술할 때만 이를 사용하자. 즉, 위의 코드 조각에서 "변수 'i'는 회돌이 지표를 나타낸다"와 같이 말할 때만 사용하자.

    • [COMMENT_GRAMMATICAL]

      주석은 올바르게 철자가 되어야 한다 (오타 불가) 그리고 문법적으로 옳아야 한다. 고등하고 영어 선생님처럼 굴고자 하는 것이 아니라, 철자도 틀리고 문법도 안 맞고 게다가 오타까지 있는 주석을 읽는 것은 정말로 불쾌한 일이다.

    • [COMMENT_SPACE]

      여는-주석 사인 뒤에는 늘 공간을 남겨두자 예.

          # 이 주석을 읽기 쉽다.    #이 주석은 읽기 어렵다

    • [COMMENT_NON_OBVIOUS]

      정황(context)으로 미루어 완전히 짐작하기 어려운 것이면 모두 주석을 달자. 특히, 사용중인 코드나 알고리즘이 꼼수적이라면 무조건 주석을 달자. 또 각 함수의 시작부에 함수가 무슨 일을 하는지 기술하는 주석을 달자. 의심스러우면, 가능한한 주석을 달자.

    • [COMMENT_REDUNDANT]

      너무나 당연한 것은 다시 주석을 달면 안된다. 이는 특히 인라인 주석에 흔하다. 예제:

          x = x + 1   # x를 증가시킨다
    • [COMMENT_MEANINGLESS]

      의미없는 주석은 달지 않는다 예.

          i = 1   # i
      웃지 말것; 실제로 이런 것들을 본 적이 있다.

    • [COMMENTS_CONSISTENT_WITH_CODE]

      코드와 모순되는 주석은 달지 않는 만 못하다. "코드가 변경되면 언제나 최우선으로 주석을 최신으로 유지하자!"

    • [COMMENT_INDENT]

      언제나 둘러싼 코드 만큼 같은 정도로 코드를 들여쓰자.

    • [COMMENT_INLINE]

      편의를 위해 인라인 주석을 되도록이면 정렬하자. 다른 말로 하면, 다음과 같이 하면 안 되고:

          x = x + 1       # x에 대한 멋진 주석    y = y + 1   # y에 대한 멋진 주석
      대신에, 다음과 같이 하자:
          x = x + 1       # x에 대한 멋진 주석    y = y + 1       # y에 대한 멋진 주석

    • [COMMENT_PRECEDING]

      피할 수만 있다면 앞의 코드에 적용되는 주석을 달지 말자. 현재 코드 줄이나 또는 바로 다음에 따라오는 코드 줄들을 가리키는 주석을 달려고 노력하자.

    • [COMMENT_BLOCK]

      블록 주석은 일반적으로 뒤에 따르는 코드의 일부 (또는 모두)에 적용된다. 그리고 그 코드와 같은 수준으로 들여쓰기 된다. (주석 안에서 들여쓰기된 텍스트가 아닌 한) 블록 주석의 각 줄은 #와 공간 한개로 시작한다. 블록 주석 안에서 문단은 한 개의 #를 담은 줄로 갈라진다. 블록 주석은 위와 아래에 빈 줄이 있으면 아주 좋다 (또는 새로운 함수 정의의 섹션이 시작되는 곳에 위치한 블록 주석이라면 위에 두 줄 그리고 아래에 한 줄도 좋다). 한개의 #를 가진 줄 하나로 블록 주석을 시작하고 끝내면 좋다; 이는 개인적인 선호의 문제이다. 다른 말로 하면, 블록 주석은 다음과 같이 보인다:

          #    # 빈 줄 다음에 첫 줄이 온다.    #    # 각 문단은 또 빈 줄로 갈라진다,    # 그리고 끝에는 빈 줄이 하나 있다.    #
      클래스나 함수 시작 또는 파일의 상단에 놓인 블록 주석은 반드시 문서화문자열이 되어야 한다 (아래 참고).

    문서화 문자열

    • [DOCSTRINGS]

      모든 모듈은 일반적으로 문서화문자열이 있어야 한다. 그리고 모듈에 수출된 모든 함수와 클래스도 역시 문서화 문자열이 있어야 한다. (__init__ 구성자를 비롯하여) 공개 메쏘드 또한 문서화 문자열이 있어야 한다. 잘 모르겠으면, 문서화 문자열을 모든 함수에 덧붙이자. 그렇지 않으면, 어쨌든 함수의 목적을 나타내는 주석을 달아야 한다. 그러므로 문서화문자열을 덧붙이지 않을 까닭이 없다.

      (독립-실행 프로그램인) 스크립트의 문서화문자열은 반드시 그의 "사용방법" 메시지가 사용이 가능하여 하며, 스크립트가 그릇된 인자로 혹은 인자가 없이 호출되면 인쇄되어야 한다 (위 참고).

      일관성을 위하여, 언제나 문서화문자열 주위에는 """삼중 겹 따옴표"""를 사용하자. 이렇게 하면 문서화 문자열을 여러 줄에 걸쳐 넣을 수 있다.

    함수

    • [FUNCTION_DECOMPOSITION]

      주저하지 말고 함수를 적절한 곳마다 수 많은 자잘한 함수로 분해하자. 길이가 페이지를 넘어가는 함수는 작성하지 말자.

    예외 처리

    • [EXCEPTIONS_CATCH_ALL]

      Don't do this:

          try:        # 코드는 여기에 둔다    except: # 모든 예외를 잡는다        pass

      현재 상황에 딱맞는 에러 처리 코드를 구현할 생각이지만, 당장은 그렇게 하고 싶지 않다면, 다음과 같이 작성하자.

          try:        # 여기에 코드를 둔다    except:  # 예외를 모두 잡는다        raise  # 잡은 예외를 다시 일으킨다

      이 모듈의 코드가 늘어나면 그 때 에러를 잡아 일반적인 방식으로 처리하자. 더 좋은 방법은, 각 예외에 대하여 따로따로 이렇게 하고 그리고 나중에 이를 고치면 얻는 효과에 대하여 주석을 다는 것이다:

          try:        # 여기에 코드를 둔다    except FooError:        # 수정요망(FIXME): 나중에 적절한 에러 처리를 구현할 것.        raise FooError # 해당 예외를 다시 일으킨다

      에러를 전혀 다루고 싶지 않다면, 절대로 안에다 'try: except:' 조건을 두지 말고, 나중을 위해 주석을 붙여 두자:

          # 수정요망(FIXME): 함수 bar()가 일으키는 FooError를 잡을 것.


     

    출처 : http://home.hanmir.com/~johnsonj/etc/CS%2011%20Python%20track%20coding%20style%20guide.htm

    'programming > python' 카테고리의 다른 글

    SMTP 인증에 관한 팁  (0) 2004.01.28
    파이썬 스타일 지도서  (0) 2004.01.27
    특정 달의 날짜 수 구하기  (4) 2004.01.27

    기본이 되는 내용이라고 할 수 있을거 같네요.

    ---------------------------------------------------

     

    파이썬 스타일 지도서

    Author: Guido van Rossum
    translated into korean by johnsonj

     

    XXX 서문.

    바보같은 일관성은 골치거리이다.

    스타일 지도서는 일관성에 관한 것이다. 이러한 스타일 지도서의 일관성은 중요하다. 프로젝트를 수행중일때는 더 중요하다. 하나의 모듈 혹은 함수안에서의 일관성은 더욱 중요하다.

    그러나 대단히 중요한 것은 : 비일관적(inconsistent)이어야 할 때를 알도록 하라 -- 때때로 스타일 지도서는 단순히 적용되지 않는다. 의심스러울 경우에는, 여러분 자신이 최선의 판단을 하라. 다른 예들을 살펴보고 어떤 것이 가장 훌륭하게 보이는 지를 결정하라. 그리고 묻기를 주저 하지 마라!

    차 례

    • 전체보기 -- 탭, 공백, 그리고 새로운 라인을 사용하는 법.
    • 주 석 -- 주석을 (그리고 문서화 문자열들을) 적절히 사용하는 법에 관하여.
    • 이 름 -- 다양한 이름짓기의 관례들.

    전체보기

    XXX 들어가기.

    들여쓰기

    Emacs의 파이썬 모드의 기본값을 사용하라: 한개의 들여쓰기 레벨당 4개의 공백을.
    여러분이 혼란스럽지 않도록 진짜로 오래된 코드들에 대해서는 여러분은 8개 공백의 탭을 계속 사용할 수 있다.
    Emacs의 파이썬 모드는 하나의 파일에 가장 많이 사용되는 들여쓰기 수준을 자동적으로 탐지해서 들여쓰기 매개변수를 그에 맞추어 설정한다.

    탭인가 공백인가?

    절대로 탭과 공백을 혼용하지 마라.
    파이썬에서 가장 인기 있는 들여쓰기는 공백만을 사용하는 것이다. 두번째로 인기 있는 방법은 탭만을 사용하는 것이다.
    탭과 공백을 혼용하여 들여쓰기된 코드는 공백만을 단독으로 사용하여 변환되어야만 한다.(Emacs에서는, 전체 버퍼를 선택하여 ESC-x를 쳐서 탭문자들을 없애라.)

    -t 옵션으로 파이썬 명령어 해석기에 요청하면, 탭과 공백을 불법적으로 혼용한 코드에 대하여 경고를 보낸다. -tt 옵션을 사용하면 이러한 경고는 에러가 된다. 이러한 옵션들을 강력히 추천한다!

    라인의 최대 길이

    라인당 80자 언저리로 제한된 장치들이 여전히 많이 있다. 그러한 장치들에 대하여 기본으로 지정된 자동 줄넘기기는 보기에 흉하다. 그러므로, 모든 라인을 최대 79 문자로 한정하라(Emacs는 라인을 정확히 80자 길이에서 자동 줄넘기기를 한다.)

    기다란 라인을 자동으로 줄넘기기에 선호되는 방법은 괄호, 각괄호, 대괄호안에서 파이썬의 묵시적인 라인의 연속을 이용하는 것이다. 필요하다면, 표현식 주위에 여분의 괄호 한쌍을 추가할 수도 있다, 그러나 어떤 때는 백슬래쉬를 사용하는 것이 더 좋게 보일 때도 있다. 연속된 라인을 적절히 확실하게 들여쓰기하라.
    Emacs의 파이썬 모드는 이것을 정확히 수행한다. 약간의 예를 들면:

    class Rectangle(Blob):    def __init__(self, width, height,                 color='black', emphasis=None, highlight=0):        if width == 0 and height == 0 and \           color == 'red' and emphasis == 'strong' or \           highlight > 100:            raise ValueError, "sorry, you lose"        if width == 0 and height == 0 and (color == 'red' or                                           emphasis is None):            raise ValueError, "I don't think so"        Blob.__init__(self, widt, height,                      color, emphasis, highlight)

    공백 라인들

    최상위 함수와 클래스 정의는 두개의 공백 라인으로 분리하라. 한 클래스 안에서의 메쏘드 정의는 한개의 공백라인으로 분리된다. 여분의 공백라인은 관련된 함수들의 그룹들을 분리하는데 (아주 가끔) 이용되기도 한다. 공백라인은 한무리의 관련된 한라인 짜리 명령어 (예 : 일단의 비실행명령어)사이에서는 생략되기도 한다.

    공백라인을 사용하어 메쏘드 정의를 가른다면, 'class'라인과 그 첫 번째 메쏘드 정의사이에 역시 하나의 공백라인을 둔다.

    논리적 구별을 나타내기 위해서 함수에는 공백라인을, 아주 아껴서, 사용하라.

    표현식과 서술문에서의 공백

    신경쓰이는 것들

    나는 다음과 같은 위치에서 공백문자를 사용하는 것을 아주 싫어한다 :

    • 괄호, 각괄호 또는 대괄호 바로 안쪽 예를 들어: spam(ham[ 1 ], { eggs: 2 } ).
      이것을 항상 다음과 같이 쓴다 :spam(ham[1], {eggs: 2}).
    • 컴마, 혹은 콜론, 세미콜론 바로 앞 예를 들어: if x == 4 : print x , y ; x , y = y , x.
      이것을 항상 다음과 같이 쓴다 : if x == 4: print x, y; x, y = y, x.
    • 한 함수의 호출때 사용되는 인수리스트를 감싸는 왼괄호 바로 앞 예를 들어spam (1).
      이것을 항상 다음과 같이 쓴다 spam(1).
    • 지표화나 썰기를 시작하는 왼괄호 바로 앞 예를 들어: dict ['key'] = list [index].
      이것을 항상 다음과 같이 쓴다 dict['key'] = list[index].
    • 다른 것 들과 맞추어 정렬하기 위하여 할당(혹은 다른) 연산자의 주위에 하나 이상의 공백을 두는 것 예 :
      x             = 1y             = 2long_variable = 3

      이것을 항상 다음과 같이 쓴다

      x = 1y = 2long_variable = 3

    (위의 어떤 사항에 대해서도 나와 논쟁하려고 괴롭히지 마라 -- 나는 이미 15년간이나 이 스타일에 익숙해져 왔다.)

    다른 추천사항

    • 이진 연산자들은 양쪽에 한개의 공백으로 항상 두룬다 : 할당(=), 비교 (==, <, >, !=, <>, <=, >=, in, not in, is, is not), 불리언값(and, or, not).
    • 수학적 연산자둘레에 공백을 삽입하는 것은 여러분이 판단하라. 항상 일관성있게 이진 연산자의 양쪽에는 공백이 있어야 한다. 약간의 예를 들면 :
      i = i+1submitted = submitted + 1x = x*2 - 1hypot2 = x*x + y*yc = (a+b) * (a-b)c = (a + b) * (a - b)
    • '='이 키워드 인수 혹은 기본 매변수값을 나타낼때 사용된다면 그 둘레에는 공백을 사용하지 마라.
      예를 들어 :
      def complex(real, imag=0.0):    return magic(r=real, i=imag)

    주 석

    코드에 배치되는 주석은 주석이 없는 것보다도 더 나쁘다. 코드가 변하면 항상 주석을 최신으로 먼저 유지하려는 노력을 하라!

    주석이 구절이거나 문장이라면, 소문자로 시작하는 식별자가 아닌한 (절대로 식별자의 대소문자를 변경하지 마라!), 그것의 첫번째 단어는 반드시 대문자로 되어야 한다.

    주석이 짧다면, 마지막의 구두점은 생략되는 편이 좋다. 블록 주석은 일반적으로 완전한 문장으로 이루어진 한개 혹은 그 이상의 문단들로 구성된다. 그리고 각 문장은 반드시 구두점으로 끝나야 한다.

    여러분은 한 문장을 끝내는 구두점 다음에 두개의 공백을 사용할 수 있다.
    영어를 쓸데처럼 언제나, 자신있게 공백을 적용하라.

    영어를 사용하지 않는 나라의 파이썬 작성자들:
    여러분의 언어을 사용하지 않는 사람들이 절대로 읽지 않을 것이라고 120% 확신하지 않는한, 영어로 주석을 작성하라.

    블록 주석

    블록 주석은 일반적으로 약간의 코드의 (또는 모두) 앞에 적용한다, 그리고 그 코드와 동일한 레벨에서 들여쓰기를 한다. 블록 주석의 각 라인은 (그것이 주석 안쪽의 들여쓰기된 텍스트가 아닌한) #와 한개의 공백으로 시작한다.
    블록 주석안의 문단은 한개의 #을 포함한 공백라인으로 분리한다. 블록 주석은 위쪽 아래쪽으로 각각 한개의 공백 라인으로 둘려 싸여지는 것이 가장 좋다 (또는 새로운 함수정의 부분이 시작되는 곳에 있는 블록 주석에는 위쪽은 2개 아래는 1개의 라인이 좋다.).

    라인 주석

    라인 주석은 서술문과 같은 위치에 있는 주석이다. 라인 주석은 아껴서 사용해야만 한다.
    라인 주석은 적어도 그 서술문으로부터 공백 2개로 분리해야 한다. 라인주석은 #와 공백한개로 시작해야만 한다.

    라인 주석이 명백한 사실을 기술할때는 사실 산만스럽고 불필요하다. 이것을 사용하지 마라:

    x = x+1                 # Increment x
    그러나 때로, 이럴때는 유용하다 :
    x = x+1                 # Compensate for border

    문서화 문자열

    모든 모듈은 보통 문서화 문자열을 가진다, 그리고 하나의 모듈이 수출한 모든 함수와 클래스 또한 문서화 문자열을 가진다. 공용 메쏘드 (__init__구성자를 포함하여) 또한 문서화 문자열을 가져야 한다.

    한 스크립트(독자적 프로그램)에서 문서화 문자열은 "사용법" 메시지로 사용가능해야 한다. "사용법"은 스크립트가 부정확한 인수 혹은 인수를 빼먹고 (혹은 "-h"옵션을 "도움"을 위해 사용하여) 호출할 때 출력된다.
    그런 문서화 문자열은 스크립트의 함수와 명령어 라인 구문, 환경 변수, 그리고 파일들에 대하여 문서화를 해 주어야만 한다. 사용법 메시지는 아주 우아하게 (몇개의 화면에) 치장할수도 있다 그리고 충분하게 새로운 사용자가 명령어를 적절히 사용할수 있도록 해 주어야만 할 뿐 아니라, 정밀한 사용자를 위해서 모든 옵션들과 인수들에 대한 완전한 참조를 제공하여야 한다.

    일관성을 위하여, """ 세개의 이중인용부호"""를 문서화 문자열주위에 항상 사용하라.

    두가지 형태의 문서화 문자열이 있다 : 한줄짜리 그리고 여러줄 문서화 문자열.

    한줄짜리 문서화 문자열

    한줄짜리 문서화 문자열은 진짜로 명백한 경우에 사용한다. 실제로 한줄에 딱 맞는다. 예를 들면:

    def kos_root():    """Return the pathname of the KOS root directory."""    global _kos_root    if _kos_root: return _kos_root    ...

    주의사항:

    • 삼중 부호는 문자열이 한 라인에 맞을 때 조차도 사용한다. 이렇게 하면 나중에 확장하기에 편하다.
    • 닫기 부호는 열기 부호와 같은 라인에 위치한다. 이렇게 해야 한줄짜리에는 더 좋아 보인다.
    • 문서화 문자열의 앞 혹은 뒤에는 공백라인이 없다.
    • 문서화 문자열은 구두점으로 끝나는 구절이다.
      그것은 함수의 효과를 명령어로 ("Do this", "Return that")지시하는 것이지, 설명으로 지시하지는 않는다. : 예. don't write "Returns the pathname ..."

    여러-줄 문서화 문자열

    여러줄 문서화 문자열은 한줄 문서화 문자열과 똑 같은 요약 라인들로 구성되는데, 공백열이 하나 따르고, 다음에 더 자세한 설명이 따른다. 요약 라인은 자동적으로 인덱스를 하는 도구들에 의하여 사용되어진다;
    요약라인은 한줄에 꼭 맞아야 하고 나머지 문서화 문자열들과 하나의 공백라인에 의하여 나누어진다는 사실은 중요하다.

    전체 문서화 문자열은 첫 번째 라인에 있는 부호와 같은 위치에 들여쓰기 된다.( 아래의 예를 보라).
    문서화 문자열의 처리 도구는 그 문서화 문자열의 첫 번째 라인 이후로 나타나는 첫 번째 비공백라인의 위치와 똑 같은 들여쓰기 위치로 두 번째 이후 라인으로부터 많은 양의 들여쓰기를 제거할 것이다. 문서화 문자열에 있는 이후의 라인들의 상대적인 들여쓰기는 유지된다.

    여러줄 문서화 문자열의 가장 마지막 문단과 닫기 부호 사이에는 공백라인 하나를 삽입하기를 추천한다, 그리고 닫기 부호는 하나의 라인에 단독으로 놓기를 추천한다. 이런 식으로 , Emacs의 문단채우기 명령어가 사용될 수 있다.

    나는 또한 모든 문서화 문자열(한-줄 혹은 여러-줄)앞과 뒤에는 한개의 공백라인을 두기를 권장한다.
    문서화 문자열은 클래스를 문서화 하고 -- 일반적으로 말해서, 클래스의 메쏘드는 한개의 공백라인으로 각각 분리되고, 문서화 문자열은 그 첫번째 메쏘드로부터 한개의 공백 라인만큼 떨어질 필요가 있다 ; 균형을 위해, 클래스의 머리부와 문서화 문자열 사이에 한 개의 공백라인을 가지는 것을 선호한다. 함수를 문서화 하는 문서화 문자열은 함수의 몸체가 다수의 공백 라인으로 분리되어 씌여지지 않는 한, 일반적으로 이러한 요구사항을 갖지는 않는다. -- 이러한 경우에는, 문서화 문자열을 다른 섹션으로 다루고, 그것을 하나의 공백라인으로 대체하라.

    하나의 모듈을 위한 문서화 문자열은 일반적으로 클래스, 예외 그리고 함수들 (그리고 다른 어떠한 객체들)에 대한 목록을 기술해야만 하는데 그것들은 각각에 대하여 한-줄 요약을 가지고, 모듈에 의하여 수출된다. (이러한 요약들은 일반적으로 객체의 문서화 문자열에 있는 요약 라인보다는 덜 상세하다.)

    함수나 메쏘드를 위한 문서화 문자열은 그것의 행위를 요약해야만 하고 그것의 인수들, 반환값, 부작용, 예외상황 발생, 그리고 호출되었을 때의 제한 상황들에 대하여 문서화를 (가능하다면 모두) 해야만 한다. 선택적 인수는 명료하게 보여져야만 한다. 키워드 인수가 인터페이스의 부분인지 아닌지가 문서화 되어야 한다.

    클래스를 위한 문서화 문자열은 그것의 행위를 요약하고 공용메쏘드와 실체변수들의 목록을 나열해야 한다.
    만약 클래스가 하부 클래스가 된다면, 그리고 하부클래스와의 부가적인 인터페이스를 가진다면, 이러한 인터페이스는 각각 (문서화 문자열의 형태로) 나열되어져야만 한다. 클래스 구성자는 자신의 __init__메쏘드를 위하여 문서화 문자열로 문서화 되어야 한다. 각각의 메쏘드들도 자신들만의 문서화 문자열로 문서화 되어야 한다.

    하나의 클래스가 또다른 클래스를 하부클래스로 가지고 그것의 행위가 거의 그 클래스로부터 상속된다면, 그것의 문서화 문자열은 이것을 언급해야만 하고, 그 차이를 요약해야만 한다.
    "override" 동사를 사용하여 하부클래스의 메쏘드가 상위클래스의 메쏘드를 대체하고 그리고 그것를 호출하지 않는다는 것을 지시하라; "extend"동사를 사용하여 하부클래스의 메쏘드가 상위클래스의 메쏘드를 호출한다는 것을 (덧붙이자면 자신의 행위에) 지시하라.

    실행중인 텍스트에서 대문자로 함수나 메쏘드의 인수를 언급하는 Emacs의 관례를 사용하지마라
    파이썬은 대소문자를 구별하며 그리고 인수의 이름은 키워드 인수로 사용될 수 있다, 그래서 문서화 문자열은 정확한 인수의 이름을 문서화하여야 한다. 하나의 인수는 두개의 대쉬를 이름과 설명을 구분짓는데 사용하여, 각각 한 라인에 나열하는 것이 좋다. 다음과 같이:

    def complex(real=0.0, imag=0.0):    """Form a complex number.    Keyword arguments:    real -- the real part (default 0.0)    imag -- the imaginary part (default 0.0)    """    if imag == 0.0 and real == 0.0: return complex_zero    ...

    버젼 기록유지하기

    여러분이 소스파일에 RCS 또는 CVS 표지를 가져야만 한다면, 다음과 같이 하라.

    __version__ = "$Revision: 1.4 $"# $Source: /home/guido/ftp/pub/www.python.org/doc/essays/RCS/styleguide.html,v $

    이 라인들은 모듈의 문서화 문자열 뒤에 포함되어져야만 하며, 다른 코드의 앞에는, 위 아래로 하나의 공백라인으로 구분해서 포함되어져야 한다.

    이름짓기 관례

    파이썬 라이브러리의 이름짓기 관례는 약간은 혼란스럽다, 그래서 우리는 이것을 완벽하게 일관성이 있도록 하지는 못할 것이다.-- 그럼에도 불구하고, 여기에 약간의 가이드라인이 있다.

    설명적인: 이름짓기 스타일

    많은 수의 서로 다른 이름짓기의 스타일이 있다. 그것들이 무엇에 사용되는지로부터 각각, 어떤 이름 짓기 스타일이 사용되었는지를 알아낼수 있도록 도와 준다. 다음의 이름짓기 스타일은 일반적으로 자주 보는 것이다:

    • x (한개의 소문자)
    • X (한개의 대문자)
    • lowercase (소문자)
    • lower_case_with_underscores (밑줄로 연결된 소문자)
    • UPPERCASE (대문자)
    • UPPER_CASE_WITH_UNDERSCORES (밑줄로 연결된 대문자)
    • CapitalizedWords (또는 CapWords) (단어의 첫자만 대문자)
    • mixedCase (첫번째 문자가 소문자이므로 CapitalizedWords 와는 다르다!)
    • Capitalized_Words_With_Underscores (보기 흉하다!)

    또한 짧고 유일한 접두사를 사용하여 관계된 이름들을 무리짓는 스타일도 있다. 이것은 파이썬에서 많이 사용되지는 않지만, 완벽을 위해 언급한다. 예를 들어, os.stat() 함수는 하나의 터플을 돌려주는데 그 터플의 각 항목은 전통적으로 st_mode, st_size, st_mtime 등등과 같은 이름을 가진다. X11 라이브러리는 모든 공용 함수에 대하여 이끄는 X를 사용한다. (파이썬에서, 이러한 스타일은 일반적으로 불필요하게 생각된다. 속성과 메쏘드의 이름은 객체의 이름으로 접두어가 붙고, 그리고 함수의 이름은 모듈의 이름으로 접두어가 붙기 때문이다.)

    게다가, 다음의 이끄는 혹은 끌리는 밑줄문자를 사용하는, 특별한 형태가 보인다. (이것들은 일반적으로 어떠한 경우의 관례와도 결합될 수 있다.):

    • _single_leading_underscore: 약한 "내부 사용" 지시자 >
      ;(예. "from M import *" 은 밑줄문자로 시작하는 객체들을 수입하지 않는다).
    • single_trailing_underscore_: 파이썬의 키워드와의 충돌을 피하기 위하여 관례적으로 사용됨
      예를 들어 : Tkinter.Toplevel(master, class_="ClassName").
    • __double_leading_underscore: 파이썬 1.4에서의 클래스-사적인 이름들.
    • __double_leading_and_trailing_underscore__: 사용자-제어 이름영역에 존재하는 "매력적인" 객체 혹은 속성 예를들어 : __init__, __import__ or __file__.
      때때로 이것들은 사용자에 의해서 어떠한 매력적인 행위를 촉발하도록 정의된다. (예 : operator overloading);
      때때로 이것들은 하부구조에 의해서 삽입되어져 디버깅 목적 혹은 자신만의 사용을 위해 쓰여진다. 하부구조(느슨하게 정의 하여 파이썬 인터프리터와 표준 라이브러리)는 미래의 버젼에 매력적인 속성들의 목록을 추가하기로 결정할 수 있다.
      사용자 코드는 일반적으로 자기 자신만 사용하기 위하여 이런 관례를 사용하는 것을 자제해야 한다. 하부구조의 부분이 되기를 열망하는 사용자 코드라면 밑줄들 안에서 이것을 짧은 접두사와 결합할 수 있다.
      예를 들어 : __bobo_magic_attr__.

    지시적인: 이름짓기 관례

    모듈 이름

    모듈 이름은 MixedCase 이거나 lowercase 일 수 있다. 어떤 것을 사용할지 결정하는 명료한 관례는 없다. 한개의 클래스(혹은 많은 수의 밀접하게 연관된 클래스들, 또 약간의 부가적인 지원까지)를 수출하는 모듈은 가끔 MixedCase의 형태로 이름지어지며, 모듈의 이름으로 클래스의 이름도 동일하게 짓는다(예 : 표준 StringIO 모듈). 한 무리의 함수를 수출하는 모듈은 보통 모두 lowercase의 형태로 이름지어진다.

    모듈의 이름은 화일의 이름에 사상이 되고, 어떤 화일 시스템은 대소문자를 구별하고, 긴 화일 이름을 잘라버리므로, 모듈의 이름이 아주 간결하게 선택되어야 하며 단지 다른 모듈이름과 대소문자만 달라서 충돌하지 말아야 한다. -- 이것은 유닉스에서는 문제가 되지 않는다, 그러나 코드가 맥이나 윈도우로 이식되면 문제가 발생할 것이다.

    새로이 떠오르는 관례가 하나 있다. C 나 C++로 씌여진 확장모듈이 더 고수준의 (예를 들어 더욱 객체 지향적인) 인터페이스를 제공하는 파이썬 모듈을 동반할 때, 파이썬의 모듈 이름은 CapWords의 형태를 가지는 반면에, C/C++ 모듈은 모두 소문자로 이름짓고 하나의 이끄는 밑줄 문자를 가진다 (예를 들어 Tkinter/_tkinter).

    "패키지"들은 ("ni"모듈이 지원하는, 모듈의 집합) 일반적으로 모두 소문자의 짧은 이름을 가진다.

    클래스 이름

    거의 예외없이, 클래스 이름은 CapWords 관례를 사용한다. 내부적인 사용을 위한 클래스는 부가적으로 이끄는 밑줄문자 하나를 사용한다.

    예외 이름

    하나의 모듈이 모든 종류의 조건들을 처리하기 위하여 하나의 예외(처리)를 정의한다면, 일반적으로 그것을 "error"혹은 "Error"라고 부른다. 내가 아는 한, 내장(확장) 모듈은 "error"(예를 들어 os.error)를 사용하는 반면에, 파이썬 모듈은 일반적으로 "Error"(예를 들어 xdrlib.Error)를 사용한다.

    함수 이름

    하나의 모듈에 의하여 수출된 단순한 함수는 CapWords 스타일을 사용하거나 lowercase (또는lower_case_with_underscores) 형태를 사용할 수 있다.

    나는 특별히 선호하는 바는 없지만, 중요한 기능(예를 들어 nstools.WorldOpen())을 제공하는 함수에는 CapWords 스타일을 사용하고, 반면에 lowercase의 스타일은 "유틸리티"함수(예를 들어 pathhack.kos_root())에 더욱 많이 사용한다고 믿고 있다.

    전역 변수 이름

    (이런 변수들이 하나의 모듈안에서만 사용될것이라고 가정해보자.) 관례는 수출된 함수의 관례와 거의 동일하다. "from M import *"의 형식을 통하여 사용되도록 디자인된 모듈은 하나의 밑줄문자로 자신의 전역 변수 (그리고 내부 함수와 클래스)들에 접두사를 붙여서 그들을 수출하는 것을 막아야 한다.

    메쏘드 이름

    음, 이야기는 함수와 거의 동일하다. ILU를 사용할 때, 여기에 좋은 관례 하나가 있다 :

    ILU 인터페이스를 통하여 발표된 메쏘드에는 CapWords를 사용하라. 객체형의 구현의 일부인, 다른 클래스 혹은 함수가 접근하는 메쏘드에는 소문자를 사용하라.
    하부 클래스 혹은 상위 클래스의 속성들이 전혀 충돌하지 않거나 또는 하부 클래스 하나가 실제로 접근할 필요가 있을 때 "내부" 메쏘드와 실체 변수들에는 앞에 하나의 밑줄문자를 사용하라.

    오직 현재의 클래스만이 하나의 속성에 접근하는 것이 중요할 경우에는 (클래스-지역 이름, 파이썬 1.4에서는 강제적임) 앞에 두개의 밑줄문자를 사용하라. (그러나 파이썬은 충분히 많은 루프구멍이 있어서 끈질긴 사용자는 그럼에도 불구하고 예를들어, __dict__ 속성을 통하여 접근할 수 있다. 오직 ILU 혹은 파이썬의 제한된 모드만이 XXX를 할것이다.


    번역기간 : 2001.07.11 - 2001.07.15
    현재버전 : 수 정 요 망
    번 역 자 : 전순재

    한글로 일단 바꾸고 생각해 본다.
    내용은 본인도 잘 모름. 혹시 오역이 있으면 게시판에 알려주시면....고치겠습니다.

     

    출처 : http://home.hanmir.com/~johnsonj/etc/Python%20Style%20Guide.htm

    MonthDayCnt는 calendar 모듈에 이미 들어있습니다.

    >>> import calendar
    >>> MonthDayCnt3 = lambda year, month: calendar.monthrange(year, month)[1]
    >>> MonthDayCnt3(2000, 2)
    29
    >>> print calendar.month(2000, 2)
    February 2000
    Mo Tu We Th Fr Sa Su
    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
    >>>

     

    출처 : http://bbs.python.or.kr/viewtopic.php?t=14603

     

    'programming > python' 카테고리의 다른 글

    파이썬 스타일 지도서  (0) 2004.01.27
    [Sample] 베타뉴스 겔러리 그림 긁어 모으기  (0) 2004.01.27
    파이썬 2.3 간편 참조서  (2) 2004.01.25

     

    import urllib
    import re
    import string

    print "="*50
    print " Beta News EntGirm Download Script!"
    print "="*50
    num_start = 0 #시작할 그림 번호
    num_end = 2666 #마지막 그림 번호
    WORK_DIR = "c:\\dir\\beta" #저장할 디렉토리 c:\dir 에 저장됩니다. 그리고 파일 앞에 beta라는 이름이 붙습니다.

    def saveJPG(num, jpg_name): #파일 이름을 받아서 파일을 저장하는 함수
    pagename = "http://data.betanews.net/imgdb/screen_star/%s.jpg" % jpg_name #실제파일이 있는 디렉토리
    print pagename
    filename = WORK_DIR + jpg_name+'.jpg' #파일이름을 만들어줌
    print num, filename #번호와 파일 이름을 출력해 줍니다.
    aa = urllib.urlopen(pagename) #jpg에대한 정보를 가지고있는 객체를 만들어 줍니다.
    try:
    f1 = open(filename, "wb") #파일을 바이너리 모드로 저장함니다.
    f1.write(aa.read()) #실제 주소에서 jpg파일을 읽고 씀니다.
    f1.close
    except:
    print "error on open %s" % filename #에러가 나면 에러 출력


    for num in range(num_start,num_end):
    page = "http://betanews.net/screenshot/read.html?table=screen_star&page=1&num=%d&no=5022&depth=0" % num #베타뉴스는 num숫자만 바꾸어 주면 됩니다.
    try: #가끔식 에러가 나서 ...
    a = urllib.urlopen(page) #페이지 정보를 읽어옴..
    except:
    print "Time Out...."
    continue
    data = a.readlines()
    p = re.compile('.*image=.*') #정규표현식으로 imgage가 있는 곳만 보여줍니다.
    for line_one in data:
    m = p.match(line_one)
    if m:
    tmp = string.find(line_one,'image=') #처음 발견된 곳을 정수형 값으로 돌려줍니다.
    tmp_line=line_one[tmp+6:tmp+16] #파일 이름만 함수로 넘겨주기 위함 확장자 없이
    saveJPG(num, tmp_line)

    print "Good Day!" #모든 파일을 읽어오면 ....


    출처 : http://bbs.python.or.kr/viewtopic.php?t=14659

    'programming > python' 카테고리의 다른 글

    파이썬 스타일 지도서  (0) 2004.01.27
    특정 달의 날짜 수 구하기  (4) 2004.01.27
    파이썬 2.3 간편 참조서  (2) 2004.01.25

    지하철 빨리 갈아타는법..

    1. 충정로역 2호선에서 5호선 타려면 : 뒤에서 2번째 칸 2번째 문
    2. 5호선에서 2호선 타려면 : 뒤에서 3번째 칸 2번째 문
    3. 신도림역 2호선에서 국철 타려면 : (잠실행) 뒤에서 4번째 칸 두 번째

    4. 2호선에서 국철 타려면 : (신촌행) 앞에서 4번째 칸 두 번째 문
    5. 의정부행 국철 에서 2호선 타려면 : 뒤에서 4번째 칸 제일 앞 문
    6. 수원.인천행 국철에서 2호선 타려면 : 앞에서 5번째 칸 2번째 문
    7. 용산행 국철에서 2호선 타려면 : 앞에서 4번째 칸 3번째 문
    8. 부평행 국철에서 2호선 타려면 : 뒤에서 5번째 칸 4번째 문
    9. 2호선(잠실행)에서 2호선 가지선(까치산역행) 타려면 : 앞에서 5번째
    칸 3번째문
    10. 2호선(신촌행)에서 2호선 가지선 타려면 : 뒤에서 5번째 칸 2번째 문
    11. 2호선 가지선에서 2호선 타려면 : 맨 뒤에서 3번째 문
    12. 교대역 3호선(수서행)에서 2호선(잠실행) 타려면 :
    앞에서 4번째 칸 첫번째 문
    13. 3호선(구파발행)에서 2호선(잠실행) 타려면 : 뒤에서 4번째 칸 첫번째
    14. 2호선(잠실행)에서 3호선 타려면 : 맨뒷문
    15. 2호선(신도림행)에서 3호선 타려면 : 맨앞문
    16. 을지로3가역 2호선(신촌행)에서 3호선 타려면 : 맨뒷문 2호선
    17. (잠실행)에서 3호선 타려면 : 맨앞문
    18. 3호선(구파발행)에서 2호선(신촌행) 타려면 : 앞에서 3번째 칸 맨앞문
    19. 수서역 3호선에서 분당행 타려면 : 뒤에서 3번째 칸 2번째 문
    20. 분당행에서 3호선 타려면 : 맨뒷문
    21. 복정역 8호선(모란행)에서 분당선으로 : 네번째칸 첫번째 문
    22. 8호선(암사행)에서 분당선으로 : 2번째칸 마지막 문
    23. 분당선(수서행)에서 8호선으로 : 2번째칸 4번째 문
    24. 분당선(오리행)에서 8호선으로 : 4번째칸 1번째 문
    25. 군자역 7호선에서 5호선으로 : 4번째칸 마지막문 또는 5번
    째칸 1번째 문
    26. 5호선(방화행)에서 7호선 온수행으로 : 맨 앞문
    27. 5호선(상일동,마천행)에서 7호선 온수행으로 : 맨 끝문
    28. 5호선(방화행)에서 7호선 수락산,등 행으로 : 맨 끝문
    29. 5호선(상일동,마천행)에서 7호선 수락산,등 행으로 : 맨 앞 문
    30. 잠실역 2호선(신도림행)에서 8호선 타려면 : 맨뒷문
    31. 2호선(신촌행)에서 8호선 타려면 : 맨앞문
    32. 8호선(암사행)에서 2호선 타려면 : 맨뒷문
    33. 8호선(모란행)에서 2호선 타려면 : 맨앞문
    34. 합정역 6호선(응암순환)에서 2호선으로 : 5-2 또는 3-2
    35. 6호선(봉화산)에서 2호선으로 : 6-2 또는 4-2
    36. 2호선(당산, 신도림)에서 6호선 : 2-2
    37. 2호선(홍대, 시청)에서 6호선 : 9-3
    38. 6호선(응암순환) 3-2 의 통로와 6호선(봉화산) 6-2 의 통로
    에는 에스컬레이터가 설치 되어있고, 나머지 통로는 그냥 계단임

    정규식에 대해서 대충 어떤 것인지는 알고 있었지만... 실제로 사용해 보기는 첨이었다.

    다른 방법을 써도 되지만 그래도 함 공부하는 셈 치고...

     

    MSDN에 나와 있는

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

    '.NET Framework 정규식'에 대한 설명

    정규식은 텍스트 처리를 위한 강력하고 효과적이며 융통성 있는 방법을 제공합니다. 정규식의 광범위한 패턴 일치 표기법을 사용하면 많은 양의 텍스트를 신속히 구문 분석하여 특정 문자 패턴을 찾을 수 있고, 텍스트 부분 문자열을 추출, 편집, 바꾸기 또는 삭제하거나 추출된 문자열을 컬렉션에 추가하여 보고서를 생성할 수 있습니다. HTML 처리, 로그 파일 구문 분석, HTTP 헤더 구문 분석 등 문자열을 다루는 여러 응용 프로그램에서 정규식은 반드시 필요한 도구입니다.

    Microsoft .NET Framework 정규식은 Perl과 awk의 기능과 같은 다른 정규식 구현에서 가장 많이 사용되는 기능을 포함합니다. Perl 5 정규식과 호환되도록 디자인된 .NET Framework 정규식은 오른쪽에서 왼쪽으로 일치 검사, 실행 중 컴파일 등 다른 구현에서 아직 볼 수 없는 기능들을 포함합니다.

    .NET Framework 정규식 클래스는 기본 클래스 라이브러리의 일부이며, ASP.NET 및 Visual Studio .NET과 같이 공용 언어 런타임을 목적으로 하는 언어 또는 도구와 함께 사용될 수 있습니다.

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

     

    C#에서 정규식에 관련된 Namespace는 'System.Text.RegularExpressions' 이다.

     

     

    아래 URL은 정규식을 정의할 때 사용되는 요소들에 대한 설명이다.

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconRegularExpressionsLanguageElements.asp

     

    실제 정규식을 이용하는 예제는

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconregularexpressionexamples.asp

     

     

    실제 사용했던 Code

     

        System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("^[0-9]*$");
       
        if(!(r.IsMatch(rows[0])))
         break;

     

    아주 간단하죠.. 제대로 된건지 모르겠지만 테스트 해보니까 잘 작동하는 거라서..

    숫자로만 이루어져 있지 않으면 끝내는 코드..

     

    몇가지 예제입니다.

  • 전화번호 : 0\d{2,3}\-\d{2,4}\-\d{3,4}
  • 휴대폰번호 : 01[16789]\-\d{2,4}\-\d{3,4}
  • 주민등록번호: \d{6}\-\d{7}
  • domain : http\:\/\/[\w\-]+(\.\[\w\-]+)+
  •  

    예제 출처 : http://www.taeyo.net/lecture/NET_01/cassatt_05.asp

     

    더 많은 예제와 정보가 있는 사이트 : http://www.regexlib.com

    여기도 괜찮네요 : http://www.regular-expressions.info/

     

    정규식 만들때 사용할 수 있는 Visual한 Designer~

    http://www.sellsbrothers.com/tools/#regexd

     

    혹시 잘못된게 있거나 추가 정보가 있으면 덧글 부탁합니다.

    'programming > c#' 카테고리의 다른 글

    .Net Refactoring  (0) 2004.01.30
    배열관련 사항  (2) 2003.10.30
    엑셀 파일에서 데이터를 load할 때...  (0) 2003.10.30
    나만의 평가
    전체적으로 어때요?         :
    여자친구랑 볼만한가요?   :
    얼마나 야해요?               : ☆☆☆☆
    멋진 장면들이 많아요?     : ☆☆
    얼마나 감동적인가요?      :
    친구들한테 추천할만해요?:
     
     

     
    이 영화는 생각 보다 극장에서 일찍 내려가는 바람에 못 보고 있다가 설 연휴에 DVD로 빌려서 보았다. 이 영화의 가장 특이한 점은... 전체 영화 찍는데 걸린 기간은 단 10일...
    영화의 배경은 전화박스... --;; 라는 점을 알고 특이하게 생각하고 봤다.
    과연 영화의 배경이 바뀌지 않는데 영화가 가능할까??
     
    생각외로 괜찮았다. 적당한 긴장감... 어설프지만 약간의 교훈도 있었고...
    DVD를 빌려서 제작과정을 보는 것도 괜찮을 듯 싶다.

    'movie' 카테고리의 다른 글

    [2004. 2] 태극기 휘날리며..  (0) 2004.02.15
    [2004. 1] 말죽거리 잔혹사  (0) 2004.01.21
    [2004. 1] 클래식  (2) 2004.01.15

    파이썬 2.3 간편 참조서입니다.

     

    내용이 좀 길어서 포스트 형태 유지를 위해 파일을 첨부합니다.

    웹으로 바로 보실 분은 http://home.hanmir.com/~johnsonj/etc/한글판PQR232EUCKRPRINT.html 입니다.

    출처는 http://home.hanmir.com/~johnsonj/ 입니다.

    좋은 문서들 많이 있습니다.

     

     

    'programming > python' 카테고리의 다른 글

    파이썬 스타일 지도서  (0) 2004.01.27
    특정 달의 날짜 수 구하기  (4) 2004.01.27
    [Sample] 베타뉴스 겔러리 그림 긁어 모으기  (0) 2004.01.27

    + Recent posts