김효정 기자 ( ZDNet Korea )   2007/11/21

20일 오전에 MS가 주관하는 ‘2007 데브데이’ 행사에 참석했다. IT업계에 종사하는 사람이라면, 아마도 한번쯤은 MS의 독점성과 라이선스 정책 등에 대해 불만을 품어봤을 만하다. 그럼에도 불구하고 SW 개발자들의, MS에 대한, 관심은 어느 행사보다 뜨거움을 느낄 수 있었다.

기자는 오전 행사 중 한국MS의 최고기술임원인 김명호 박사(혹은 이사, 왠지 모르지만 박사라는 호칭이 더 어울린다)의 기조연설만 듣고 나서 김박사와의 짧은 인터뷰를 진행할 수 있었다. 그는 기조연설과 인터뷰를 통해 ‘한국에서 SW 개발자가 가야 할 길’에 대해 <희망차고도 암울한> 사회적 딜레마를 이야기해 주었다.

아래의 글은 김명호 박사를 통해 들을 이야기를 바탕으로 작성해 보았다.

[明, SW 개발자여 전문인으로 거듭나자!]
ZDNet Korea의 컬럼니스트 중 한명인 류한석 소장은 얼마 전 자신의 컬럼에 ‘한국에서 SW 개발자가 성공하지 못하는 세가지 이유’를 통해 어려운 사회적 현실을 이야기 했다. 그러한 이유가 아니더라도, SW 개발자로 성공한다는 것 자체는 다른 어떠한 직업과 견주어도 결코 쉬운 것만은 아닐 것이다.

한국 자바 개발자의 1세대라 할 수 있는 김명호 박사 역시 개발자 출신으로 성공의 길을 걷고 있다고 할 수 있지만 “이 길이 아니다 싶으면 차라리 다른 일을 하라”는 말을 서슴지 않고 내던지고 있다. 요즘 시대에 개발자는 한국이라는 좁은 시장에서가 아니라 전세계적으로 통할 수 있는 전문성을 가져야 하는데, 이를 달성하는 것은 결코 쉬운 일이 아니기 때문이다.

SW 개발자로 성공하려면, 단기간 학원 교육을 통해, 누구나 습득할 수 있는 주류 기술 몇 가지만 배워서는 안 된다. 코딩, 테스트, 디버깅, 이식, 성능, 설계, 스타일 등 다양한 소양을 갖춘 전문인이 진정한 개발자라고 할 수 있다. 단순히 코딩만을 할 줄 안다고 해서 전문인으로써의 ‘정신과 혼’을 담지 않고 있다면 ‘하급 노동자’에 지나지 않는다는 것이다.

개발자와 아키텍트는 다르다
한국의 개발자들은 마치 개발자가 아키텍트로 가는 중간 단계로, 한번쯤 거쳐야 할 과정쯤으로 여기는 경향이 있다. 그러나 아키텍트와 개발자는 엄연히 다른 직업이다. 아키텍트가 되기 위해 개발자 경험이 있는 것은 좋지만, 막연하게 개발자를 거쳐 아키텍트가 된다고 생각하는 것은 옳지 않다는 것이 김박사의 설명이다.

그는 “아키텍트가 될 자질을 갖추는 것은 개인의 소양에 따라 다르다. 이를 건설에 비유하자면, 개발자는 건설현장에서 일하는 인부고 아키텍트는 건축설계사라고 볼 수 있다. 미적, 공학적인 요소를 갖추었을 때 건축설계사가 되는 것처럼, 현장 인부가 자신의 경력을 통해서만 될 수는 없는 것이다”라며 “대신 그들은 미장이나 도색 전문가 혹은 작업반장이 될 수 있다. 즉, 해달 분야의 전문가로 훌륭히 성공할 수 있는 것이다”라고 말했다.

그렇다고 벽돌을 나르는 수준의 초급 개발자가 10년 후 작업반장 수준의 상급 개발자가 되는 것은 아니다. 먹고 살기 위해서 개발을 한다면 행복해 질 수 없을 테고, 당연히 훌륭한 개발자가 될 수도 없다. 때문에 개발자들이 당면한 과제는 어떻게 하면 훌륭한 개발자가 될 수 있냐는 올바른 방법론이 필요하다.

이에 대해 김명호 박사는 몇 가지 지침을 가르쳐 준다.

훌륭한 개발자가 되려면?
1) 기본에 충실해야 한다.
여기서 말하는 기본과 초급은 분명 다르다. 개발자라면 알고 있어야 할 프로그래밍의 기본 구조나 알고리즘 등의 기본에 충실하지 못하다면, 10년이 지나도 불행하기는 마찬가지일 것이다. 만약 개발자인 당신이 먹고 살기에 급급해서 수박 겉핥기로 몇몇 기술만 습득했다면 지금이라도 당장 시작하는 것이 중요하다. ‘언젠가는 적용해야 할 핵심기술’을 습득하는 것이 중요하다.

2) 지식의 포트폴리오를 유지하라.
재테크에서의 교훈에 따라 ‘달걀을 한 바구니에 담지 마라’는 것을 생각하자. 즉, 개발자는 어느 한 분야에 올인하지 말고 ‘남들도 다 아는’ 주류 기술과 ‘남들은 모르는’ 전문 기술로 분산 투자해야 한다는 것이다.

3) 분야 전문가나 해박한 지식을 갖춰라.
앞서 언급한 대로 건설현장에서 미장이나 도색 전문가, 작업반장이 될 수 있는 분야별 전문가가 된다면 어디서든 존중 받을 수 있다. 그러나 여기서 중요한 것은 과도한 욕심을 부려서는 안 된다는 것이다. 분야의 전문가인 동시에 해박한 지식을 갖추고 있다면 그야말로 ‘천재’라고 할 수 있지만, 이 둘 중 한가지만 갖춰도 충분하다는 것이다. 모든 분야에 대해 피상적인 지식만을 갖추고 있다거나, 사장된 기술에 매달린다거나, 자아도취에 빠져 자신만의 방법이 옳다고 여기는 오류를 범할 수 있기 때문이다.

4) 학습을 두려워 마라.
이것이 김박사가 가장 강조하는 부분으로, 충분한 기본지식을 갖추고 있다면 새로운 지식을 습득하는 것에 두려움이 없으며 새로운 기술을 습득하고 끊임없이 발전해 나가는 것이야 말로 행복한 개발자가 되는 최우선 요소다. 만약 새로운 기술을 습득하는데 더디다고 느낀다면 그것은 기본이 부족하기 때문이며, 지금이라도 기본을 습득해 나간다면 신기술 습득에 대한 두려움은 사라진다.

이러한 개발자를 위한 성공 방법론이 제시됐음에도 불구하고, 개발자가 선택할 수 있는 최악의 길은 ‘다른 길을 찾아가는 것’이다. 개발자가 뭐 그리 대단한 것인가? SW 개발자가 아니더라도 얼마든지 다른 분야에서 전문인이 될 수는 있는 것이다. 자신이 택했지만 SW 개발자로의 미래가 안 보인다고 생각된다면, 과감히 다른 길을 선택하라.

개발자야 말로 ‘파레토의 80대 20의 법칙’이 가장 확실하게 적용되는 분야다. 20%의 능력 있는 개발자만이 훌륭하게 80%의 개발을 수행할 수 있다.

[暗, 과연 한국에서 SW 개발자가 성공할 수 있나?>
김명호 박사는 SW산업에서 이러한 파레토의 법칙이 중요하다고 말한다. 뛰어난 소수의 전문인력이 SW산업을 발전시킬 수 있고, 이러한 인재를 정책적인 지원 하에 키워내야 한다는 것이다.

그러나 현실은 그다지 밝지 않아 보인다. 정부의 정책이라는 것이 ‘노동정책’에 가깝기 때문이다. 즉, 대학과 같은 전문교육기관에 의한 전문가를 양성한다기 보다 실업자를 줄이기 위해 하급 개발자를 배출해 내는데 급급하고 있다는 지적이다.

막상 현재 대학의 교육 현실은 어떠한가? 학부제를 도입한 이후, 학생들은 어려운 과목은 제외하고 쉽거나 학점을 잘 받을 수 있는 과목을 수강할 수 있게 된 상태다. 숙명여대 전산관련 학과의 한 교수는 “요즘 학생들은 알고리즘과 같이 기본을 다질 수 있는 과목은 어렵다고 회피한다. 그저 취업을 위한 학점 챙기기나 가벼운 프로그래밍 기술에 몰린다”고 안타까워한다.

이럴 바에는, 오히려 비전공자가 낫다는 의견도 있다. 기본에 충실하지 않은 전공자들보다 학원에서 5~6개월 집중적으로 배우고, 취직해서 급여를 받는 이들이 더욱 충실도가 높고 급여도 적게 든다는 것에 SI업체들이 매력을 느낄 수도 있다는 것이다.

실패 거듭하는 ‘SW 정책’
실제 이렇게 부실한(기본에 충실하지 못하다는 의미로, 이들이 모두 부실하다는 것은 아니다) 개발자들을 고용한 SI업체를 통해 프로젝트가 실패한 경우, 그 책임소재의 표적은 SI가 아닌 HW로 돌리는 경향이 있기도 하다. 어떻게 보면 이것이 ‘SW 분리발주 정책’을 창출한 계기 중 하나이며, 개발자의 ‘표준공임단가’를 책정하게 된 이유가 될 것이다.

특히 개발자에 대해 표준공임단가를 두어 금전적 보상에 제한을 두어서는 안 된다. 이는 능력 있는 전문가가 되고자 하는 이들의 의지를 꺾을 수 있기 때문이다. 핀란드의 한 대학에서 내놓은 조사자료에 의하면 ‘SW 개발생산성에 있어 훌륭한 개발자 1명의 개발생산성이 하급 개발자에 비해 20배 가량 높다’는 결과가 있다. 이는 급여 측면에서 볼 때에도 그 이상의 가치가 있는 것이다.

현재 정부의 실업정책에 가까운 SW 정책은 이러한 측면에서 많이 부족하다는 지적이다. 즉, 표준공임단가에 묶여 있기 때문에 국내에서는 아무리 뛰어나다고 해도 인정받지 못하는 토양이 굳어져 가고 있으며, 이는 마찬가지로 기업 내부에서도 개발자에게 인색할 수 밖에 없다.

또한 전문인을 양성하기 위해 수년의 기간이 필요하지만, 단기간 성과를 내야만 하는 국내의 프로젝트 특성도 개발자를 힘들게 하는 악순환에 한 몫 거들고 있다.

소수의 전문인 중심 체계 필요
김명호 박사는 “정책적으로 획기적인 변화가 있어야 한다. 노동집약적 산업이 아닌 지식집약적 산업으로 바꾸기 위한 정책이 필요하다. 물론 교육도 마찬가지다. 전산 관련 대학 정원을 줄여서 의욕이 있는 전문가를 양성해 내고 이들을 대상으로 SW정책을 만들어 가야 할 것이다”라고 말했다.

그는 또 “16만 명에 달하는 국내 개발자들 모두에게는 미안한 말이지만, 누구나 다 성공할 수는 없다. 끊임없이 노력할 수 있고 자기를 발전시킬 수 있는 소수 개발자들만이 성공할 수 있으며, SW 정책도 이들에게 마음 놓고 일할 수 있는 환경을 만들어 주는 산업으로 만들어야 정부차원의 ‘미래의 먹거리’ 산업으로 성장할 수 있을 것이다”라고 주장했다. @

'기타' 카테고리의 다른 글

비스타에서 Virtual Server 2005 사용 방법  (2) 2008.04.28
Charset 과 Codepage 목록  (2) 2008.04.28

AND




출처 : http://blogs.msdn.com/astebner/archive/2007/10/30/5788546.aspx

How I was able to get Virtual Server 2005 to work on Windows Vista

Recently, I needed to configure and use a virtual server image that was provided to me by another team here at Microsoft.  In order to do this, I had to install and configure Virtual Server 2005 to host this image on my desktop OS.  I am running Windows Vista Ultimate edition on this system, and I found that I had to perform a few configuration steps in order to get Virtual Server 2005 to install and run correctly on Windows Vista.  I found these steps through various conversations and web searches, so I decided to consolidate them in one place in case anyone runs into similar issues in the future (and to make sure I could find them and replicate them again myself if I need to....)

Here are the steps I had to take on my Windows Vista Ultimate system in order to install, configure and use Virtual Server 2005:

Add IIS features on an existing Windows Vista OS

IIS is not installed by default when installing Windows Vista, so in most cases you will need to add several IIS features before being able to install Virtual Server 2005 on Windows Vista.   I used the following steps to add IIS to my Windows Vista system that is running the Ultimate edition:

  1. Go to the Programs and Features control panel.  I typically do this by pressing the Windows key + R and typing appwiz.cpl in the run dialog
  2. Click the Turn Windows features on or off link in the Tasks list on the left side of the Programs and Features control panel, and click Continue to launch with administrator privileges
  3. In the Windows Features dialog, locate the item named Internet Information Services in the feature tree.  Check the root node to enable the default set of IIS features
  4. Expand the root node and check the following child nodes that do not end up getting checked by default (this is the list of items that I checked, but I don't know for sure if all of them are necessary in order to use Virtual Server 2005):  all of the IIS 6 management tools under the Web Management Tools node, all of the features in the Application Development Features, Common Http Features and Security nodes under the World Wide Web Services node
  5. Click OK to add all of the IIS features that you selected in the previous 2 steps
  6. Reboot after IIS feature installation completes

Install Virtual Server 2005

Once you have added the appropriate IIS features on your Windows Vista system, you can proceed to install Virtual Server 2005.  You should see a UI page during Virtual Server 2005 setup that allows you to configure the Virtual Server web site.  If you have not properly configured IIS, you will likely see an error message during this phase of Virtual Server setup.  If that is the case on your system, you should reboot and then return to the Windows Features control panel and verify the installation state of the IIS components on your system.

Add an IIS handler mapping so it will treat EXE files as CGI

After adding IIS features to your Windows Vista system and installing Virtual Server 2005, you will need to configure a new handler mapping for the VirtualServer web site.  To do this, I used the following steps (there may be other ways of doing this, but this is the way I found that worked for me):

  1. Go to the Windows start menu, choose All Programs, then Administrative Tools, then Internet Information Services (IIS) Manager
  2. Click Continue to launch the IIS Manager application with administrator privileges
  3. In the Connections tree control on the left side of the IIS Manager UI, expand Web Sites, then expand Default Web Site, find the VirtualServer web site and click on it
  4. In the main pane, you should see /VirtualServer Home.  Select Group by area if it is not currently selected in the Group by drop down.  Then find the IIS settings section and double-click on the item named Handler Mappings
  5. In the Handler Mappings pane, right-click and select Add Module Mapping...
  6. In the Request path text box, enter *.exe
  7. In the Module drop-down, select CgiModule.  If you do not see CgiModule listed in this drop-down, you will need to go back to the control panel and make sure that you add the CGI feature to IIS (located under Internet Information Services | World Wide Web Services | Application Development Features | CGI in the Windows Features control panel), then try these steps again
  8. In the Name text box, provide a friendly name for the module mapping.  I used EXE-to-CGI, but it doesn't matter what you type here
  9. Click OK to add the module mapping to the VirtualServer web site
  10. In the Connections tree control on the left side of the IIS Manager UI, expand Web Sites, then right-click on the Default Web Site and choose Restart to make sure that the changes made above will take effect

Create a shortcut to launch the Virtual Server administration Web site as an administrator

In order to be able to launch the Virtual Server administration Web site on Windows Vista, you have to start Internet Explorer 7 with administrator privileges.  It is possible to manually launch IE7 by right-clicking on it and choosing Run as administrator, then manually navigate to the Virtual Server administrator site.  However, that can get annoying if you find yourself needing to open this site frequently.  Fortunately, I found this blog post that describes how to create a shortcut that will automatically launch IE7 with elevated privileges and navigate to the Virtuan Server administration Web site after you grant it permission to launch.  To summarize those steps, you will need to do the following:

  1. Right-click on your Windows Vista desktop and choose New, then Shortcut
  2. In the Create Shortcut dialog, copy and paste the following into the text box for the location of the item (this assumes you have Windows Vista installed to the default location on the C drive, so you will need to adjust this path as appropriate if that is not the case on your system):

    "C:\Program Files\Internet Explorer\iexplore.exe" http://localhost/VirtualServer/vswebapp.exe?view=1
  3. Click Next, then provide a friendly name for the shortcut such as Virtual Server administration site
  4. Click Finish to create the shortcut on your desktop
  5. Find the newly created shortcut, right-click on it and choose Properties
  6. Click the Advanced button in the Properties dialog
  7. Check the box labeled Run as administrator and click OK
  8. Move the shortcut to whatever location you prefer (the Windows start menu, the Quick Launch bar, etc)

비스타에서 버츄얼 서버 2005를 사용해보려고 하다 안되길래 지운뒤 찾아 보니 이런 방법이 있었다 ㅡㅡ;
실제 되는지 해보지는 않았지만 혹시 나중을 위해 스크랩~ ㅎㅇㅎ


'기타' 카테고리의 다른 글

SW 개발자의 길, 아니다 싶으면 포기하라!  (3) 2008.04.28
Charset 과 Codepage 목록  (2) 2008.04.28

AND

Charset 과 Codepage 목록

기타 2008. 4. 28. 01:06

구분 Charset CodePage
한국어 ks_c_5601-1987 949
IBM EBCDIC(미국-캐나다) IBM037 37
OEM 미국 IBM437 437
IBM EBCDIC(국제) IBM500 500
아랍어(ASMO 708) ASMO-708 708
아랍어(DOS) DOS-720 720
그리스어(DOS) ibm737 737
발트어(DOS) ibm775 775
서유럽어(DOS) ibm850 850
중앙 유럽어(DOS) ibm852 852
OEM 키릴 자모 IBM855 855
터키어(DOS) ibm857 857
OEM 다국 라틴 문자 I IBM00858 858
포르투갈어(DOS) IBM860 860
아이슬란드어(DOS) ibm861 861
히브리어(DOS) DOS-862 862
프랑스어(캐나다)(DOS) IBM863 863
아랍어(864) IBM864 864
북유럽어(DOS) IBM865 865
키릴 자모(DOS) cp866 866
현대 그리스어(DOS) ibm869 869
IBM EBCDIC(다국 라틴 문자-2) IBM870 870
태국어(Windows) windows-874 874
IBM EBCDIC(현대 그리스어) cp875 875
일본어(Shift-JIS) iso-2022-jp 932
중국어 간체(GB2312) gb2312 936
한국어 ks_c_5601-1987 949
중국어 번체(Big5) big5 950
IBM EBCDIC(터키어 라틴 문자-5) IBM1026 1026
IBM 라틴어-1 IBM01047 1047
IBM EBCDIC(미국-캐나다-유럽) IBM01140 1140
IBM EBCDIC(독일-유럽) IBM01141 1141
IBM EBCDIC(덴마크-노르웨이-유럽) IBM01142 1142
IBM EBCDIC(핀란드-스웨덴-유럽) IBM01143 1143
IBM EBCDIC(이탈리아-유럽) IBM01144 1144
IBM EBCDIC(스페인-유럽) IBM01145 1145
IBM EBCDIC(영국-유럽) IBM01146 1146
IBM EBCDIC(프랑스-유럽) IBM01147 1147
IBM EBCDIC(국제-유럽) IBM01148 1148
IBM EBCDIC(아이슬란드어-유럽) IBM01149 1149
유니코드 utf-16 1200
유니코드(Big-Endian) unicodeFFFE 1201
중앙 유럽어(Windows) windows-1250 1250
키릴 자모(Windows) windows-1251 1251
서유럽어(Windows) Windows-1252 1252
그리스어(Windows) windows-1253 1253
터키어(Windows) windows-1254 1254
히브리어(Windows) windows-1255 1255
아랍어(Windows) windows-1256 1256
발트어(Windows) windows-1257 1257
베트남어(Windows) windows-1258 1258
한국어(조합) Johab 1361
서유럽어(Mac) macintosh 10000
일본어(Mac) x-mac-japanese 10001
중국어 번체(Mac) x-mac-chinesetrad 10002
한국어(Mac) x-mac-korean 10003
아랍어(Mac) x-mac-arabic 10004
히브리어(Mac) x-mac-hebrew 10005
그리스어(Mac) x-mac-greek 10006
키릴 자모(Mac) x-mac-cyrillic 10007
중국어 간체(Mac) x-mac-chinesesimp 10008
루마니아어(Mac) x-mac-romanian 10010
우크라이나어(Mac) x-mac-ukrainian 10017
태국어(Mac) x-mac-thai 10021
중앙 유럽어(Mac) x-mac-ce 10029
아이슬란드어(Mac) x-mac-icelandic 10079
터키어(Mac) x-mac-turkish 10081
크로아티아어(Mac) x-mac-croatian 10082
중국어 번체(CNS) x-Chinese-CNS 20000
TCA 대만 x-cp20001 20001
중국어 번체(Eten) x-Chinese-Eten 20002
IBM5550 대만 x-cp20003 20003
TeleText 대만 x-cp20004 20004
Wang 대만 x-cp20005 20005
서유럽어(IA5) x-IA5 20105
독일어(IA5) x-IA5-German 20106
스웨덴어(IA5) x-IA5-Swedish 20107
노르웨이어(IA5) x-IA5-Norwegian 20108
US-ASCII us-ascii 20127
T.61 x-cp20261 20261
ISO-6937 x-cp20269 20269
IBM EBCDIC(독일) IBM273 20273
IBM EBCDIC(덴마크-노르웨이) IBM277 20277
IBM EBCDIC(핀란드-스웨덴) IBM278 20278
IBM EBCDIC(이탈리아) IBM280 20280
IBM EBCDIC(스페인) IBM284 20284
IBM EBCDIC(일본어 가타카나) IBM290 20290
IBM EBCDIC(프랑스) IBM297 20297
IBM EBCDIC(아랍어) IBM420 20420
IBM EBCDIC(그리스어) IBM423 20423
IBM EBCDIC(히브리어) IBM424 20424
IBM EBCDIC(한국어 확장) x-EBCDIC-KoreanExtended 20833
IBM EBCDIC(태국어) IBM-Thai 20838
키릴 자모(KOI8-R) koi8-r 20866
IBM EBCDIC(아이슬란드어) IBM871 20871
IBM EBCDIC(키릴 자모 러시아어) IBM880 20880
IBM EBCDIC(터키어) IBM905 20905
IBM 라틴어-1 IBM00924 20924
일본어(JIS 0208-1990 및 0212-1990) EUC-JP 20932
중국어 간체(GB2312-80) x-cp20936 20936
한국어(완성) x-cp20949 20949
IBM EBCDIC(키릴 자모 세르비아어-불가리아어) cp1025 21025
Ext Alpha 소문자 x-cp21027 21027
키릴 자모(KOI8-U) koi8-u 21866
서유럽어(ISO) iso-8859-1 28591
중앙 유럽어(ISO) iso-8859-2 28592
라틴어 3(ISO) iso-8859-3 28593
발트어(ISO) iso-8859-4 28594
키릴 자모(ISO) iso-8859-5 28595
아랍어(ISO) iso-8859-6 28596
그리스어(ISO) iso-8859-7 28597
히브리어(ISO-Visual) iso-8859-8 28598
터키어(ISO) iso-8859-9 28599
에스토니아어(ISO) iso-8859-13 28603
라틴어 9(ISO) iso-8859-15 28605
히브리어(ISO-Logical) iso-8859-8-i 38598
일본어(JIS) iso-2022-jp 50220
일본어(JIS-Allow 1 byte Kana) iso-2022-jp 50221
일본어(JIS-Allow 1 byte Kana - SO/SI) iso-2022-jp 50222
한국어(ISO) euc-kr 50225
중국어 간체(ISO-2022) x-cp50227 50227
일본어(EUC) euc-jp 51932
중국어 간체(EUC) EUC-CN 51936
한국어(EUC) euc-kr 51949
중국어 간체(HZ) hz-gb-2312 52936
중국어 간체(GB18030) GB18030 54936
유니코드(UTF-7) utf-7 65000
유니코드(UTF-8) utf-8 65001


출처 다국어 사이트를 위한 Charset and Codepage|작성자 트로니아

AND