닛포리역

2021년에 일본에서 한국으로 잠시 입국한 이야기 (2)

지난 이야기

늦었다! 서둘러야 해!

출국 당일이 되었습니다. 코로나 시국에도 출국은 언제나처럼 대중교통을 이용하면 됩니다.

그래도 왕래가 자유롭지 않다보니 챙길 것이 많네요. 어차피 거리두기 탓에 한국 가도 만날 사람들은 최소한으로 제한하기 때문에 선물류는 간소화된 게 다행이라면 다행입니다.

하지만 여기서 예기치 않은 시간 지체로 대중교통이 아슬아슬했습니다.

나리타공항은 역시 하네다공항보다 제가 사는 곳에서 너무 멉니다.

그래도 어쩌겠어요. 한국도 일본도 국제선이 오가는 루트는 최대한 줄여버렸으니 따를 수밖에 없습니다. 그나마 수도권이 아닌 곳은 지방 공항도 못 쓰고 국내선 환승도 상당히 까다롭다고 들었으니까요.

택시를 활용할까 했는데 JapanTaxi를 처음 깔고 Uber도 깔아봤는데 둘 다 서비스 지역이 아니었습니다. 일단 시내로 열차로 이동하는 수밖에 없었습니다.

가방
캐리어가 없는 해외 여행도 색다른 느낌입니다. 어차피 격리기간 옷을 넣을 것도 아니고 상당수 물자는 현지 조달이니까요.

캐리어를 끌지 않고 마치 휴양지 트럭에 실을 법한 큰 어깨 가방을 메고 왔습니다. 별 생각 없이 골랐는데 너무나 마음에 드네요.

스카이라이너, 나리타를 가는 가장 빠르고 두 번째로 비싼 방법

신주쿠에서 야마노테선을 타고 도쿄를 반바퀴 돌아서 닛포리역으로 갔습니다. 가면서 검색해보니 나리타 스카이라이너가 마침 적당한 시간에 있었습니다. 수요 감소로 감편을 하긴 했지만, 남은 열차들도 적자를 감수하고 유지해주고 있으니까요.

참고로 한국은 공항철도 직통열차가 아예 운행 안 하고 있는 것과 대조적입니다. 김포공항도 서지 않고 서울역과 인천공항만 오가는 탓에 수요가 애매했고 애초에 리무진버스 이용객이 많았으니 기대할 남은 수요가 없다는 게 이유겠지요.

가장 빠른 방법이라고 했는데, 두 번째로 비싸다고 했습니다. 제일 비싼 길은 JR 특급 열차인 나리타익스프레스를 타는 것인데 제일 빠르지도 않습니다. 이건 환승 없이 주요 터미널을 오간다는 장점에, 치바를 거쳐 크게 우회하는 긴 거리를 가는 단점도 있는 탓에 길알못 외국인에게 패스랑 같이 끼워서 타야 수지가 맞는 구성이라 건너뛰겠습니다. 느리면서 운임도 많이 받고 좌석 요금도 싸지 않고 JR의 운임 체계도 사철보다 불리한 장거리 운임이라 그야말로 저는 생각조차 안 해봤네요.

닛포리역
닛포리역 나리타 스카이라이너 전용 승강장

닛포리역의 구조는 특이합니다. 가운데 선로가 하나 있고 선로를 두 승강장이 감싸고 있습니다.

즉, 열차가 양문을 개방해도 되는 구조지만, 왼쪽은 일반적인 열차들, 오른쪽은 스카이라이너 전용으로 지정하여 열차 종류에 따라 개방하는 방향이 달라집니다.

일반 열차는 스카이라이너 승강장쪽 문을 열지 않는다

안내방송에 어느 쪽 승강장은 문이 열리지 않는다고 꼬박꼬박 말해주네요.

그럼 반대쪽 선로는 어디있나고요? 윗층이 나리타 방면, 아래층이 케이세이우에노 방면이더라고요.

일본의 여러 사철과 JR이 그러하듯이, 운임은 기본으로 얹고 거기에 특급권을 추가로 구매하는 방식입니다.

입장할 때도 교통카드 게이트를 평소처럼 찍고 들어가서 (없으면 표를 구매하고), 그 안에 또 하나의 특급권 게이트를 지나게 되어 있습니다.

저는 야후 앱에서 검색해보니 좌석 예매 배너가 떠서 거기서 라쿠텐 페이를 써서 구매했습니다.

좌석 선택도 가능하고 승차권 역할을 하는 화면이 표시되기 때문에 그걸 게이트 옆 안내 직원에게 보여주면서 들어가니 아무런 문제가 없었습니다.

정차역 안내

이브닝라이너와 스카이라이너 정차역 차이

닛포리역 다음역이 바로 공항인 건 매우 좋네요. 물론 가는 길에 역이 없는 고속선은 아니고 같은 선로를 달리지만 앞 열차 다 비켜서 대피하게 만들고 앞서나가는 방식입니다.

케이세이 전철 노선도 꽤 복잡하고 주요 분기역이나 터미널도 많고, 여기에 서는 열차 종별도 많아서 아주 바쁜 노선이라 항상 시원하게 달린다는 보장은 없습니다.

시내 구간에선 분기기를 통과하는 덜컹거리는 소리와 아슬하게 스쳐가는 승강장의 속도로 보아 달리는 속도는 60km/h 수준으로 조금 답답하기까지 했습니다.

별 사고 없이 비행기 체크인 시간까지 예정된 시간대로 달려주길 간절히 바랄 뿐입니다.

콘센트도 좌석별로 구비되어 있고 쭉 뻗어도 무릎이 닿지 않는 여유로운 시트 간격인 스카이라이너

특급 열차에 돈 쓰는 걸 이해하지 못하던 시절도 있었지만, 몇 번 타보니 특급 열차의 매력은 분명합니다.

통로와 문으로 구분되어 있는 객실 공간은 그야말로 쥐죽은 듯이 조용합니다.

… 이 칸에 탑승자가 저를 포함해서 딱 3명이었네요. 공항에 가는 사람 자체가 적은 것도 큰 것 같습니다.

열차는 도쿄 수도권 통틀어서 신칸센을 제외하고 가장 빠른 160km/h의 최고 속도를 자랑하며, 호쿠소 철도 구간을 지나 나리타 공항이 머지 않은 짧은 구간에서 5색 고속 신호를 받으면서 159km/h를 실제로 기록하며 질주합니다.

그리고 곧 터널에 들어가면서 나리타 2터미널역에서 저를 제외한 두 명이 다 내려버렸습니다.

내리는 역을 실수하면 셔틀 버스가 있긴 하지만 시간 낭비를 피할 수 없으니 미리 터미널은 숙지하고 있어야겠습니다.

그리고 통상적인 체크인 마감 시간도 수십 분 이내로 다가왔습니다. 서둘러야겠습니다.

쓸쓸한 나리타 공항

대부분의 카운터가 닫힌 나리타 공항 체크인 카운터

짐을 보낼 일도 없고 공항에 오가는 사람도 극히 적습니다. 무사히 수하물 위탁을 마치고 (웹 체크인을 해서 더 수월했습니다) 계류장이 보이는 출발 대기 벤치에는 졸고 있는 사람도 간간히 있었습니다.

관광이 아닌 목적으로 비행기를 타야하는 사람도 여전히 있을 것이고, 공항 자체가 쉴 곳이라 외출나온 사람은 여전히 있는 것 같습니다.

그나마 사람들은 여기에 모여있는 것 같다
12시부터 밤까지 비행기를 다 표시해도 두 전광판 정도로 끝인 모양이다

입장은 신속하게 했어야 했다

걷다보니 화장실에 들르고 약간 지체되어서 표에 써있는 바로 탑승 시간에 출국장에 들어가려고 하니 게이트에 붙잡혔습니다.

임박한 비행기는 들어가도 못 탈 위험 때문에 붙잡는 것이었습니다.

이것때문에 입장해도 되는지 직원이 확인하느라 더 지체되어버렸습니다.

보안검색은 당연히 촬영 금지니까 사진이 없지만, 입장객은 저 혼자라 여러 인력이 제 짐만 검사해주시는 건 뭔가 특별한 기분이었습니다.

이래선 금지물품이나 수상한 거 이잡듯이 다 잡아낼 것 같습니다.

보조 배터리도 확인하고 용량 칼같이 체크하시네요. 저는 미리 공부해서 보조배터리 용량이 100Wh (최대 160Wh) 넘으면 항공사 직원 호출로 시간 낭비한다는 걸 알았기 때문에 그보다 작은 걸로 다시 사왔거든요.

입국 심사도 쥐죽은듯이 조용한 아랫층이었습니다. 날아가는 글씨로 재입국 간이 신청서를 적고 내밀었는데 심사관이 “재입국 안 하실건가요?” 라고 물어보네요.

체크를 잘못한 거라고 하니 직접 수정해주셨습니다. 못 돌아올 뻔했네요.

그렇게 입장하니 파이널 콜이 들려옵니다. 방송으로 제 이름이 호명되는 굴욕이 끝나기 전에 달려서 바로 확인받고 비행기에 올랐습니다.

특이한 포스트 코로나 공항 현황은 물론 시간에 관한 여러 가지 교훈도 가져갈 수 있었던 나리타 출국 경험이었습니다.

다음 이야기

다음 이야기는 입국에 관한 경험으로 이어갑니다.

나리타 공항

2021년에 일본에서 한국으로 잠시 입국한 이야기 (1)

골든위크, 일본은 부랴부랴 재발령된 긴급 사태 선언으로 답답한 일상을 벗어나서 휴가 계획을 세웠던 분들은 날벼락을 맞고 말았습니다.

그에 비하면 한국의 감염자 관리 현황은 매우 양호한 편인 것 같습니다. 이번 연휴에 한국에 와야 하는 이유가 있었던 것도 있지만, 일본에서 버티고 있었어도 정말정말 지루하고 할 일이 없었을 것 같아 잘 한 선택 같습니다.

그나저나, 저에게 사람들이 질문하더군요. 이렇게 여행이 자유롭지 않은 시점에 어떻게 한국에 왔냐고요.

결론부터 대한민국 국민이라면 귀국할 때 아무런 준비 없이 가도 입국할 수는 있습니다1.

하지만 심각하게 금전적 시간적 피해를 입을 수 있으니 만반의 준비를 해야 합니다.

최신 정보 확인

아시아나항공에서 공유하는 나라별 입국 제한 현황

대한항공에서 공유하는 나라별 입국 제한 현황

2021년 4월 현재 요점은 다음으로 보입니다.

  • 입국 72시간 내의 코로나19 음성확인서 지참
  • 한국에서 수신 유효한 한국 전화번호 소유

코로나19 음성 결과지를 일본에서 만드는 방법

일본에서 코로나 검사를 해주는 곳은 아주 많지만, 그 중 한국 입국 용도로 쓸 수 있는 한국어 또는 영어 결과지를 만들어주는 곳은 많지 않습니다.

출국 루트로 사용되는 나리타 공항에서도 코로나 검사를 해주고 있고, 충분한 시간을 두고 방문시 결과를 바로 확인할 수 있다는 장점도 있지만 가격이 터무니 없이 비쌉니다.

제가 사용한 곳은 아래 사이트에서 예약을 받고 있습니다. 15,400엔이면 출국용 서류가 한큐에 완성된다고 하니, 안 할 수가 없네요.

다만 검사를 아예 실시하지 않는 요일이 있으니 출국일 잡을 때 72시간 오버하지 않을 날로 참고하시면 좋습니다.

출국일, 출국 국가를 묻고 발급해주니까 혹시 절차에 오류가 있을지 같이 살펴봐줘서 걱정을 덜 수 있습니다.

https://www.pcr-english.team-medical.or.jp/

Team Medical Kenshin Clinic, 内幸町1ビル 1階 2階 1 Chome-5-14 Nishishinbashi, Minato City, Tokyo 105-0003

혹시 더 나은 곳을 찾으셨다면, 공유해주세요.

방문 후기

Team Clinic의 검사 대기소

인터넷 예약을 한 날에 시간 맞춰서 가면 됩니다. 방문할 때 여권을 가져가시는게 필수라 보시면 됩니다. 찾는 날에는 신분을 확인할 수 있는 신분증이면 된다고 하는데, 여권이면 다 해결됩니다.

검사용 파일을 받고 대기실에서 대기하다가 불리면 들어가서 파일을 넘겨줍니다.

의사가 벽보고 앉으라고 하고 흰 벽을 보면서 고개를 젖혀서 가만히 있으면 콧속에서 샘플을 채취하십니다.

그걸로 끝입니다. 다시 나오면 접수 카운터에서 결과지를 가지러 다음날 영업시간 내에 방문하라고 하십니다.

총 소요 시간은 입장부터 퇴장까지 10분도 안 걸렸네요.

돈은 예약 단계에서 빠져나가고, 예약 취소시 금액은 환불이 가능한 모양입니다. 현장에서 결제할 필요는 없었습니다.

음성 확인서 수령

Team Clinic에서 발급해준 음성 확인서

음성 확인서는 제 목적 방문 국가를 이야기하고 받았기 때문에 한국어가 포함되어 나와 있었습니다. 이 서류는 잊지말고 지참하되, 입국 심사 과정에 써야 하니 부쳐버리는 실수도 하지 맙시다.

여기서 양성이 나와버리면 당연히 음성 확인서가 없는 상태로 가는 것과 차이가 없습니다. 여행에 적색등이 켜지는 겁니다.

다음 단계

실제 출국 및 입국일도 우여곡절이 많았기 때문에 다음 글로 나눠서 적어보려 합니다.

楽しい旅行はJRで

JR 동일본 Welcome Rail Pass 2020 결산

Welcome Pass 2020, 야심찬 고투의 일환

역병이 만연한 시기지만, 일본의 경제지상주의는 어쩔 수가 없었기 때문에 이런저런 비판을 많이 받았던게 작년의 일입니다. 그리고 그 와중에 긴급방역조치로 조인 다음에는 급격하게 고투(Go To) 캠페인을 장려하면서 지방의 관광업을 살리고자 하는 냉온탕의 연속을 보여주는 정책이 참 혼란스러웠던 기억이 납니다.

그리고 그 와중에 등장한 웰컴 패스 2020은 역병 탓에 해외에서 입국하는 외국인이 없음에도 불구하고, 일본에 체류하고 있는 중장기 체류 외국인들에게 새로운 기회를 제공해주었습니다.

여권만 가지고 있으면 쓸 수 있는 패스

참고로 보시다시피 발매 기간은 진작에 지났습니다. 이용 경험을 돌아보는 결산이라고 봐주세요.

이 패스가 대단한 이유

간단하게 말해서 미친 가성비입니다.

도호쿠 지방(JR 동일본 관할)에 이 이상의 패스는 전무후무할 것입니다.
  • 체류 자격 무관하게 일본 여권이 아닌 여권을 제시할 수만 있으면 구매할 수 있습니다.
  • 1만 2천엔에 3일을 이용할 수 있습니다. 청춘18티켓처럼 시간표상 시간이 자정을 기점으로 이용 가능한지 여부가 결정되는 것 같습니다. (테스트 안 해봄)
  • 6회의 좌석 지정 기회를 줍니다. 특급권이 필요한 열차는 특급권(좌석지정) 발권을 받아야 하는데 이 티켓을 삽입하고 무료로 받을 수 있습니다.
  • 이 좌석 지정 기회에 JR 동일본 소속 모든 등급 신칸센이 포함되어 있습니다. 비싼 신칸센 비용 생각하면 저 금액의 본전은 단순에 뽑을 수 있습니다. 도쿄-아오모리면 편도 이동에 본전을 다 뽑습니다.
  • JR과 직결하는 제 3섹터 지방 사철도 이용 범위에 포함됩니다. 청춘18티켓은 이런 노선을 피해서 이용하거나 아예 돈을 내고 타야만 하는 구간이 있는 걸 생각하면 고민할 필요가 없는 선택지입니다.

따라서 이 패스의 본전을 뽑으려면 신칸센과 특급 열차를 열심히 타고, 이동거리를 길게 가져가며, 평소에 탈 수 없을 법한 외진 곳을 돌아다녀야 하는 것입니다. 모델 코스처럼 공항에서 나와서 이걸로 유유자적 다니기엔 아깝습니다.

하지만 지방의 두 군데만 가더라도 이 금액 이상의 효용을 누릴 수 있으니, 꼭 이 기회에 가봐야겠다 생각했습니다.

거두절미, 이용 리포트

여행에 대해 구체적으로 소개하기엔 길이 너무 길어지고, 다 적을 시간이 없어서 다음 기회를 기약하도록 하겠습니다.

3일씩 여행을 두 번 다녀왔고, 한 번은 11월, 그리고 이 기간이 끝나는 2월에 다시 한 번 다녀왔습니다.

1차 여행 – 아오모리, 민마야, 오미나토, 하치노헤, 히로사키

이 패스로 갈 수 있는 가장 먼 곳을 가을에 다녀왔습니다. 홋카이도는 패스 범위 밖이니 그 앞까지 허용할 수 있는 곳은 다 가보자는 생각이었습니다.

1일차

종류노선명출발도착거리통상 운임
재래선도카이도 본선후지사와도쿄51.1km990엔
신칸센도호쿠도쿄신아오모리713.7km17670엔
재래선오우 본선신아오모리아오모리3.9km190엔
타사 재래선아오이모리 철도선 (아오이모리철도)아오모리노헤지44.6km1050엔
재래선오미나토선노헤지무츠요코하마30.1km590엔
재래선오미나토선무츠요코하마오미나토28.3km590엔
재래선오미나토선오미나토노헤지58.4km1170엔
타사 재래선아오이모리 철도선 (아오이모리철도)노헤지아오모리44.6km1050엔
첫 날부터 23300엔

2일차

종류노선명출발도착거리통상 운임
재래선츠가루선아오모리민마야55.8km1170엔
재래선츠가루선민마야아오모리55.8km1170엔
재래선오우 본선아오모리신아오모리3.9km190엔
신칸센도호쿠신아오모리하치노헤81.8km3390엔
신칸센도호쿠하치노헤신아오모리81.8km3390엔
둘째날은 아침부터 멀리 가느라 이동은 얼마 못하고 9310엔

3일차

밑에는 뻔하니까 생략.
종류노선명출발도착거리통상 운임
재래선오우 본선아오모리히로사키37.4km680엔
재래선오우 본선히로사키신아오모리33.5km590엔
신칸센도호쿠신아오모리도쿄713.7km17670엔
재래선도카이도 본선도쿄후지사와51.1km990엔
마지막날이 가장 일반적인 여행 패턴에 근접한 것 같다. 19950엔.

결산

52560엔을 뜯길 뻔한 3일의 이동을 12000엔에 끝낼 수 있었습니다. 패스가 없었으면 선택하지 않았을 루트가 끼어있긴 했지만 그 차액을 고려하더라도 12000엔이 압도적으로 싸게 느껴집니다.

타사 재래선은 다른 JR 패스나 티켓으로는 이용할 수 없는 독자 노선이면서 가격도 비싼 걸 생각하면 가격차는 더욱 험악합니다.

2차 여행 – 나오에츠, 니이가타, 아키타, 오가, 노시로

겨울도 끝나가는 2월, 패스가 끝나기 전에 아직 안 가본 도호쿠의 서쪽면 동해안을 가보고 싶어서 이번에는 동행자 없이 혼자 가보았습니다. 이 시기에는 마침 얼마 전 있었던 광범위한 지진으로 신칸센 전신주가 쓰러지는 사고가 있어서 열흘 정도 걸려도 복구가 여전히 되지 않았고 연휴가 끝나고서야 정상화된다는 이야기가 있었기 때문에 패스를 구매할 때도 직원이 신칸센 못 탄다고 반복적으로 이야기해줬습니다. 사실 구체적인 계획 없이 떠난 건 마찬가지였지만, 이 때는 더욱 무계획에 가깝게 이동했기에 매일매일 다음 일정, 귀환 방법을 고민했고 그 선택은 결과적으로 그리 나쁘지 않았습니다.

여행에 무의미한 돈낭비가 있으면 안 되기에 출발역은 딱 JR이 시작하는 역이면서 미리 구매하지 않은 패스를 당일 사면서 바로 개시할 수 있는 일정으로 잡았습니다. 신주쿠역이 오다큐에서 내린 후 JR 여행센터를 들러 구매하고 바로 개시하기 좋은 위치였기에 다른 선택지가 존재하질 않았지요.

1일차

효율적인 루트면 당연히 조에츠 신칸센을 타고 니이가타로 가야하지만,
신선을 체험하면서 더 멀리 가보고 싶은 마음에 JR 서일본과 경계역인 죠에츠묘코역을 가기로 했다.
종류노선명출발도착거리통상 운임
재래선쇼난신주쿠 라인신주쿠오미야27.4km473엔
신칸센호쿠리쿠오미야죠에츠묘코251.6km8040엔
타사 재래선묘코 하네우마 라인죠에츠묘코나오에츠10.4km340엔
재래선특급 시라유키 (신에츠 본선)나오에츠니이가타136.3km4170엔
재래선에치고선하쿠산니이가타3.1km189엔
마지막 에치고선은 야간 도보 산책 후 귀가 루트. 총액 13212엔

2일차

오전에 니이가타 일정을 예상보다 더 끼워넣느라 하루 세 번의 기회 중 가장 마지막인 점심 쯤 출발하는 열차를 타고 나니 해가 져버렸다.
종류노선명출발도착거리통상 운임
재래선특급 이나호 (하쿠신선, 우에츠 본선)니이가타아키타273km6820엔
특급 시발역부터 종착역까지 쭈욱 타고가는 위엄. 질리지 않는 바다 풍경과 눈덮인 논밭의 조화로 지루할 틈이 없던 시간.

3일차

아키타시 안에서 관광안내도를 보고도 실망한 상황에서 패스 정신을 살리려면 이동밖에 없었다.
위로 갈까 아래로 갈까 심사숙고하다가 결국 일정이 허락하는 가장 먼 곳을 둘 다 가보기로 했다.
종류노선명출발도착거리통상 운임
재래선오가나마하게 라인 (오가선)아키타오가39.4km770엔
재래선오가나마하게 라인 (오가선)오가오이와케26.4km510엔
재래선오우 본선오이와케히가시노시로43.7km770엔
재래선고노선노시로히가시노시로3.9km190엔
재래선오우 본선히가시노시로아키타56.7km990엔
오가역은 시기가 안 좋아서 컨텐츠가 카페 체류뿐.
노시로는 저녁에 도착해서 배차 간격이 안 맞아서 마을을 느껴보고자 4.2km를 무작정 도보로 걸어서 노시로역까지 갔다.
돌아올 때는 아키타역에서 철도 이용을 마치고 요코하마까지 야간버스를 이용했다. 재래선이나 일부 끊긴 신칸센으로는 일정이 너무 오래 걸려서 답이 없었기 때문이다. 철도 이용 금액 3230엔.

결산

노선의 별도 표기 때문에 승차 하차역 연속 이용을 통한 기본료 할인이 없이 매번 하차한 것으로 계산하여 오차가 큰 편입니다만, 대충 이런 식으로 이동했다는 표기를 위함이니 양해 부탁드립니다. 그래도 가볍게 23262엔으로 패스의 2배 가까운 효율을 뽑아낸 것을 알 수 있습니다. 버스 운임은 어쩔 수 없이 출혈이 있었지만요.

본전보다는 여행 그 자체에 집중하게 하는 패스

패스가 아슬아슬하게 본전을 찾을까 절약할까 하는 패스는 숙고해야 하고 여행 본질에 집중할 기회를 놓치게 만듭니다. 이번 Welcome Rail Pass의 강점은 바로 여기에 있었던 것 같습니다.

  • 일단 본전은 사실상 보장되어 있다는 점
  • 신칸센, 특급 열차를 자유롭게 발매기에서 예약하고 시간 절감과 안락함, 특별한 경험을 모두 챙길 수 있다는 점

내일로 여행을 한국에서 해봤을 때도 분명 특별한 경험이긴 했지만, 언제든지 자리 주인이 등장하면 비켜줘야 하는 입석에 가까운 취급에 열차카페 같은 곳을 전전하며 짐짝처럼 실려다니는 불편함도 만만치 않은 기억입니다. 나이가 들어서 에고에고 하는 수준은 아니더라도, 여행이 조금 더 힐링이 되었으면 하는, 그러면서 더 다양한 자극의 계기가 되었으면 하는 그런 욕구가 커졌음을 느낍니다.

특급 열차도 언제든지 탈 수 있는 게 아닙니다. 많은 열차가 수익성 악화로 없어지고, 또 새로운 열차가 상품으로 고안되어 손님을 맞이하는 변화가 끊임없이 이뤄지고 있습니다. 비싸니까 자주 타는 건 어렵겠지만, 가끔은 이런 경험을 쌓아가는 것과 동시에 여행의 질도 한 등급 올라가면서 남은 일정의 피로 회복 기회도 제공하는 소중한 여행의 선택지를 보여주었다는 점에서 효율 극단을 추구하던 제게 다른 길을 갈 수 있는 자신감을 주었던 두 여행이었다고 생각합니다.

새해 복 많이 받으세요

해맞이 명소가 어딥니까

집에서 해돋이를 볼 수 있는 유튜브 스트리밍은 많습니다만, 일본에서 그런 곳이 많지 않기도 하고 현과 현 사이 이동을 자제해달라 이런 정도의 당부만 있을 뿐 큰 제약이 한국처럼 있는 것은 아니라, 조심히 다녀오기로 마음 먹었습니다.

그래서 이 제목대로였으면 그냥 심심한 신년맞이였겠지만, 그렇다면 이 글을 적을 이유도 없었습니다. 그렇다고 위험하게 사람이 몰릴 법한 해맞이 명소를 가서도 안 됩니다.

한국이였으면 동해를 떠올리겠지만, 여기서 굳이 해안선까지 가는 여행을 하기엔 교통비가 너무 많이 들어서 배제했습니다. 잠깐 다녀온다고 태평양 인근까지 가는 건 말도 안 됩니다.

작년의 해맞이는 어디었냐고요? 구름이 잔뜩 낀 에노시마였습니다. 도쿄에서 그리 멀지 않은, 가나가와 후지사와의 남쪽에 위치한 조그마한 다리로 연결된 섬은 전체가 관광 명소라서 항상 사람이 바글바글한데, 해맞이도 가타세에노시마역까지 사람이 가득했던 기억이 납니다. 나가지도 못하고 작은 개찰구를 통과하기까지 인파에 밀리며 역을 빠져나오는데 한 세월을 보내고, 에노시마 들어가면서도 인파들을 헤쳤던 기억이 납니다.

물론 에노시마를 지겹도록 여러 번 방문한 제게는, 지역주민들이 주로 이용하는 듯한 섬의 후미진 둘레길을 이용해서 편안하게 질러서 도착했지요. 섬 주민들의 오토바이가 가득 주차된 나름 물자가 오가는 유일한 찻길이라 안전에는 유의해야 하지요. 그렇게 도착해서 기다리고 있으니 곧 구름이 걷히고 찬란한 2020년의 해가 보였었지요.

그런 해맞이 명소는 위험하니까

일본에 와서 누마즈를 여러 번 다녀왔습니다. 때로는 성지순례로, 때로는 시골 탐방을 위한 전진기지로, 스탬프 투어하러, 수족관을 가러 여러 번 갔던 것 같습니다. 그 때 도카이도 본선의 15량짜리 긴 열차를 타고 가다가 밖으로 보였던 절벽 아래 태평양 바다가 내려다보이는 장관에 말을 잃었던 기억이 나네요.

후지사와를 지나쳐서 치가사키를 지나면 비좁은 절벽을 헤집고 터널과 위태로운 철길, 국도길이 공존하는 구간이 나옵니다. 그리고 거기 작게 있는 마을에 바다를 떡하니 가로막고 자리를 차지한 유일한 역이 있습니다.

네부카와역은 철조망 너머로 절벽 아래 바다가 보입니다. 바다의 수평선을 열차 안에서 볼 수 있는 역이죠. 비록 남쪽 방향이긴 하지만 해를 보는데는 아무런 문제가 없는 탁트인 공간입니다. 저는 여기가 제일 먼저 떠오르더군요. 결국 역이란 지나치는 곳이고 철덕이 아니고선 일반인에게 목적지가 될 리가 없으니까요.

예상대로 사람이 많다

5시부터 집을 나서지만 밥은 잘 챙겨먹습니다. 아침밥을 꼭 먹는 습관이라 동행자도 덩달아 먹게 되었는데 속이 안 좋았을 수도 있겠습니다. 이래저래 준비하다보니 애초에 의도했던 열차는 놓쳤지만 다음 열차로도 대충 목적지 일출 시간에 맞게 도착할 것 같습니다. 서둘러 준비를 하고 나오면서 촉박한 환승 시간을 다시 상기합니다.

오다큐 에노시마선 열차가 왔는데 사람들이 꽤 북적북적합니다. 다들 아무래도 이 시국에 에노시마나 최소한 그 근처 해변에 가서 해돋이를 보려고 난리인 모양입니다. 해를 끌끌 차기엔 저도 목적지만 다를 뿐 의도는 별 차이가 없네요. 누워서 침뱉기인 것 같아서 잠자코 마스크를 푹 눌러 쓰고 후지사와역까지 갔습니다.

아침은 고되니까 그린샤 콜

가는 여정에도 일출이 진행되는 열차 시각이라 열차 안에서도 헛되이 보낼 수는 없었습니다. 전망 좋은 자리에 앉아서 해변을 볼 수 있는 준비가 필요하기에, 주저하지 않고 그린샤 발권기를 찾았습니다. Suica 교통카드에 입력하면 자리 비용을 지불한 것으로 처리되어 찍기만 하면 그 자리가 내 것이 되거든요.

하지만 저는 모바일 Suica가 아니라 PASMO였습니다. 카드 인식을 할 수 없었고, 촉박한 환승 시간 와중에 개찰구로 달려가서 자초지종을 설명하니, 밖에 발매기에서 종이 승차권으로 뽑아오면 된다고 했습니다. 플라스틱형 카드가 있었으면 동전 계산하지 않고 카드 잔액으로 뽑았을텐데, 모바일은 삽입이 안 돼서 결국 동전을 써야 하네요. 뽑아서 개찰구를 다시 통과하니 열차가 절찬 진입중이라 후다닥 뛰어서 겨우 열차를 잡을 수 있었습니다.

빨간색은 활성화되지 않은 자리, 초록색은 활성화된 자리

교통카드로 발권이 되면 천장의 단말기에 찍고 앉으면 됩니다. 2층 객차의 윗층은 역시 뷰가 좋습니다. 유효한 카드는 색이 바뀌면서 내 자리가 되고, 저는 종이 승차권이라 찍을 것 없이 그냥 앉으면 곧 승무원이 와서 표 좀 보자고 합니다. 그 때 표를 보여주면 곧 저도 천장의 자리가 승무원의 기기 조작에 의해 똑같이 초록색으로 변하게 됩니다.

자리는 딱 바다가 보이는 곳만 들어찼습니다. 두 명이 앉을 자리는 반대편 밖에 없었습니다. 그래도 날이 밝아오는 것이 보여서 그렇게 아쉽지는 않았습니다.

시간은 이미 일출 시각이 갓 지났기에, 구름 너머에 해 끄트머리는 올라왔을 것 같습니다.

모터가 없이 조용한 무동력칸에 그것도 높은 자리에 좌석형 시트에 앉아서 간다는 건, 분명 모든 역에 다 서는 각역정차 열차임에도 뭔가 특급 열차에 탄 것 같은 편안함이 있었습니다. 물론 특급의 비용을 생각하면 급은 분명 다르지만, 이런 서비스를 선택할 수 있다는 건 매력적이네요. 맨날 쓰기엔 너무 비싼 사치지만요. 주말에 조금 싼 거 보면, 역시 평일에 사람들에 부대끼는 러시 아워를 물리치고 이런 사치를 누리고 싶은 사람들이 더 많은 걸까요?

사람들의 발상은 어찌 비슷할까

네부카와역은 이미 자리잡은 사람들로 가득했습니다.

아무리 아이디어가 참신하다고 한들 나만 생각했을 리가 없습니다. 사실 이런 전개도 아예 없을 거라 생각한 건 아니었습니다. 하지만 생각보다 같은 아이디어를 가진 사람들이 많았던 것이죠. 도쿄에 사는 사람들은 여기까지 굳이 오지 않았겠지만, 생각해보면 인근 주민들이나 반대로 시즈오카쪽 해변이 아닌 가까운 동네에선 여기가 에노시마보다 더 나은 명소였을 수 있었던 겁니다.

해가 떠오르는 와중에 계획 변경은 없습니다. 다행히 빈 곳은 있어서 충분히 주변 사람들과 거리를 두면서 우리의 공간을 확보할 수 있었네요.

건너편이 유치선이라 전차선이 다소 거슬리는 각도
찬란하게 떠오르는 2021년 새해

구름 사이로 떠오르면 뭔가 다들 아쉬워하는데, 저는 이쪽이 더 예술적으로 보입니다. 꼭 일출의 순간을 맞이해야 하는 것보다는, 구름 사이로 뻗어나가는 햇살이 더 아름다워서 그쪽이 더 반갑기 때문일 것 같습니다.

해가 떠오르는 모양이 한 해를 설명한다는 미신까지 가진 않더라도, 작년도의 궂은 구름을 걷어내고 떠오른 해와 전례 없는 새로운 판데믹의 출현으로 얼핏 상반되는 결과라고 실망할 수 있겠지만, 저는 개인적으로 이 어려움 아래에서 가능했던 또 다른 도전들을 증명해내는 시간이 되었던 것 같거든요.

재택 근무라는 상상 속의 일상을 실제로 해보면서 새로운 생활 패턴에 얼마나 성과를 올렸는가 생각해보면, 분명 마냥 좋았다기엔 깊이 생각해봐야 할 개선점도 있었고, 그렇다고 패턴이 엉클어져서 큰 부침을 겪은 것도 아니고, 저와 주변 사람이 이 병에 걸리지 않았던 요행도 있었기에 결국 일이 잘 풀렸다는 감사함만 남았습니다.

이번 년도도 딱 그 정도로, 다만 더 바라는 게 있다면 구체적인 미래를 향해 지금까지처럼 현상유지하는 것보다는 그 이상으로 발전하고 싶다는 소망을 빌어봤습니다. 돈 좀 아껴써야죠.

네부카와역 이모저모

네부카와역은 수도권 인근의 간이역 규모를 잘 간직하고 있습니다. 역시 역사와 평면 건널목으로 이어질 정도로 낙후된 곳은 아니지만 (열차가 드물지 않으므로 평면은 역시 무리일 겁니다) 역사는 새해 맞이 인파를 다 맞기에는 좀 비좁아보였습니다.

네부카와역은 비교적 높은 곳에 위치하고 있지만 도로는 철로를 밑으로 횡단하여 해변으로 갈 수 있는 모양입니다. 시간이 부족해서 그쪽으로 가진 않았지만, 여러 각도에서 역과 바다를 바라본 풍경이 아름답더군요.

역사의 오른쪽은 일부가 창문이 있었지만 막은 듯이 보입니다. 구조가 더 있어보이는데 개조를 통해 역무실을 폐쇄하고 무인역으로 만들어버리면서 전자발권기까지 벽에 넣어놨습니다. 발권기가 있는데 승차증명서 발권이 왜 필요한가 생각할 수 있는데, 발권기를 19시가 되면 꺼버린다고 하네요. 야간에 교통카드 없이 승차권으로 열차를 타려면 승차권을 뽑을 수 없으니 저 승차증명서를 뽑아들고 내리는 역에서 정산을 해야 하는 것입니다. 참고로 승차증명서는 일본의 시골 철도에 돈통 싣고 달리는 열차에선 매우 흔하게 볼 수 있는 존재입니다.

절벽 위는 더 멀리 보일까

역 안에서만 머무르기엔 아쉬워서 조금 주변을 돌아보기로 했습니다. 등산 좋아하시나요? 저는 좋아하는지라 동행자를 조금 괴롭히는 동선으로 골목길을 헤집고 계단을 올라가봤습니다. 차로는 한참 돌아와야 하는 곳에 지름길을 걸어올라가는 기분이었습니다.

길이 길지는 않아서 오르막을 급하게 올라서 끝났습니다. 중학교가 산 위에 있네요. 학생들이 불쌍해지는데 절벽이 있는 해안 동네는 안 그런 곳이 적겠지요. 딱 적당하게 둘러보고 내려가기 좋은 거리여서 좋았지만, 올라가는 수고에 비해 보이는 풍경은 좀 각도가 좁았네요. 그래도 이 동네 전체가 그리 크지 않아서 산책을 하기에도 수십 분이면 가능할 것 같은 규모였습니다.

비록 나만의 스팟은 아니었지만

새해 맞이를 나만의 스팟에서 한다는 야심찬 계획은 이렇게 물거품이 되어버렸지만, 그래도 만족스러운 새해 첫날의 여행이었습니다. 해맞이를 하면 이런 여정이 끝나도 여전히 오전이라는게 참으로 설렙니다. 그래서 욕심을 이후에 부리게 되긴 했지만, 후회는 없었습니다.

2021년도 잘 부탁드립니다.

Ubuntu에서 QSV (-hwaccel qsv)를 쓸 수 있게 ffmpeg를 빌드하는 방법

일러두기

본 글은 원글을 참조 번역하며, 실제로 막힌 부분에 대한 수정이 이뤄져 있습니다.

Debian에서 QSV로 빠르게 인코딩하고 싶다!

이 글에서는 ffmpeg -hwaccel vaapi (VAAPI + i965) 보다 높은 스루풋/고품질을 얻을 수 있는 ffmpeg -hwaccel qsv (libmfx + iHD)를 쓸 수 있는 ffmpeg 빌드를 Ubuntu에서 하게 됩니다.

구성

소프트웨어

Ubuntu는 2020년 4월 1일 버전으로 설치되어 있습니다. 아쉽게도 LTS인 Groovy가 아닌데, 18년도랑 20년도의 버전 차이가 상당히 큰 점, 설치 당시에 아직 LTS가 나오지 않은 점 탓에 조금 애매한 버전이 깔려 있습니다. 하지만 웬만한 라이브러리 수급에 큰 문제는 없기 때문에 이대로 진행하려고 합니다.

$ lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal

하드웨어

Intel Quick Sync Video (libmfx + iHD)를 사용한 하드웨어 인코딩/디코딩을 위해서는, Core i 시리즈로는 제 6세대 이상이 필요합니다. 다행히도 제 노트북은 아슬아슬하게 이 조건을 충족하기 때문에 그대로 진행하고자 합니다.

CPU별 자세한 기능 지원 사항은 https://trac.ffmpeg.org/wiki/Hardware/QuickSync에서 자세하게 확인할 수 있습니다.

하드웨어 종별명칭비고
CPUIntel(R) Core(TM) i5-6200 CPU @ 2.30GHzSky Lake
Memory8GBOnboard

설치 방법

빌드 도구 설치

#빌드에 공통으로 사용할 패키지를 설치
$ sudo apt install build-essential git cmake pkg-config

libva (VA-API) 빌드, 설치, 동작 확인

#의존하는 패키지의 설치
$ sudo apt install meson libdrm-dev automake libtool

#LibVA 최신판 다운로드
$ git clone https://github.com/intel/libva.git
$ cd libva

# 빌드 및 설치
$ ./autogen.sh
$ make
$ sudo make install
...(중략)
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.

libva가 설치된 /usr/local/lib는 LD-PATH에 포함되어 있지 않으므로, 아래의 명령을 통해 추가해야 합니다.

이걸 함으로써 libva2 패키지(버전 2.10.0)이 /usr/lib에 설치되어 있어도, 이번 설치한 최신판이 우선되어 선택되게 됩니다.

sudo sh -c "echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf"
sudo ldconfig

ldconfig가 작동하는지 확인합니다. vainfo에서 참조하고 있는 libva가 /usr/local/lib를 가리키고 있는 것을 알 수 있습니다.

# vainfo 패키지 설치
$ sudo apt install vainfo
# vainfo가 참조하고 있는 libva가 조금 전 빌드한 것임을 확인
$ ldd /usr/bin/vainfo | grep /usr/local/
        libva-drm.so.2 => /usr/local/lib/libva-drm.so.2 (0x00007fe6f8bc4000)
        libva.so.2 => /usr/local/lib/libva.so.2 (0x00007fe6f8b95000)

참고로 vainfo는 Video Accelerate Info로 VA-API의 현재 설치 상황을 확인할 수 있습니다.

또 VA-API 드라이버가 설치 되어 있지 않아서 드라이버가 열리지 않으면 에러가 표시됩니다.

# vainfo를 사용해도 드라이버가 없으면 에러가 난다
$ vainfo
error: can't connect to X server!
libva info: VA-API version 1.8.0
libva info: Trying to open /usr/local/lib/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

Ubuntu Server 같이 원래 디스플레이가 없는 경우 X server에 연결할 수 없다는 오류가 나타나는 건 자연스럽습니다. 실제로 그런 장치에서 해보질 않아서 그 문제 자체를 무시할 수 있는지는 확인하지 못했습니다.

VA-API 드라이버 (iHD_drv_video.so)의 빌드와 설치

이제 iHD_drv_video.so를 빌드합니다.

#의존 패키지의 설치
sudo apt install libpciaccess-dev

#의존 라이브러리(Intel(R) Graphics Memory Management Library) 빌드
$ cd
$ git clone https://github.com/intel/gmmlib
$ cd gmmlib/
$ mkdir build && cd build
$ cmake ..
$ make

#VA-API 드라이버(iHD_drv_video.so) 빌드
$ cd
$ git clone https://github.com/intel/media-driver
$ mkdir build_media
$ cd build_media/
$ cmake ../media-driver
$ make
$ sudo make install

여기까지 오면 vainfo 명령에서 새로운 드라이버가 인식됩니다.

# vainfoを実行
$ sudo vainfo
error: can't connect to X server!
libva info: VA-API version 1.8.0
libva info: Trying to open /usr/local/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.8 (libva 2.4.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.2.pre (3640b64c)
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD```

이상으로 하드웨어 가속이 준비 완료되었습니다. Media SDK에서 필요한 VA-API(libva)의 최신판 드라이버 도입을 끝냈습니다.

Media SDK의 빌드, 설치

git에서 Media SDK를 다운로드, 빌드, 설치합니다.

빌드 플래그 및 설치 위치는 스크립트를 확인하면 알 수 있습니다.

 git에서 MediaSDK 다운로드
$ git clone https://github.com/Intel-Media-SDK/MediaSDK msdk
$ cd msdk

# 빌드 디렉토리 작성
$ mkdir build && cd build

# cmake 실행, 빌드 플래그가 마지막에 표시
$ cmake ..
...(略)...
Release flags:
  CMAKE_C_FLAGS_RELEASE                   : -O3 -DNDEBUG
  CMAKE_CXX_FLAGS_RELEASE                 : -O3 -DNDEBUG
Debug flags:
  CMAKE_C_FLAGS_DEBUG                     : -g -D_DEBUG
  CMAKE_CXX_FLAGS_DEBUG                   : -g -D_DEBUG
Install:
  CMAKE_INSTALL_PREFIX                    : /opt/intel/mediasdk
  CMAKE_INSTALL_FULL_INCLUDEDIR           : /opt/intel/mediasdk/include
  CMAKE_INSTALL_FULL_LIBDIR               : /opt/intel/mediasdk/lib
  CMAKE_INSTALL_FULL_DATADIR              : /opt/intel/mediasdk/share
Enable:
  ENABLE_OPENCL                           : ON
  ENABLE_X11                              : OFF
  ENABLE_X11_DRI3                         : OFF
  ENABLE_WAYLAND                          : OFF
  ENABLE_ITT                              : OFF
  ENABLE_TEXTLOG                          : OFF
  ENABLE_STAT                             : OFF
Build:
  BUILD_RUNTIME                           : ON
  BUILD_DISPATCHER                        : ON
  BUILD_SAMPLES                           : ON
  BUILD_TUTORIALS                         : ON
  BUILD_TESTS                             : OFF
  BUILD_TOOLS                             : OFF
  BUILD_KERNELS                           : OFF
...(略)...


# make & make install. 설치 장소를 확인.
$ make
$ sudo make install
...(중략)...
-- Install configuration: "release"
-- Installing: /opt/intel/mediasdk/share/mfx/plugins.cfg
-- Installing: /opt/intel/mediasdk/lib/libmfx.so.1.32
-- Installing: /opt/intel/mediasdk/lib/libmfx.so.1
-- Installing: /opt/intel/mediasdk/lib/libmfx.so
-- Installing: /opt/intel/mediasdk/lib/pkgconfig/libmfx.pc
-- Installing: /opt/intel/mediasdk/include/mfx
-- Installing: /opt/intel/mediasdk/include/mfx/mfxvideo++.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxpcp.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxvstructures.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxcommon.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxla.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxastructures.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxplugin.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxscd.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxaudio++.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxpak.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxaudio.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxadapter.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxdefs.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxplugin++.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxvp8.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxvideo.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxjpeg.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxfeihevc.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxsession.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxfei.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxdispatcherprefixedfunctions.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxvp9.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxstructures.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxbrc.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxenc.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxcamera.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxsc.h
-- Installing: /opt/intel/mediasdk/include/mfx/mfxmvc.h
-- Installing: /opt/intel/mediasdk/lib/pkgconfig/mfx.pc
-- Installing: /opt/intel/mediasdk/share/mfx/samples/sample_decode
-- Installing: /opt/intel/mediasdk/share/mfx/samples/sample_encode
-- Installing: /opt/intel/mediasdk/share/mfx/samples/sample_fei
-- Installing: /opt/intel/mediasdk/share/mfx/samples/sample_hevc_fei
-- Installing: /opt/intel/mediasdk/share/mfx/samples/sample_hevc_fei_abr
-- Installing: /opt/intel/mediasdk/share/mfx/samples/sample_vpp
-- Installing: /opt/intel/mediasdk/share/mfx/samples/sample_multi_transcode
-- Installing: /opt/intel/mediasdk/share/mfx/samples/libsample_rotate_plugin.so
-- Installing: /opt/intel/mediasdk/share/mfx/samples/libvpp_plugin.a
-- Installing: /opt/intel/mediasdk/share/mfx/samples/libcttmetrics.so
-- Installing: /opt/intel/mediasdk/share/mfx/samples/metrics_monitor
-- Installing: /opt/intel/mediasdk/lib/libmfxhw64.so.1.32
-- Installing: /opt/intel/mediasdk/lib/libmfxhw64.so.1
-- Installing: /opt/intel/mediasdk/lib/libmfxhw64.so
-- Installing: /opt/intel/mediasdk/lib/pkgconfig/libmfxhw64.pc
-- Installing: /opt/intel/mediasdk/lib/mfx/libmfx_hevce_hw64.so
-- Installing: /opt/intel/mediasdk/lib/mfx/libmfx_hevc_fei_hw64.so
-- Installing: /opt/intel/mediasdk/lib/mfx/libmfx_vp9e_hw64.so
-- Installing: /opt/intel/mediasdk/lib/mfx/libmfx_h264la_hw64.so
-- Installing: /opt/intel/mediasdk/lib/mfx/libmfx_hevcd_hw64.so
-- Up-to-date: /opt/intel/mediasdk/lib/mfx/libmfx_hevcd_hw64.so
-- Installing: /opt/intel/mediasdk/lib/mfx/libmfx_vp8d_hw64.so
-- Installing: /opt/intel/mediasdk/lib/mfx/libmfx_vp9d_hw64.so

$ cd 

MediaSDK가 설치된 /opt/intel/mediasdk/libLD-PATH에 포함되어 있지 않으므로, 아래 명령으로 추가합니다.

$ sudo sh -c "echo /opt/intel/mediasdk/lib/ >> /etc/ld.so.conf.d/mediasdk.conf"
$ sudo ldconfig

참고로 ldconfig는 상당히 유용한데, lib를 새로 저장한 경우, 시스템이 인식하도록 새로고쳐주는 명령입니다. 이걸 하지 않고 빌드를 진행하면 올바르게 lib를 읽어들이지 못할 수 있습니다.

ffmpeg 빌드

이제 ffmpeg를 빌드합니다.

#libfdk-aac를 위해선 non-free 저장소를 추가해야 합니다...만 Ubuntu에서는 제대로 작동하지 않았는데 별 문제가 없었습니다.
$ sudo apt install software-properties-common
$ sudo apt-add-repository non-free

# 의존 패키지 설치
$ sudo apt update -qq && sudo apt -y install \
   autoconf \
   automake \
   build-essential \
   cmake \
   git-core \
   libass-dev \
   libfreetype6-dev \
   libgnutls28-dev \
   libsdl2-dev \
   libtool \
   libva-dev \
   libvdpau-dev \
   libvorbis-dev \
   libxcb1-dev \
   libxcb-shm0-dev \
   libxcb-xfixes0-dev \
   pkg-config \
   texinfo \
   wget \
   yasm \
   zlib1g-dev \
   nasm \
   libx264-dev \
   libx265-dev libnuma-dev \
   libvpx-dev \
   libfdk-aac-dev \
   libmp3lame-dev \
   libopus-dev \
   libaom-dev

# Ubuntu에서 $PKG_CONFIG_PATH가 기존에 공란이었기에, 기본값을 찾아서 추가해야 했습니다. /usr/local/lib/를 추가하여 문제를 해결했습니다. $ echo $PKG_CONFIG_PATH를 해서 값이 공란이라면 아래 내용을 추가해보세요.
$ export PKG_CONFIG_PATH=/usr/local/lib

# mediasdk의 lib와 include 위치를 표시하는 pkgconfig가 비표준 장소에 있으므로
# 이대로면 Configure 단계에서 위치 지정이 불가합니다. 환경 변수로 참조를 추가합니다.
$ export PKG_CONFIG_PATH=/opt/intel/mediasdk/lib/pkgconfig:$PKG_CONFIG_PATH

# ffmpeg 소스를 다운로드하여 빌드, 설치
$ cd 
$ wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
$ tar xjvf ffmpeg-snapshot.tar.bz2
$ cd ffmpeg
$ ./configure \
  --extra-libs="-lpthread -lm" \
  --enable-libmfx \
  --enable-gpl \
  --enable-gnutls \
  --enable-libaom \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree
$ make
$ sudo make install

이로써 ffmpeg의 설치가 완료되었습니다.

문제 해결

설치가 다 끝났는데, libx264.so.146과 같은 파일을 요구하며 아무것도 진행되지 않을 수 있습니다.

동작 테스트

설치한 ffmpeg의 확인

빌드한 libmfx를 참조하고 있는 것을 확인합니다.

또, 인코더, 디코더 일람을 표시하고 QSV 대응 코덱이 목록에 있는 것을 확인합니다.

# mediasdk를 참조하고 있는 것을 확인
[email protected]:~$ ldd /usr/local/bin/ffmpeg | grep /opt
        libmfx.so.1 => /opt/intel/mediasdk/lib/libmfx.so.1 (0x00007f44af339000)

# QSV를 사용한 디코더가 목록에 있는 것을 확인
$  ffmpeg -decoders|grep qsv
 V....D h264_qsv             H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
 V....D hevc_qsv             HEVC (Intel Quick Sync Video acceleration) (codec hevc)
 V....D mjpeg_qsv            MJPEG video (Intel Quick Sync Video acceleration) (codec mjpeg)
 V....D mpeg2_qsv            MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)
 V....D vc1_qsv              VC-1 video (Intel Quick Sync Video acceleration) (codec vc1)
 V....D vp8_qsv              VP8 video (Intel Quick Sync Video acceleration) (codec vp8)
 V....D vp9_qsv              VP9 video (Intel Quick Sync Video acceleration) (codec vp9)

# QSV를 사용한 인코더가 목록에 있는 것을 확인
$  ffmpeg -encoders|grep qsv
 V..... h264_qsv             H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
 V..... hevc_qsv             HEVC (Intel Quick Sync Video acceleration) (codec hevc)
 V..... mjpeg_qsv            MJPEG (Intel Quick Sync Video acceleration) (codec mjpeg)
 V..... mpeg2_qsv            MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)
 V..... vp9_qsv              VP9 video (Intel Quick Sync Video acceleration) (codec vp9)

살짝 인코딩을 해본 결과

자세한 내용은 아직

이 부분은 저도 직접 테스트를 해보고 첨부하도록 하겠습니다. 간략하게 EPGStation에서 테스트해본 결과 라이브가 아닌 파일은 실시간 전송이 가능할 정도였으며 배속도 CPU에 비해 상당히 빠르게 진행된 것을 체감할 수 있었습니다.

병렬 다수 파일 인코딩도 가능

시스템 부하를 확인

바깥 링크

원문 제공 링크

Build Media SDK on Ubuntu (Intel-Media-SDK)

https://github.com/Intel-Media-SDK/MediaSDK/wiki/Build-Media-SDK-on-Ubuntu

링크 본문에서 변경점 (=현 블로그의 글과 이 링크의 글이 더 유사합니다)

  1. LD_LIBRARY_PATH에 /usr/local/lib를 추가하는 순서가 포함되어 있습니다.
  2. LD_LIBRARY_PATH에 /opt/intel/mediasdk/lib/를 추가하는 순서가 포함되어 있습니다.

Compile FFmpeg for Ubuntu, Debian, or Mint

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

링크 본문에서 변경점

  1. 빌드 할 때 폴더를 더 단순하게 사용하고 있습니다.
  2. QSV 대응을 위해 --enable-libxmf 를 추가하였습니다.
  3. liboam은 소스에서 빌드하지 않고 패키지를 사용하였습니다.
  4. gnutls 패키지가 --pkg-config-flags="--static"를 지원하지 않으므로 --pkg-config-flags="--static"를 삭제합니다.

Hardware/QuickSync – FFmpeg

https://trac.ffmpeg.org/wiki/Hardware/QuickSync

설명과 동작 확인용 명령을 참조하였습니다.

이 글에서 참조한 링크

삼성 갤럭시 외산폰 LTE 밴드 설정 방법

기존 글의 A/S입니다

기존에 올렸던 글은 방법을 잘 몰라서 힘들게 퀄컴의 숨겨진 기능을 활용하여 제한을 해제하고 LTE 밴드 1을 사용하지 않게 하여 문제를 해결한 바가 있습니다.

국내 판매하는 갤럭시에서는 디버그 메뉴에 들어가서 손쉽게 LTE 밴드를 켜고 끌 수 있습니다. 그러나 해외에 판매하는 갤럭시에는 이 디버그 메뉴에 들어가는 코드가 알려지지 않아서 들어갈 수가 없었습니다.

해외용 갤럭시에서 디버그 메뉴에 들어가기

그 코드를 알 필요도 없이, 플레이 스토어에 올라와 있는 앱 하나만으로 해결할 수 있었습니다.

https://play.google.com/store/apps/details?id=com.ray.samsungbandselection

이 앱을 설치하셨으면 시작할 준비가 되셨습니다.

설정 방법

앱을 설치하셨으면 돈 내달라고 할텐데, 돈은 안 내도 우리의 목적은 달성할 수 있습니다. 실행하셔서 Launch Band Selection 버튼을 눌러줍니다.

시스템에 내장된 밴드 설정 창이 뜨면, 좌상단의 햄버거 메뉴 (가로로 된 세 개의 줄) 선택합니다.

체크박스는 기본적으로 모두 풀려 있을 것입니다. KT의 통신 불능 문제를 해결하기 위해 우리는 LTE Band 1을 쓰지 못하게 할 것입니다. LTE B3, B8만 골라서 KT가 서비스하는 나머지 밴드를 고릅니다. 그리고 WCDMA 3G 통신이 가능하게 WCDMA I 2100도 골라주시면 좋을 것 같습니다.

주의하실 점은 LTE B3 Preferred 같은 옵션을 선택해서는 안 된다는 것입니다. 이것은 여러 가지 밴드 설정을 고르는 동시에 통화에 B3을 고르는 것인데, 그 말은 즉 B1도 자동으로 선택이 되어버린다는 말입니다. 그러니까 선택하지 맙시다.

선택하셨으면 우상단의 Selection 스위치를 켜서 설정을 마무리 합니다. 뒤로 가기 버튼으로 나가시면 바로 적용됩니다. 비행기 모드를 켰다가 꺼보셔도 괜찮습니다.

문제 해결

통신이 잡히지 않아요!

비행기 모드, 재부팅이 도움이 될 것입니다. 모바일 네트워크 설정에서 통신 사업자 선택을 수동으로 해보시고요. 단순히 이 밴드 설정을 다시 하는 것만으로 다시 잘 될 수도 있습니다.

설마 지금 위치가 LTE Band 1만 들어오는 곳은 아니겠지요.

해외 로밍에 영향을 주지 않나요? 원상복구 방법은요?

해외 로밍이 필요할 때는 원상복구를 하고 싶으실 겁니다. 다시 밴드 설정 창으로 들어가셔서 Selection 옵션을 해제합니다. 그러면 Automatic, GSM, LTE 이 메뉴가 활성화됩니다.

Automatic을 눌러주시면 됩니다.

설정이 원래대로 멋대로 돌아간 거 같아요!

또는 손쉬운 원상복구 방법으로 모바일 네트워크 설정에 들어가서 통신 모드를 4G/3G/2G 고르는 메뉴가 있는데, 이걸 아무 값이나 설정하는 것입니다.

우리가 밴드 설정에서 고른 건 여기 메뉴에 뜨지 않는 숨겨진 설정값인데, 이 설정을 하는 순간 밴드 설정은 덮어씌워지고 여러 밴드를 적당히 골라 쓰는 단말의 초기값으로 돌아가게 됩니다.

그러니까 설정을 원상복구 하고 싶지 않으면 절대 이걸 건들지 않도록 합시다.

일본에서 제가 사용중인 용도

저는 라쿠텐 모바일을 일본에서 사용중인데, 밴드 3만을 유일하게 지원하고 있습니다. 기지국이 없어도 통화권 이탈이 발생하지 않는데, KDDI au라는 다른 통신사 망을 빌려서 대응하고 있기 때문입니다.

하지만 이 경우 데이터 무제한이 적용되지 않습니다. 신호가 미약한 곳에서 멋대로 파트너 망을 잡아서 제 데이터 용량을 갉아먹는데, 갤럭시라면 밴드 18을 제외하고 밴드 3만 쓰게 만들어서 이런 경우를 방지할 수 있습니다.

하지만 통화권 이탈이 잦아서 참을성을 시험당하는 기분이 드네요.

부디 한국에서 KT를 사용중인 분들은 이 팁으로 고통에서 벗어나셨으면 좋겠습니다.

일본에서도 익숙해진 현금 없는(cashless) 생활

환전 하셨습니까?

예전에 일본에 여행을 갈 때는 항상 환전을 넉넉하게 했던 기억이 있습니다. 1만엔이 그냥 만원 같이 생겼는데 이게 십만원 짜리라니, 처음에 손으로 느껴지지 않는 암묵적인 무게감에 놀랬던 경험이 있습니다. 소액권과 고액권 고루고루 서울역 환전 센터에서 맞춰서 환전한 다음에 봉투에 조심스럽게 담아서 가져왔지요.

일본 생활을 시작했을 무렵, 몇 번의 일본 여행을 통해 경험한 바로도 그 필요성은 여전했습니다. 신용카드는 받는 곳도 있었지만 들어올 때 대문에 신용카드 브랜드 표시가 없는 가게는 거의 백발백중 신용카드 사용 불가였습니다. 이 공식은 사실 지금도 유효하고요.

일본의 신용카드 사용 등 비현금 결제 비율은 2016년 기준 19.8%로, 동시기 96.4%를 기록한 한국에 비하면 무척 낮았으니 이는 사실에 가까운 것 같습니다.1

캐시리스 결제로의 급격한 변화

LINE Pay Screenshot
LINE Pay 사용 화면

이 시국에 자발적으로 왕래가 줄은 와중에, 코로나까지 겹치면서 일본에 자의로 한국에서 들어올 수 없게 되면서 일본의 현상황을 접하는 것은 소식통을 거쳐서 전해듣는 게 전부가 되어버렸습니다.

자연스럽게 정보는 업데이트되지 않았고, 일본에 와본 과거의 경험을 가진 사람들이 일본의 옛 모습만 보고 있는 것 같습니다.

실제로 왜 그간 신용카드 가맹점에 가입하지 않았냐는 이유에 높은 수수료와 결제 단말기 부담이 이유로 꼽혔습니다.2 3 원래부터 이렇게 비싸게 받아버렸으니 애플페이의 수수료가 다를 바가 없어서 큰 부담 없이 도입이 된 모양이지만요.

하지만 일본도 몇 가지 계기로 인해 크게 변화하고 있는 것 같습니다. 이제는 현금 지상주의라는 말도 점점 옛말이 되어 가는 듯 합니다. 그 이유를 꼽아보면 다음과 같은 이벤트가 떠오릅니다.

2018년 혹은 이전, 인터넷 쇼핑과 충전 카드 사용

2000년대부터의 현금 없는 결제는 충전식 카드가 주류입니다. 유통 업계 카드는 에디(edy), 나나코(nanaco), 와온(waon)이 대표적입니다. 교통카드는 Suica, Pasmo인 건 여행 간 사람이면 다 알고 있지요. 이런 터치하는 카드로 교통카드처럼 편의점에서 물건을 사는 것은 꽤 오래된 일입니다.

차이가 있다면 이런 가게가 지속적으로 확장중이었다는 것입니다. IC카드까지 지원하게 되면서 상단의 터치부에는 이런 충전식 카드, 하단에는 PIN 코드 입력기와 IC 카드 삽입부를 가진 복합 기기가 흔해지게 됩니다.

그 외에 라쿠텐 쇼핑몰에 예치금을 넣어두는 것도 무현금 결제로 집계가 되었던 모양입니다.

2019년, 손정의의 페이페이, 공격적인 캠페인과 마케팅

핀테크의 활발한 보급의 신호탄은 페이페이가 쏘아올렸습니다. 랜덤한 확률로 랜덤한 금액으로 발생하는 캐시백은 한도가 없었다고 합니다. 이 파격적인 이벤트 덕분에 일본인은 물론 체류하던 한국인들도 당첨을 인증하는 유행이 있었습니다. 전자제품 양판점에서 페이페이로 결제하고 100% 캐시백을 받았다는 사람까지 있었으니 그야말로 꿈이 가득했지요.

이 이벤트 이후에도 퍼센트는 줄었지만 꾸준히 결제 후 돌려받는 것 같은 적립 연출이 이어지고 있습니다. 초창기에 비해 환원율은 줄었지만 쓸 수록 이득이라고 직관적으로 어필한 이 방식은 일본인들의 마음을 크게 움직인 것 같습니다.

이걸로 당첨되어서 공짜에 가깝게 구매했다는 인증이 온라인에 이어지니 동참하지 않으면 손해보는 것 같은 분위기가 일본에 팽배했습니다.

소프트뱅크 또는 Y 모바일 가입자, 야후 재팬 가입자 특전도 3천엔씩 제공하여 그야말로 아낌없이 주는 대기업의 핀테크 데뷔전이었습니다. 한동안 핀테크로 적자를 천문학적으로 보았다는 소문이 있었는데, 그 덕분에 일본에서 지배적인 점유율을 얻게 되었으니 모든 것은 손 사장의 계획대로였던 겁니다.

2019년 10월, 소비세 인상에 따른 본격적 손해 실감

8%로 비교적 오래 유지되던 일본의 소비세가 10%로 오르게 되었습니다. 한국의 부가가치세는 진작에 10%지만, 일본은 세금 포함 표시가 아닌 경우가 많아서 더 억울하게 느껴집니다. 그리고 대부분의 경우 최종 금액이 한국보다 그리 저렴하지 않은 것도 큽니다. (한국이 일본의 물가를 따라잡거나 앞서게 된 것에 가깝지만요)

다만, 식료품은 8%로 유지하게 되었습니다. 마트에서 일용품과 주류만 아니면 대체로 8%를 유지하게 됩니다. 여담이지만 이 시기 9월에 라쿠텐 쇼핑몰은 역대 최고의 매상을 올립니다. (다음달에 사면 손해라고 사람들이 미친듯이 구매)

한편, 핀테크가 여기서 빛을 발하게 되는데, 정부 차원에서 소비 침체 억제를 위해 2%를 소비자에게 2020년 6월까지 환원해주기로 한 겁니다. 조건이 있는데, 현금 없는 결제만 각각의 결제 수단에 지정된 포인트로서 환원하는 것입니다. 신용카드 결제도 포함됩니다.

현금을 내는 게 손해라는 사실이 퍼지면서 현금을 내는 사람이 눈에 띄게 줄어드는 것을 확인할 수 있었습니다. 나이가 젊은 사람들은 페이를 한 번도 안 써본 사람은 있어도, 한 번만 쓴 사람은 없다 싶을 정도로 보편화된 시기에 접어들었다는 것을, 직장 동료의 변화를 통해 실감할 수 있었습니다. 너무 편하다고 알려줘서 고맙다고 저한테 말하더군요.

한국에선 별종 취급 받지만, 일본인 중에는 데빗카드도 신용카드도 없는 사람들도 있습니다. 이런 사람들에게 은행 계좌 충전 및 결제가 편리한 페이 서비스는 현금을 안 쓰는 유일한 돌파구가 됩니다.

(추가: 그리고 다가오는 9월부터 마이나포인트라고 마이넘버카드 인증을 한 사람들에게 상한 5000엔으로 결제 금액 일부를 환원(?)한다고 아래 다양한 페이나 충전카드, 신용카드 골라서 하나 연동해놓으면 정부에서 포인트를 퍼주겠답니다. 돈 없는 거 아니었나요 일본 정부…??)

2020년, 코로나 바이러스 전파의 매개체가 될지 모르는 현금

코로나 시국이 이어지면서 가게도 현금을 반기지 않게 된 분위기입니다. 카운터마다 비닐과 플라스틱 벽이 둘러지면서 카운터 직원과 손님을 분리하는게 상식으로 자리잡게 된 뉴 노멀의 시대인데요. 현금 트레이와 PIN 코드 입력기만 올려져 있을 뿐입니다.

현금을 보는 가게 주인의 표정이 변했습니다. 현금은 믿을 수 없는 상대의 손을 거쳐온 물건입니다. 하지만 휴대폰 화면을 보여주면 안전하게 바코드 스캐너만 들이대면 됩니다.

손님 사이 거리를 두기 위해 줄이 길어져서 스트레스인 가게 주인 입장에서도 돈 계산 없이 더 속도가 빠른 QR 결제가 반가울 법합니다. 현금 고객이 이전만큼 반갑지 않은 새로운 시대가 열렸다는 것을 체감하고 있습니다.

어떤 페이 업체를 쓸 것인가

다양한 핀테크 업체들

애초에 이용하려는 상점이 해당 페이 가맹점이어야 가능한 이야기입니다만, 복수 대응 가능한 가게가 늘어나면서 뭘 가입해야 하나 고객도 고민을 하게 되었습니다. 기본적으로 QR 코드를 활용한 결제이고, 인터넷 접속이 필요하다는 점에서 공통점이 있습니다.

페이페이 (ペイペイ)

통상 0.5% 적립, 추가 0.5%(전월 100엔 이상 50건 결제), 추가 0.5%(전월 10만엔 이상 결제), 추가 1%(앞 두 조건 모두 해당시), 추가 적립 상한 회당 7500엔, 적립 상한 월간 1만5천엔

투자의 귀재(?) 손정의 사장으로 유명한 소프트뱅크에서 만든 페이 서비스입니다. 등장부터 강력한 캐시백 당첨 시스템으로 환급을 받을까 말까 두근두근거리는 마음으로 가입한 사람들이 많았는데, 이게 유명해지면서 일본에서 가장 높은 점유율을 갖게 되었습니다.

장점

  • 가맹점이 제일 많습니다.
  • 소매점을 집중 공략하여 현금 아니면 페이페이로만 가능한 가게가 많습니다. 가게 주인에게 수수료도 향후 재공지까지 무료이고, 전용 복합 단말기도 제공합니다.
  • 소액이지만 결제 직후 얼마 적립되었다고 바로 뜨는게 좋습니다.
  • 결제 완료 효과음이 있고 가게 사람도 자주 봐서 헤매지 않고 대응합니다.
  • 신용카드 연결이 가능하여 후불 결제가 가능합니다.
  • 잔액 충전시 편의점 ATM에서 현금으로 충전 등 편의 서비스가 있습니다.
  • 공과금 지불 서비스를 지원합니다. 지원하는 지자체나 전기/가스 회사가 라인 페이와 동일하지 않아서 유의가 필요합니다.

단점

  • 열심히 퍼준 반대급부인지 돌아오는 캐시백이 많이 줄었습니다. 매번 다른 캠페인 브랜드에 가서 혜택을 주워먹어야 합니다.
  • 일부 가맹점은 QR를 스캔하여 내가 금액을 입력하여 가게 주인한테 보여주고 “이 금액 맞지요?” 하면서 확인하며 진행을 눌러야 해서 결제에 시간이 걸리는 편입니다.4
  • 신용카드 연결시 마스터카드, 비자카드만 지원되고 JCB가 지원되지 않습니다. 데빗카드 지원하지 않습니다.
  • 잔액 충전 가능한 은행이 제한됩니다. 인터넷 계열 은행은 안 됩니다. 한국인이 송금 목적으로 활용하는 신한은행 자회사인 SBJ은행, 라쿠텐은행, 신세이은행 전부 안 됩니다.
  • 타 페이와 다르게 API 지원이 빈약하여 MoneyForward 같은 연동형 자동 가계부 사용이 어렵습니다.

라인페이 (ラインペイ)

라인페이 비자 신용카드를 연동한 경우 0.5 ~ 3% 등급에 따른 차등 적립 (최근 6개월 이용액 기준 등급 산정)

라인페이는 일본에서 가장 널리 쓰이는 SNS 메신저 라인만 있으면 쓸 수 있는 서비스라 인지도는 최강입니다. 초창기에 결제 금액의 2% 적립으로 혜자 서비스로 알려져서 사용하는 사람들이 많았습니다. 한국인은 라인페이 직불카드가 무기명으로 활용하기 좋은 선불카드라 꼭 이용해보게 됩니다.

장점

  • 네이버 페이랑 연계 가능하도록 업데이트되었습니다. 이제, 한국의 관광객이 네이버 페이로 라인페이 가맹점에서 한국 잔액으로 코드 결제가 가능합니다. 한국인 입장에서 유일하게 써볼 법한 서비스가 되었네요.
  • …였으나 2019년 말 주요 편의점, 드럭스토어에서 가맹점 요청으로 네이버 페이 연동이 풀려버렸습니다. 거의 관광객이 갈만한 곳이 모두 노재팬 시기 즈음해서 풀리게 되면서 한국인이 쓸 일이 없어지다시피 했습니다.
  • 라인의 기본 기능이라 별도 설치가 불필요하고, 라인페이 앱을 써도 됩니다. 결제에 최적화되고 군더더기가 없는 깔끔한 UI가 강점입니다.
  • 가맹점이 가장 많지는 않지만 알려진 곳은 대체로 라인페이가 대응됩니다.
  • 페이가 되는 곳은 라인페이로, 신용카드만 되는 곳은 데빗카드를 사용하면 됩니다. 잔액을 공유합니다. 다만 데빗카드는 IC카드가 아니므로 꽂을 수 없는 긁는 카드라고 말해야 합니다.5
  • 웹에서 라인페이 결제가 가능합니다. 라인 스티커 구입도 앱에서는 구글 플레이나 애플 앱스토어 충전금을 쓰지만, 브라우저 웹에서 사면 라인페이 결제로 이동됩니다. 가끔 이걸 장려하는 캠페인도 합니다.
  • 스타벅스, T 포인트 같은 타사 카드와 연계가 가능하고 잔액을 충전하는데 라인페이 잔액을 사용할 수 있고, 라인페이 앱만으로 결제가 가능합니다. 즉, 스타벅스에서 스타벅스 카드를 발급받지 않고 스타벅스 라인 카드를 가상으로 발급 받아, 라인페이 앱에서 충전하고 결제하고, 한정 디자인을 화면에 띄울 수 있습니다!
  • 잔액 충전시 상당히 많은 은행이 대응됩니다.
    Line Pay bill
  • 아마도 유일하게 폭넓은 지자체와 서비스 회사에 공과금 지불이 가능합니다. 도쿄 수도권이라면 도쿄전력 전기요금, 도쿄가스 가스요금, 대부분의 지자체 수도요금까지 라인페이로 지불할 수 있습니다. 주의할 점은 바코드 스캔시 중복 체크가 없으니 꼭 결제 후 고지서를 버리거나 표시를 해둬야 한다는 점입니다.
  • 라인을 쓰는 사람끼리 송금이 편리합니다. 결제도 한 명이 라인페이나 직불카드로 하고, n분의 1 결제처럼 분담하면 좋습니다.
  • 라인 대화창에 결제 히스토리가 남습니다.

단점

  • 잔액 충전식으로만 쓸 수 있습니다. 신용카드 등록은 안 됩니다. 충전해야만 쓸 수 있는 게 원칙이라 불편합니다.
  • …였는데 라인페이 신용카드가 등장하여 연결이 가능해졌습니다. 하지만 라인페이만을 위해서 신용카드를 추가 발급받아야 한다는 점은 불편합니다.
  • 고객 등급제를 갖고 있어서 차등 적립제를 갖고 있었는데, 코드 결제까지 모두 0%로 너프당하고 무조건 라인 페이 비자카드를 연동해야만 적립 가능합니다. 한시적 이벤트로 3%를 적립시켜주고 있긴 합니다.

메루페이 (メルペイ)

통상적립액 없음

중고판매 플랫폼 일본내 1위는 메루카리입니다. 앱으로 중고거래 전과정을 마칠 수 있고, 한국과 다르게 익명 택배가 발달하여 직접 대면할 필요가 없어 편리합니다. 기존에는 이 매상금을 예치금으로 처리하여 법적 제한 탓에 일정 기간만 보유하고 은행 계좌로 수수료를 지불하고 인출해야 했습니다. 하지만 메루카리가 페이에 진출하면서, 이 예치금 시스템이 잔액으로 변경되었습니다. 충전할 수도 있고 그대로 가게에서 쓸 수도 있고, 잔액을 써서 중고 제품을 구입하고, 판매하여 잔액을 늘릴 수도 있습니다. 무엇보다 예전과 다르게 예치금의 유효기간이 사라지게 되었습니다.

장점

  • 접촉식 결제 방식인 iD 지원 덕분에 메루페이 가맹점이 아니어도 애플페이가 되는 곳을 연계하여 쓸 수 있는 곳이 폭넓습니다.
  • 중고거래의 매상금을 그대로 손실 없이 가게에서 쓸 수 있습니다. 중고품 판매를 활발히 하는 사람은 충전을 안 하고도 지불할 수 있는 장점이 있습니다.
  • 캠페인을 꽤 활발하게 합니다. 쿠폰이나 이벤트를 잘 챙기면 꽤 이득을 볼 수 있습니다.

단점

  • 코드 결제 가맹점이 적습니다. 하지만 상기 장점에 적은대로 터치 결제로 극복이 가능합니다.
  • 터치하는 결제도 가능하다고 했으나, 물론 일본 내수 전용인 오사이후케타이 대응폰 또는 아이폰을 사야만 가능한 이야기입니다.
  • 신용카드 연계가 안 되고 충전해야만 결제가 되는 잔액 기반 서비스입니다. 다만, 자체적으로 후불 시스템을 도입하여서 나중에 인출되게 만들 수 있습니다.

라쿠텐페이 (R pay)

1 ~ 1.5% 적립 (라쿠텐카드로부터 캐시 충전후 결제 금액은 1.5%, 포인트나 캐시 결제액은 1%, 신용카드 직결제액은 라쿠텐 카드는 1%)

인터넷 쇼핑몰 라쿠텐과 연계가 되는 QR 결제 시스템입니다. 라쿠텐 생태계가 그렇듯이 SPU 혜택을 줘서 쇼핑몰 이용시 가입자란 이유로 포인트 추가 혜택을 받을 수 있고, 라쿠텐 포인트의 활용처로 활발하게 이용도 가능합니다. 라쿠텐카드 연결시 카드 포인트 적립과 동시에 페이 포인트 적립을 활용할 수 있습니다.

장점

  • 라쿠텐 서비스 다른 것도 이용한다면 같이 이용해서 포인트 이득을 더 높일 수 있습니다.
  • 인터넷 라쿠텐 쇼핑몰에서만 주로 사용하던 포인트를 일반 결제에서 적극적으로 활용할 수 있습니다.
  • 신용카드 등록이 가능합니다.
  • 결제 옵션에서 포인트, 캐시를 얼마나 쓸지 사전에 설정해둘 수 있습니다. 우선 결제 설정에 따라 결제한 다음에 나머지만 카드에서 지불하는 방식입니다.
  • 라쿠텐 포인트 적립이 가능한 가맹점에서는 한 앱에서 적립 후 지불 모두 가능하게 구성되어 있습니다. (두 번 스캔이 필요)
  • 라쿠텐 캐시를 휴대폰 번호를 통한 가입자간 송금 수금 플랫폼으로 활용 가능합니다. 수수료 없이 잔액 이전이 수월합니다.

단점

  • 역시나 JCB가 소외된 신용카드 연계 서비스를 보여줍니다. 자사 신용카드 중에는 JCB 카드도 있는데 어쩌나 싶지만, 라쿠텐 카드는 종류 불문 된다고 하니 별 문제는 없을 겁니다.
  • 대기업이 운영하는데 가맹점 현황이 처참합니다. 후발 주자인데 더 위기감을 가져야 하는 것 아닌지…?

애플페이 (アップルペイ) / 구글페이 (グーグルペイ)

애플페이와 구글페이는 QR 결제가 아닙니다. 애플페이는 모든 아이폰 7 이후 아이폰, 구글페이는 일본 내에서 출시되어 오사이후케타이라고 불리는 종류에 한해 대응이 됩니다. 휴대폰을 터치하여 사용하는데, iD나 QuicPay라는 일본의 기존 터치식 신용카드 결제 방식을 그대로 집어넣어서 신용카드의 터치 결제가 가능한 곳이 그대로 가맹점이 된다는 장점이 있습니다.

장점

  • 가장 안전한, 기기 제조사가 지원하는 결제 방식입니다.
  • 폭넓은 신용카드와 연동이 됩니다. 각각 애플 앱스토어, 구글 플레이스토어 등록이 되는 카드가 바로 이용 가능한 카드입니다.
  • 애플페이의 경우, 지원하는 국가에 가면 해외 결제도 가능합니다. 한국에 와서도 EMV 방식은 해외 애플페이 등록 상태에서 이용이 가능한 것으로 알려져 있습니다. 해외 결제 수수료는 본인의 부담이지만요.

단점

  • 구글의 경우 하드웨어의 한계로 이용 가능한 기기가 한정됩니다. 해외폰은 기본적으로 불가하고, 일본 내수에서도 한정된 기기만 가능합니다.
  • 별다른 캠페인이나 쿠폰이 없습니다.

그 외

  • d바라이 (d払い): 도코모 휴대폰 요금과 통합 청구도 가능하고, 신용카드 등록도 가능합니다. 가입자가 많은만큼 독자적인 캠페인이 풍성하여 메루카리, 아마존 기간한정 혜택도 있습니다.
  • au pay: au 이외의 사용자도 이용 가능합니다. Ponta 포인트랑 연계가 되어 포인트 활용도가 좋은 것으로 알려져 있습니다.
  • 파미페이 (ファミペイ): 편의점 패밀리마트에서만 사용 가능합니다. 충전도 점포나 파미마T카드(신용카드)로만 가능합니다. 전용 캠페인이 많으므로 이 편의점 이용이 빈번한 사람만 유용할 듯 합니다.
  • 유초페이 (ゆうちょペイ): 우체국 계열인 유초은행 계좌만을 결제 수단으로 지정 가능합니다. 가맹점은 처참하지만, 역내 발매기에서 출금할 수 있고, 미성년자 가입이 가능한 점 등 사용이 편리한 점으로 광고하고 있습니다만, 출발도 늦었고 일반인에게 메리트는 적습니다.
  • 오리가미페이 (Origami pay): 일본 최초의 QR 결제 서비스였으나, 2020년 2월에 메루카리의 자회사가 되면서 4월 29일 부로 코드 결제 서비스를 종료, 6월 30일에는 모든 서비스가 종료되었습니다.

여담

여담①: 중국의 돈이 필요해

알리페이는 핀테크가 성장하기 전부터 일본에 진출해있었다

페이가 보급되지 않았던 시기에도, 카드 가맹점이 아닌 곳에서 알리페이, 위챗페이 스티커가 붙어있는 가맹점이 많았습니다. 내국인은 현금 지불에 저항이 없으니 현금만 받겠지만, 중국인은 위조지폐 의심 문제로 페이를 더 많이 쓰니까 이들의 지갑을 열기 위해선 페이가 필수적이었던 모양입니다.

무엇보다 별도의 단말기가 필요하지 않고 상점 주인의 스마트폰 앱이나 QR 패널만으로 결제가 가능하니까 도입 비용도 없다시피 하니 저항이 적습니다.

개인적으로 관광지 위주로 돌아봐서 그런지 모르겠지만, 페이페이를 도입한 소상공인 가게도 알리페이로 일찌감치 QR 결제의 맛을 본 분들이 많았던 모양입니다. 그래서 QR 결제에 비용 부담이 줄어들자 뛰어든 사람이 적지 않았을 겁니다.

여담②: 세븐 페이 잔액 탈취 사건 by 7-11

Nanaco charger broken
고장나버린 nanaco 카드 충전기

2019년 7월 1일 세븐페이가 서비스를 시작했습니다. 시작부터 다소 개그였던 것이, 원래 있던 나나코 충전 카드의 포인트 적립률을 1%에서 0.5%로 삭감하고는, 세븐페이 이용시 포인트 적립률이 2배라고 광고를 때린 겁니다. 이게 거짓말은 아닌데 사기당한 느낌이네 싶어서 애초에 이용할 마음이 사라졌던 게 사실입니다. 천만다행인 일이죠.

그런데 출시 직후 해커들이 타인의 계정에 접속하여 충전금을 탈취하는 사건이 벌어집니다. 생년월일이 입력되지 않은 경우의 기본값을 이용하여 본인확인을 이용하여 비밀번호를 재설정하는 방법으로 계정을 도둑질해버린 겁니다. 2단계 인증도 없어서 다른 서비스에 비해 압도적으로 취약했던 것이 원인으로 지목됩니다. 한편, 핵심 범인이 검거되지 않은채로 전자담배를 사재기 하던 외국인만 검거되었습니다.

4일만에 서비스가 완전히 정지되었고, 동년 9월 30일을 기해 세븐페이는 문을 닫았습니다. 이후 2020년 2월까지 피해 사례를 접수받아 전원의 잔액을 순차적으로 환불하였습니다.

준비되지 않은 서비스가 돈을 다루면 이렇게나 위험하다는 것을 알려줍니다.

신용카드에 만족합니까?

삼성페이조차 신용카드 가맹점에 탑승하기 위해 루프페이 기술을 이용하여 신용카드의 자기장을 흉내내는 한국의 상황을 생각하면, 오히려 신용카드의 압도적 보급률이 부담스럽습니다. 새로운 결제 방식으로 넘어가기 어렵기 때문입니다.

IC 카드로 전환이 이뤄지면서도 NFC 결제 방식은 필수가 아니었기 때문에, 여전히 폰을 카드 긁는 곳에 들이대는 것이 상식처럼 자리잡아 있습니다.

QR 코드 결제의 1-2년 사이의 폭발적인 일본내 보급을 실제로 느끼면서 한국의 변화도 기대하게 되는 건 어쩔 수 없는 것 같습니다. 애플 페이를 여전히 쓸 수 없는 주요한 이유 중 하나가 결제 단말기의 보급, 그리고 수수료 문제에 있다고 하니까, 경색되어 있는 건 한국의 결제 시스템이 아닌가 다시 한 번 생각해보게 됩니다.

페이의 춘추전국시대가 열어준 할인 경쟁과 같은 신선한 변화가 한국에도 비슷하게 다가올 날이 오길 기대해봅니다.

러브라이브의 성지 누마즈를 찾아서 (1)

2018년 10월 7일

계기

사실 러브라이브 덕후도 아니고 리듬 게임 몇 번 하고 애니메이션은 정주행조차 하지 않았습니다.

더군다나 러브라이브 μ’s(뮤즈)도 아니고 러브라이브 썬샤인 Aqours를 제가 알 리가 전혀 없었습니다.

그저 같은 센터 출신으로 일본에 취업하게 된 동기 형을 만나러 가자니 생각보다 교통비가 만만치 않아서 억울했던 것이 계기였습니다.

도카이도 본선을 타고 수도권에서 100km는 족히 가야하는 머나먼 지자체, 시즈오카현은 아무리 가나가와현 깊숙히 자리잡아서 도쿄에서 한참 서쪽으로 앞서 있다고 해도 극복이 되지 않습니다.

아니, 사실 극복은 전철이 하는데 제가 교통비를 극복하기가 부담스러웠을 뿐입니다. 그리고 시간도 만만치 않고요.

정신이 아득해지는 거리와 금액, 소요 시간

하지만 도중에 있는 역 하나가 눈에 들어오게 됩니다.

딱 정중앙 즈음에 좋은 관광지가 있는 것을 발견한 것입니다.

그저 우연히 중간 지점이었을 뿐입니다

누마즈(沼津)역은 러브라이브 선샤인! 무대로 유명한데, 제가 아는 건 딱 이 정도에 불과해서 캐릭터 이름 조차 제대로 알지 못하는 상태였습니다.

하지만 이 제안으로 의기투합한 이 멤버는 처음에 단순히 남들이 성지순례한 루트를 따라가자는 다소 안일한 마음으로 여행길에 나섰습니다.

애니메이션을 보지도 않았는데 이걸 어쩌나 실제로 불안이 밀려왔는데, 거꾸로 생각하면 실제로 본 다음에 애니메이션을 정주행하는 즐거움도 무시할 수 없기에 그냥 감안하기로 했습니다.

오다큐 전철은 사철인데도 쌉니다. 앱으로 검색된 최저 요금은 분명 저에게 사가미오노(相模大野)역까지 되돌아가서 오다와라(小田原)역까지 이동하라고 제시했습니다.

그게 가장 경제적인 건 잘 알지만, 아무래도 루트가 더 마음에 드는 곳이 있었습니다. 바다를 끼고 달리는 절경을 보고 싶었던 것이죠.

그래서 JR 도카이도 본선을 먼저 타기 위해 후지사와(藤沢)역으로 이동하였습니다.

후지사와역

일요일 화창한 날의 오전에 지방을 향해 신칸센을 타지 않고 보통 열차에 올라타는 사람들은 나름 적지 않았습니다.

열차 가운데 유료 좌석칸인 그린샤를 이용하는 사치는 저에게 너무 일렀기 때문에, 그냥 적당한 자리에 앉았습니다.

전동차의 넘버까지 외우고 다니는 철덕이 아닌 단순한 철린이인지라, 칸마다 좌석이 롱시트와 크로스시트가 섞여있는 점, 화장실을 달고 다니는 점이 신기하게 느껴졌습니다.

대한민국에 광역전철로 화장실을 달고 다니는 열차는 없지요. 공항철도 직통열차 정도고, 장거리 간선열차가 철저히 분리된 탓에 운임 카테고리가 다릅니다.

일본은 JR 도심 전철이나 근교 전철이나 거리 비용은 통합 운임을 받고 있지요. 개찰구 통과 없이 도시간 이동이 가능한 것입니다.

처음으로 수도권을 벗어나는 경험은 진짜 여행이라는 실감이 나게 하더군요.

도카이도 본선
도카이도 본선 열차, 아타미(熱海)행
네부카와(根府川)역 근처의 태평양 풍경

이 포스트에서 이동 거리

후지사와(藤沢)역 – 아타미(熱海)역

계속

열차는 JR 동일본 구간의 끝을 향해 달려갑니다. 이어지는 내용은 다음 포스트에서 만나보세요.

Electron + React + TypeScript 시작하기

electron이란

JavaScript, HTML, CSS를 이용하여 크로스 플랫폼 데스크탑 앱을 만들어보세요

Electron이란, 맥, 윈도우, 리눅스와 호환되는 소프트웨어 프레임워크입니다. 수많은 크로스 플랫폼 프레임워크가 세상에 존재하지만, 스마트폰 같은 모바일이 아닌 PC 데스크톱 환경을 지원하는 경우는 선택지가 생각보다 많지가 않습니다. 리눅스, 맥, 윈도우를 가리지 않고 폭넓게 쓰이는 Visual Studio Code(이하 VSCode)가 바로 이 Electron을 활용하여 크로스 플랫폼을 구현한 것으로 알려지고 있습니다.

이제 웹 지식을 활용하여, 데스크톱에서도 하나의 코드로 복수 플랫폼에서 작동하는 프로그램을 직접 개발할 수 있도록 첫 발걸음을 내딛어볼까 합니다.

기초 설정

brew 설정

brew는 맥에서 사용하기 가장 편한 홈브류 패키지 관리자입니다. 리눅스에서 쓰이는 다양한 프로그램을 맥에서도 원격 저장소에서 받아서 바로 설치할 수 있게 해줍니다.

https://brew.sh/index_ko 에 접속하면 즉시 설치할 수 있는 링크가 제공됩니다.

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

설치가 되면 바로 노드를 설치합니다. node 설치는 버전 관리에 상당히 번거로운 부분이 있는데, 오래된 소스 코드를 볼 일이 없는 저는 그냥 빠르게 패키지 관리자부터 설치하여 노드를 동시에 설정하고자 합니다.

yarn 설치

yarn은 brew에 공식적으로 패키지가 업로드되어 있으므로 MacOS 사용자에게 가장 편리한 설치 옵션입니다. 아래 명령으로 간단하게 설치가 가능합니다.

$ brew install yarn

아무 것도 준비되지 않아도 node가 자동으로 설치됩니다. nvm 같은 다른 버전 관리자를 통해 node를 이미 설치한 바 있는 분들은, 환경 변수 경로 $PATH에 node가 있는 폴더가 들어있어서, 아무 터미널에서나 node 명령이 먹는지 미리 확인해보시기 바랍니다.

node가 이미 설치되어 있고 npm으로 관리하는 분들은 npm 패키지의 yarn을 쓰는 것도 방법입니다. 어떻게 설치하는지는 상관 없습니다. 다만, 추후 업데이트를 고려해서 본인이 어떻게 설치했는지 기억을 미리해두시기 바랍니다.

엉뚱한 패키지 관리자에서 업데이트를 하면 당연히 yarn이 업데이트 되지 않을 것이기 때문입니다.

$ npm install -g yarn

템플릿에서 시작하기

우리는 Electron + React + TypeScript 조합으로 기본 뼈대를 만들어보도록 하겠습니다. 왜 공식적인 방법을 제치고 이런 방식으로 만드냐면…

  • React 지식을 활용하면 다른 프레임워크에 대한 지식이 있을 경우 접근이 편리하고, 없더라도 다른 프레임워크의 접근 장벽을 낮출 수 있습니다.
  • 기본값으로 JavaScript를 사용하는데, TypeScript의 타입에 엄격한 방식, eslint를 통한 코드 정리 일관성, 오류 판정 등의 유용한 기능을 쓰기 어렵습니다. 초보자는 끊임없이 실수를 바로잡아줄 선생님이 필요하죠.
  • 물론 숙련자라고 해도, 모든 파일의 오류를 검출하기 어렵기 때문에 TypeScript가 월등히 편리하게 느끼실 분이 많을 거라 생각합니다.

본격적으로 준비가 되었으니 npx를 써서 React 앱 초기화를 하겠습니다.

프로젝트 초기화

electron과 electron-is-dev, concurrently, wait-on 패키지에 대한 의존성을 등록하겠습니다. 의존성을 등록하면 프로젝트에서 이 라이브러리를 사용하게 되고, 기능을 활용할 수 있게 됩니다.

-D는 dev라는 뜻인데, 이 의존성은 개발시에만 활용하게 되고, 배포시에 포함되지 않는다는 소리입니다.

$ yarn add -D electron electron-is-dev concurrently wait-on

파일 electron.js를 public 폴더에 생성하여 다음과 같이 저장합니다. 참고로 편집기는 VSCode가 공짜 중에 가장 편리한 것 같습니다.

const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow

const path = require('path')
const isDev = require('electron-is-dev')
let mainWindow

function createWindow () {
  mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    resizable: false,
    webPreferences: {
      nodeIntegration: true
    }
  })
  mainWindow.loadURL(
    isDev ? 'http://localhost:3000' : `file://${path.join(__dirname, '../build/index.html')}`
  )
  if (isDev) {
    // Open the DevTools.
    // BrowserWindow.addDevToolsExtension('<location to your react chrome extension>');
    mainWindow.webContents.openDevTools()
  }
  mainWindow.on('closed', () => (mainWindow = null))
}

app.on('ready', createWindow)

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  if (mainWindow === null) {
    createWindow()
  }
})

package.json을 편집합니다. 다른 건 그대로 두고, 값이 있는 부분만 수정해 둡시다.

{
 .
 .
 "homepage":"./",
 "main":"public/electron.js",
 .
 .
 "scripts":{
  .
  .
  "dev": "concurrently \"BROWSER=none yarn start\" \"wait-on http://localhost:3000 && electron .\""
 }
}

앱 기동

앱을 기동하려면 이렇게 하면 됩니다.

$ yarn dev

다음 단계

Electron의 라이프사이클에 대해 배우고, 실제로 폼을 만들어보도록 하겠습니다.

Sagami railway

의사소통이 빚어낸 문제, 사가미철도와 JR 직통선 운임 문제

게이트를 통과하는 것과 아무런 상관이 없는 운임 징수

Gate

지하철의 개념은 탑승하는 것에서 시작하고 하차하는 것으로 마무리 됩니다. 일일히 운임을 지불하지 않아도 카드를 찍고 타고 찍고 내리는 것은 웬만한 수도권 통근망을 가진 나라의 공통적인 상식이 되어 가는 듯 합니다.

한국의 수도권 철도망 또한 노선이 매우 복잡해지고 있다지만, 도쿄의 노선망에 비할 정도는 아직 아닌 것 같습니다. 특히 운임 지불 문제에선 환승게이트의 도입으로 난이도가 올라가긴 했지만, 이 또한 도쿄에 비하면 참 쉬운 시스템입니다.

왜냐하면, 일본의 많은 상호 직통 시스템은 게이트를 통과하지 않았는데도 추가 운임을 징수하기 때문입니다. 승차 후 환승 게이트 없이 하차하면서 자연스럽게 동선 계산이 되어, 타사 노선을 이용했으니 회사별 노선 구간의 기본료와 거리 요금을 각각 정산해서 한 번에 차감합니다.

찍어서 돈이 나간 건 맞는데, 내가 얼마를 내게 될지, 단순히 매표소 벽면의 도표만 봐서는 알 수가 없는 복잡한 시스템인 것입니다.

예기치 못한 문제의 시작

정기권 구간을 활용하여 볼일을 보러 갔기에 왕편의 운임을 무료로 할 수 있었기에, 복편은 돌아오는 것으로 결정했습니다. 일전에도 포스트를 올린 사기미철도 직결선으로 돌아와보기로 한 것입니다.

원래 금액이 흉악하기에 선뜻 고를 옵션은 아니지만, 이 또한 휴일이니까 가능한 기분의 변덕이 있었던 것 같습니다.

미조노구치역에서 JR 난부선을 타고 무사시코스기역으로 가서, 소테츠 직결선으로 갈아타면 니시야를 거쳐 집으로 향할 수 있기 때문입니다.

도큐 전철이 아닌 JR 역으로 가서 교통카드를 찍고 탑승합니다. 낯선 방면으로 열차를 타는 것은 항상 여행 가는 신선한 느낌이죠.

길지도 짧지도 않은 세 정거장의 여행 후, 승강장에 내려서 주위를 둘러보았습니다.

환승 동선 안내가 없습니다.

원래 노선이 멀리 떨어져 있으니 외부 환승이라 그럴까 하는 생각에 게이트에 찍고 하차했는데, 뒷쪽 안내판을 보고서야 제가 가야할 곳을 알 수 있었습니다.

Signs in Musashikosugi
무사시코스기역의 무심한 시각표 전광판

게이트 내부에서 다른 플랫폼을 향해서 환승 통로가 있었던 것입니다. 내부에서 그렇게 보이지 않게 안내판을 숨겨놨더니 기어이 일을 만들고 말았습니다.

이 종이 하나면 해결이 될 거야

교통카드는 모든 것을 기억하고 있습니다. 한국의 티머니 교통카드는 잔액 정도만 조회가 가능한 것으로 알려져 있지만, Suica나 Pasmo 같은 일본의 교통카드는 내부에 DB가 들어있기라도 한지, 승하차 이력이 시간별로 남아있고 잔액 추이도 알 수 있습니다.

그래서 마냥 역무원에게 따질 수가 없습니다. 내가 어디서 왔는지, 어딜 가야 하는데 잘못해서 왜 이곳에 내렸는지 그런 충분한 정보를 제공해야 합니다.

다행히 어느 역에서든 역무원은 게이트 가까이에 있습니다. 한국과 다르게 게이트를 뚫고 가야 역무원을 만날 수 있는 불합리함 없이, 양쪽에서 모두 접근할 수 있는 비상 게이트 쪽에 이런 고충만 처리해주는 창구가 존재하기 때문입니다.

여성 역무원은 제 말을 듣고 하차역에서 제시할 종이 하나를 즉석에서 작성하여 건네주었습니다. 그리고 교통카드의 운임 차감을 취소하지 않고, (아마 취소가 안 되는 모양입니다) 대신 하차 상태를 탑승 상태로 변경해주었습니다.

suica/pasmo receipt
역무원이 적어준 종이

종이의 내용은 157엔을 이미 지불하였다는 내용 같습니다.

신기한 종이를 하나 받아들고 불안한 마음도 가진 채 다시 환승을 향한 여정을 떠났습니다.

신주쿠역 조차 헤매지 않았는데, 무사시코스기역에서 헤매다

무사시코스기역은 난부선과 멀리 떨어진 요코스카선을 억지로 이은 것처럼 환승역을 만들어 놨습니다. 제가 사전조사를 하고 가지 않아서 통로가 없는 줄 알았는데, 정상적으로 통로가 있었더군요. 애초에 떨어진 공간을 묶으려고 하니, 환승 통로가 너무 멉니다.

이 환승 통로의 시작점을 찾는 것이 너무 어려웠습니다. 특정 승강장에 열차가 정차하는 것처럼 써놨는데, 그 열차가 바로 문제의 환승 통로를 지나서 다른 승강장에 선다는 것을 알려주는 정보가 좀처럼 눈에 띄지 않았습니다.

승강장을 지나서 환승하면서, 이것이 출구인가 환승 통로인가 고민을 수없이 해야만 했지요.

경사로에 에스컬레이터가 아니라 무빙워크가 있는 건 처음 봤습니다. 신기해 할 틈도 없이 촉박한 열차 탑승 시간에 초조해 하며 발길을 재촉 해야만 했습니다.

각역 정차지만 소테츠에선 가장 높은 등급

15량 열차가 오기도 하는 긴 승강장에 10량 짜리 짧은(?) 열차가 들어왔습니다. 휴일 저녁의 한산한 시간인지 사람도 그리 많지 않은데, 다음 정차역이 하자와요코하마코쿠다이, 아주 머나먼 역입니다.

의자에 앉아서 꾸벅꾸벅 졸아도 될 정도의 15분에 달하는 멈추지 않는 질주입니다.

그리고 하자와요코하마코쿠다이에 들어와서, 열차의 종별이 바뀌었습니다. 각정이 특급으로 바뀌는 것입니다. 사이쿄선과 게이힌도호쿠선 구간에서는 각정으로 신주쿠, 시부야 등 역을 다 섰지만, 소테츠에서는 본격적으로 역을 건너뛴다 이거지요.

그렇게 치면, 무사시코스기역 전후로 수많은 역을 건너뛴 것은, 종별이 아니라 노선이 다르니까 괜찮다 이걸까요.

아무튼 제가 사는 동네는 이런 열차 종별의 화려한 변신이 전혀 없는 곳이라 역시 익숙해질 수가 없네요.

니시야역에서 소테츠 열차와 환승 접속이 되면서, 건너편 승강장에서 뒤쳐져서 출발할 순서인 열차가 들어오고, 많은 승객들이 이 열차로 갈아탔습니다.

이 종이가 뭔데?

하차할 역에서 게이트로 가지 않고, 저는 소테츠 역무원에게 달려가서 종이를 보여주고 잘못 하차했다가 재승차 했으니 처리해달라고 했습니다.

하지만 잘 이해를 못하더군요. 그래서 시간 순서대로 미조노구치에서 탔다. 무사시코스기역에서 내렸다. 잘못된 걸 알고 재승차하고 확인서를 받았다. 그렇게 여기 와서 이만큼 차감하고 정산해달라고 하면 된댔다고 했죠.

그러니까 운임표를 가져와서 고객님이 무사시코스기역에서 승차했다 이말이죠? 하면서 카드에서 그 금액을 차감했습니다.

으음… 하며 석연치 않은 표정으로 일단 나왔습니다만, 이건 뭔가 잘못된 게 맞습니다.

  • JR 3개역 이용 (기본료 + 거리)
  • 무사시코스기역에서 소테츠 본선의 야마토역까지 이용 (JR 기본료 + 거리 + 소테츠 기본료 + 거리)

이렇게 각각 더한 결과가 되니까요. 기본료를 더 뜯게 되다니, 참으로 무심한 처사입니다.

또 하나의 반전: 싸게 왔네?

그런데 이 글을 쓰면서 알아본 결과, 저는 정상 운임보다 결과적으로 덜 낸 것을 알 수 있었습니다.

역무원이 “무사시코스기역에서 오셨다고요?” 하면서 운임표를 보고 계산했는데, 그것은 요코하마역 환승이었습니다.

그러면 거리가 29.2km에서 32.3km로 늘어나니 언뜻보면 손해입니다.

하지만 여기에는 크게 두 가지의 숨겨진 사실이 있었는데…

JR의 이용 거리가 짧아지고 소테츠의 이용 거리가 늘었다

JR은 기본료가 싼 대신, 멀리 갈 수록 금액이 더 크게 오르는 것을 쉽게 체감할 수 있습니다. 도쿄 수도권에서 대형 사철을 선호하는 것에는 이유가 있는 것입니다.

소테츠와 오다큐, 도큐 등의 노선은 멀리 가도 상대적으로 저렴한 편이죠.

하자와요코하마코쿠다이역 전후의 신규 노선에 계산식을 피했다

잘 알려지지 않은 사실이지만, 일본은 건설비를 스스로 충당해야 하기에, 정부 인가만 잘 받아내면 특정 구간에 대한 가산 운임을 징수할 수 있습니다.

  • 니시야 – 하자와요코하마코쿠다이: 소테츠 30엔 추가 징수 (근거)
  • 하자와요코하마코쿠다이 – 무사시코스기: 츠루미역 경유, 정직한 영업거리 운임 징수 (총 거리는 줄지만 JR 이용 거리 증가)

환승 2회의 예전부터 다니던 요코하마역 경유 루트. 정상 이용시 총합 482엔.

real path
실제로 온 동선은 이와 같습니다. 내야할 금액은 569엔. 동선상 환승 게이트를 통과하지 않고 최종 내릴 때 돈을 많이 뜯깁니다.

그 결과 운임은 이 노선을 이용하지 않고 돌아갔을 때 482엔이 569엔이 됩니다. 차액은 87엔입니다.

Pasmo paid balance
실제 지불한 금액

하지만 안타깝게도 문제의 역무원은 트러블이 있었던 무사시코스기역이 아닌, 미조노구치에서 야마토까지의 운임을 요코하마 경유로 전체 징수했네요.

저 경로로 정직하게 왔으면 완전히 157엔 손해입니다.

하지만 직결선으로 왔으니 조금 더 비싼 루트를 온 것이라… 그보다 비싼 정상가 569엔보다 70엔을 손해보았습니다.

70엔이 결코 적은 금액은 아닌데,  이걸 어쩌나 참 복잡한 심경입니다.

결론

  • 소테츠 – JR 연결선은 승객에게 결코 유리하지 않습니다. 시간의 가치를 충분히 찾을 수 있는 사람만 이용해야 하겠습니다.
  • 개찰구에 찍기 전에 다시 한 번 신중하게 생각합시다.
cell phone no service

갤럭시 노트10 해외판을 KT에서 쓰면 벌어지는 일

이 글은 새로운 내용으로 A/S 되었습니다.
이동하기

일본 생활을 하는데 한국 번호가 왜 필요하길래

일본에서 생활하면서 한국 전화번호가 없으면 한국의 앱이나 서비스를 활용하기가 무척 번거롭습니다. 은행이야 공인인증서 갱신에 유의하면 된다지만, 결제 서비스나 나이 인증 등 다양한 본인 확인에 휴대폰 번호가 없으면 불편합니다.

또 종종 한국에 가는데 한국에서 통신이 막막한 점도 있습니다. 그러다보니 한국에서 쓸 번호를 계속 살려놓게 되는 것 같습니다.

어떤 방식이 장기 해외 체류에서 번호 유지에 더 나을지 조만간 올릴 포스팅에서 고민해볼까 합니다.

이번에 잠시 한국에 들어가면서, 일본에서 듀얼심을 쓰려고 홍콩판으로 구입한 삼성 갤럭시 노트10을 들고 가게 되었습니다. 한국 유심이 손상되었기에 첫날에는 쓰지 못하고, KT 영업점에 들러서 유심 교체를 받고 쓸 생각이었습니다.

따끈따끈 새로운 유심이 왔어요

KT 영업점이 문닫기 직전에 들어가서 데이터 쉐어링 유심까지 싹 바꿔버렸습니다. 새로운 유심 카드는 디자인과 컬러가 바뀌었네요. 빨간색 일색의 올레 분위기에서, 차분한 밝은 청록색으로 바뀌었습니다.

금액도 과거보다 소액 할인되었다는데, 7900원이라는 가격을 보니 여전히 한국은 유심 카드가 비싼 국가인 점은 차이가 없습니다. 청구 금액에 합산된다는군요.

부푼 마음을 안고 유심을 넣고 재부팅, 데이터가 무사히 잡히는 것을 확인했습니다. 감사하다고 하고 직영 영업점을 나섰지요.

이동하면 통화권 이탈

Galaxy note 10 disconnected network
그냥 통화권이 자꾸 이탈되는 갤럭시 노트 10 홍콩판

지하철 역에 들어가서 폰을 보니 금지 표시로 바뀌어 있습니다. 애초에 주파수를 못 찾았을 때 뜨는 마크입니다.

신호가 미약하면 안테나가 흐려질텐데, 이런 마크가 뜨는 것은 신호를 쓰도록 허락받지 못하는, 모종의 이유로 통신이 성립하지 않는 상황인 것입니다.

정식으로 기종명까지 맞춰서 등록했기에 VoLTE가 동작하는 것까지 확인했는데, 도대체 어찌된 일일까요?

해외폰을 그간 여러 번 반입해서 써왔지만 이런 경우는 처음이라서 당혹스러웠습니다.

스냅드래곤 특정 칩셋에서 흔히 관찰된다는데

인터넷을 찾아보니 관련된 정보를 발견했습니다. 또, XDA에서도 밴드 조작 정보를 발견했습니다.

대체로 어려운 서술을 하고 있지만, 내용상으로는 LTE 밴드 1이 KT에도 새로 생겼는데, 이것이  뭔가 오류를 일으키는 모양입니다.

KT의 LTE 주력 주파수는 3번이고, 8번과 1번이  보조입니다.

한국 출시 단말은 밴드를 켜고 끌 수 있는 디버그 메뉴가 존재하지만, 홍콩판에는 이런 메뉴가 존재하지 않으므로, 단순히 밴드 1를 끄면 되는 것을 복잡하게 단말을 컴퓨터를 통해 단말이 손상될 위험을 무릅쓰고 조작해야만 합니다.

결정적으로 이전에 LTE 밴드 게시글을 올렸듯이, 일본에서는 라쿠텐을 제외한 모든 통신사가 밴드 1을 주력으로 활용하고 있습니다.

이렇게 되면 이 방법을 적용하기는 사실상 어렵습니다. 한국에 장기체류를 하면서 이 폰을 계속 쓰게 된다면, 그 때 도전해보기로 마음을 먹었습니다.

참고로 3G만 허용하는 메뉴가 안드로이드 기본으로 존재하는데, 이 기능도 제 폰에서는 잘 먹히지 않았습니다. LTE 밴드 문제인데 3G 전용으로 해결이 왜 안 되는지는, 전문가가 아니라 알 길이 없네요. 뭔가 이 단말기만 유독 그런 이슈가 있는 거 같아서 노트10을 심층적으로 분석해야만 알 수 있을 것 같습니다.

KT는 왜 이 모양인가

갤럭시 노트 10을 구매하면서 놀란 점은 지원하는 LTE 주파수가 무척 폭이 넓었다는 것입니다. 덕분에 라쿠텐 모바일 머신으로도 활용하는데 문제가 없었습니다.

또한 전세계 여러 통신사와 협력하여 VoLTE 지원 국가도 무척 넓은 편입니다. 하지만 정작 한국에서 특정 통신사에만 문제가 생겨버리네요. 한국에도 출시하는데 AP가 달라서 덩달아 업데이트가 되지 않았던 것일까요.

하지만 단말기 탓을 하고 있기엔, 비슷한 사례가 여럿 보이고 있습니다.

샤오미 단말기도 그렇고 KT에서 사용하는 외산폰 사람들의 불만이 심심치 않게 나오고 있습니다. LTE 밴드 1과 3G WCDMA를 동시에 활용중인 곳은 일본도 마찬가지인데, 왜 KT만 유독 문제인지 이해하기가 어렵습니다.

JR과 손잡고 도쿄에 입성한 소테츠

도쿄 서남단의 자그마한 사철, 소테츠(相鉄)

사가미 철도(相模鉄道)를 짧게 줄여 부르는 소테츠(相鉄)라는 말이 있습니다. 이 사철에 대해서는, 일본에 관심이 깊은 사람이라도 쉽게 알아차리기 힘듭니다. 왜냐하면 특별히 관광지가 있는 것도 아니고, 노선이 긴 것도 아니고, 도쿄로 이어지지도 않기 때문에 도저히 관광객이 일부러 타러 갈 일이 없기 때문입니다.

사가미 철도 본선(가운데)과 이즈미선(하단 분기선)이 이 회사의 모든 운영 노선입니다.

하지만 지역주민에겐 큰 도움이 되는 노선입니다. 도카이도 본선이 해안으로 크게 돌아가기에, 배후 인구가 많은 가나가와현의 한복판을 이어줄 노선으로 대체제가 없기 때문입니다.

운임이 특별히 비싸지도 않고, 급행과 쾌속, 특급이 잘 갖춰져 있어서, 서쪽의 중심지 에비나(海老名)와 요코하마(横浜)를 약 30분 만에 연결하기도 합니다. 특히 건너뛰는 역이 시원할 정도로 많은 게 이 노선의 특징입니다.

급행 시스템의 연구에 대해서 추후 글을 올릴까 합니다.

도쿄로 이어지지 않는 노선의 한계

도쿄 수도권의 사철들은 무척 활발하게 사람들을 실어나르며 성업을 하고 있습니다.

대표적으로 명실상부 1위를 기록하고 있는 도쿄급행전철(東京急行電鉄), 도큐(東急)는 요코하마와 가나가와현의 넓은 영역을 자사 노선으로 커버하고 있습니다. 또한 도요코선(東横線)은 도쿄메트로 지하철 후쿠토신선(副都心線), 덴엔토시선(田園都市線)은 지하철 한조몬선(半蔵門線)과 직통하면서 도쿄 내부로 네트워크가 종착 없이 이어집니다.

외국인에게 익숙한 다른 예시로는 게이힌급행전철(京浜急行電鉄)과 게이세이전철(京成電鉄)을 들 수 있습니다. 하네다공항과 나리타공항을 각각 잇는 각사의 노선 사이에 도쿄 시내는 도영지하철 아사쿠사선(浅草線)을 통해서 환승 없이 직통되는 것을 쉽게 볼 수 있습니다.

액세스 급행(アクセス急行)이라는 노선이 공항과 시내를 빠르게 이어주기 때문에, 관광객에게 있어서 사철이 도쿄를 향한 관문이 되므로 모르고 지나칠 수가 없겠지요.

그런 주변 회사들과 비교하면, 사가미 전철의 입지는 무척 좁게 느껴집니다. 요코하마역에서 도큐나 JR로 갈아타야만 도쿄로 진입할 수 있기 때문입니다.

빠르게 도심지로 진입하는 장사를 하고 싶은데, 선로를 새로 깔 수도 없게 개발이 되어버렸습니다. 하지만 그럼에도 묘안이 있었던 것입니다.

10년 이상의 장기 프로젝트

지하철을 짓는데는 수 년이 걸리고, 보통 10년도 각오를 해야 하는 건 당연한 일입니다. 지하로 짓는 신규 노선에 공사 기간이 만만치 않게 걸리기 때문입니다.

하지만 소테츠는 직결 노선을 짓는데 2개의 회사랑 협의가 성립되었습니다. 상호 직통으로 환승 할인도 없이 정직하게 운임을 챙길 수 있기에, 타사에게도 신규 수요 창출이라는 이득이 더 크게 느껴졌을 겁니다. 그 결과 이와 같은 노선 계통이 계획되기에 이릅니다.

우상단의 청색 점선은 개통한 JR 직결선, 적색 점선은 공사중인 도큐 전철 방면 노선.

이 때 중요한 역할을 한 것이 JR 화물선입니다. 노선도의 청색 점선으로 표시된 구간부터 JR 화물의 지하 터널을 빠르게 주파하여 바로 요코스카선, 신칸센 아래의 재래선에 올라타게 됩니다. 그렇게 야마노테선의 서쪽 고리로 진입하여 오사키역, 시부야역, 신주쿠역, 그 위로 사이쿄선(埼京線)까지도 직통이 가능합니다.

구글맵에 신규 철도 노선을 실선으로 긋지 않고 궤도 노선이 대거 숨겨지면서 선형을 알기 쉽지 않은데, 다행히 최근에 업데이트가 되면서 이 선형을 알 수 있게 되었습니다. 개통이 되었기 때문입니다.

2019년 11월 30일, 마침내 소테츠의 도쿄 직결이 이 노선의 과거 소유주 신추철도(神中鉄道) 개설(1926년) 이래 약 100여 년만에 성사되었습니다.

노선의 구성

소테츠 JR 직결선 계통

기존 본선에서 니시야(西谷)역의 대피선을 대거 손봐서 분기역으로 만들어버렸습니다. 선로는 니시야역을 벗어나자마자 지하로 급하게 내려가고, 유일한 신설역인 하자와요코하마코쿠다이(羽沢横浜国大)역으로 향합니다.

하자와요코하마코쿠다이(羽沢横浜国大)역은 JR 화물선 인근이지만 여객 영업을 하지 않아 철도 서비스가 음영 구간인 곳입니다. 하지만 직결선이 여기 정차하면서 지역 주민들이 혜택을 보게 되었습니다.

이 역은 운임 경계역이기도 합니다. 소테츠가 관리하긴 하지만 여기 역부터 JR 운임을 적용하느냐, 소테츠 운임을 적용하느냐가 갈리는 것입니다. 연속 이용시 기본료가 이중 부과되면서 거리 비례 요금이 자연스럽게 가산되는 방식으로, 하차 없이 이용이 가능합니다.

물론 이 역에서 약 1분 정도 정차하는 것은, 당연히 노선별 자사 승무원이 탑승해야 하기에 교대 후 지적환호점검을 하는 시간이 필요하기 때문일 것입니다.

특이한 점은 하자와요코하마코쿠다이역을 빠져나온 뒤 말도 안 되는 역간 거리에 있습니다. 환승역인 무사시코스기(武蔵小杉)역까지 15분 정도를 무정차로 터널을 내려갔다가 나왔다가 하며 달립니다. 이는 오다큐전철의 쾌속급행 최장 무정차 질주는 노보리토 정차로, 한국의 공항철도는 청라국제도시와 영종역 정차로 잃어버린 기록과 비교하면, 통근전철로선 무척 긴 시간입니다.

역을 나오자마자 잠깐 상승하며 공사중인 도큐 직결선에서 분기하여, JR 화물선으로 들어갑니다. 그리고 곧 긴 지하 터널을 지나고, 도카이도본선(東海道本線)의 나마무기(生麦)역 즈음에서 지상으로 비로소 올라와서 또다시 많은 역을 건너뛰고 무사시코스기역에 겨우 멈춥니다.

이 역은 환승이 불편한 역인데, 실제로 경험을 해볼 일이 있었습니다.

이 다음에 정차하는 역은 오사키역, 시부야역, 신주쿠역 순으로, 모두 야마노테선(山手線) 상의 역입니다. 이로써 도쿄 입성이 완료되는 것입니다.

실제 탑승기

개통 1주일이 되기 전에 이 구간을 지나는 열차를 타게 되었습니다. 소테츠 본선에서부터 등장이 어색한 JR 열차의 모습부터 색다른 경험이었습니다. 철덕후들이 즐비하게 들이찬 운전실이 있는 차내에, 니시야역에서는 후속 열차와 접속이 이뤄지면서 더 많은 인파들이 모여서 휴일에 개통일도 아닌데 흡사 러시아워를 방볼케했습니다.

철덕들은 운전창에 몰려들었고, 철덕 꿈나무는 앞이 보이지 않아서 어쩔 줄 몰라했습니다.

지루한 터널 구간에선 설상가상으로 스마트폰의 안테나가 제대로 서지 않았습니다. 후일, 소프트뱅크와 au는 각각 중계기 확충이 되었는지 지하구간도 어느 정도 정상화가 되었습니다. 그저, 알뜰폰 라쿠텐모바일이 au망을 임대한 경우엔 주파수가 달라서 호환이 되지 않았는지 통신이 제대로 터지지 않았습니다.

도쿄에 들어가서는 게이힌도호쿠선(京浜東北線) 계통과 같은 선로를 이용합니다. 승강장이 야마노테선과 구분되어 있어서, 내리는 곳이 엇갈리고 출구까지 더 멀거나 가깝거나 하는 경우가 많습니다. 특히 시부야역은 너무 남쪽에 임시 승강장으로 이설하여 공사가 진행중이니, 승하차 위치를 신경쓸 필요가 있습니다.

장점과 단점

장점은 편리함입니다. 소테츠 연선에 사는 주민들이 도쿄로 한방에 진입할 수 있게 된 것입니다. 아쉽게도 연선에서 살짝 비껴나 있어서 우회하는 제게는 기존에 다니던 루트가 더 빨라서 혜택을 보기 어렵지만요. 환승 횟수를 줄일 수 있어서 편한 대신 하기 서술한 것처럼, 비용이 더 나왔습니다.

timetable
하자와요코하마코쿠다이역 시간표, 출퇴근 시간에도 20분의 한 대만 겨우 넣는데 운임도 비싸다니!

단점은 배차간격, 운임입니다. 일단, 신설역인 하자와요코하마코쿠다이역 주민들은 20분에 한 대 오는 열차에 당황스러울 것입니다. 러시에는 더 짧아지긴 하지만, 그래도 상당히 시골역 같은 배차 간격은 다소 불만스러울 수밖에 없습니다. 한국에선 편성의 유연성이 더 떨어지고 긴 편성을 억지로 그대로 쓰기 때문에 배차 칼질이 심해서, 경춘선과 5호선 하남 연장에 배차 간격 불만이 만만치 않은데, 그보다는 양반일까요.

본선에서 배차간격을 불만스럽게 생각할 일은 많지 않을 것 같습니다. 니시야역에서 기다리지 않고 맞은편으로 같은 방향은 3초 환승이 가능하도록 문을 열어주니까요. 다만 요코하마역에 빨리 가고 싶었던 사람들은 특급이 축소되고 직결편으로 대체되어서 불만스럽긴 합니다. 그래도 니시야역에서 환승만 하면, 여전히 요코하마역을 오가는 속도도 기존보다 크게 늦어진 건 아닙니다.

운임은 할 말이 많을 것입니다. 장거리에 도둑같은 JR 운임 체계, 그것을 직선도 아니고 ㄴ자를 그리며 돌아가버리니 비효율적인 동선입니다. 그리고 소테츠 노선과 기본료 이중 부과를 하는 직결의 특성을 생각하면, 만만치 않은 금액이 듭니다.

별도운임제를 도입할 한국의 수도권 광역급행철도 GTX의 미래를 생각해볼 때 비슷한 전개가 예상됩니다. 서울에 살 수 없다면, 멀리 떨어진 곳도 서울이 가깝게 느껴지도록 만들 수 있는 도쿄와 같은 직통 급행 교통망을 꿈꿔봅니다.

Ionic 핵심 개념

Ionic 앱 개발이 생판 처음이신 분들을 위해, 프로젝트 뒤의 핵심 철학, 개념, 도구에 대한 고차원의 이해를 하면 도움이 될 수 있습니다. 복잡한 주제에 들어가기 전에, Ionic 프레임워크가 무엇인지, 어떻게 작동하는지와 같은 기초를 다루겠습니다.

UI 컴포넌트

Ionic 프레임워크는 애플리케이션을 만드는 조각으로 제공되는 재사용 가능한 요소인 UI 컴포넌트 라이브러리입니다. Ionic 컴포넌트는 HTML, CSS, JavaScript를 사용하여 웹 표준으로 만들어졌습니다. 컴포넌트는 미리 만들어진 것이지만, 고도의 커스터마이징이 가능하여 앱은 쉽게 고유의 컴포넌트를 만들 수 있고, 고유한 외관과 느낌을 갖게 합니다. 더 자세히 말하자면, Ionic 컴포넌트는 전체앱에 걸쳐서 외관을 바꿀 수 있는 테마 적용이 쉽습니다. 외관에 대한 커스터마이징 정보는 테마 파트를 참고하세요.

플랫폼 지속성

플랫폼 지속성은 다중 플랫폼에서 앱 개발자가 같은 코드 베이스를  사용할 수 있게 하는 Ionic 프레임워크의 내장 기능입니다. 모든 Ionic 컴포넌트는 앱이 실행되는 플랫폼에 맞는 외관으로 표시됩니다. 예를 들어, iPhone과 iPad와 같은 Apple 장치에서는 Apple의 고유 iOS 디자인 언어를 사용합니다. 비슷하게, Android 장치에서는 Material 디자인이라고 불리는 구글 디자인을 사용합니다.

이러한 플랫폼 사이의 미묘한 디자인 변화를 통해 사용자는 친숙한 앱 환경을 제공받게 됩니다. Apple의 앱 스토어에서 받은 Ionic 앱에서는 iOS 테마로, Android의 플레이 스토어에서 받은 Ionic 앱은 Material 디자인 앱을 사용할 것입니다. 웹 브라우저에서 Progressive Web App (PWA)으로 표시되는 앱에서  Ionic은 기본적으로 Material 디자인 테마를 사용할 것입니다. 더 나아가, 어떤 플랫폼에서 특정 시나리오 하에 무엇을 쓸지는 모두 설정 가능합니다. 플랫폼 지속성에 대한 자세한 정보는 테마에서 찾아보세요.

탐색

지금까지의 웹 앱은 사용자가 페이지 앞으로 진행하고, 뒤로 가기 버튼을 눌러 뒤로 탐색하는 선형 히스토리를 사용해왔습니다. Wikipedia에서 돌아다니는 것을 예로 들면, 사용자는 브라우저의 선형 히스토리 스택 상에서 앞이나 뒤로 이동하게 됩니다.

이와 대조적으로, 모바일 앱은 특화된 병렬, “비선형” 탐색을 주로 사용합니다. 예를 들어, 탭 인터페이스는 각 탭에 대해 구분된 탐색이 가능하게 하여, 사용자가 현위치를 유지하면서 탭 사이를 탐색하고 전화할 수 있게 합니다.

Ionic 앱은 웹 개발자들이 친숙한 브라우저 스타일의 탐색 개념도 지원하는 한편, 병렬 탐색 히스토리를 지원하는 것도 포함하여 이러한 모바일 앱 탐색 접근을 받아들였습니다.

Angular와 @ionic/angular로 개발된 앱에 대해서는 모든 Ionic 4 Angular 앱에 처음부터 따라오는 Angular 라우터룰 사용하기를 권합니다. 이전 버전의 Ionic은 고유의 커스텀 라우터를 탑재하였지만, 최고의 도구와 개발자 경험을 제공하기 위해서 이제 프레임워크의 권장 라우터를 사용하게 되었습니다.

네이티브 접근

웹 기술을 사용하여 빌드된 앱(Ionic 앱과 같은!)의 놀라운 기능은 데스크톱 컴퓨터, 폰, 태블릿, 자동차, 냉장고 등 모든 플랫폼에서 가상으로 구동될 수 있다는 것입니다.  Ionic 앱의 같은 코드 베이스는 웹 표준과 이들 플랫폼에서 공유된 공통 API에 기반하기 때문에 많은 플랫폼에서 작동 가능합니다.

가장 흔한 사용 케이스 중 하는 Ionic으로 앱 스토어와 플레이 스토어 양쪽에서 받을 수 있는 앱을 만드는 것입니다. iOS와 Android 소프트웨어 개발 키트 (SDK)는 어떤 Ionic 앱이든 렌더할 수 있는 “웹 뷰”를 제공하는 한편, 완전한 네이티브 SDK 접근도 가능하게 해줍니다.

Capacitor나 Cordova 같은 프로젝트는 Ionic 앱이 네이티브 SDK에 대한 접근을 제공하는데 널리 쓰입니다. 다시 말해, 장치의 가속도계, 카메라, GPS 등에 대한 네이티브 기능 접근을 가지면서도, 공통 웹 개발 도구를 사용하여 빠르게 앱을 빌드할 수 있다는 것입니다.

테마

코어 Ionic 프레임워크는 CSS 프로퍼티 (변수)를 제공하여 유연함(flexibility)을 가진 CSS로 만들어졌습니다. 이것이 웹 표준을 준수하면서 앱을 엄청 빠르게 디자인할 수 있게 했습니다. 몇 가지 뛰어난 기본값으로서 개발자에게 색상 선택지를 제공하면서도, 그걸 새로 구현하여 브랜드나 회사의 디자인을 만들거나 원하는 색상 팔레트로 만들어내는 것 또한 권장합니다. 앱의 배경 색상 부터 텍스트 색상까지 모두 사용자 지정이 가능합니다. 테마에 대한 자세한 정보는 테마 문서를 참고하세요.

Ionic Framework이 무엇입니까?

Ionic Framework는 (HTML, CSS, 자바스크립트와 같은) 웹 기술을 이용한 고성능, 고품질 모바일 및 데스크톱 앱을 구축하기 위한 오픈 소스 UI 툴킷입니다.

Ionic Framework는 프론트엔드 사용자 경험이나 앱의 UI 상호 작용 (컨트롤, 상호작용, 제스쳐, 애니메이션)에 중점을 둡니다. 배우기 쉽고, Angular와 같은 다른 라이브러리와 쉽게 잘 통합되거나, 간단한 스크립트를 사용하고 프론트 프레임워크 없이 단독형으로 사용될 수도 있습니다.

현재 Ionic Frameworksms Angular와 React와 공식적으로 연계되며, Vue는 개발중입니다. Ionic Framework를 본격적으로 시작하기 전에 더 배워보고 싶은 분들을 위해, 기본을 살펴보는 비디오를 만들었습니다.

목표

크로스 플랫폼

단 한 개의 코드 베이스로 네이티브 iOS, Android, 데스크톱, 프로그래시브 웹 앱과 같은 멀티 플랫폼에 걸쳐서 작동하는 앱을 만들고 배포해보세요. 한 번의 작성으로 여러 곳에서 실행해보세요.

웹 표준 기반

Ionic Framework는 사용자 컨트롤과 쉐도우 DOM 등 현대 웹 API를 사용하는 HTML, CSS와 JavaScript 같은, 가장 믿을 수 있고 표준화된 웹 기술로 만들어졌습니다. 이 탓에, Ionic 컴포넌트는 안정적인 API를 갖고 있으며, 불안정한 단일 플랫폼 공급자가 아닙니다.

아름다운 디자인

깔끔하고 단순하며 기능적입니다. Ionic Framework는 모든 플랫폼을 막론하고 결과물을 아름답게 표시하고 작동하도록 디자인되었습ㅈ니다. 미리 디자인된 컴포넌트, 타이포그래피, 대화형 패러다임, 멋진 (확장 가능한) 기본 테마와 함께 시작해보세요.

단순함

Ionic Framework는 즐겁게 Ionic 앱을 만들고, 배우기 쉬우며, 웹 개발 기술을 가진 누구든지 접근할 수 있도록 복잡하지 않게 만들어졌습니다.

라이센스

Ionic Framework는 허용 가능한 MIT 라이센스 하에서 배포되는 무료 오픈 소스 프로젝트입니다. 이는 개인과 상용 프로젝트에 무료로 쓰일 수 있다는 것입니다. MIT는 jQuery, Ruby on Rails와 같은 유명한 프로젝트에도 똑같이 쓰인 라이센스입니다.

이 문서 내용(ionic-docs 저장소에 있는)은 Apache 2 라이센스로 보호됩니다.

Ionic CLI

공식적인 Ionic CLI 또는 명령줄 인터페이스는 빠르게 Ionic 앱을 구축하고 Ionic 개발자에게 유용한 수많은 명령을 제공합니다. Ionic의 설치와 업데이트 뿐만 아니라, CLI에는 내장 개발 서버, 빌드 및 디버깅 도구 등을 포함합니다. Ionic Appflow 사용자라면, CLI는 클라우드 빌드와 배포까지 수행하고, 여러분의 계정을 관리하는데도 쓰일 수 있습니다.

Framework 호환성

과거 버전의 Ionic은 Angular와 깊이 묶여 있었지만,  V4 프레임워크는 Angular와 같은 최신 JavaScript 프레임워크와 결합된 단독 웹 컴포넌트 라이브러리로 작동하도록 재구축되었습니다. Ionic은 비록 완전한 웹 컴포넌트 지원을 위해 shim이 필요하지만, 성공적으로 React와 Vue 같은 대부분의 프론트엔드 프레임워크에 쓰일 수 있습니다.

JavaScript

Ionic 4의 주요 목표 중 하나는 컴포넌트를 제공하기 위한 단일 프레임워크에 대한 강한 의존을 제거하는 것이었습니다. 즉, 코어 컴포넌트가 웹 페이지에서 스크립트 태그만으로 단독 작동이 가능하다는 것입니다. 프레임워크와 작동하는 것이 대규모 팀과 대규모 앱에서 최적일 수 있지만, WordPress와 같은 단일 페이지 내용에서도 단독 라이브러리로 Ionic을 사용할 수 있다는 것입니다.

Angular

Angular는 Ionic을 쓸만하게 만든 존재였습니다. 코어 컴포넌트가 단독 웹 컴포넌트 라이브러리로 작동하도록 쓰였지만, @ionic/angular 패키지는 Angular 생태계와의 통합을 용이하게 만듭니다. @ionic/angular는 Ionic 2/3에서 넘어온 Angular 개발자들이 기대하는 기능을 제공하며, Angular 라우터와 같은 코어 Angular 라이브러리와 통합합니다.

React

Ionic은 널리 쓰이고 있는 React 라이브러리에 대한 공식 지원을 제공합니다. Ionic React는 React 개발자들이 iOS, Android, 데스크톱을 타겟으로 하는 앱을 만들 수 있는 기존의 웹 기술을 사용할 수 있게 합니다. @ionic/react와 함께, 여러분은 네이티브 React 컴포넌트를 쓰는 기분으로 모든 코어 ionic 컴포넌트를 사용할 수 있습니다.

미래 지원

다른 프레임워크에 대한 지원도 곧 릴리즈될 것으로 기대됩니다. 현재 Vue에 대한 공식 바인딩이 개발되고 있지만, 일부 컴포넌트는 해당 프레임워크에서 즉시 작동 가능합니다.

Ionic Framework V4+

Ionic 프레임워크 V4는 성능, 호환성과 전체적인 확장성에 중점을 둔, 기저 기술과 프로젝트 가능성의 중요한 진보입니다. V4가 Angular와 @ionic/angular 패키지로 여전히 깊이 결합되긴 하지만, 이제는 프레임워크에 구애받지 않는데, 다시 말해 어떤 다른 JavaScript 프레임워크든지 (Vue, React, Preact 등), 또는 프레임워크가 없든지 작동한다는 것입니다.

웹 표준으로 이동하면서, V4는 Ionic 코어가 프레임워크 의존적인 모델에서 벗어나 현대 브라우저에서 지원되는 표준 컴포넌트 모델에 의존할 수 있게 됩니다. 더 빠른 로드 시간, 더 나은 성능, 적은 코드양을 보여줍니다.

Ionic Appflow

Ionic 앱의 생애주기 관리를 지원하기 위해, Ionic Appflow라고 하는, 개발앱을 위한, 오픈 소스 프레임워크와 별도의 상용 앱 플랫폼을 제공합니다.

Ionic Appflow는 개발자와 팀이 중앙화된 대시보드에서 네이티브 앱을 컴파일하고 라이브 코드 업데이트를 배포하는데 도움을 줍니다. 워크플로우 자동화, 단일 로그인(SSO)과 연결된 서비스와 통합에 대한 접근 같은 고급 기능을 위해 유료 업그레이드 옵션을 사용할 수 있습니다.

Appflow에는 Ionic 계정이 필요하며, 일부 기능을 가지고 놀고 싶은 사람들을 위해 무료 “스타터” 플랜도 있습니다.

생태계

Ionic Framework는 코어팀에 의해 풀타임으로 활발하게 개발되고 유지되고 있으며, 성장과 도입을 촉진하는 전세계 개발자와 기여자 커뮤니티에 의해 생태계가 조성되고 있습니다. 개발자와 크고 작은 회사는 Ionic을 사용하여 어디서나 실행되는 놀라운 앱을 빌드하고 제공합니다.

커뮤니티 가입

전세계 200여 개 나라에 수백만의 Ionic 개발자가 있습니다. 가입하는 방법은 다음과 같습니다.

  • 포럼: 질문하고 아이디어를 나누기 좋은 곳입니다.
  • 슬랙: 개발자들이 만나서 실시간으로 대화를 나누는 활기찬 곳입니다.
  • 트위터: 업데이트를 올리고 Ionic 커뮤니티의 내용을 공유하는 곳입니다.
  • GitHub: 버그를 보고하고, 새 기능을 요청하고, 이슈를 만드는 곳입니다. 풀 리퀘스트도 환영합니다!
  • 글 작성하기: 기술 블록그를 쓰고 Ionic 커뮤니티에서 여러분의 이야기를 나누세요.

아직까지 수수료에 벌벌떠는 일본의 은행

사실 알려질대로 다 알려져서 그렇지, 일본의 은행 시스템이 매우 낙후되어 있다는 것은 한국인에게도 잘 알려진 사실입니다. 유학 비용을 송금하거나 받아보면서 느낀 사람도 있으시겠지만, 그걸 가장 느끼는 건 은행의 기본 삼대 업무가 의외로 한국의 상식을 안 좋은 쪽으로 뛰어넘는다는 사실입니다.

접근성

은행 접근성이 떨어진다는 사실은 한일 양국의 공통 사항입니다. 지점이 축소되고 거의 유명무실화되는 건 16시면 문을 닫는 은행의 영업 시간 탓일 겁니다. 실은 일본은 15시에 닫는 곳이 더 많은데다 인당 창구 소요 시간이 너무나 길기 때문에 더욱 크게 느껴집니다.

그래서 점심 시간에 얼른 회사 근처 은행을 다녀오는 게 밥을 포기하지 않고도 가능한 한국의 상식으로는, 여기선 점심 시간이 오버될 각오를 하더라도 아마 가지 못하는 사람들이 많다는 점에서 차원이 다릅니다. 1시간 반을 자리를 비우게 될테니까요. 앱이나 인터넷 은행에 대해서도 할 말이 많은데, 이에 관해서는 다른 글에서 소개하기로 하겠습니다.

ATM도 멀게 느껴진다

일본의 전국에 분포한 대형 은행은, 미쓰비시(UFJ), 미즈호, 미쓰이스이토모, 리소나 같은 곳이 있지만, 한국에서 건너온 이방인이 월급 통장 등으로 만드는데 성공했다고 들은 곳은 미쓰비시 말고 들은 곳이 없습니다. 다른 곳은 6개월 체류 후 오라고 하니 월급을 받을 수 없어 헛걸음만 하기 십상입니다. 그러니 굳이 살펴볼 필요도 없겠죠.

사실 제가 쓰는 곳은 이런 대형 은행에 속하지 않은 조금 특이한 신형 은행(새로운 형태의 은행이라고 분류하네요)인데, 영업점이 극소화된 은행(신세이은행, SBJ은행)과 완전 인터넷 은행(라쿠텐은행) 정도입니다.

영업점이 극소화되어 있으니 ATM 접근성이 좋을 리가 없는 게 당연합니다. 하지만 이곳이 오히려 ATM이 가깝습니다. 아예 주요 편의점의 ATM과 계약을 맺어서 이쪽을 이용하라고 합니다.

하지만 그렇다고 한들, 수수료를 물라고 하면 선뜻 이용하기 꺼려집니다. 특히 일본의 ATM 이용 수수료는 상당히 높기에, 이를 잘 모르고 뜯길까 낯선 곳에서 통장 입출금을 하기 무서워하는 사람들도 많습니다.

제가 쓰는 은행과 미쓰비시UFJ만 한 번 비교해봤습니다.

UFJ은행

당행 무료, 타행 220엔(3만엔 미만) 330엔(3만엔 이상)

  • 슈퍼 보통예금(메인뱅크 플러스)에 실버 스테이지인 경우 월 2회 편의점, 타 은행 등 제휴 ATM 무료
  • 슈퍼 보통예금에 플래티넘 스테이지인 경우 월 3회 무료

실버 스테이지가 되기 위해 잔고가 30만엔이 필요하고, 플래티넘은 500만엔이 필요하네요. 원화로 동그라미 하나 더 붙이면 만만치 않은 돈입니다. 사실상 당행 외 무료 ATM은 없는 셈 쳐야 할 것 같습니다.

신세이은행

  • 당행 ATM이 없음
  • 세븐ATM (세븐일레븐, 이토요카도 등), EnetATM(일부 패밀리마트, 데일리 등),
    로손ATM, 이온ATM, PatSat(한신), VIEW ALTTE(JR동일본역), 유초(일본 우체국): 110엔, 골드 회원 무료
  • 타행은행, 미쓰이스이토모, 상공조합중앙금고: 110엔, 골드 회원 무료, 입금은 불가

신세이은행은 일률적으로 110엔이 드는 것으로 보여 빠져나갈 구석이 안 보입니다. 하지만, 골드 회원의 조건이 몇 가지 있는데… (단, 신규 3개월은 골드 대우 해줍니다)

  • 당행 총 맡긴 금액이 200만엔 이상
  • 당행투자상품 30만엔 이상
  • 금전신탁 100만엔 이상
  • 자동적립형외화정기예금, 투신적립 이체
  • 테오 (국제분산투자상품) 이체
  • 신세이은행FX 10만 기본통화 이상 약정
  • 선불카드 GAICA 충전 1만엔 이상 또는 파워플렉스 계좌에 외화 80기본통화 충전

뭔가 많습니다만 가장 마지막이 중요합니다. GAICA 카드를 계좌 만들면서 바로 발급받을 수 있는데, 여기에 자동 충전만 걸면 되는 것입니다. 이후에 충전금을 자유롭게 계좌로 되돌릴 수도 있더군요. 그래서 골드 회원 혜택을 잘 받고 있습니다.

라쿠텐은행

  • 세븐/이온/PatSat: 3만엔 이상 입금 무료, 그 외 220엔, 개설 3개월간 무료, 해피프로그램 차등 무료 횟수 제공 (최고 7회)
  • Enet/로손/MUFG/미즈호/유초/VIEW ALTTE(입금불가): 3만엔 이상 입금 무료, 그 외 275엔, 개설 3개월간 무료, 해피프로그램 차등 무료 횟수 제공 (최고 7회)

타의로 만든 은행계좌이긴 하지만, 라쿠텐 생태계는 매력적입니다. 직불카드로 포인트도 쏠쏠하게 쌓이고 장점이 적지 않습니다. 하지만 ATM 수수료는 자비가 부족합니다. 은행으로서 주로 쓰기엔 아쉬운 부분이 있는데, 횟수가 모든 곳에서 공유되기에 더욱 적게 느껴지는 점입니다.

해피프로그램은 고객의 매월 25일 시점 잔고 또는 월간 거래액으로 산정되는 등급입니다.

  • Super VIP: 잔고 300만엔 이상, 거래 30건 이상, ATM 무료 7회/ 타행송금 3회 / 라쿠텐포인트 적립률 3배
  • VIP: 100만엔 이상, 20건 이상, ATM 무료 5회/ 타행송금 3회 / 라쿠텐포인트 적립률 3배
  • 프리미엄: 50만엔 이상, 10건 이상, ATM 무료 2회/ 타행송금 2회 / 라쿠텐포인트 적립률 2배
  • 어드벤스드: 10만엔 이상, 5건 이상, ATM 무료 1회/ 타행송금 1회
  • 베이직: 엔트리

SBJ은행

  • 세븐/이온/Enet: 월 10회 무료
  • 유초/미즈호: 월 3회 무료

신한은행의 자회사인 SBJ은행은 원래 세븐ATM이 무제한 무료였으나, 2019년 11월 1일 부로 개악되었습니다.

마치며

한국의 카카오뱅크가 떠오릅니다. 거의 모든 시중은행과 연계해서 수수료 없는 송금은 물론 ATM 입출금까지 이뤄냈습니다. 또 편의점 ATM 입금 환경도 수수료 무료를 선언한 은행이 늘어나면서 좋아지는 중입니다.

일본에서 그 부분은 세븐ATM이 독보적이긴 하지만, 여전히 주변에 보이는 은행은 내야하는 수수료가 만만치 않습니다.

결국 얼마나 따져보고 챙기냐에 따라 예기치도 않은 지출 금액을 절약할 수 있을 것 같습니다.

 

LTE 주파수가 공중파 TV 수신 장해를 발생시킨다고?

우체통에 꽂힌 공중파 수신 장해 관련 안내문

아마 일본에 생활하고 있는 많은 사람들이 2월 초에 받았을 안내문입니다. 사용중이신 텔레비전의 영상이 깨끗하게 보이지 않을 가능성이 있다는 내용입니다.

아마 광고 전단지랑 섞여서 자신도 모르게 버려버리신 분들도 많았겠지만, 저의 경우에는 TV를 잘 보지 않음에도 관련 설비를 이전 글에서 보셨듯이 구축해놓은 바 있는 지라,
유독 남의 일처럼 보이지 않아서 미리 챙겨놨습니다.

요점은 다음과 같습니다.

  • 과거 아날로그 공중파 TV 주파수였던 대역인 700MHz에 LTE신호가 새롭게 송출되면서, 광대역 수신을 지원하여 살아남은 과거의 안테나들이 영향을 받게 되었습니다.
  • 기기에 따라 영상이 보이지 않거나 노이즈가 낄 수 있습니다.
  • 그러니까 안테나 아래 장비에 조정이 필요합니다. “LTE 주파수가 공중파 TV 수신 장해를 발생시킨다고?” 더보기

chinachu와 Raspberry Pi 3+로 일본 지상파 TV 서버 구축하기

TV 서버가 필요한 이유

일본은 지상파 TV 채널이 크게 발달해있습니다. 우리 나라는 유선 방송을 돈 내고 보는 사람이 많은 것과 크게 다릅니다.

지상파 TV, 위성 BS, 프리미엄 위성 CS로 크게 세 가지 채널로 양분되며, 지역 동축 케이블 TV와 인터넷 TV는 크게 힘을 못 쓰는 구조로 알려져 있습니다.

그래서 화제를 노리고 나오는 신작 애니메이션이나 외화들은 지역마다 있는 지상파 TV에 나오기 위해 애를 쓰는 것이죠.

볼만한 건 심야에만 있다

하지만 한국에 소개되는 청소년 이상 일반 성인을 대상으로 한 애니메이션은 상당히 늦은 시각에 방송되고 있다는 것을 뒤늦게 알게 됩니다.

즉, 낮이나 저녁에 TV를 틀었는데 왜 일본 생활에서 생각했던 덕질을 못하냐는 의문이 드는 것이죠.

하고 있는 것은 앵무새 같은 시사 프로, 광고, 이른 시간이나 낮에는 어린이용 애니메이션이 대부분입니다.

편성표를 보면 신작 애니메이션의 경우 심야에 한 번 방송하고, 재방송조차 없는 게 대부분입니다.

일본인들은 심야 본방 사수가 어렵다 싶으면 TV에 하드를 연결하거나, 블루레이 레코더를 활용하여 어쩔 수 없이 예약 녹화를 하는 경우가 많습니다.

일반 재생기 녹화 기능은 저작권법에 따라 제한이 걸려 있다

그러면 그냥 그렇게 보면 되지 않냐고 생각하시겠지만, 녹화된 파일은 녹화된 장치에서만 유효합니다.

파일의 전송권을 크게 제약하는 것이죠. TV가 아닌 PC나 휴대기기에서 보고 싶다고 복사를 할 수가 없는 것입니다.

전용 기기에서 녹화한 파일은 암호화되어 있습니다.

TS 따기라고 부르는, MPEG 데이터만을 순수하게 담은 TS 파일을 추출할 수만 있다면, 컴퓨터에는 팟플레이어 등의 재생기로, 휴대 기기에서는 인코딩하여 보거나 최신 스마트폰에서는 역시 재생기 앱만으로 볼 수 있게 됩니다.

어디서나 라이브를 볼 수 있다

Chinachu 서버가 웹 서비스를 제공하므로, 호환되는 클라이언트나 브라우저로 접속해서 시청할 수 있습니다.

수신기에 내장된 튜너 하나가 동시에 채널 하나를 수신할 수 있으니, 튜너 독점에 주의해야 합니다. 자세한 내용은 후술합니다.

법적 제약 주의

신작 애니메이션의 방송 서두에 항상 하단에 나오는 인터넷 무단 전송에 대한 경고를 생각해보면, 이렇게 녹화한 것을 함부로 남에게 전송해서는 안 된다는 것을 쉽게 알 수 있습니다.

일반 PC는 안 되는가?

사실 우리가 사용할 소프트웨어는 오픈 소스이면서 리눅스 계열에서 큰 문제 없이 돌아갑니다. 즉, 여러분의 일반 PC로도 충분히 가능합니다.

다만, 다음과 같은 이유로 별도 장치를 활용하길 권합니다.

  • 전원을 계속 켜두고 예약 녹화 장비로 쓰기엔 전기료가 과합니다.
  • 윈도우 유저는 멀티부팅을 해야 해서 번거롭습니다.
    • Windows 10의 WSL Bash로 Ubuntu 등을 내부에 깔아서 쓴다고 해도 제약이 있습니다.
    • 바로 USB 장비를 인식하지 못한다는 것입니다. 우리가 아래에 준비할 준비물을 전혀 쓰지 못하므로 조건을 만족하지 못합니다.
    • Opera Virtual PC 무료 버전에 플러스팩을 깔아주면 USB 호환을 시킬 수 있습니다만, 매 번 부팅시마다 다시 연결해줘야 하며 꼭 장치 하나씩 말썽을 일으키니 추천하지 않습니다.

준비물

PC 역할을 할 Raspberry Pi 3+ Model B

라즈베리파이가 구동하려면 SD 카드도 필요합니다.

모든 것이 갖춰진 패키지도 판매중이니, 적당한 가격의 물건을 물색해봅시다.

다만, OS는 직접 설치해야할 가능성이 높습니다.

USB 지상파 TV 튜너

PX-S1UD라는 작은 기기가 가격이 그나마 저렴하고, 리눅스용 드라이버도 호환되어서 널리 쓰이는 듯 합니다.

널리 쓰이는 기기가 문제를 덜 일으키니 믿고 씁시다.

끝부분은 안테나 단자에 꼭 잘 연결합시다.

IC 카드 리더

SCR3310

IC 카드 리더기는 아래 B-CAS 카드를 읽을 수 있는 수단입니다.

B-CAS 카드

B-CAS 카드는 스크램블(암호화)된 일본의 방송 신호를 해석하기 위해 필수적인 물건입니다.

구하는 방법이 궁합니다. 원래 수상기에 같이 딸려 나오는 식으로 신품 구입시 손에 들어옵니다. 그러나 카드 슬롯 없는 제품도 있고, 중고로 팔 때 없는 경우가 많으며, 그냥 별다른 이유 없이 신품인데도 안 주기도 합니다.

별도로 정식으로 방송협회에 주문하면 약 3천엔이 날아갑니다.

아마존을 뒤져서 중고로 500엔에 구해봅시다.

빨간색과 파란색으로 나뉩니다.

  • 빨간색: 다기능. 위성 BS와 지상파 모두 디스크램블이 가능합니다.
  • 파란색: 지상파만 디스크램블 할 수 있습니다.

500GB 이상급의 하드디스크

녹화한 TS 파일은 압축되지 않은, 실시간 수신 내용 그대로를 담습니다. 비트레이트라고 불리는 초당 용량이 그대로 누적되는 것입니다.

FullHD 1080p 수신에 약 15Mbps1 남짓으로 방송 한 프로에 6기가바이트 하는 건 흔한 일입니다.

충분한 용량을 준비하되, 일정 주기로 인코딩하여 화질과 용량의 균형을 맞춰서 작게 만들면 더 많이 저장할 수 있습니다.

시작

Raspberry 운영체제 설치

이에 관해서는 관련 정보를 활용해보세요.  NOOBS OS 설치로 충분합니다.

Pi에서 인터넷에 연결되는 것을 확인하고 SSH나 실제 Bash 콘솔에서 시작합니다.

사전 준비

이제 위에 있는 USB 장비는 죄다 라즈베리파이에 연결합니다.

이하 박스에 있는 내용은 bash 콘솔에 쳐야할 내용입니다.

필요한 것들
sudo apt-get install -y vim samba ntp wget curl git make cmake zip
sudo apt-get install -y pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools
sudo apt-get install -y autoconf build-essential git-core libssl-dev libtool libboost-all-dev pkg-config yasm pkg-config

설치

PX-S1UD_driver_Ver.1.0.1.zip 백업본

튜너 드라이버 설치
mkdir ~/PX-S1UD
cd ~/PX-S1UD
wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
unzip PX-S1UD_driver_Ver.1.0.1.zip
sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/

카드리더기 설치
sudo pcsc_scan

여기서 Japanese Chijou Digital B-CAS Card라는 문구를 확인할 수 있어야 합니다.

c44e16dbb0e2.zip의 백업본

arib25 라이브러리 설치
sudo su –
mkdir ~/tmp
cd ~/tmp
wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
unzip c44e16dbb0e2.zip
cd pt1-c44e16dbb0e2/arib25
make clean && make
make install

arib25는 B-CAS 카드 표준에 맞게 읽을 수 있는 라이브러리로 추정됩니다.

recdvb-1.3.1.tgz의 백업본

recdvb 설치
cd ~/
mkdir ~/recdvb
cd ~/recdvb
wget http://www13.plala.or.jp/sat/recdvb/recdvb-1.3.1.tgz
tar xvzf recdvb-1.3.1.tgz
cd recdvb-1.3.1
./autogen.sh
./configure –enable-b25
make
make install

chinachu 설치 환경을 위한 npm n 구축
apt-get install -y nodejs npm
npm cache clean
npm install n -g
n 6.10.3  n 8.x
apt-get purge -y nodejs npm
apt-get -y autoremove

현재 chinachu 버전업으로 인해 npm 8 버전을 써야 하는 것으로 기억하는데, 오류 메시지가 떴을 때 최소 요구 사항을 확인하고 버전을 맞추면 됩니다.

node의 버전 확인
node -v

버전이 잘 표시되어야 합니다.

Mirakurun 설치

Mirakurun은 제조사 드라이버를 통해 튜너를 제어하는 소프트웨어입니다.

mirakurun 설치
sudo npm install pm2 -g
sudo npm install mirakurun -g –unsafe –production
sudo npm install rivarun -g
sudo npm install arib-b25-stream-test -g –unsafe

mirakurun 동작 확인
ps ax | grep Mirakurun

숫자로 PID가 잘 표시되면 OK입니다.

Tuner 설정
sudo nano /usr/local/etc/mirakurun/tuners.yml

여기 내용으로 다음과 같이 붙여넣습니다.

tuners.yml
– name: PX-S1UD-1
types:
– GR
command: recdvb –b25 –dev 0 – –

– name: PX-S1UD-2
types:
– GR
command: recdvb –b25 –dev 1 – –

갖고 있는 튜너는 하나지만 둘 다 넣어야 성공하였습니다. 원글은 분배기를 통해 두 개 튜너를 연결했습니다.

채널 설정

채널 수동 설정을 하고 싶으면 다음과 같이 입력하면 됩니다.

Channel 수동 설정
sudo nano /usr/local/etc/mirakurun/channels.yml

그러나 무엇이 잡히는지도 모르기 때문에 우리는 자동 설정을 할 것입니다. 안테나가 정상적으로 연결되고 튜너가 인식되어야 가능합니다. 아래 명령을 친 다음, 채널을 찾았는지 바로 명령 결과로 각각 뜨기 때문에 지켜보면 됩니다. 채널이 있을 법한 구간에서 오류가 지속적으로 난다면, 튜너를 재연결하고 재부팅해보세요.

Channel 자동 설정
curl -X PUT http://localhost:40772/api/config/channels/scan”

40772 포트는 Mirakurun 서버에 연결할 수 있습니다. 연결에 실패하면 Mirakurun의 재설치가 필요합니다. npm으로 설치했으니 node부터 올바르게 설치되었는지 필히 확인하세요.

Mirakurun 재시작
mirakurun restart

모든 변경사항을 적용하기 위해 재시작합니다.

EPG 수신에 대략 10분 정도 기다려준 다음에,

EPG 수신 확인
rivarun –list | sed ‘s/},/},\n/g’

이것을 입력하여 EPG 내용이 올바르게 받아지는지 확인합니다.

로그 로테이트 설정
sudo pm2 install pm2-logrotate
sudo nano /etc/logrotate.d/mirakurun

mirakurun 파일 내용
/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
/{
daily
compress
rotate 7
missingok
notifempty
}

Chinachu 설치

Chinachu는 녹화 스케쥴 관리, 실시간 방송 스트리밍이 가능한 PVR 매니저입니다.

Chinachu 설치
adduser chinachu
su – chinachu
git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
cd /home/chinachu/chinachu
./chinachu installer

여기서 설치 방법을 물어볼텐데, 1을 입력하고 엔터를 눌러서 1) Auto (Full)을 선택합니다.

시간이 매우 오래 걸리므로 대기합니다.

환경 설정

녹화 설정 파일 초기화 및 환경 설정 입력
echo “[]” > rules.json
cp config.sample.json config.json
nano config.json

config.json에서 Key값에 맞게 Value를 수정해야할 부분 (발췌)
“uid”: “chinachu”,
“recordedDir” : “./recorded/”,
“wuiOpenPort”: 10772,

uid에는 우리가 지금 만든 계정 이름을 넣어주시고 (여기서는 chinachu), recordedDir는 녹화 파일이 저장될 디렉토리입니다. 폴더 소유자 및 권한에 주의하세요.

포트는 웹에서 접속 가능한 곳을 지정하며 별도의 인증 기능이 빠져있으니 외부 접속에 유의해야 합니다.

chinachu의 로그 로테이트 설정

chinachu 로그 로테이트 설정
exit
nano /etc/logrotate.d/chinachu

chinachu
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
{
weekly
compress
rotate 4
missingok
notifempty
}

동작 확인

확인 후 마지막 단계에서 에러가 안 나면 Ctrl+C
su – chinachu
cd ~/chinachu
./chinachu service wui execute

데몬 설정 확인
exit
cd /home/chinachu/chinachu
pm2 start processes.json

프로세스 시작 후 10초 정도 대기한 다음 다음 명령을 입력합니다.

상태 표시 후 online 문구 확인
pm2 status

현재 설정 저장
pm2 save

향후 config.json의 수정을 한 다음에 할 일

설정 읽어들이기 위한 chinachu 재시작 방법
pm2 restart chinachu-wui chinachu-operator

로그 파일 위치 일람
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log

EPG 수동 갱신 방법
su – chinachu
cd ~/chinachu
./chinachu update

브라우저로 접속하는 주소
http://(라즈베리파이 IP주소):10772/

이제 브라우저에 chinachu 화면이 정상적으로 뜨는 것을 확인할 수 있습니다.

가라아게와 치킨에 대하여

치킨의 매력

한국에서 사랑받는 대표적인 음식으로 삼겹살과 함께 손꼽는 요리 중 하나가 치킨일 것입니다.

치킨의 특징은 두툼한 튀김옷, 바삭한 맛, 취향에 따라 골라 먹는 소스를 빼놓을 수 없습니다. (소스 없는 후라이드 또한 선택입니다만)

그 화려한 존재에 걸맞게 가격도 나날이 뛰어서 1만원 후반이며 가끔 2만원 초반을 구경하기도 합니다.

배달 음식으로 대표적인 존재이지만, 배달료를 더 받는 걸로 브랜드별 담합과 경쟁의 뜨거운 감자로 등극하기도 한 바도 있습니다.

아무튼 인기를 등에 업고 물가를 뒤흔드는 존재라는 느낌이 강한데, 그 만큼 맛이 있으니 가능한 일이려니 싶습니다.

가라아게(唐揚げ)의 차이

한편, 치킨을 매 번 찾던 한국인이 일본에 와서 비슷하면서 완전히 다른 음식을 접하게 되는데, 그게 바로 가라아게입니다.

카라아게라고 발음하지만, 외래어 표기에 따르면 어두의 소리를 강하게 표현하지 않게 되니 가라아게입니다.

가라아게의 특징이라면, 없다시피한 얇은 튀김옷을 들 수 있습니다. 대신 그만큼 강점도 있는데, 고기 자체에 양념을 배게 만들어서 살코기가 맛있고, 튀김 부피로 뻥튀기 되는 게 적어 고기 함량이 충실하다는 것입니다.

속까지 양념이 되어 있다보니 반찬으로도 적합하고, 실제로 한국에서도 많이 먹어본 맛이다 싶기도 합니다. 알고보니 한솥도시락의 치킨 계열이 다 가라아게를 재료로 쓰기 때문입니다.

우월함을 논할 시간에 하나라도 더 먹자

부먹 vs 찍먹 논쟁이 대표적인 소모적 논쟁이겠지만, 어째서인지 일본에 와서 가라아게에 대한 성토를 하는 유학생들이 많다보니, 비교를 하지 않을래야 않을 수가 없습니다.

치킨이 없고 가라아게만 있어서 아쉽다. 그렇게 치부하기엔 각자의 강점이 있다고 생각합니다.

비슷한 상황을 피자에서도 느끼게 됩니다. 한국은 화려한 토핑과 두툼한 치즈로 감싸다보니, 씬피자와 미국식 페퍼로니 피자랑 완전히 다른 음식으로 변화했다고 해도 과언이 아니죠.

그런 상황에 고급 재료를 썼다고 우월한 것도 아니고, 그렇다고 본연의 피자가 아니고 사도다 말할 수도 없는 것입니다.

결론은, 둘 다 먹을 수 있는 곳이 있었으면 좋겠다 싶었다는 것입니다. 안 그래도 집에서 비슷하게 해보려고 치킨 파우더도 사왔는데, 과연 어떤 결과가 나올지 향후 포스트에서 지켜봐주시기 바랍니다.

번외: KFC

KFC는 튀김옷도 충분히 두툼하고, 속에도 짭짤하게 간이 되어 있는 편입니다. 둘 중 어디에 속한다고 확실하게 말할 수 없게 또 이질적입니다.

번번외: 깐풍기

가라아게의 한문 표기에 있는 당나라 글자에서 또 떠오른 것인데, 중식은 정말 맛있는 것 같습니다.

 

일본에서 PUDO 택배 박스 이용하기

너무나 매뉴얼적인 택배 배달

집 안에 사람이 있는데도 현관문 밖에 내던지고 가는 한국의 택배 배달 환경과 비교해보았을 때,
일본의 택배는 정반대로 너무 꼼꼼합니다.

꼭 사인을 해야만 하고, 본인이 아닌 경우 배달을 거부하기도 하는 경우가 종종 발생합니다.

그보다 피부로 와닿는 불편은 바로 재배달 통지입니다.

부재중인 것이 확인되면, 가져온 택배를 배달하지 않고 도로 가져가면서 재배달에 대한 안내문을 우체통에 꽂아놓고 갑니다.

출처: http://www.coromochi.com/entry/2017/06/23/213826

일본 제일의 택배 회사 야마토운수 쿠로네코든, 사가와 택배든 이 시스템에 큰 차이가 없습니다.

QR 코드를 찍고 들어가면 일정을 시간 단위로 조정하여 받을 수 있죠. 제때 재배달을 받지 못하면 일주일 정도 보관하다가 급기야 반송하기도 합니다.

하지만 야근에 고통받는 사람들은 아무리 야간으로 골라도 7시보다 늦게 오면 또 허탕칠 가능성이 높습니다.

택배 재배달의 무한 루프, 그리고 언제 반송될지 모르는 초조한 시간이 시작되는 것이죠.

자택이 아닌 또 다른 선택지

사실 이렇게 생긴 택배 보관함을 발견하고 어떻게 쓰는 건가 예전부터 궁금하긴 했습니다.

그런데 막상 이걸 쓰는 것도 쉬운 일은 아닙니다.

야마토 쿠로네코 택배를 이용하게 되었을 때, 재배달에서 관련 옵션을 발견했기에 겨우 이용할 수 있었습니다.

자택이 아닌 옵션 중에 인근에 설치된 택배 보관함에서 받는 방법이 있었거든요.

 

팩시티와 계약된 택배 업체가 이용할 수 있다고 합니다. 저는 야마토 택배였는데, 사가와 택배도 이 보관함을 이용한 사례가 발견되더군요.

 

재배달에서 역이나 주소 기준으로 택배 보관함을 골랐다면, 예상 도착 시간 전에 메일로 비밀번호가 전달됩니다. 배달이 완료되었을 때 확인 가능합니다.

폰으로 메일을 확인할 수 있게 준비해둡시다.

물건 찾기

보관함의 첫 화면은 이렇게 생겼습니다. 탭을 하면 메뉴가 뜹니다.왼쪽 메뉴로 배달된 물건을 찾을 수 있고, 오른쪽 메뉴는 보내기 위해 맡기는 기능입니다.

물건을 찾으려면 왼쪽의 수령 버튼을 눌러야 합니다.

바코드가 있으려면 재배달 안내문을 가져와야 하는데, 귀갓길 집보다 보관함으로 먼저 왔으니 수중에 없습니다.

바로 메일에 전송된 숫자 비밀번호를 입력해봅시다.계속하기 버튼을 누르면서 진행합니다. 손으로 사인을 그리라고 하는데, 뭐라 할 거 같아서 정자로 이름을 영어로 써봤습니다. 즉시 물건이 들어있는 곳 문이 열립니다. 물건을 남김 없이 꺼냅니다.

내부가 텅 빈 것을 확인하고 눌러서 닫습니다.

내부에 물건을 남기고 닫아버리면 다시 열 수 없다고 겁 주고 있습니다.

 

물건은 손에 들어왔습니다.

바로 설문조사가 이어지는데, 캔슬 누를 걸 그랬습니다. 설문조사가 너무 길었어요.

모두 다 되는 건 아닌 듯

이렇게 의기양양하게 택배를 갖고 왔는데, 집 우체통에 재배달통지가 하나 더 있네요.

그것도 야마토운수 쿠로네코 택배입니다. 같은 회사인데 왜 이건 라인으로 안 알려줬을까요. 또 뒤늦게 재배달 신청을 하는데 이건 택배 박스 이용 메뉴가 비활성화되어 있네요. 또 7시 갓 넘은 시간이지만 오늘 받기 접수하기엔 너무 늦었군요.

내부에도 다양한 종류가 있다보니, 모든 종류가 되는 건 아닌 모양입니다.

PUDO 같은 보관함 규격에 맞는 정해진 사이즈가 있고, 상온 보관 가능한 물건만 넣어줍니다. 보내는 방법에 따라서 이 서비스 대상이 아니게 되기도 합니다.

사실 가장 좋은 건 가내에 택배 보관함을 직접 설치하거나, 택배 박스를 운영하는 공동주택에 사는 거죠.

뭐든지 답은 부동산에 있군요.

아무튼 이런 서비스를 더 잘 활용하기 위해 좀 더 정보를 수집해볼까 합니다.

만만치 않은 비주얼

매운 것보다 얼얼한 것이 힘들다는 것을 각인시켜준 키칸보(きかん坊)

2018년 11월 10일

근 몇 년간 매운 음식을 제대로 먹어본 적이 없는 것 같습니다. 밖에서 먹는 음식은 단맛에 짠맛 위주라 약간은 아쉬운 부분이 있어서 틈만 나면 스스로 조달해서 매운맛을 만들어보려고 했지만 그 맛은 언제나 조금씩 달랐는데, 특히 그 차이를 크게 실감했을 때가 이런 상품을 구입했을 때였습니다.

아마존 링크

“매울 것 같지만 맵지 않고 조금 매운 라유”라는 말장난 이름이 인상적인데, 그게 사실 일본에서 볼 수 있는 대부분의 라유가 그 말 그대로의 맵기라 말이죠.

은근히 라유가 보급되어 있어서 색깔이 그럴싸한지라 기대를 하곤 하지만 주재료 참기름에 색소만 탄 거 아닌가 의심이 깊어지기만 했습니다.

내년 초에나 입사하는 센터 동기들이 많은지라, 아직 인적 네트워크가 크게 발달하지 못했는데, 이 와중에 같은 수도권인 동기의 추천을 받아 길을 나섰습니다.

Kikanbo
2 Chome-10-9 Kajicho, Chiyoda City, Tokyo 101-0044
03-3256-2960

뛰어난 접근성

야마노테선 칸다역 앞에 있는 가게입니다. 칸다역은 도쿄역보다 북쪽이고 아키하바라역보다 남쪽인데, 이 근처가 현재 일하는 곳이라 잘 안다는 모양이었습니다. 도일 후 오랜만에 본 얼굴이 센터 졸업 전에 비해서 너무 커져서 깜짝놀랐는데, 거꾸로 말하면 무역센터의 센터 생활이 그렇게나 건강에 좋지 않았다는 반증일지도 모릅니다. 집에서 편해지면 몸이 불어나는 건 저도 마찬가지니까요.

아무튼 역의 동쪽 출구로 나가면 바로 횡단보도에 큰 길이 뻗어 있습니다. 얼마 가지 않아 왼편에 바로 목적지가 보입니다. 물론 줄을 선 사람들이 먼저 눈에 들어옵니다.

식권 자판기에서 빼곡하게 들어선 메뉴들을 보고 힘겹게 골랐습니다. 뭘 골랐는지 지금 잘 기억이 안 나네요.

대기 시간은 길다면 길었고 짧다면 짧았다고 생각하는 보통 수준이었습니다. 개점 즈음에 갔기에 견딜만 했습니다.

점내 풍경
카운터석으로 이뤄진 점내는 조리과정이 바로 보입니다.

매운 맛을 두 가지로 골라야 합니다. 단계별로 있는데, 매울 신(카라이)은 알겠는데, 저리다는 뜻의 시비레는 도대체 뭘까요.

매운맛은 강하게, 시비레도 강하게 가봅니다.

그리고 그 결과물이 나왔는데…

만만치 않은 비주얼
풍성한 건더기, 과하게 뿌린 가루

외관부터 심상치가 않았습니다. 돼지고기 덩어리에 파랑 빨간 가루, 검은 가루가 보입니다.

키칸보 추가밥
차슈 덮밥은 간장 양념이 잘된 차슈와 파가 밥 위에 올라가 있습니다.

여럿이 갔을 때 하나 시키면 부담도 덜하고 면을 다 먹고 난 뒤에 불타는 속을 달래는데도 좋습니다. 이게 먼저 나와서 조금씩 집어먹으면서 기다렸습니다.

고수가 가득한 라멘
라멘에 고수를 넣어주는대 일행은 추가까지 했다고 합니다.

원래 고수를 좋아하는데 혹시 몰라서 이번에는 추가하지 않고 오리지널로 갔었지요. 추가하면 이렇게 되는군요.

고수를 넣으면 고수맛이 되고 맛이 통일되는 아쉬운 점이 있습니다만, 익숙해지면 중독성 탓에 고수 없으면 허전한 게 함정이죠.

매운맛은 어느 정도냐면

굵은 면발
굵은 사리가 들어있어서 국물이 잘 달라붙는 느낌입니다.

그런데 그게 중요한 게 아닙니다.

시비레의 맛이 무엇인가 먹어보고 알게 되었는데, 바로 마라탕의 ‘마’에 해당하는 맛입니다.

흔히 일본에서는 산쇼라고, 산초와 동일하게 부르는데 이 탓에 진짜 산초가 들어간 줄 아는 사람들이 많은데, 제피라고 합니다. 중국에서 쓰이는 향신료로 혀에 들러붙어 얼얼한 맛을 내지요.

매운 맛은 물을 머금은 동안 조금 괜찮아지는데, 이 얼얼한 맛은 물을 타고 더 퍼지는 느낌입니다.

어떤 의미에서 한국인에게 낯선 맛입니다. 마파두부에도 들어가는게 일반적이지만 한국에서는 이걸 빼고 만들어서 맵고 단맛인데 반해, 일본은 은근히 얼얼한 맛이 살아있습니다.

가게를 나와서도 쓰읍쓰읍 하며 고통을 삼켜야 했던 건 덤이었습니다. 하지만 이런 고통이 또 은근히 성취감이 있단 말이죠.

다 먹고 나면 사탕을 주십니다. 사후약방문이지만.

큰 도움은 안 되지만 사탕을 머금고 있는 건 그나마 나을 겁니다. 나가서도 고통스러움에 몸부림치진 않게 해주니까요.

금액을 찍어뒀으면 좋았을텐데, 자판기 사진이 없네요.

총평

매운맛이 떠오를 때 이곳에서 겪었던 얼얼한 맛만 생각하면 자신을 채찍질하는 느낌이 납니다. 하지만 이곳의 고기 비율이나 면의 구성 등 여러 가지 생각해보면 다른 곳이 부족한 건 아닙니다.  요리로서도 충분히 맛있는 집이라고 생각합니다.