YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

ドイツに行ってきた

はじめに

こんにちは、OpenTelemetry推進委員会です。先々週Velociy Berlin 2019でOpenTelemetryを使って分散トレースを取ってみるという3時間のワークショップの講師をしてきたのですが、初めてドイツに行ったので面白いと思ったところを雑多に記録しておこうと思います。他の旅行記/出張記は以下のとおり。

旅程

都市 日程
ベルリン 11/2-7
フランクフルト 11/7-9

気づき

細かなことはいろいろあるし生活しているとまた違った感想になるのかもしれないけれど、初見で感じたことを残しておきます。

全般的なこと

英語の表示が驚くほど少ない

ドイツに着いてから知ったのですがドイツ語は公用語になっている国は少ないものの、母語とする話者はかなり多いらしく、それもあってか国内の看板、特に駅での表記には英語併記のものがかなり少なかったような印象を受けました。

f:id:ymotongpoo:20191117100152p:plain
フランクフルト中央駅にて
f:id:ymotongpoo:20191117100502p:plain
ベルリン東駅にて

シェア電動キックボードやシェアサイクルが多い

自分は電動キックボードは今年の7月にGopherCon 2019が行われた際にサンディエゴで初めて経験して、いまもKubeConでサンディエゴに来ているのですが、街中で見かけるのはLimeとBIRDとLyftのキックボードでした。

しかし、ドイツ(ベルリンとフランクフルト)では非常に多くのシェア電動キックボードのサービスが展開されていることを知りました。確認しただけでも5社が展開していました。

またシェアサイクルも多く、次の様なサービスが展開しています。

このブログなんかでも紹介されています。

johnnyafrica.com

電車の行き先の表記が省略形のものが多く行き先が分かりづらい

これはある種の初見殺しとも言えるもの。ベルリンやフランクフルトで感じたのは、とにかく駅名が長い!というのも、駅名にたいていその地域(BerlinやFrankfurtなど)の名前が最初についていて、その後に様々な名前が書かれているので長くなります。

f:id:ymotongpoo:20191119074815p:plain
フランクフルト空港最寄りの Frankfurt am Main Flughafen Fernbahnhof 駅

Googleマップなどで行き先を検索するとその途中の一語(たいてい地域名は省略される)が、しかもたまに省略形で書かれていたりするので、ぱっと見てどこに向かっているかわからなくて困りました。

電車やバスが割と時間に正確

これは電車の時間が割と正確な日本*1に住んでいると意識しないけれども、他国の鉄道が主な移動手段ではない都市では平気で予告もなく遅れるし、どれくらい遅れているかすらわからなかったりするので、そういう意味ではベルリンやフランクフルトは「あと何分で駅に来る」というのが常に電光掲示板に表示してあるので安心感があります。そのあたりは日本に近い感覚です。

f:id:ymotongpoo:20191121042924p:plain

ICEは早くて快適

ICE (Intercity Express) はドイツの新幹線です。自分は公共交通機関が好きなので、外国に行ったら危険がなければなるべく現地の公共交通機関に乗ってみるようにしています。ベルリンには日本からの直行便がないため、今回はフランクフルトの直行便に乗り、そこからICEでベルリンまで行きました。(帰りも同様)

f:id:ymotongpoo:20191121042403p:plain

写真を見てわかるように290km/hとなかなかの速度が出ていますが、車両がガタつくこともなく、車内では食事も頼むことができたりとかなり快適な旅でした。車両構成によっては椅子がリクライニングできないのでその部分はちょっと不満でしたが、それ以外は満足でした。(イタリア国内でItaloに乗ったときと同じような車両だったので、納入は同じ会社かもしれないですね)

リサイクルがすごい

ドイツはリサイクル大国として知られますが、ペットボトルや瓶の飲み物にはすべて容器の料金が乗っています。実際にスーパーに行ってリサイクル用の回収機に入れるとそのスーパーで使えるクーポンをもらえます。なのでちゃんとリサイクルすれば10%くらいは割引になります。


ドイツの空き容器回収機

ビールが安い

500mlのビールで€0.80(100円弱)くらいで、しかもリサイクルすると瓶は€0.10くらい戻ってくるので、実質90円くらいになります。やすいので飲み過ぎに注意。

f:id:ymotongpoo:20191121042832p:plain

自転車専用道路が整っている

これはアムステルダムでも感じたことだけれども、自転車専用道路が整備されているところが多く、また歩道でも自転車走行地帯と歩行者通行地帯が分けられている箇所も多かったです。自転車専用信号は日本にもありますが、その数は明らかに差がありました。

f:id:ymotongpoo:20191121043105p:plain

結構喫煙者が多い

北米は喫煙禁止のエリアが非常に多く、日本も最近では路上喫煙に関して非常に厳しい制限がかけられつつありますが、ロンドンでもそうだったように、ドイツでは割と駅前でタバコを吸っている人が多く見かけられました。駅構内ではだめだからと駅の入口のすぐとなりで吸っている人なども多く見かけました。

信号の変わり方が面白い

自分が訪れた国では緑→黃→赤→緑という風に変わるものばかりでしたが、ドイツでは緑→黃→赤→赤と黄→緑で循環しています。


ドイツの信号の切り替わり方 / How German traffic lights changes

クレジットカードの非接触支払いが結構あった

VISAのpayWave、MastercardのPayPassが結構多くの場所で使えることに驚きました。特に驚いたのは駅の切符の自動販売機が対応していて、暗証番号などを入れなくても切符を簡単に買えました。

f:id:ymotongpoo:20191121050015p:plain

ベルリン

カレーブルストはうまい

ベルリンではCurrywurstという庶民の味とも言えるソーセージにケチャップとカレー粉をかけたものをよく食べていました。小さな店の前で雑に立って飲み食いするスタイルで、こういう店は現金しか受け付けていなかったりします。そのあたりもローカルっぽさがあってよかったです。

f:id:ymotongpoo:20191121050747p:plain
軒先で立って飲み食いするスタイル

f:id:ymotongpoo:20191121050836p:plain
トマトケチャップは店によって味が違い、ソーセージを引き立てている

U-bahnは思ったより車両が狭い

市内を走る近距離線は地上を走るS-bahnと地下鉄のU-bahnがありますが、U-bahnは体が大きなドイツ人が乗るには小さいのでは?と思うくらいのサイズ感の車両でした。

f:id:ymotongpoo:20191121051200p:plain

歩行者信号はたまにアンペルマンじゃない

ベルリンの歩行者信号といえばアンペルマンが有名で、現地で初めて生のアンペルマンを見たときは「おお!」と謎の感動があったわけですが、歩いているとたまにアンペルマンではない普通の人形をした歩行者信号もあり、何が基準でそうなっているのか疑問でした。で、Wikipediaで調べたところそもそも旧東ドイツにしかなかったものが、ベルリンの壁解放後に徐々に拡大していったということで、はじめからこうではなかったということを初めて知りました。

f:id:ymotongpoo:20191121051412p:plain
普通の人形になっちゃってた信号機

f:id:ymotongpoo:20191121051622p:plain
アンペルマンの信号機

フランクフルトでの免税手続きに関して

ドイツの有名な工業製品といえばRIMOWAのスーツケースですが、今回の出張で前から買おうと思っていた機内持ち込み用のスーツケースを買いました。その際、当然免税手続きをするわけですが、自分はフランクフルト空港から日本に帰ったので、そこで免税手続きを行いました。

いくつかのウェブサイトで免税手続きの方法を調べて、自分が利用していたJALのウェブサイトでも確認しましたが、機内持ち込みのスーツケースの免税に関して状況が変わっていると思ったことを記録します。(JALのためターミナル2での話)

  • RIMOWAの機内持ち込みのスーツケースの免税に関しては、スーツケースを新品のまま持っていかなくても良い
    • RIMOWAのスーツケースには製造番号が記載してあるため、レシートを持っていれば購入品であると確認できるため、中身を普通に入れて空港に行っても大丈夫
  • 税関は出国審査の直後にあり、グローバルブルーの窓口と横並びになっている。クレジットカードへの返還にすれば数日で返ってくる

f:id:ymotongpoo:20191121052721p:plain
税関窓口とグローバルブルーの窓口が横並びにある

グローバルブルーの書類を郵送で送ってVATの返還をしてもらう話しか見なかったので、実際に窓口に行ったときはあまりの処理の速さに驚きました。RIMOWAでもらったレシートと免税書類を税関窓口に渡し、中身の入ったスーツケースを窓口に出して「これがそのスーツケースです」と伝えたら中身を確認することもなくスタンプをくれます。そのすぐ隣りにあるグローバルブルーの窓口にその書類をそのままそっくり渡したらすぐに受理され、VATを返還してもらうクレジットカード(自分の場合はデビットカード)を渡したら、スワイプしてくれてその場で完了です。帰国後数日でVATが返金されました。「数ヶ月も待つので返金されるのか心配になる」というような話ばかり見ていたので嬉しい誤算でした。

*1:都会の朝夕のラッシュの時間とかは例外として

海外で為替レートや手数料をお得に過ごしたい

はじめに

こんにちは、Stackdriver担当者です。よく本社であったり海外に出張に行くことが多いので、今回ドイツに出張行く前に一度自分の手持ちのクレジットカードやデビットカードでどれが一番海外でお得に利用できるか整理したくなった。

TL;DR

1枚で全部こなすなら、ソニー銀行に必要なだけ円を入れておいて外貨普通預金口座だけ開設しておけば主要10通貨でショッピングとATM両方でお得っぽい。(自分調査なので正確性は保証しません。)

ショッピング

JALカード

自分はJALカードを使っているのでJALカードの例を出すけれどもこのあたりは手持ちのクレジットカードのウェブサイトのFAQなどに必ず載っていると思う。自分の場合はDC発行のVISAなので、外国為替に関して VISAのレートとは別に 2.0% の手数料が乗っかってくる。

金額の計算はこちらの計算機で確認できる。

usa.visa.com

ただJALカードの場合通常で200円で1マイル、最大で100円で1マイルたまるので、USDの場合、1USDでだいたい1マイル貯まることを考えると、実質1.0-1.5%前後の手数料と言えなくもない。

ソニー銀行

moneykit.net

ソニー銀行の為替レートではUSDのスプレッド15銭で、しかもショッピングの場合は手数料が無料になっている。またクレジットカードの場合と同様に不正利用に関しても保証があるので、普通にクレジットカードを利用するのと同じ感覚で使える。また使ってトランザクションが発生してすぐにメールでどこでいくら使ったかが通知が来るので、不正利用自体にも気づきやすい。万が一それに気づかなかったとしても銀行の預金口座以上に使われることがないのは助かる。

しかも外貨預金普通口座の残高が足りない場合でも円普通口座から自動でその時のソニー銀行でのTTSで両替してそれ以外の手数料がかからないので、スプレッドの15銭だけしかからない。割合に換算すると手数料 0.1% ということになる。安い。 あと「優遇プログラム Club S」というのがあって、口座残高に応じてスプレッドが4銭にまで下がるらしいけど、そんなに入れてしまうと自分のデビットを使う目的の一つである「口座の額以上に使われることがないから安心」という保険的な利用方法に当てはまらなくなってしまうので、今回はその部分は検討しない。

JAL Global WALLET

為替レートが載っているが、2019年11月13日現在での為替レートで見ると片道1.3円取られている。

ご利用方法|両替|JAL Global WALLET

f:id:ymotongpoo:20191113095135p:plain
2019年11月13日現在の為替レート。この時のTTMは109.18円

為替レートで変動すると思うが、割合で換算すると 1.3% が手数料。

SBI銀行VISAデビット付きキャッシュカード

こちらはUSDで見ると為替レートではソニー銀行よりも安いスプレッド4銭。海外事務手数料は2.5%だけれども、30回までは「ポイント」でキャッシュバック。これをどう捉えるかで変わってきそう。自分は正直SBI銀行のポイント(スマプロポイント)で返ってきても嬉しくないので、その点は無視する。

キャッシング(海外ATM利用)

JALカード

自分のもってるJALカードの発行会社がDCカードなのでそれの引用だけれども、基本的にキャッシングは海外だろうが国内だろうが金利は変わらない。繰り上げ返済すれば金利は安くなるけれど、忘れてしまった場合の金利は高くなる。また為替レートはVISAのレート(上述)と同じなので、両替所よりは安いかもしれないがあまり割のいいものではない。明記されていないがATMの手数料も別途取られる。

ソニー銀行

ショッピングの場合と同様、外貨口座を開設しておけばUSDのスプレッド15銭だけで、手数料が現地のATM手数料+1.79%の事務手数料となる。たとえば2019年11月13日現在、100USDを下ろす場合、1.79USDが事務手数料なので、日本円だと200円弱取られることになる。

JAL Global WALLET

ATM手数料に関しては200円相当額と固定なのは素晴らしい。しかし、レートがいまいちなので、下ろす金額にもよるけれど、そこまでソニー銀行と変わらない気がする。

SBI銀行VISAデビット付きキャッシュカード

海外ショッピングの場合と同様。手数料2.5%がスマプロポイントで返ってくるけれど、自分は特にほしくないので無視。ATM利用料は別途徴収される。(ソニー銀行と同じ)

参照

GitHubのPull Requestからpatchを取得して試す

はじめに

こんにちは、OpenTelemetry推進委員会です。OpenTelemetryのワークショップをしにベルリンに来ているんですが、そこで事前準備をしていたところ、ワークショップのコードがupstreamの直近の変更で動かなくなり、あわててcohostがPull Requestを投げました。これを承認前に自分で手元で試すためにPull Requestだけのパッチが必要になったけれども、そういえばやったことがないなと思って調べたところ、非常に簡単だったのでメモしておきます。

パッチファイルを持ってくる場合

$ cd /path/to/repo
$ wget https://github.com/username/reponame/pull/:pull_number.patch
$ git am -3 number.path

もしくは hub コマンドを使って

$ cd /path/to/repo
$ hub am -3 https://https://github.com/username/reponame/pull/:pull_number.patch

.patch のURLについて

「ドキュメントに書いていない裏技!」みたいな感じで書いてあるブログ記事がたくさん、あって「本当にそうなのか?」って思って調べてみたところ、たしかに丁寧には書いてなかったが一応公式ドキュメントのAPIレスポンスの中にそのURLが含まれていることは確認した。

developer.github.com

同じようにしてdiff形式のファイルも取得できる。

git am の -3 オプション

git am で 3way merge をする際のオプション。そこまでややこしいパッチを試したことがなかったので使ってなかったけど、とりあえずここではメモのためにつけておく。

ブランチを取ってくる場合

てっきり次のようにしてフォークされたブランチを取ってくるのかと思っていました。

$ git fetch git@github.com:username/forked-repo branchname

しかしGitHubはremote refのエイリアスを用意してくれていたんですね。

help.github.com

$ git fetch upstream pull/ID/head:branchname

ヘルプを見るとレポジトリの書き込み権限がないとできなさそうな雰囲気で書いてるけれど、普通に全然関係ない人でも取れました。

両方あるけどどっちがいいの

git fetch 一回で取ってこれるのでブランチを取ってくるほうが楽そうですね。

じゃあpatchやdiffの方はいらないかというと、patchとかdiffの場合はprivate repoでも一時的にURLを生成して外から取ってこれるので、クリーンな環境でパッチを当てなければいけないときに便利です。

Jaeger のall-in-oneコンテナを最速で公開する

はじめに

分散トレースのバックエンドのOSSとしては Zipkin とならんで Jaeger が有名です。Jaegerは複数のコンポーネントから成立していますが、それらをきちんとプロダクション環境用にセットアップしようとするとストレージをきちんと用意したり Docker Compose などを使う必要があります。しかし、自分の用途だとデモ用などに使う all-in-one のコンテナ( jaegertracing/all-in-one )をさっと上げて公開したいことがあり、どうするのが一番手数が少ないか考えた結果次のようになりました。

やってみた

$ gcloud compute firewall-rules create jaeger-rules \
    --allow udp:5775,udp:6831,udp:6832,tcp:5778,tcp:16686,tcp:14268,tcp:9411 \
    --direction ingress \
    --priority 1000 \
    --target-tags jaeger

Creating firewall...⠏Created [https://www.googleapis.com/compute/v1/projects/playground-219502/global/firewalls/jaeger-rules].
Creating firewall...done.
NAME          NETWORK  DIRECTION  PRIORITY  ALLOW                                                             DENY  DISABLED
jaeger-rules  default  INGRESS    1000      udp:5775,udp:6831,udp:6832,tcp:5778,tcp:16686,tcp:14268,tcp:9411        False


$ gcloud compute instances create-with-container jaeger-vm \
    --preemptible \
    --container-image jaegertracing/all-in-one:1.14 \
    --boot-disk-size 30GB \
    --tags jaeger

WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information, see: https://developers.google.com/compute/docs/disks#performance.
Created [https://www.googleapis.com/compute/v1/projects/playground-219502/zones/asia-southeast1-b/instances/jaeger-vm].
WARNING: Some requests generated warnings:
 - Disk size: '30 GB' is larger than image size: '10 GB'. You might need to resize the root repartition manually if the operating system does not support automatic resizing. See https://cloud.google.com/compute/docs/disks/add-persistent-disk#resize_pd for details.

NAME       ZONE               MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP     STATUS
jaeger-vm  asia-southeast1-b  n1-standard-1  true         10.148.0.3   XX.XXX.XXX.XXX  RUNNING

立ち上がったので適当に curl でJaeger UIの疎通確認をしてみます。

$ curl -I http://XX.XXX.XXX.XXX:16686/
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Date: Tue, 08 Oct 2019 05:56:03 GMT

できた。だいたい1分かからないくらいで公開できました。

決してプロダクション環境用ではないので使ったらすぐに落とすこと。

クレジットカードの差替えをしたが意外に手間は少なかった

はじめに

いまや多くの会社が「キャッシュレスだ、ペイメントだ」とペイメント事業に乗り出し、経済産業省キャッシュレス・消費者還元事業などの施策を打ち出して、日本全体でキャッシュレスが一大ブームになっている昨今ですが、セブンペイの不正アクセスなどもあり、セキュリティに関する懸念も広く一般的に認知されました。

そんな不正アクセスに関して、キャッシュレス界隈において長らく取り組んでいる業界と言えばクレジットカード業界です。不正利用に関してはかなり高度なシステムによって検知しています。しかしながら、現状の仕組みとしていわゆるクレジットカード番号(プライマリアカウント番号、PAN)、セキュリティコード(CVV2、CVC2など)、有効期限、そして所有者の氏名という、すべてカードの表面に記録されている情報で決済ができてしまうため*1、一度それらの情報が漏洩してしまうと不正利用の対象となる危険性が格段に上がります。

クレジットカードのイシュアーはこうした危険を事前に察知して情報漏洩があった場合、あるいは不正利用が多発した加盟店などがあった場合、利用したカードを差替える措置などを取っています。今回はそういう連絡が来て、実際にカードの差替えを行ったあとにどれくらいの手続きが必要になったかの記録をしました。

三菱UFJニコスからの連絡

ある日三菱UFJニコスから一通の封書が届きました。開けてみると「クレジットカード差替えに関するお願い」と書いてあります。

www.cr.mufg.jp

中を読んでみると、次のような文言がありました。

お客様が以前ご利用になった一部の店舗が犯罪集団によるカード情報の不正詐欺に遭った疑いがあり、カード情報が流出した可能性が極めて高いことが判明いたしました。

ただ事ではありません。普段から利用明細には目を通しているものの、こういった連絡が来るとあらためて不安になります。その後次のような連絡が太字で書かれていました。

お手持ちのカードを新しい番号のカードへ差替えさせていただきたく、同封のカード差替え承諾書のご返送をお願い申し上げます。

そうせざるを得ないのは分かるのだけれども、その後困ったことに次の事柄が判明しました。

  1. 承諾書が三菱UFJニコスに到着次第、使用中のカードは無効になる。
  2. 新しいカードが到着するまでに1週間〜10日かかる。
  3. 光熱費関係以外はクレジットカード経由での引き落としは更新する必要がある。

まず2番めがかなり不便で、その10日間メインカードが利用できないということになるわけです。また3番めも非常に不便です。ネット回線等、ネット上で引き落とし先のカード情報を更新できないサービスにすべて手続きの申し込みをしなければなりません。

2番めに関しては、1週間メインカード無しで過ごす実験でしたが、モバイルSuicaや他のカード、ペイメントサービスの残金などでキャッシュレス決済はまかなえてしまいました。案外何とかなるものですね。

カード情報を更新しなければならなかったサービス

3番めの各種サービスの引き落とし先クレジットカード情報の変更ですが、当初は書面による手続きが結構あると思って、めんどうで嫌だなと思っていたけれど、よくよく調べてみると光熱費以外の手続きはすべてオンラインで完結しました。また今回の差替えでは光熱費(東京ガス東京電力、東京水道局)に関してはカード会社側で変更してくれたので、すべてオンラインで完結。思っていたよりは世の中進んでました。

ブラウザやAndroidのカード情報補完がすごく便利だった

Google Chromeをはじめ、最近のブラウザにはカード情報をフォームに自動補完する機能があります。

support.google.com

今回の更新でも、パソコンで作業していた時は結構自動補完で入力できたので楽でした。またモバイル系の更新はAndroidでやっていたけれど、AndroidGoogle Payの情報に基づいて同様に補完してくれました。

*1:3Dセキュアなどもありますが、それですら少数派