Sun의 VirtualBox

http://coolengineer.com/619 에서 언급했던, (우분투:KVM:MS-Windows) 조합을 (우분투:VirtualBox:MS-Windows)로 바꾸었습니다.

이런일이 있었는데, 오라클 클라이언트를 거기에 깔았다가 NTFS가 망가지는 바람에 (무슨 이유에서 그랬는지는 잘 모르겠고.) 바꾸었습니다.

VirtualBox에는 MS-VirtualPC에서 처럼 Windows에 설치해서 쓸수 있는 게스트 애드온(VBoxGuestAdditions_2.0.4.iso)을 제공하더군요. 역시 Sun에서 선택하여 제공하는 거라 그런지 좋은것 같습니다.

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

Posted by 최호진

2008/11/19 15:09 2008/11/19 15:09
Response
No Trackback , No Comment
RSS :
http://coolengineer.com/rss/response/623

윈도우를 항상위로 올리는 기능

윈도우를 항상 위로 올리는 기능은 메신저 대화 창이나, 동영상 플레이어 같은 프로그램들입니다. 띄워 놓고 다른짓을 해야할 일이 있는 것들이죠.

MS 윈도우의 다음 버전에는 항상 위로 올릴 수 있는 기능이 윈도우 메뉴에 있었으면 좋겠습니다. 아무 윈도우에서나 Alt-space를 누르고, T를 눌러서 최상위로 올리는 것 매우 필요한 기능아닌가요?

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

Posted by 최호진

2008/11/19 13:51 2008/11/19 13:51
Response
No Trackback , 2 Comments
RSS :
http://coolengineer.com/rss/response/622

왜, 하이패스 단말기를 구입해야하는 사회적 부담을 지웠을까, 어차피 끝까지 찾아내어 벌금물리는 과속 단속 카메라를 잘 활용하여 차주 동의하에 과금시스템으로 사용하지.

좋잖아? 내 번호판이 찍히면 내 통장에서 돈이 지불되는 방식.

내가 너무 아이디어를 늦게 냈나? 이거! 미안해서 어쩌지?
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 최호진

2008/11/19 02:41 2008/11/19 02:41
이올린 태그검색올블로그 태그검색티스토리 태그검색
Response
No Trackback , 4 Comments
RSS :
http://coolengineer.com/rss/response/621

Linux에서 기본으로 동작하는 윈도우 아무곳에서나 alt를 누른 상태에서 마우스를 드랙하면 창을 이동시킬 수 있는 기능을 MS-Windows에서도 사용하세요!


짜잔!

한번 중독되면 헤어나올 수 없는 맛!
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 최호진

2008/11/18 23:16 2008/11/18 23:16
이올린 태그검색올블로그 태그검색티스토리 태그검색
Response
A trackback , 2 Comments
RSS :
http://coolengineer.com/rss/response/620

리눅스 KVM, 윈도우 Virtual PC 사용기

전, 회사에서는 우분투에 KVM 으로 윈도우를 돌리고, 집에서는 Windows XP에 Virtual PC를 통해서 돌립니다. 근데, Virtual PC 는 내외부가 Windows고 Virtual PC 내부에도 외부와 통신하기 위한 소프트웨어를 깔아주니,

클립보드 이동은 물론이고,
파일 복사는 떨어뜨리기로 되고,
마우스는 막힘없이 들락날락하고...

(우분투:KVM:MS-Windows) 조합보다 (MS-Windows:Virtual PC:MS-Windows) 조합이 훨씬 사용성이 좋습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 최호진

2008/11/18 15:06 2008/11/18 15:06
Response
No Trackback , a comment
RSS :
http://coolengineer.com/rss/response/619

인터넷 접속 제어

인터넷을 이용하는 프로그램의 핵심에 웹 브라우져가 있다고 가정하고 만드는 보안 장비들이 있습니다. 그들의 주 타겟은 사용자의 인터넷 접속을 제한하는 것인데, 모든 웹 트래픽을 사용자 인증을 거치도록 리다이렉션 시킨다음 인증되고 나면, 해당 브라우저에 cookie나 혹은 auth header등을 설정하게 만들거나 해당  IP를 등록하여 이후의 인터넷 접속을 허용하는 방식으로 구현이 됩니다.

문제 발생

아, 그런데 여기에서 웹브라우저가 아닌 것들과 문제가 발생합니다. 저희 회사의 제품에서도 80번 포트를 이용한 HTTP로 업데이트를 하고 있습니다만, 이것은 사용자의 인터렉션을 기대하기 어렵습니다. 라이브러리만 HTTP를 이용하는 수준으로 개발되기 때문입니다. HTTP 프로토콜을 사용하는 어플리케이션 개발자들은 대개
  • IE Component를 이용하거나
  • HTTP+SSL library 를 이용하거나
  • tcp로 직접 HTTP를 구현하거나
하는 방법을 사용하게 됩니다. 그러나 네트워크 보안제품을 만드는 사람은 어떻게든 불편을 감수하고서라도 관리자에 의해 통제 가능하도록 만듭니다.

보안 제품 개발

이런 보안 제품은 최대한 정상적인 흐름을 건드리지 않고 그 흐름을 제어 하게 됩니다. network fire wall, personal fire wall, qos, switching hub, transparent proxy, load balancer, nat, ips 등등... 일개 어플리케이션 개발자들이 굳이 알지 않아도 그들은 다 회피시켜주는 것을 원칙으로 합니다. 다만, 인터넷 접속 제어만은 인증을 요구하여 최초 한번만 용서를 구하도록 개발되고, 이런 보안 프로그램과 일반 어플리케이션이 충돌하게 되면, 어플리케이션이 접속하는 서버들은 고정되어 있으므로, 그 서버 리스트를 제작자에게 요청하여 예외 항목에 등록하게 됩니다.

예외 관리 및 관리 회피 개발간의 갈등

여기에서 갈등이 생깁니다. 네트워크 관리자는 어플리케이션마다 예외를 추가하는 부담스러운 관리를 해야합니다. 필수 어플리케이션이 아닌 상황에서야 VIP(임원진) 들이 요청하는 것외에는 예외을 둘 수 없는 상황이 생깁니다.

그런데 그런 네트웍 안에 있는 어플리케이션 사용자들은 왜 이 제품이 정상적으로 동작하지 않는지 알 수 있는 방법이 없습니다. 제품 개발사에 문의를 하는 것 밖엔 없지만, 연락을 잘 하지 않습니다.

그렇다고, 어플리케이션 개발자들도 상상하지 않았던 보안제품이 설치된 환경에서 동작할 때의 이상현상이란 직접 보지 않고는 알 수가 없기 때문에 어떤 식으로 대처해야 할지 모릅니다. 대개, 보안 제품과 충돌할 때, 허용리스트를 네트워크 관리자에게 전달해주면 모든게 끝날수 있지만, 그렇게 모든 문제가 생기는 네트워크마다 가이드 해줄 수 있는 것도 아닙니다. 게다가 서버가 증설되거나 변경이 되면 다시 모든 네트워크 관리자에게 전달해주어야합니다.

결국... 개발자가...

이런 갈등은 소비자/생산자, 관리자/개발자 간의 알력이 포함될 수 밖에 없습니다. 여기서 문제는, 보안 제품쪽 개발자가 수 많은 어플리케이션의 요구사항에 맞춰 지능화 시키기란 어렵다는 것입니다. 어플리케이션 개발자가 늘 지는 구도로 갈 수 밖에 없고, 처음 몇번은 회피 목록을 관리자에게 전달하여 우회시키는 것을 해답으로 제시하겠지만, 다시 이런 일로 고객지원을 하지 않게 하려면, 어플리케이션에서 사용하는 HTTP를 마치 인터넷 익스플로러를 사용할 때 나올 법한 오류 메시지로 진화시켜야합니다.

이런 개발자들을 우리는 칭찬해 주어야합니다.


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

Posted by 최호진

2008/11/17 19:45 2008/11/17 19:45
이올린 태그검색올블로그 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://coolengineer.com/rss/response/618

사람을 볼 줄 안다?

아침에 버스를 타고 오다가 어떤 직장 동료 사이인 남녀가 아침에 출근하면서 하는 얘기를 엿(?)들은 얘기가 있습니다.

대개의 줄거리는, 여자는 대략 30대 초중반인것 같고, 지난 주말에 나이가 보다 많은 남자를 하나 소개 받았는데, 처음부터 만나고 싶지 않았지만, 친구가 지금 누구를 고를 처지냐면서 굉장히 화를 내는 통에 만날 수 밖에 없었다는 것과, 만나 보니 이제 공무원이 되어 기반이 너무 없다는 것이었습니다.

그 외에 여러가지 말이 있었지만, 전 그 여자의 마음이 이해가 되기도 했습니다. 또 나이와 상관없이 사람이 좋으면 되는 것 아니냐라는 생각도 스쳐지나가면서 남자가 인간적인 매력이 없었다든지, 아니면 이제 여자의 나이에서는 그런 사랑을 만나는 것은 일반적으로 어렵다는 생각이 들기도 했습니다.

더불어 드는 생각은 어린왕자에 나오는 어른들의 이야기였습니다. 숫자로만 판단하고, 더 이상의 이야기는 의미가 없는 인간관계파악에 대한 얘기 말이죠.

언젠가도 비슷한 글을 쓴 거 같았는데, 사람을 외모로 판단하지 말고, 선입견으로 판단하지 말라, 죄는 미워하되 사람은 미워하지 말라는 교육 속에서 무난히 자라온 저로써는, 정말 저한테 직접적인 피해를 준 일이 아닌 사람에 대해서 나쁘게 생각하지 않는 경향이 있습니다.

그 누군가는...
당신은 사업하면 안돼
라는 말을 해주기도 하는데요. 제가 사람을 너무 믿는 경향이 있어서 그런 말을 하는것 같습니다. 저도 그렇게 생각했는데, 부인하고 싶진 않더군요. 그럼 전 사람을 잘 파악하지 못하는 걸까요?

저에겐, 이 사람이 긱~한 사람인지, 기술에 대한 끊임없는 열망이 솟는 사람인지를 직감적으로 느끼는 경향이 있습니다. 주위에 친한 사람도 그런 경향을 띄고 있고요. 사업할 성격이 못되죠? 대신, 이 기술이 어떤 역사적인 배경에서 나왔는지에 대한 것은 비교적 잘 알고 있습니다.

겉모습만 보고 판단하면 어떻습니까? 표현을 안하고, 적절히 에둘러 살아가는 법을 익히는 것이 중요하지. 이제 저한테 중요한 문장은 이렇습니다.
사람을 겉모습으로 판단할 수 있는 기민함을 가져라. 대신 판단한 결과로 상대를 대하지는 말아라.
냠...
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 최호진

2008/11/17 14:48 2008/11/17 14:48
Response
No Trackback , 2 Comments
RSS :
http://coolengineer.com/rss/response/617

정보의 소스에 대한 습관

제가 생각하는게 이상한가요? 검색은 검색엔진에서 하고, 정확한 정보는 정보 생산자에 가서 확인하는 가장 기본적인 습관이 있어야하는데 이렇죠
  1. 실제 정보/지식 생산자는 따로 있는데 검색엔진을 가진 포털 내부에서도 생산이 된다..
  2. 정보 생산자들의 홈페이지 robots.txt에는 죄다 검색엔진의 인덱싱을 허용하지 않는 설정을 해두고 있다.
  3. 그런 정보 생산자들의 사이트는 검색란이 있어도 원하는게 나오지 않을 때가 있다.
  4. 사람들은 이미, 네이버나 다음의 시각 구조에 익숙해서, 주민자치센터(동사무소)의 홈페이지에서 뭔가를 찾는 것을 너무 어색해 한다.
  5. 즉, 그런 사이트에서 정보 찾기란 UI도 익숙지 않을 뿐더러 일반 검색엔진이나 사이트 자체 검색엔진에서도 쉽게 찾을 수 없는 이상한 상황인 것이다. 그런데 그 사이트 어딘가에 있긴하다!
  6. 정보(회원정보 포함)라는 것이 일반 회원 모두에게 공개된 것이라 할 지라도, 검색엔진에서는 검색되지 않아야한다고 생각하기에 이르렀다. 정보를 공개한다는 것은, '회원에게 공개', '비회원에게까지 공개'라는 미묘한 구별을 하게 되었다.
  7. 즉, 어떤 공개된 내용을 보기 위해서는 가입을 해야 한다. 또는 내가 생산한 내용을 비회원에게는 보여 줄 수 없다.
  8. 네이버에서 발견하지 못하면, 인터넷에 없는 것이다. '다음'까지도 안간다.
  9. 사이트를 설계/개발하는 사람들은 검색엔진이 어떻게 적절하게 인덱싱하게 할지 신경쓰지 않는다. 신경을 쓴다해도 UI 다음에 한다.
  10. 굉장히 내용이 많은 사이트인데도 불구하고, 개편되고 나면, 다시는 찾을 수 없는 내용일 것 같은 느낌이 든다. 퍼가야만 될 것 같은 느낌이다.
자야겠어요...
P.S. 이 글도 퍼가야만 될 거 느낌이 드나요?
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 최호진

2008/11/14 02:56 2008/11/14 02:56
이올린 태그검색올블로그 태그검색티스토리 태그검색
Response
No Trackback , 2 Comments
RSS :
http://coolengineer.com/rss/response/616

가볍게?

블로그, 그냥 가볍게 쓸까보다.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 최호진

2008/11/13 01:05 2008/11/13 01:05
Response
No Trackback , 5 Comments
RSS :
http://coolengineer.com/rss/response/615

탭사이즈와 공백 2

가독성

에디터에서 탭이라는 것은 정말 C 언어에서의 "{"의 위치만큼이나 논란의 대상입니다. 왜냐면 가독성 같은 문제와 연결되어 있기 때문이죠.
탭 사이즈의 디폴트 값은 8 이라는 것은 잘 알려진 사실입니다. 그런데 이 크기가 왜 문제를 일으킬까요? 제 나름대로의 생각을 정리하자면, 두 가지입니다.
  • 모니터가 작았습니다.
  • 자동들여쓰기가 안되었습니다.
모니터의 크기가 작던 시절 8 칸을 옮긴다는 것은 화면상에 공백을 가져오는 요소를 가져옵니다. 이것은 모니터의 오른쪽 반에만 코드가 나오는 형국이 발생하게 됩니다.
들여쓰기를 많이 해야하는 상황에서, 지금처럼 엔터만 누르면 되는 자동 들여쓰기가 안되는 상황에서 매 행마다 공백을 넣어야하는 작업을 탭으로 했습니다. 이런 경우에서도 미세 조정을 하고 싶은 생각이 들게 되었습니다.
지금과 같이 모니터가 큰 상황에서도 탭가지고 문제가 생기는건, 아마도 netsted if, netsted loop 등을 남발하는 코드가 많기 때문이 아닐까 생각합니다.
와이드 모니터에서 작업하다가, 탭사이즈 2짜리를 보면, 모든 코드가 다 왼쪽에 몰려 있습니다. . :)

문제

탭을 굳이 구분하자면, 세 가지가 있습니다.
  • 들여쓰기 탭: 행의 맨 앞에 사용하는 탭
  • 주석, 인자등의 위치를 조절하는 탭: 행의 중간에 사용되는 탭
  • 행이 길어져 나눌 때, 두번째 행의 시작 위치를 맞추는 탭
이 중에서, 탭사이즈가 다른 상황에서 보게 되는 경우 문제가 생기는 경우,
  • 들여쓰기 상황에서는 탭과 스페이스가 섞이는 경우
  • 중간의 탭은 거의 모든 상황에서
  • 긴 행을 나누는 두번째 행의 상황에서는 거의 모든 상황에서
문제가 생기게 됩니다. 또, 코드 외적인 환경에서 문제를 보면
  • 이메일로 코드 변경 내역을 받아 볼 때 달라 보입니다.
  • 웹 기반으로 코드를 볼 때 문제가 생깁니다.
  • 탭조절 안되는 위와 같은 환경에서 프린터를 할 때도 문제가 생깁니다.
  • 가끔, 워드 프로세서로 코드를 옮길 일이 있을 때도 문제를 일으킵니다.

제안

탭을 사용하는 환경이 다양한 사람이 존재하게 되는 팀에서는 다음과 같은 방법을 제안합니다.
  • 개발자 에디터의 옵션들을 모두 맞춰 탭사이즈를 일치 시킵니다.
  • 탭을 네 번정도 누르면 되는 정도로 코드를 작성합니다. 
  • 들여쓰기는 탭으로만 하고, 긴행을 나누거나, 중간의 인자를 맞추는 일은 스페이스로 합니다.
  • 또는 들여쓰기까지 모두 스페이스로 합니다.
저는 탭사이즈를 어떻게 쓰냐고요? 저는 사실 귀찮아서 8로 씁니다. 동시에 많은 프로젝트의 소스를 건드릴일이 있을 때, 프로젝트마다 tabsize를 바꿀 수 있으면 좋겠습니다만, 그게 에디터 전역 설정이라 잘 안되더라고요. 

재미로 오래된 글을 살짝 읽어 보시면...
여기 말투가 좀 격한 것은 원래 그러려니 하세요.
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 최호진

2008/11/09 20:45 2008/11/09 20:45
이올린 태그검색올블로그 태그검색티스토리 태그검색
Response
No Trackback , a comment
RSS :
http://coolengineer.com/rss/response/614