휴휴


아침부터 학교에 가서 성적증명서를 뽑아왔다. 참 이거 볼때마다 한숨이 늘어난다. 별 대단할 것도, 특색도 없는 그저그런 성적들. 뭐 딱히 성적이 나쁘다거나 한 것은 아니지만, 이런 것은 있다.

어떤 사람의 수강내역을 보면 이 사람이 어떤 분야에 관심이 있는지 드러난다.
어떤 사람의 성적을 보면, 이 사람의 적성이 대충 어떤지 판단이 된다.
어떤 사람의 성적을 보면, 이 사람은 참 다방면에 관심이 있구나 하는 생각이 들고,
어떤 사람의 성적을 보면, 이 사람은 자기 분야에만 올인하는 사람이구나 하는 생각이 든다.
하지만 어떤 사람의 성적을 보면, 이 사람은 그저 졸업장을 따기 위해 대학을 다닌 듯 하다.

물론 이런 것은 정확할 리가 없다. 고작 성적표 하나 가지고 사람을 판단하는 것은 얼마나 우스운 짓인가. 하지만 이런 것을 보며 입사지원자들을 가려야 하는 인사담당자 입장에서는 충분히 저런 해석을 할 수 있겠지.

그런 점에서 내 성적표는 좀 특색을 짚기가 어렵다. 전공과목들로만 채워져 있는 데다가, 성적도 다 적당적당한 B+ 내지 A0 수준.. 과목 선택이야 공학인증때문에 어쩔 수 없다고 치는데, 공학인증이래봐야 어디 쳐주는 데도 없고..


여하튼 오늘, 성적증명서에 자격증 사본, OPIC 인증서.. 등등을 뽑아다 건대입구를 살짝 지나, 성수역에 있는 S모 회사에 입사지원서를 냈다. 무려 지원서를 손으로 쓰란다. 정성을 보이래나 뭐라나. 매번 느끼는 거지만, 기업들이 참 배가 불렀다. 하긴 열몇개 자리만 나도 수백명이 구름떼처럼 몰려드니, 그럴 만도 하겠지. 기업들은 어떻게든 적게 뽑으려고 난리치고, 지원자격은 계속 올라가고.. 가까스로 서류 통과해서 면접보러 가면, 면접관들은 지원자들 꼬투리 잡기에 바쁘다. 마치 탈락시키기 위해 존재하는 것 처럼.

얼마전에 본 모 회사 면접이 떠오른다. 자기소개서에 학교에서 한 프로젝트 몇개 적었더니.. "이거 setjmp 사용하는 게 더 효율적일 텐데 왜 clone 썼어요?" 아니 요구사항이 그거였는데 어쩌라고... "이 알고리즘이 fragmentation을 발생시킨다는 건 어떤 방법으로 실험해서 알아낸 거죠? 직접 해봤나요?" 실험은 무슨. 논문결과 보고 한거지. 그걸 왜 일일이 붙잡고 실험하고 있어;; "이 기법에서 dest의 boundary는 어떻게 구하나요?" 아놔 거기서 그걸 뭐하러 구하나요..


...그렇게 훌륭한 사람 뽑고 싶은 거야 알겠는데, 좀 적당히 하자. 응?

by highseek | 2009/11/01 22:20 | 트랙백 | 덧글(6)

떡볶이


떡, 스팸, 어묵, 돼지목살 다진 것, 고추, 양파, 마늘, 깨소금, 양념장(고추장, 식초, 설탕, 참기름, +a)

by highseek | 2009/11/01 21:43 | 먹을것 | 트랙백 | 덧글(12)

떡먹는 포스팅


말그대로 떡먹는 포스팅..(...) 부모님이 한팩 사오셨습니다.

과일맛 찹쌀떡입니다. 제가 집은 건 딸기맛, 아래 초록색은 메론맛, 그 아래는 오렌지.. 색깔별로 다양한 맛이 나더군요.

저 옆에 흰색 찹쌀떡은 기본기에 충실한 찹쌀떡.. 콩떡이랑 팥떡도 있네요.

빈곤한 전 이런거 처음 먹어봅니다..OTL

팥을 기반으로, 과일 첨가물을 적당히 섞었더군요.
배합비율이 꽤 괜찮았습니다.



ps. 그나저나 늘어나는 살은 어쩔...OTL

by highseek | 2009/11/01 21:23 | 먹을것 | 트랙백 | 덧글(13)

무선랜 법안에 관한 사실과 가치 - 개인 공유기 소유자 관점에서

사실

- 현재 무선공유기(AP라는 용어를 써야하나, 무선공유기라는 용어가 좀더 대중적이기에 무선공유기라고 하겠다. 사실 둘은 조금 다른 개념이다. 무선공유기의 기능 중 하나가 AP로서의 기능이다.)  중 상당수는 보안설정 없이 아무나 접속할 수 있는 상태로 퍼져있다.
- 무선공유기 역시 하나의 자원으로 판단해야 한다. 무선공유기가 한번에 처리할 수 있는 트래픽은 정해져 있으며, 한 무선공유기에 동시접속할 수 있는 기기의 숫자도 제한되어있다.(채널 개수 한정) 따라서, 허가없이 누군가가 무선 인터넷을 이용하게 된다면, 원래 공유기 주인이 독점해야 할(자기 것이니까) 한정된 자원을 도용하는 것으로 보아야 한다. 모 블로거 분의 '우물' 비유는 이래서 조금 핀트가 어긋나있다. 우물로 비유하려면, 우물물이 한정적이어야 한다. 하지만 저 비유가 나왔을 때 우물물은 계속 재생성되는 무한한 자원 개념으로 이야기했음을 알 수 있다. 조금 더 정확한 비유를 들자면, 논에 물을 대기 위해 만든 개인 소유의 저수지를 예로 들 수 있겠다. 자신의 논에 물을 대기 위해 직접 자기 땅에 저수지를 파서 물을 보관한 사람이 있다. 그렇게 논에 물을 대고 있었는데, 어느날 자신의 논에 물이 평소보다 적게 들어오는 것을 발견하였고, 저수지에 가보니 웬 옆집 사람이 저수지 물을 맘대로 끌어쓰고 있어서 그만큼 자기 논에 물이 들어오지 않는다. 이런 상황이라고 볼 수 있다.
- 이런 경우, 옆집 사람이 끌어쓰는 물의 양이 많아서 주인에게 피해를 줄 정도인가/아닌가에 대한 사실 판단은 이루어질 수 있으나, 그것이 무단으로 끌어쓰는 것 자체가 정당하냐/아니냐의 문제로 환원될 수는 없다.
- 쓰는 양이 많을지 적을지는 쉽게 판단할 수 없다. 어디까지나 쓰는 사람의 양심에 따르는 것이다. 혹은 쓰는 사람도 트래픽을 얼마나 쓸 지 모를 수도 있다. 자신이 쓰는 트래픽 양을 정확하게 알고있는 사람은 그리 많지 않다. 트래픽을 측정하지 않는 이상, 우리는 평소에 얼마만큼의 트래픽을 사용하는지 잘 모른다. 그저 다운로드 사이트나 자료공유 사이트 등을 사용하면 트래픽이 많다 정도로 대충 알고 있을 뿐이다. 즉, 나름 양심있는 도용자(?)라고 "나는 뭐 별거 안했으니 괜찮을 거야!"라고 주장하더라도 실제 트래픽을 측정해보면 생각보다 많을 수 있다.
- 현 법으로 볼 때, 공유기 주인 입장에서 이런 도용자를 고발해서 처벌받게 할 수 있는 실질적인 법적 근거는 별로 없다. 다만 보안설정을 철저히 함으로써 도용을 방지하는 대책을 세울 수 있는 정도이다.
- 현재 나온 법안, 공유기를 보안설정을 완료한 상태로 사용할 것을 의무화하는 것이다. 즉, 보안설정이 제대로 되어있지 않은 상태로 공유기를 쓸 경우, 아무런 법적 보호를 받을 수 없다는 것이다.
- 악의적인 해커가 이 공유기 중 하나로 인터넷에 접속하여 어떤 또다른 망을 해킹할 경우, 해커를 추적하는 것은 사실상 불가능하다. 추적해봐야 공유기가 가지고 있는 IP만 찍히기 때문이다. 예를 들어보면, A라는 사람은 집에 무선공유기를 설치해놓고 쓰고 있었다. 자세한 보안설정은 할 줄 모르고, 별로 필요도 없을 것 같아 하지 않았다. 그런데 어느날 B라는 해커가 A의 무선공유기에 접속하여, 청와대 사이트를 해킹하였다. 그러면 법적 책임은 물론 해커인 B에게 있으나, 로그를 아무리 추적해도 잡히는 것은 A의 무선공유기 뿐이다. 결국 무선공유기를 관리하는 A만 곤란하게 된다. 물론 A가 해킹을 했다는 직접적인 증거는 없기 때문에 책임소재가 불분명해진다. 이럴 경우 실제 법적으로 어떻게 처벌이 되는지는 모르겠다.
- 그럼 이번 법안이 통과되면 저런 해킹에 대해 대비책이 될 수 있을까? 어차피 기업체의 장비가 아닌 이상, 실질적으로 단속하는 건 사실상 불가능하다. 경찰이 돌아다니면서 집집마다 무선공유기를 일일이 검사하지 않는 이상, 개인 소유의 공유기들은 단속하기 힘들다.
- 그렇게 되면, 실제 해킹이 발생할 경우 책임소재가 모두 공유기 관리자에게 있게 될 가능성이 높다. 보안설정이 의무화될 경우, 해킹이 발생했을 때 IP 추적에 의해 공유기가 나왔다면, 거기에 해커가 무단으로 들어온 거든 어쨌든 간에 공유기 보안설정 안해놓은 A가 모든 책임을 지게 될 것이다. 기존에 책임소재가 불분명했던 것이, 책임소재는 확실해진다. 이게 다 보안설정 안한 니 책임이야!
- 그렇다고 WEP 등의 보안절차가 완벽한가 하면, 꼭 그렇지도 않다. 전문적인 해커가 아니라도, AirCrack 같은 프로그램만 돌려도 wep 정도는 누구든 뚫을 수 있다. 제대로 보안설정을 하자면 wep이나 wps에 mac 인증 같은 것도 걸고 이것저것 이중 삼중으로 막아야 한다. 근데 그래도 "해킹이 어려워지는"것이지, "불가능해지는"것은 아니다. 전문적인 해커라면, 이런 것을 무력화하고 해킹을 시도하는 방법 같은 건 얼마든지 존재한다. 설령 당장은 불가능하더라도, 해킹 기술은 날로 진보하며, 언제나 그렇듯 해킹기술과 보안기술은 계속 서로서로 발전하는 관계이다.
- 그러면 보안설정을 제대로 했는데도 불구하고 해킹이 발생한 경우, A는 확실히 책임에서 벗어날 듯 하기는 한데, 확실히는 모르겠다. 일단 의무사항은 제대로 준수를 했으니까.

가치
- 결국 책임을 물을 당사자를 만들기 위한 법일 수도 있다. 그러면 과연 공유기 주인에게 책임을 물려 처벌하는 것이 옳은가, 아니면 선의의 공유기 주인을 보호하는 다른 방법을 추구하는 것이 옳은가?
- 기업을 제외하고, 모든 개인공유기 사용자들이 보안설정을 제대로 다룰 수 있을 거라고 생각하는 것은 오산이다. 그러면 보안설정법을 모르는 사람은, 모르는 것이 죄인가?
- 일단 보안설정을 다들 다룰 줄 안다고 치자. 개인공유기는 어차피 개인 소유이고, 보안 권한도 개인에게 있다. 이것을 국가가 강제하는 것이 바람직한가?
- 이 보안설정도 어차피 100% 안전하다고는 할 수 없다. 앞서 이야기한 건데, 보안설정을 제대로 했음에도 불구하고 해킹사건이 발생했다면, A는 모든 책임에서 벗어날 수 있는가? 만약 그렇다면 이 법안을 개인공유기 소유자를 보호하는 법안이라고 볼 수도 있는가?
- 위에 개인저수지 물을 무단으로 끌어쓰는 옆집 사람에 대한 비유를 들었는데, 그렇다면 개인저수지 주인에게 "왜 개인 소유라고 표시하지 않았는가"라고 따질 수 있는가? 만약 그렇다면 개인 소유 저수지임을 표시할 것을 법적으로 의무화하는 것은 바람직한가?
- 개인저수지 주인이 표시를 하지 않았다고 치자. 선의든 아니든 상관없이, 그렇다면 무단으로 사용하는 것 자체는 법적으로 문제없는 행위인가?
- 무선을 도용한 사람을 처벌할 법적 근거가 부족하다면, 공유기 주인에게 책임 소재를 돌리는 법안 보다는 도용한 사람을 처벌하고 무단 도용을 막기 위한 법안을 먼저 만들어야 하지 않는가?


ps. 공유기 보안설정 의무화 법안인데, 무선랜 법안이라니까 내가 써놓고도 좀 웃기네 -_-;;

by highseek | 2009/10/30 15:57 | 트랙백 | 덧글(11)

2009년 다음 입사시험 문제


2009년 후반기 다음 입사시험 문제 중 일부. 입사시험은 크게 두 부분으로 나뉘는데, 전산일반과 DB, SQL, 프로그래밍 일반 등에 대한 단답식 문항들이 1 영역이고, 2 영역은 코딩 테스트. 아래 내용은 2영역의 문제다.


1. 문자열을 역순으로 출력하는 함수를 작성하시오. 예를들어 1423을 입력했으면 3241, 1320을 입력했으면 231이 나와야 합니다. 아래의 프로토타입에 맞게 작성하시오. 단 입력값이 잘못되었다거나, 계산할 수 없는 경우를 고려하여 이상한 출력이 발생하지 않도록 해야 함.(예외처리)

int reverse(int input);


2. 임의의 문자열 S가 있다고 했을 때, 문자열 중 연속되는 문자열 중, 2번 이상 중복되는 것만을 골라낸 후, 그 중 가장 긴 문자열의 시작 위치를 반환하는 함수를 작성하시오.

S=[abeabcdefkkkabcd]라고 한다면, 연속되는 문자열은 "ab", "abcd", "abcdef"이며, 이 중 2회 이상 중복되는 문자열은 "ab", "abcd"이다. "abcdef"는 1회만 등장하므로 제외.

"ab"보다 "abcd"가 문자열 길이가 기므로, 함수는 "abcd"의 위치를 리턴해야 한다. 맨 앞을 0번째라고 했을 때, 3번째 혹은 12번째가 답이 될 것이다. 이 중 무엇을 리턴하던 상관은 없다.(작성자 자유)

단, 전체 문자열의 길이는 1000을 넘지 않는다고 가정한다.

(원래 이 문제는 해결 알고리즘을 슈더코드나 설명으로 제시하는 것이 첫번째 문제고, 해당 알고리즘의 원리나 장단점, 효율성 등을 설명한 후 시간복잡도를 계산하고, 마지막으로 코드를 작성하게끔 되어 있는 문제였으나, 편의상 저렇게 하였다.

 

3. 1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수를 작성하시오. 단 점들의 배열은 모두 정렬되어있다고 가정한다.

S={1, 3, 4, 8, 13, 17, 20}이 주어졌다면, 결과값은 (3, 4)가 될 것이다.

단, 디바이드 앤 컨커 기법을 반드시 써야 함.


예상보다는 쉬운 문제였으나, 디버거가 없는 현실-_-덕에 조금 고생했다. 난 체질적으로 디버거 돌리면서 코딩해야 하는데!; 꼭 전문 디버거가 아니더라도(임베디드 개발환경 등에서는 디버거가 지원되지 않는 경우도 흔하다.) printf 등으로 값을 찍거나 레지스터, 메모리 등을 덤프 떠 보면서 디버깅하는 게 내 습관이거든-_-

또 손코딩의 힘든 점은 코드를 쓰다가 뭐 변수를 빼먹거나 과정 하나를 빼먹거나 하여, 나중에 아차 싶어 위 라인에 뭔가를 추가하려 들면, 자리가 없어서 결국 아래에 쓴 걸 다 지우고 다시써야 하는..-_-;; 아니면 쓰고나서 생각해보니 버그가 있다거나 하는 경우. 컴퓨터로 코딩할 땐 즉석 수정이 가능하지만 손코딩은 그러기 힘들다.

어쨌든 시험시간 한시간 남기고 다 풀고 집에 왔긴 한데, 막상 돌아와서 생각해보니 영 어설프게 푼 것 같기도 하고.. 특히 1번 같은 건 진짜 쉬운 문제임에도 불구하고 리턴값을 반환하는 방식이 아닌 즉석에서 바로 찍어버리는 방법을 택해서, 어째 정해진 규약에 어긋나게 푼 것 같기도 하다. 문제를 차근히 읽지 않고 너무 성급하게 풀어버렸나 싶고..;

모르겠다. 붙으면 좋고 아니면 말고.. 저 정도 문제는 다들 잘 풀었겠지.

관심있는 분은 풀어봐도 괜찮을 것 같다.

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

예전에 올렸다가 혹시 몰라서 비공개로 돌렸었는데, 이미 떨어진 마당에 뭐 어떠냐 싶고..(..) 그냥 올려봅니다.

그때 다 풀고 나오긴 했습니다만, 물론 제 답안은 탈락한 거라 별로 보실 필요는 없을듯 (...)




by highseek | 2009/10/29 21:40 | 트랙백 | 덧글(14)

◀ 이전 페이지          다음 페이지 ▶