코딩 네이밍 스타일 일람

1) 헝가리안 네이밍.

헝가리 프로그래머 Charles Simonyi 가 1972~1981 사이에 헝가리 사람들이 이름짓는 방식을 본따서 발명했다고 합니다. 후에 그가 마이크로스프트에서 팀장으로 있을 때 이 스타일이 전파되여 MFC 의 코딩 컨벤션으로 되면서 상당한 영향력을 가졌다고 합니다.
이런 스타일은 변수 앞에 변수의 타입을 덧붙이는게 특징인데 예를 들면 i_Count 이런 식이라고 합니다. 지금은 마이크로소프트 자체도 이런 스타일을 추천하지 않는다고 합니다.

2) Camel case

대문자 소문자가 번갈아 나타나는 식이 낙타같아서이기도 하지만, 더 중요하게는 Perl 언어가 이런 식을 많이 사용했는데 Larry Wall 등이 편찬한 유명한 《Programming Perl》(O’Reilly) (일명 낙타책) 의 커버 페이지가 낙타그림임으로 이런 이름을 얻었다고 합니다.

이런 스타일은 또 lower camel case (예: firstName) 와 upper camel case (예: FirstName) 로 나뉘는데 후자는 또 Pascal 스타일이라는 다른 이름을 가지고 있습니다.

Continue reading

보이지 않는 전우

author: 李鱼 번역: coolspeed

cover

스티브 마퀴스는 TV도 없고 휴대폰 신호도 들어오지 않는 워싱턴 외곽의 한 오두막안에서 은거한다. 15 년동안 그는 전 세계 다른 십여명의 프로그래머와 인류의 프라이버시를 지키는 위대한 프로젝트를 수행해왔다. 그들은 서로 만난 적이 한번도 없다. 그들은 서로에게 이메일 뒤에 있는 유령과 같은 존재였다, 갑자기 어느 중국회사가 “거액”의 돈을 기증해오기 전까지는.

[워싱턴]

스 티브 마퀴스(Steve Marquess)는 TV도 없고 휴대폰 신호도 들어오지 않는 워싱턴 외곽의 한 오두막 안에서 은거한다. 통신사는 해마다 신호탑이 그의 집앞에 세워질것이라고 가슴치며 말했지만 지금까지도 실행하지 않았다. 이런 불편한 점 말고는 오두막 주변은 울울창창 나무들이 자라고 새들이 지저귀며 꽃향기가 풍겨 슈퍼히어로가 세계를 구할 필요 없는 주말에 찾기에 딱 좋은 곳이였다.

“난 인젠 노인이야. 천공판(punched card)이나 진공관 컴퓨터들을 기억하고 있을 만큼 구물이지. 그 시절엔 소프트웨어 특허따윈 없었고 IBM같은 컴퓨터 제조사들은 소프트웨어를 컴퓨터를 팔 때 무료로 줬어. 그때부터 난 오픈소스에 정신이 팔려있었어.”

스티브 마퀴스는 어느 지방잡대를 졸업하고 미국 국방부의 컬설턴트로 근무했었고 무기거래상의 면허도 땄었다. 그렇게 세월은 흐르고 그는 마침내 주택구입대출을 다 갚았으며 어느덧 딸도 대학교 졸업의 나이가 되었다.

그는 수다가 많았지만 청각이 좀 안좋았다. 평소에 술과 사냥을 좋아했다. 그외 시간은 거의 가장 광범위하게 쓰이고있는 오픈소스 암호학 라이브러리인 OpenSSL프로젝트에 기여하였다. OpenSSL의 코드에 취약점이 생기면 지구상의 3분의2에 달하는 웹사이트 서버가 영향을 받게 된다. 해커는 심지어 직접 개인컴퓨터를 공격할 수도 있게 되며 인터넷에 연결되어있는 전세계 수십억 네티즌들의 개인정보, 비밀블로그글이며 은행계좌비밀번호까지, 다 위험속에 노출되게 된다.

창립때부터 OpenSSL프로젝트는 소스코드를 오픈하였고 모든 질의와 개선건의들을 귀담아 들어왔다. 위키백과(Wikipedia)와 유사하게 이 오픈소스프로젝트도 그 어떤 상업적회사에 소속되여있지 않으며 한줄한줄의 코드가 다 전 세계 각지에 있는 프로그래머들이 주말이나 여가시간에 자원적으로 기여한 것이다. 서버를 유지보수하기 위해, 새로운 장비를 구입하기 위해, 검증테스트를 외주로 돌리기 위해, OpenSSL은 대중으로부터 기부금을 받기도 하고, 프로젝트에 보태기 위해 프로젝트와 전혀 관련 없는 외주 프로그래밍 일감도 받군 했다.

15년동안 OpenSSL이 매년 얻은 기부금은 시종 2천여달러 좌우에서 배회했다. 믿기 어렵겠지만, 국제인터넷의 태반을 보호하고있는 암호학 라이브러리 프로젝트는 사실상 2명의 풀타임 프로그래머밖에 고용할 수 없었다. 그 두분의 이름은 모두 스티브, 캡틴 아메리카와 동명이였다.

Continue reading