마지막 파티 in 일본

길고 긴 일본 출장 일정을 마치고 내일 한국으로 돌아갑니다. 지난번 출장 기간을 합치면 올해 한달이 넘는 시간을 일본에서 보냈네요. 처음엔 맛있었던 일본 음식이 차차 지겨워질 때 즈음에 한국으로 돌아갈 수 있어서 다행입니다.

1차 출장: 7월 1일 ~ 7월 8일
2차 출장: 7월 31일 ~ 8월 26일

그 동안 NTT comware에 출근하면서 함께 동고동락했던 분들과 마지막 파티를 벌였습니다. 지난번에는 소고기 위주로 구워 먹었는데, 오늘은 소고기, 만두, 새우, 감자 등등 다채로운 메뉴를 즐겨 보았습니다.
 

효소가 살아 있는 KIRIN 맥주를 마시며 도란도란 여러가지 주제로 이야기를 나누었습니다. 오늘은 주로 그 때 그 시절의 컴퓨터와 게임에 대한 이야기를 나누었습니다. 역시 모두들 지금의 직업이 천직인지라 이야기 주제가 컴퓨터를 벗어나지 못하네요.

 CFL5uUtfYA0$


마지막은 새우로 장식했습니다. 일본에서 새우를 즐겨 먹어서 그런지, 통통하고 신선한 새우를 쉽게 구할 수 있더라구요. 소금을 깔고 제대로 구워 먹었습니다. 정말 맛있더군요.

이렇게 일본 출장 일정이 끝나가네요. 낯선 환경에서, 보고 싶은 사람들을 마음속에 간직한체 지내는 것이 조금은 익숙치 않았지만, 일본에서 일했던 기억은 오래 남을 것 같습니다. 일본 법인 분들도, 저희 팀원들도 모두들 좋은 분들이라 힘든 가운데 즐겁게 일할 수 있었습니다. 8월 초 팀을 옮기는 일정을 미루고 와서, 새 팀에 합류했을 때 스터디 일정을 따라가는게 평범한 저에게는 매우 힘든 과정이 되겠지만, 정들었던 기존 팀원들에게 조금이나마 도움을 주고 떠나게 되어 뿌듯합니다. 

프로젝트가 성공해서 모두들 고생한 만큼 좋은 결실을 맺기를 바랍니다. 모두들 크게 웃을 수 있기를…

몇 가지 루비 예제 코드

루비를 제대로 공부하진 않았지만, 언어가 간결한 덕분에 여러가지 상황에서 유용하게 사용하고 있습니다. 그 동안 만들어서 사용했던 몇 가지 루비 예제 코드를 소개합니다. 여기에 소개하는 코드를 조금만 수정하면 다양한 경우에 활용할 수 있을 것 같네요.

1. 소스코드에서 32자 이상의 심볼을 사용한 라인을 찾아 출력하기

HITACHI 메인프레임 C 컴파일러가 32자 이상의 심볼을 지원하지 않더군요. 일일이 찾기 힘들어서 이를 찾기 위해 작성한 프로램입니다. 현재 디렉토리에 존재하는 소스코드를 읽어 32자 이상의 심볼을 찾은 경우 해당 라인을 라인번호와 함께 출력합니다.

file_array = Array.new

Dir.foreach(“.”) { |x|
  if x.include?(“.c”) or x.include?(“.h”) or x.include?(“.y”) or x.include?(“.l”)
    file_array.push(x)
  end
}

file_array.each { |fname|
  File.open(fname) { |fp|
    lineno = 1
    while line = fp.gets
        line.scan(/[1-9a-zA-Z_]+/) { |x|
          if x.length > 32
            puts “#{fname}:#{lineno}:+#{x.length – 32}:#{x}”
          end           
        }
        lineno = lineno + 1
    end
  }
}

2. 파일의 라인 뒤집기

매년 말 블로그에 독서 리스트를 정리할 때 사용하기 위해 작성한 프로그램입니다. 티스토리에서 목록을 뽑아 파일에 저장한 후 이를 뒤집어 독서 리스트를 읽은 순서대로 뽑아냅니다.

line_array = Array.new
File.open(“ReadingList.txt”) do |file|
    while line = file.gets
        line_array.push(line)
    end
end
ofile = File.new(“ReadingList.rev.txt”, “w”)
line_array.reverse!
cnt = 1
line_array.each do |reversed_line|
    ofile.puts(“#{cnt}. #{reversed_line}”)
    cnt = cnt + 1
end
ofile.close

3. 프로그램 수행 및 stderr, stdout 얻기

루비에서 다른 프로그램을 실행하고 stderr, stdout을 추출하는 예제 코드입니다. 루비를 사용하여 배치 스크립트를 작성 할 때 유용할 것 같네요.

require ‘session’

t=Thread.new do
  sh = Session.new
  sh.execute( ‘ruby /home/stefano/documenti/scripts/prova.rb’ ) do |out, err|
    puts “Msg: #{out}” if out
    puts “Err: #{err}” if err
  end
end
t.join

ATH-A900

드디어 오늘 퇴근 길에 아마존JP에 주문한 ATH-A900을 수령하였습니다. 제가 있는 숙소의 입구에 택배함이 있는데 방번호와 암호를 입력하면 방번호에 해당하는 택배함이 자동으로 열리도록 되어 있습니다. 온통 일본어라 약간의 시행착오가 있었지만 무사히 제품을 수령할 수 있었습니다.


아마존JP에서 일본 법인 분의 도움을 받아 13860엔에 ATH-A900을 구입하였습니다. 일본은 배송이 한국보다 느리다고 하는데, 의외로 주문한 다음날 도착하였습니다. 한국에서 29만원 정도하는 제품을 18만원 정도로 구입한 셈이네요.



개봉 후 바로 작은 볼륨으로 평소 즐겨듣는 임동혁의 앨범을 틀어 두고 있습니다. 헤드폰이라 그런지 작은 볼륨으로도 충분히 듣기 좋네요. 해상력이 뛰어난 오디오테크니카의 제품이라 그런지 클래식 음악에 잘 맞는 것 같습니다.


오늘 밤새 클래식을 틀어 에이징을 하고, 내일은 이적의 노래를, 모레는 락음악을 들어 봐야겠습니다. 지금 글을 쓰는 이 순간 쇼팽의 녹턴 2번을 듣고 있는데, 너무 아름답네요. 어서 한국으로 돌아가 직접 연주하고 싶습니다.

요코하마

7월 초 출장 왔을 때, 주말을 이용하여 아사쿠사, 신주쿠, 오다이바를 다녀 왔습니다. 그 후로 도쿄에 대한 흥미를 더 이상 느끼지 못해, 이번에 출장와서는 주말에 그냥 숙소에서 쉬었습니다. 간간히 사이버 강좌를 듣기도 했지만…

그러다 지난 주 목요일 요코하마의 고객사를 다녀오면서 한번 쯤, 요코하마를 구경하고 싶다는 생각이 들어 인터넷을 찾아 보니 경치가 상당히 멋진 곳이더군요! 화려한 도시보다는 자연이 어우러진 멋진 경관을 좋아하기에 요코하마의 야경을 보고자 하는 마음에 느즈막히 다마치 역에서 JR을 탔습니다.

전혀 준비가 안되어 있는 상황에서 요코하마 역에 내려 Information에서 지도를 입수하였습니다. 지도를 살펴보니 요코하마의 대표적인 지역을 가려면 요코하마 역이 아닌 간사이 역에서 내려야 하더군요.  걸어서 가보려고 이래 저래 해매다가 우연히 닛산 자동차 전시장에 들렀습니다.


자동차 전시장을 나와 조금 걷다 보니 다시 요코하마 역으로 돌아왔더군요. 걸어가기를 포기하고 다시 JR선을 타고 이시카와쵸 역에서 내렸습니다. 그저 그랬던 차이나 타운을 지나 야마시타 공원에 도착하였습니다. 차이나 타운에서는 만두 하나 사먹었는데 한국에서 겨울에 먹는 호빵이랑 거의 비슷하더군요.


요코하마항을 바라보고 있는 야마시타 공원은 제가 요코하마를 찾은 이유였습니다. 시원한 바닷바람, 여유로움, 멋진 풍경…  일본 우편선 히카와마루는 꽤나 웅장하더군요. 타볼 수 없는 줄 알았는데, 나중에 돌아오면서 안내 책자를 보니까 가능한 것 같더라구요.


다음으로 향한 곳은 요코하마항 오선바시 국제 여객선 터미널입니다. 사실 무슨 건물인지도 모르고 너무나 특이해 보이는 겉모습에 이끌려 가게 되었죠. 신비한 느낌을 주는 건물이였습니다. 건물 지붕에는 잔디밭이 깔려 있어 사람들이 맥주를 마시며 누워서 여유를 즐기고 있는 모습이 인상적이였습니다.


여기서 바라본 요코하마의 풍경은 장관이였습니다. 눈으로 보이는 풍경을 그대로 사진에 담을 수 있다면 얼마나 좋을까요? 마지막으로 아카렌가 소코에 가는 길에 찍은 요코하마의 멋진 풍경을 남깁니다. 여자친구랑 같이 갔으면 참 좋았을텐데… 아쉬움이 많이 남는 하루였습니다.


아키하바라 요도바시

일본에서 싸게 살 수 있는 것이 무엇일까 고민하다가 오래전부터 사고 싶었던 헤드폰을 떠올리게 되었습니다. 일본 법인 분께 여쭤보니 오디오 테크니카나 데논 같은 일본 제품은 한국보다 많이 싸게 구입할 수 있다고 알려 주셨습니다. 그리고 아키하바라에 있는 요도바시에 가서 다양한 헤드폰을 직접 체험해 보길 추천해 주셨습니다.

그리하여 금요일인 어제 밤에는 6시에 퇴근하여 같이 일하시는 분들과 함께 아키하바라의 요도바시 전자상점에 다녀왔습니다. 정말 대단한 곳이더군요. 전자기기를 좋아하는 남자들에게는 천국이였습니다. 이 세상에 존재하는 모든 전자제품이 다 그 곳에 존재하는 것만 같았습니다.

우선은 헤드폰 매장을 바로 찾아 갔습니다. 벽 한쪽에 족히 100가지는 넘는 종류의 헤드폰을 들어 볼 수 있도록 전시되어 있었습니다. 무려 100만원이 넘는(99만엔) 헤드폰도 써봤고, 인터넷을 통해 미리 점찍어 두었던 오디오 테크니카의 ATH-A900도 써 보았습니다.  그리고 소니의 MDR-XB700도 들어 보았지요.

MDR-XB700은 비교적 저렴하고 디자인, 착용감도 대체로 괜찮았지만… 제가 가진 클래식 음악을 들어보니… 베이스가 너무 강조되어서 클래식이나 뉴에이지를 듣기에는 매우 적합하지 않다고 생각했습니다. ATH-A900의 경우 듣던대로 해상력이 뛰어나고 맑은 음색을 들려 주더군요. 요도바시에서는 19000엔 정도에 판매하고 있었는데, 인터넷 최저가는 14000엔 근처라서 인터넷을 통해 구입하려고 합니다. 참고로 한국에서 이 제품은 30만원이나 합니다.

여러사람이 함께 움직이기 때문에 천천히 제대로 구경하지 못한 것이 조금 아쉽더군요. 우리나라에도 이런 매장이 있었으면 하는 생각도 들었구요. 월요일에 출근하면 일본 법인 분의 도움을 요청하여 일본 웹사이트에서 헤드폰(ATH-A900)을 구입하려고 합니다. 훌륭한 헤드폰에서 흘러 나오는 아름다운 음악이 해외출장 업무의 피로와 외로움을 충분히 달래 줄 수 있기를 기대해 봅니다.

일본 벤또 & 컵누들

일본에는 벤또(도시락)를 즐겨 먹습니다. 회사에서도 점심시간 회사 앞 노점상에서 혹은 편의점에서 벤또를 사가지고 와서 사무실에서 먹는 모습을 쉽게 볼 수 있습니다.


편의점에서 사온 벤또입니다. 여기 벤또는 퀄리티가 양호해서 먹을만 합니다. 우리나라 편의점에서도 이 정도 퀄리티의 도시락을 팔면 좋겠다는 생각을 하곤 합니다. 아무래도 시간이 많이 절약될테니까요.

그리고 맥주 못지 않게 다양한 종류의 컵누들이 시중에 판매되고 있습니다. 입맛에 안 맞을 줄 알았는데 생각보다 맛있더라구요. 제가 먹어본 것은 카레 누들, 시푸드 누들입니다. 카레 누들은 백세 카레면이랑 비슷한데 맛이 더 강렬합니다. 시푸드 누들은 일본식 짬뽕이랑 맛이 비슷하구요. 열어 보면 스프가 이미 면 위에 뿌려져 있어서 간편하더군요.


일본 음식이 입맛에 잘 맞아서, 날이 갈수록 몸이 좋아지는 것 같습니다. 운동복을 가져올 걸 그랬어요.

일본 지진 체험 시즌2

새벽 5시 7분… 침대가 흔들리는 것을 느끼며 잠에서 깨어났습니다.
지난 일요일 지진 보다 시간은 짧았지만 느낌은 더 강렬했습니다. 

일요일 지진(도쿄 진도 4)으로 인해 어제 출근하여 일본 법인 분들과 지진 발생 시 요령에 대해서 이야기를 나누었습니다. 그 요령대로 바로 TV를 틀어 상황을 확인하였습니다. 놀랍게도 진앙은 바로 도쿄 근처 바다였으며, 지도 상의 제 위치를 정확히 알 수는 없었지만 대략 도쿄 지역의 진도는 5~6이더군요. 게다가 방송에서는 쓰나미가 어쩌고 저쩌고 하면서 지도에서 도쿄의 해안 지역을 다른 색으로 표시하고 있더군요. 제가 거주하는 지역이 바다와 비교적 가까운 지역(미타)이라 불안한 마음이 들었습니다.

지금도 TV를 틀어 놓고 상황을 주시하고 있습니다. 알아 들을 수 가 없어서 답답하네요. 천재지변 앞에 인간은 얼마나 나약한 존재인지…

일본 지진 체험

일요일 밤, 같은 팀 형님과 고기를 사다가 구워 먹고 있었습니다. 같이 사온 만두를 튀기고 있었는데, 만두가 조금 흔들리는 것을 발견했습니다. 대수롭지 않게 여기고 있었는데…

몇 분이 흐른 후 방바닥이 움직이기 시작했습니다. 1~2cm정도 건물이 좌우로 흔들리는 느낌이였습니다. 일단 불판을 끄고 1층올 대피할까 심각하게 고민했습니다. 다행히도 1분정도 지나가 잠잠해 졌습니다. 정말 겁나더군요.

한달 출장 왔는데 하필이면 이 때…

나중에 확인해 보니 도쿄는 진도 4 규모의 지진이 일어났다고 하더군요. 진도 4도 이정도인데, 6, 7도의 지진이 일어나면 어떻게 될지 아찔 합니다. 한국으로 돌아갈 날을 손꼽아 기다려야겠습니다.

고기 파티 in 일본

현재 일본법인에 출장 온 연구원은 저를 포함해서 총 3명입니다. 한 분은 저희 팀이고, 다른 한 분은 예전부터 같이 일 해오던 다른 팀 소속 연구원입니다. 일을 떠나서 저에게는 모두 좋은 형님들이죠.

출장자들끼리 모여 고기를 구워 먹자는 의견이 나와서, 지난 주말 프라이팬과 고기를 사려고 했으나, 근처에서 프라이팬을 구할 수 없어서 포기했습니다. 대신 맥주와 안주를 사서 아쉬움을 달랠 수 밖에 없었지요.


그 뒤로 마트에서 전기 불판을 구입했습니다! 그러나 바쁜 일정 상 꿈을 이루지 못하다 금요일 저녁 드디어 고기 파티를 할 수 있었습니다. 저는 밤샘을 하고 난 다음 날이라 잠을 자고 있는 사이에, 일본 법인 분들과 출장 동지 형님들께서 고기와 맥주와 마늘 등을 사오셨습니다.


일본에서 저녁 식사를 할 때 보통 500엔에서 1000엔 정도 드는데, 생각보다 저렴한 가격으로 고기를 구해 오셨더군요. 드디어 고기 파티를 계획한지 일주일 만에 꿈을 이루었습니다.


난생 처음 25도짜리 진로 소주까지 마시면서 즐거운 시간을 보냈습니다. 고기는 물론 질리도록 실컷 먹었구요. 개인적으로 규동용 얇은 소고기가 제일 맛있더군요.

일본 법인 분들과 출장온 연구원들이 모여 고기를 구워 먹고 술을 마시며 많은 이야기를 나누었습니다. 일본이라는 낯선 장소에서 낯선 사람들을 상대하며 어려운 상황에서 일을 진행해나가다 보면 서로 힘든 상황을 맞이 하게 됩니다. 고객을 상대하시는 분은 그 나름대로, 연구원은 그 나름대로 각자의 역할과 책임에 따라 어려움을 피할 수 없습니다. 대화를 나누면서 결국 남는 것은 사람이라는 것에 모두들 공감하였습니다. 앞으로 남은 출장 일정 동안 또 어떤 어려움을 이겨나가야 할 지 모르겠지만, 함께 하는 모든 분들과 좋은 인연으로 남고 싶습니다.

고객사에서 밤샘 근무

저희 팀에서 요즘 잘 나가는 제품은 CA-Easytrieve라고 하는 메인프레임용 언어를 실행 해 주는 솔루션인 ProTrieve 입니다. ProTrieve는 원래 Unix용으로 먼저 개발 되었고, 현재는 Mainframe용 솔루션을 개발 중에 있습니다. 일본에서…

일본 출장 시즌1은 ProTrieve Unix 제품의 고객사 테스트를 지원하기 위한 단기 출장이였고,
일본 출장 시즌2는 ProTrieve Mainframe 제품의 개발을 지원하기 위한 장기 출장입니다.

제가 개발한 ProTrieve Unix 제품을 7월말까지 인수인계하고 새로운 팀으로 옮길 계획이였는데, Mainframe용 솔루션 개발의 급박한 상황으로 인하여, 생각지도 못하게… 지금 여기는 일본입니다.

Mainframe용 제품을 개발하러 왔지만, Unix용 제품의 안정화가 생각보다 녹녹치 않아서 어제는 요코하마에 있는 NRI Tower로 Unix용 제품을 테스트를 하러 다녀 왔습니다. 그리고 오늘 아침 8시가 넘어서야 작업을 끝내고 Mainframe용 제품을 개발하러 바로 아오모노요코초에 있는 NTT comware로 출근하였습니다. 그러나 오후가 되자 도저히 머리가 돌아가지 않아서 일찍 퇴근하여 잠깐 눈을 붙이고 일어난게 지금이네요.

어제 NRI Tower에서 테스트 하는 작업은 정말 녹녹치 않았습니다. 일본 사회는 보수적이고 딱딱해서 우리가 마음 껏 테스트 해볼 수 있는 환경을 구성하기는 하늘의 별따기 입니다. 어제도 실행 로그를 확인하는 수준으로 일을 진행할 수 밖에 없었고, 기존 data set을 훼손하지 않기 위해 메인프레임의 batch 작업을 기술하는 JCL 스크립트의 내용을 일일이 눈으로 해석하고 수정하는 작업을 한 후에서야 비로소 담당자에게 부탁해서 실행 해 볼 수 있었습니다.

690여개의 JCL 스크립트를 수정 하고, 실행 하면서 저희 제품이 가진 버그를 찾아 내야 하는 길고 지루한 작업이였습니다. 다행히 적극적인 요청의 결과 밤샘 근무를 허가해 주었고, 우리 제품을 테스트 할 수 있는 절체 절명의 기회라는 생각에 한 숨도 자지 않고 밤새 NRI(노무라 증권 연구소) 사무실에서 테스트 작업을 수행하였습니다. 제가 개발한 제품의 완성도에 문제가 있어서 함께 고생하시는 일본 법인 분들께 죄송스러운 마음이 들어 더욱 열심히 하였습니다.

결국 690개의 JCL 스크립트를 모두 테스트 하진 못했으나 550개가 넘는 케이스를 테스트 할 수 있었습니다. 걱정했던 것 만큼은 버그가 나오지 않아서 모두들 허탈해 하기도 했지만…

일의 성사를 위해 밤샘을 불사하시는 일본 법인 분들의 열정을 함께 하며, 책임감이라는 단어를 떠올리게 됩니다. 우리의 고생이 헛되지 않도록 좋은 결실을 맺을 수 있기를 바랍니다.