다음을 통해 공유


Unix 골수가 Windows에서 사는 법 #3: SUA (골수 Unix 유저를 위한 배려?)

일단 글 꼭지부터 바꾸었다. 너무 길어서다. 그 대신 딸린 제목을 더 길게 쓰기로 했다. 읽는 사람이 헛갈려도 할 수 없다. (누가 진짜 읽기는 하남? ^^;;)

내가 처음으로 닷넷으로 연습삼아 해보고 싶은 놀이는, 2008년 PDC, The Future of C# 에서 Microsoft Technical fellow자 C# Chief Architect로 일하고 있다는 Anders Hejlsberg가 보여주었던 Compiler-As-a-Service 예제다. 데모에서 크게 감명을 받았다거나 그래서가 아니라, 앞으로 실험해 보고자 하는 놀이에 Meta-Programming 기술이 꼭 필요하기 때문이고, 그 과정에서 Mono 팀이 삽질하고 있는 C# Interactive Shell 이라도 만들어 가지고 놀 수 있으면 무지 즐겁겠다는 생각이 들어서다.

문제는 이 맛갈나는 오프소스 자산을 가져다 쓰면서 tar, bzip은 아카이빙 도구들은 물론이고 make 등등 UNIX 프로그래밍 환경에서 거의 매일 쓰다시피하는 UNIX 명령어들이 줄줄이 등장하노니… 이 거 진짜 삽질이다.

그리하여, 그간의 삽질보고 되겠다.

  • 아름드리님 가르침대로 GUI Shell command 만들어 넣는 삽질하다가 알게되었는데, Windows Registry Editor Version 5.00이라는 글귀를 파일 맨 첫머리에 넣지 않으면 이런 메시지 뜬다. 이 글귀가 없으면 이 파일 type 못알아 보나 브다. UNIX file system에서 말하는 Magic Number랑 비슷한 건가 이거?

clip_image001

  • Meta-Programming을 지원하려면, (C#) Parser / Evaluator / Compiler Agent 같은 API set들이 필요하다. 결론은, .NET 4에는 아직 없다. 그리고 간단한 Command Line shell이라도 만들어 보려면 GNU의 readline 같이 line editor 기능이 갖추어진 Input Stream Reader가 있어야 한다.
  • 필요할 때마다, GNU Unix 유틸들 하나씩 찾아서 깔다가, 결국은 SUA (Subsystem for Unix-based Applications)라는 거 깔았다. Microsoft에서 이런 거 많들어 놓았는지 진짜 몰랐다. 왜 아무도 말 안해 주는 거냐!!! 한 술 더떠서, 이런 곳도 있다. 덩실 덩실! SUA Community라는 게 있는 거다. { 이제 이거보고 열심히 따라 해야 겠다. 그럴 바엔 차라리 그냥 Unix 쓰라고 하고 싶으시겠지만 좀 참으시라. 뭐, 교육 비디오 두편도 Microsoft에서 만들어 준 거 같은디. 어쨌든 기쁨일지어다. }

    clip_image002

  • 오, Windows/SUA 밑에 널브러진 그 친숙한 디렉터리 생김새들과, bin 아래에 화면 가득히 펼쳐진 정겨운 이름들이여!! 땡스 어랏!

Comments

  • Anonymous
    January 20, 2010
    무슨 말인지 전혀 모를때가 99%지만 읽고 있습니다. ㅋ_ㅋ;;

  • Anonymous
    January 20, 2010
    흑흑 공감을 더 이끌어 내려면, 글을 좀 풀어 써야 하는데, 그저 삽질 놀이 하는 게 더 재밌어서, 머리 속에 뜨는 대로 막 써 올리다 보니.... 지송. 앞으로 코드가 조금 씩 등장하면 괜챦겠죠? :)