블로그

  • 군대 얘기

    며칠 전, 4주간의 기초군사훈련을 마치고 돌아온 아저씨가 나에게 훈련소 얘기를 해줬다. (자랑스럽게.)

    -_-;;;

    대학교 입학해서부터 올해까지도 약 8년간 지겹게 들은 얘기를 겨우 훈련소 4주 다녀온 아저씨가 해 봐야 이미 다 아는 얘기다.

    4주 훈련소 갔다 온게 나름 자랑스러운 것도 이해하고, 가서 위생관념과 군인정신과 (…중간생략…) 등등을 잘 배워온건 좋긴 한데 개념은 여전히 없나보다. 나도 4주 훈련 갈 예정이고, 가서 잘 하고 올 수 있다. 그런 얘기 안들어도.

    그렇게 군대가 잘 맞으면 여기서 전문연구요원을 할게 아니라 현역으로 가지 그랬나 싶다. (그러고도 군대가 잘 맞는다는 말이 나올까 모르겠다. 물론 누구나 병장 생활이라면 적성에 맞겠지만, 내가 얘기하고 싶은건 이병이나 일병 얘기다.)

    민간인 남성인 나에게 총의 영점 맞추는 방법에 대해서 강의해봐야 전혀 감흥이 없다. FPS게임은 그럭저럭 즐기지만 FPS게임에선 영점을 맞출 일이 없기 때문이다. 그리고 난 어릴적에 BB탄 총으로 눈을 맞는 사고를 당해서 총에 대한 트라우마가 있다. 총기류는 보기만 해도 부숴버리고 싶다. 게다가, 어차피 훈련소 가면 다 가르쳐주는거고, 굳이 미리 배워둘 이유는 없다. 그 외에도 훈련소에서 청소 하는 법 배운 얘기, 냉수로 샤워한 얘기, 소대장이 자기한테 잘해준 얘기 등등…-_-; 4주 훈련받고 그렇게까지 개조가 되어서 온 사람은 처음 봤다.

    전문연구요원으로 3년간 일한게 그다지 부끄러운것도 아니고, 2년동안 군대 갔다온 사람이 딱히 부럽지도 않다. 다만 이 아저씨가 제발 2년동안 군대 갔다온 사람들 앞에서 훈련소 갔다온 얘기를 꺼내지 않기만을 바랄 뿐이다. 그건 뱀 앞에서 꿈틀대는 거나 마찬가지다.

  • 예외상황때문에 나오는 오류 처리하기

    VB에서는 예외상황을 다음과 같이 처리하면 된다.

    try

    해봐야할것들()

    catch 붙잡아올예외상황 as type [when 이럴때만]

    예외처리를위해할것들()

    fianally

    어쨌든할것들()

    end try

    try 밑에 있는 것들은 일단 실행된다. 예외가 안나오면 그냥 가고, 예외가 나온다면 그 예외를 catch에 던져준다.

    catch는 여러개가 있을 수 있는데, 그중 자기가 처리할 예외를 받은 catch 안에 있는 것들이 실행된다. when은 조건인데, 어떤 경우에는 그 예외를 처리해주고 어떤 경우에는 처리하지 않을지 결정한다. 물론 when의 조건이 참일 때 처리하고 거짓일때 처리하지 않는다.

    fianally는 try하고나서 예외가 발생하든 말든 무조건 실행되는 부분이다.

    사용설명서에 보면 catch가 하나도 없으면 fianally는 반드시 있어야 한댄다. 물론 catch가 하나라도 있으면 fianally는 필요없다.

    나는 이 구문을 유용하게 쓰고 있는데, 예외가 발생하면 무조건 try-catch에 넣어버리고, 예외가 발생하면 그 부분을 그냥 건너뛰어 버린다. 그래도 괜찮은 프로그램을 만들고 있기 때문이다.

  • VB의 조건문

    비주얼 베이직(이하 VB)은 꽤 잘 만든 것 같은 언어지만 의외로 대단히 허접한 구석이 있다. 조건절을 평가할 때, 가령 다음과 같은 경우가 있다.

    if P and Q then

    something()

    end if

    위와 같은 경우 P가 참이고 Q가 참이면, 즉 둘 다 참이어야만 그 안의 구문이 실행되고 그 외에는 실행되지 않는다. 따라서 P가 거짓인 경우 Q를 평가할 필요 없이 그냥 실행을 안해도 된다. 하지만 VB에서는 굳이 Q까지 평가한다. 이래서 난감한 경우가 있는데…

    P에는 “A라는 변수가 메모리에 자리를 잡고 있는가? (malloc같은걸로 잘 잡혀 있느냐는 질문)”가 들어가 있고, Q에는 “A가 10보다 큰 수인가?”라는 질문이 들어가 있다고 하자. 그럼 P가 안되면 Q는 평가할 필요가 없으므로 그냥 잘 넘어가면 되지만 VB에서는 실행하다가 오류가 난다(Q에서 평가해야 할 A가 메모리에 어디에 있는지 알 수가 없으므로). 따라서 이런 경우에는 if구문을 2중으로 써야 한다.

    if P then

    if Q then

    something()

    end if

    end if

    이게 VB에서만 그런건지 VC++에서도 그런건지 모르겠다. 난 VC++는 배워본적이 없다. (윈도우즈 프로그래밍이라는 과목에서 구경은 했지만…)

    어쨌든 내가 아는 C에서는 위와 같은 경우 2중으로 쓰지 않아도 되지만 VB에서는 2중으로 써야 한다.

    이것때문에 하루동안 삽질한 날이 많아서 기록해 둔다.

    *추가 : and 대신에 andAlso를 쓰면 중지연산이 된다. 즉, 앞에 있는게 false면 뒤쪽을 판정하지 않고 곧바로 전체를 false로 해 준다. 하지만 이미 늦은… 중지 연산 써야 할 부분은 대부분 잘 구현되었다.

  • Engrish.com 에서

    흥미로운 사이트를 발견했다.

    http://www.engrish.com

    원문 :

    http://adult.engrish.com/2009/08/28/this-shit-is-crazy/


    주의 : 19세 이상 성인용 게시물이므로 19세 이하는 안보는게 좋음…

    일본의 한국 음식점 차림표인듯 싶은데…

    함흥 비빔 냉면의 번역이 흥미롭다. 다시 한국어로 번역하면 “조낸 매운 국수”

    추가 : 사실 육개장도 소고기에 해당하는 “Beaf”는 틀렸다. “beef”가 맞다.

  • 우리은행 인터넷 뱅킹 리뷰

    나는 우리은행 인터넷 뱅킹 사용자, 윈도우 Vista SP2 사용자, 인터넷 익스플로러 8 사용자의 교집합에 들어간다.

    윈도 비스타+익스플로러8에서 우리은행 인터넷 뱅킹을 쓰려면 어떻게 삽질 해야 하는지 기록해 본다.

    우선 프로그램의 버전 확인부터 해 보자.

    윈도우즈 Vista 홈 베이직 SP2가 설치되어 있다. 보다시피 윈도우 비스타는 출시된지 2년이 넘었다.

    익스플로러 8은 8.0이다. 출시된지는 1년인 것 같다.

    이제, 우리은행에 접속하자. http://www.wooribank.com 이다.

    그럼 뭔가 나온다. ㅋㅋ

    이제, 개인 인터넷 뱅킹 로그인을 눌러보고 싶다. 당신도 그렇게 느낄 것이라 믿는다.

    곧바로 에러 하나 떠 준다. 그리고 확인 버튼을 누르면 액티브X를 설치하는 방법을 친절하게 안내해 주는 페이지로 이동한다.

    물론 난 이전에도 여러번 인터넷 뱅킹을 이용했으므로 설치가 안되어 있을리 없다. 확인해 볼까? 메뉴에서 도구->추가기능 관리로 들어가자.

    여기에 가면 뭐가 나오냐면, 다음과 같은 화면이 뜬다.

    우리은행에서 설치 안되어 있다는 놈이 보란듯이 설치되어 있고 사용함 상태이고 무려 “현재 로드된 추가 기능”이다.

    어쩌라고…

    여기서 당황하면 당신은 우리은행에서 평생 인터넷 뱅킹을 사용할 수 없다. (한국에서 인터넷 뱅킹을 사용하지 못할지도 모른다.) 그럼 당신은 패배자. 대한민국의 인터넷 뱅킹은 보안이 너무 뛰어나기 때문에 잘 모르면 인터넷 뱅킹을 아예 못쓰는 기능이 추가되어 있을 뿐이다. (…라고 생각하면 화가 조금 덜 난다.)

    *좀 더 상세한 설명을 붙이자면, 그 로드된 추가기능은 방금 로드된 것이다. 즉, “그 모듈이 로드 되었는가?”를 체크하는 부분이 “그 모듈을 로드해라”는 부분보다 앞에 나오기 때문에, 체크 할 때는 로드가 안 되어 있고, 체크 한 다음에는 로드가 되어있지만 정작 아무것도 안 되는 결과가 나오는 것 같다. 그렇기 때문에, 새로고침을 하거나 다른 페이지로 가서 다시 로그인을 시도하면 로드가 되어 있으므로 다음 단계로 진행할 수 있게 된다. 이 순서를 바꿔주면 되는데, 바꾸지 않는 이유는 보안 때문이거나 모르고 있거나 전산 담당자가 우리은행 안티거나, 그런 이유를 생각해 볼 수 있겠다.

    다시 초기화면으로 되돌아와서 아무 생각 없이 다시한번 “개인 인터넷 뱅킹 로그인” 버튼을 눌러주면 된다.

    주의 : 만약 보안 프로그램 설치 화면의 좌측 상단 부근에 있는 “로그인” 버튼을 그 자리에서 누른다면 다음과 같이 새 탭이 뜨고 아무 일도 일어나지 않는다.

    역시 당황할 필요가 없는데, 새로 생긴 탭을 닫아주고 (X자를 클릭하면 된다) 다시 “로그인” 버튼을 누르거나, 초기화면으로 되돌아와서 “개인 인터넷 뱅킹 로그인” 버튼을 누르면 잘 된다.

    그럼 로그인 할 수 있는 화면이 나타난다. 그리고 클라이언트 키퍼인가 하는 프로그램을 실행시켜도 되는지 UAC가 나타나서 물어보게 되는데, 여기서 “예”를 선택하면 다음과 같이 된다.

    물론 여기서도 당신은 당황하면 안된다. “그냥 닫아도 되나? 디버그를 해야 하나? 해결 방법을 확인해 볼까?” 이러면서 고민할 시간에 그냥 닫아주기만 하면, 저절로 다시 창이 뜨게 될 것이다. 그리고 보안 프로그램을 실행중이라는 메시지가 나오고, 공인인증서를 입력하라는 창이 뜬다. 원래는 보안을 위해서 창을 한번 닫았다가 새로 열어주는 과정인데, 윈도 비스타에게 그걸 알려주지 않고 무작정 종료시켰다가 비스타가 화들짝 놀라서 이렇게 경고를 내보내는 것이다.

    당신만이 아는 비밀의 문자를 정확히 잘 넣어주면 된다. (딴사람도 알고 있다면 낭패.)

    왜 그러는지는 모르겠는데, 컴퓨터를 켜고 나서 처음으로 우리은행 인터넷 뱅킹에 로그인하는 게 아니라, 두번째나 세번째 되었다면 로그인이 한번에 되지 않는다. 난데없이 우리은행 새 창이 하나 떠오르고, 로그인이 되는 척 하면서 계좌 조회 하면이 뜨더니 갑자기 새로고침 되면서 결국 로그인은 안 되어 있다. 고객을 우롱하는게 절대 아님에 유의하자. 이건 다 보안을 위해서 잘 모르는 사람은 로그인조차 안되게 하는 우리나라 인터넷 뱅킹의 보안 프로그램 때문이다. (고객을 위한 거라니깐…) 일단 이렇게 되면 원래 쓰던 창에서는 로그인이 안된다. 새로고침 되면서 새로 떠오른 인터넷 창에서 로그인을 하면 된다. 만약 그래도 안되면 관리자 권한으로 실행시키자.

    물론 새로 띄운 거니까 처음부터 다시 로그인 하면 된다.

    참고로, 관리자 모드에서 사용하면 지금까지 얘기했던 모든 에러/경고 메시지가 나오지 않는다. (모두 “예”를 선택한 것과 같은 결과이다.)

    이제 로그인에 성공했다.

    계좌 이체를 바라는가? 그럼 오른쪽의 “이체” 버튼을 눌러보자.

    다음과 같은 화면이 나타날 것이다. 적당히 잘 입력하고.

    확인 버튼을 누르면, 아래와 같이 한번 더 확인해준다.

    이제, 이체실행을 해 보자. 나는 나름 우수고객이라 수수료 면제이므로 안심하고 이체한다.

    물론, 보안카드는 당신만의 그것이 있을 것이다. 입력하고나서 확인 버튼을 누르면, 공인인증서를 이용해서 다시한번 서명해달라고 요청한다.

    물론 비밀번호는 당신만이 알고 있는 그것을 입력하면 된다.

    그럼 결과를 알려준다.

    이것으로, 우리은행 인터넷 뱅킹 리뷰를 마친다.

    직접 써보면 알겠지만, 보다시피 꽤 불편하다. 발표된지 2년이나 지난 운영체제에서 돌아가는 건데 왜 이렇게 오류가 많이 발생하는지 모르겠다. UAC때문에 클릭을 많이 해야 하는건 이해하겠는데 (찬성하는건 아니지만…) 이용자를 당황스럽게 하는 상황이 많이 발생했다. 그런 사소한 오류는 좀 잡아야 하지 않겠나 싶다.

    내 컴퓨터에서 일어난 모든 일은 이전에 수없이 일어났던 일이고, 앞으로도 수없이 발생할 것이다.

    다음번엔 기업은행 인터넷 뱅킹을 살펴보도록 하겠다.

  • 시간낭비

    누구나 그렇듯, 모든 사람은 현재를 살아간다. 과거는 이미 지나간 것이고 미래는 아직 오지 않았으니 살아있는건 언제나 현재다. 과거는 이미 지나갔지만, 사람들은 과거를 기억속에서 끄집어 내면서 추억이라고 이름붙여두었다. 그럼, 이렇다할 추억이 없는 것은 그동안의 삶을 낭비한 것은 아닐까? 문득, 행복한 순간이나 재미있는 순간은 시간이 너무 빨리 지나간다는 생각을 했다. 그렇게 시간이 빨리 지나가 버리는데도 누구 하나 그 시간을 아깝다고 생각하지 않는다. 이것 또한 낭비하는 것 아닐까? 그런데, 이렇게 생각하다보면 시간을 낭비하지 않을 수 있는 방법이 없다. 예전에 나에게 무슨 일이 있었는지 기억도 잘 나지 않고, 이렇게 글로 남겨서 기록해 두지 않은 것은 알아낼 방법도 없다. 나조차 기억하지 못하는 내 인생에는 어떤 의미가 있는 걸까?

    그래서, 그것이 내가 산다는 것에 큰 의미를 두지 않고 그냥 살아가는 것을 선택한 이유다. 물론 죽기는 싫다. 세상은 구경하는 것도 재밌고 뭔가를 하는 것도 재미있다. 사는건 살아있다는 것 자체로 모두 다 시간낭비다. 그래도 괜찮다. 사람이 살아있는 시간은 뭔가를 좀 해보기에는 짧은 시간이지만, 아무것도 안하고 그냥 보내기엔 너무 긴 시간이다. 결국 어물어물하다가 그냥 다 흘려보내게 된다.

  • 배틀스타 갤럭티카

    장황한 SF 드라마인 배틀스타 갤럭티카를 드디어 전부 감상했다.

    아주…길었다.

    근데 가이어스 박사는 전공이 뭔지 모르겠다.

    그럭저럭 재밌게 봤다. 정치와 철학 뭐 이런거 대충 버무려놓은 닭가슴살 샐러드 같은 느낌.

  • 우리가 잊어버린 열가지 질문

    인생의 참 의미를 찾고 싶다면 다음의 질문에 진지하게 대답해 보십시오.

    1. 나는 누구인가?

    2. 돈은 왜 벌고 있는가?

    3. 죽은 다음엔 어떻게 되는가?

    4. 신은 존재하는가?

    5. 나는 왜 시간이 없을까?

    6. 나는 왜 인터넷을 하고 있을까?

    7. 착한 사람은 복을 받는가?

    8. 행복은 성적순이 아닌가?

    9. 죽느냐 사느냐가 과연 문제인가?

    10. 이효리가 핑클이었던가?

    답변은 댓글/트랙백으로 모두 환영합니다.

    10개의 답변을 모두 완성한 그랜드 슬램을 달성하신 분께는 제가 직접 트랙백을 쏴 드리고 답글 달러 갑니다.