Vapor Trail

明るく楽しく元気よく

いまさらベトナム旅行の思い出

はじめに

会社でベトナムのオフショアに一部仕事を委託していることもあり、社員研修の一環として2019年3/20~24(3泊4日)にホーチミンに行きました。前々から思い出を書いておこうと思っていたので写真整理したついでに今更振り返る。

1日目

9:20(新千歳)17:05着(クアラルンプール) エアアジアX551 エコノミーA1

トランジット 1:15

18:10(クアラルンプール)19:45着(ホーチミン エアアジア524 エコノミー E

20:30 テルチェックイン シシリア サイゴン ホテル & スパ

新千歳空港→クアラルンプール→ホーチミン

28歳で初海外でした。今まで行きたいなぁと思っていてもめんどくさがりなのでパスポート取ったり飛行機・ホテル予約したり、スケジュールたてたり考えるのがめんどくさくて、結局行くことがありませんでした。ちなみに『深夜特急』は学生時代に全部読んでました。

 新千歳空港からクアラルンプール国際空港を経由してタンソンニャット空港に着きました。入国審査を無事通れるか不安でちょっと緊張したものの何事もなく通れました。入国審査の人が劇団ひとりにめっちゃそっくりで無愛想だったけど、1日中パスポートにスタンプ押し続ける仕事してたらそらそうなるよなぁと同情した。

 空港から出るともわっとした熱気とクラクションの騒音を感じてベトナムに来たんだなと感じた。緑のメイリンのタクシーに乗って車窓からの見慣れない街の風景に感動しつつ、隙間を縫うように走っているすげぇ量のバイクと車に興奮しながら宿泊するホテルに向かった。日本と違ってクラクションはカジュアルに鳴らすものらしい。

f:id:kyamashiro:20210103161404j:plain

ホテル到着

 ホテルに着いてすぐ夕食を食べに出かけたがバイクと車が多すぎて横断歩道を渡るのにビビってしまった。だがこれは2、3日で慣れた。コツはバイクのドライバーを見ながら一定のスピードで歩くことである。そうすれば向こうがいい感じに避けてくれる。びびって急に走ったりすると予測不可能でかえって危ない。東京の人混みを歩くのと似てる。

f:id:kyamashiro:20210105191942j:plain
宿泊したシシリアホテル。

f:id:kyamashiro:20210105192007j:plain

 30分ほどどの店がいいか探しながらみんなでぷらぷらしていると、魚介類が店の前に並んで目の前で料理してくれるいい感じのお店があったため、そこで食べることにした。エスニックとしか言いようがない料理は結構美味しかった。

f:id:kyamashiro:20210105192101j:plain
良い感じのお店。

f:id:kyamashiro:20210105192135j:plain

f:id:kyamashiro:20210105192154j:plain

f:id:kyamashiro:20210105192245j:plain
普通にめちゃくちゃうまい。

f:id:kyamashiro:20210105192214j:plain
鳥の足。

f:id:kyamashiro:20210105192319j:plainサイゴンレッド。

 

次はバーに行き、ダーツしたり調子に乗って水タバコを吸ってみたがあんまり良さは理解できなかった。現地の若者は風船のようなものを吸っていた。

f:id:kyamashiro:20210105192347j:plain
たしかブイビエン通り。

f:id:kyamashiro:20210105192414j:plain
水タバコの道具。

f:id:kyamashiro:20210105192436j:plain
帰りにフォーを食べた。パクチーは苦手なので入れてない。

 

2日目

街を散策
10:00 ホテル発(空港付近へ移動)
11:00 取引先訪問&昼食
タンドン教会
ベンダイン市場
サイゴン大教会
中央郵便局
夕食(オフショアの取引先)
ホテル泊

 

街を散策

f:id:kyamashiro:20210105191232j:plain
ホテルからの眺め。異国な感じがして結構気に入っている。

f:id:kyamashiro:20210103114906p:plain
道端に落ちているものがヤシの実。 

f:id:kyamashiro:20210105191405j:plain

交通ルールは守りましょう的なことが書いてあるっぽいが、信号無視している人も多い。オフショアの人曰くだいぶ減ったらしい。 

f:id:kyamashiro:20210105192505j:plainスタバなう。渋谷のスクランブル交差点っぽい。

 

 

2日目はオフショアの取引先の会社へ訪問した。空港に近くて1階にスタバが入っている立派なビルであった。他の階にGMO関係の会社があったりIT関連の会社が入居していた。たぶんこのビル

お昼はオフショアのブリッジの人たちとご飯を食べてカフェでお話をした。 

f:id:kyamashiro:20210105192541j:plain
米粉の麺と、中にハンバーグみたいなのが入ったスープ。

f:id:kyamashiro:20210105192633j:plainベトナムのカフェラテは甘い。

 

午後は自由行動で市内をぶらぶらした。

f:id:kyamashiro:20210103161538j:plain

f:id:kyamashiro:20210103161618j:plain
タンディン教会。ピンクの外壁でコントラストがあるからインスタ映えするっぽい。

f:id:kyamashiro:20210105191500j:plain
中央郵便局。

f:id:kyamashiro:20210103161646j:plain
大聖堂。改修中だった。

f:id:kyamashiro:20210105191528j:plain謎の木。

 

夕食

夜は昼に訪問した取引先の人たちとご飯を食べた。ベトナム人は勝手に英語がペラペラだと思っていたけど、日本人と同じで英語が苦手だと知った。現地のエンジニアの人と英語で話したのだけど、発音が独特で何を言っているのかさっぱりわからなかった。最終的に筆談でやりとりしたのだけど、自分の英語もネイティブの人からこう聞こえているんだなぁと実感して、発音もちゃんと勉強しないとなぁと身にしみた。

f:id:kyamashiro:20210105191559j:plainニャーハンゴン。結構高級なとこっぽい。

f:id:kyamashiro:20210105192701j:plain

3日目

1日フリー

スイティエン公園
19:00-夕食ホテル泊

 

3日目は1日フリーだったので郊外にあるスイティエン遊園地に行った。

クレイジージャーニーという番組によく出てる佐藤健寿さんという方の『奇界遺産』という本の表紙になっている場所で興味があったので行くことにした。

f:id:kyamashiro:20210103120016p:plain
幹線道路の中央分離帯で普通に物を売っている。ヘルメットとサイドミラーは誰が買うんだろうか・・・。

 

スイティエン公園

f:id:kyamashiro:20210105191631j:plain
スイティエン公園の入り口。

f:id:kyamashiro:20210105191712j:plain
園のコンセプトはよくわからないけど仏教色が強いっぽい。

f:id:kyamashiro:20210105191735j:plain
人類の起源的な天井画。


所々お経みたいな音が流れている。

f:id:kyamashiro:20210105191812j:plain
ロード◯◯ザリング

f:id:kyamashiro:20210103150210p:plain
ドラ◯もん。

f:id:kyamashiro:20210105190411j:plain
謎のフルーツの軍団。

f:id:kyamashiro:20210105192737j:plain
パイナップル様。

f:id:kyamashiro:20210105190458j:plain
普通に重機が園内の道に置きっぱなしにしてある。

f:id:kyamashiro:20210105190307j:plain
怖すぎる。

f:id:kyamashiro:20210103160316p:plain
ベトナムはすでに8D。

f:id:kyamashiro:20210103152546p:plain

f:id:kyamashiro:20210103150406p:plain

f:id:kyamashiro:20210103150416p:plain
一人で観覧車に乗って一望した。

f:id:kyamashiro:20210105190536j:plain
広すぎて観覧車に乗って見たかったスポットを見つけた。

f:id:kyamashiro:20210105190659j:plainお目当ての巨大オブジェ。普通のプールで子供がたくさんいた。

f:id:kyamashiro:20210105190632j:plain
USJかな?

園内はかなり広くて端から端まで歩くのは結構大変だった。

f:id:kyamashiro:20210105191044j:plain
3日目の夜はSH Gardenというお店でうなぎが入った火鍋を食べた。

f:id:kyamashiro:20210103161752j:plain

f:id:kyamashiro:20210103161820j:plain
人民庁舎はライトアップは綺麗だった。

f:id:kyamashiro:20210103161117j:plain

f:id:kyamashiro:20210103161903j:plain

f:id:kyamashiro:20210105190844j:plainベンダイン市場は熱気があってよかった。

 

4日目

午前 街を散策
帰国

f:id:kyamashiro:20210103162329j:plainホーチミン像。

f:id:kyamashiro:20210103163236j:plain
多分偉人。

f:id:kyamashiro:20210103163037j:plain

 クアラルンプール空港で海外での最後の晩餐。

f:id:kyamashiro:20210103163328j:plain

帰国。
 

ベトナム旅行の感想。 

最高におもしろかった。信号無視上等だし、デパートの店員はスマホいじってるし、スイティエン公園ではチケット売りのおばちゃんが普通にチケット売り場のブースで昼飯食ってたし、お釣りちょろまかされたりしてとにかくゆるくて最高だった。

f:id:kyamashiro:20210103162411j:plain

f:id:kyamashiro:20210105190957j:plain

f:id:kyamashiro:20210103162224j:plain

とにかくドデカイ高層ビルのすぐ横にバラック小屋が同居していたり、パラソル立てて自転車で飲み物売ってたりしてダイナミックに発展中って感じがしておもしろい。 

f:id:kyamashiro:20210103163842j:plain

f:id:kyamashiro:20210103163918j:plain

写真整理してたらまたベトナム行きたくなってきた。今度はハノイに行ってみたい。

react-native-renameでAndroidのパッケージ名を変更する

ReactNativeでプロジェクトを作成するとデフォルトでcom.プロジェクト名となってしまう。

npx react-native init AwesomeTSProject --template react-native-template-typescript

この場合Androidのパッケージ名がcom.awesometsprojectとして作成される。

日本でアプリを作る場合、jp.domain.awesometsprojectみたいな名前で作ることが多いと思うが、手動でファイル内の値やパッケージ構造を変えるのはめんどくさい。
でもreact-native-renameならなんと自動で書き換えてくれる! github.com

$ npx react-native-rename 新しいプロジェクト名 -b 変更後のパッケージ名で変更できる

➜  AwesomeTSProject npx react-native-rename AwesomeTSProject -b jp.domain.awesometsproject
npx: 56個のパッケージを4.068秒でインストールしました。
Please try a different name.

プロジェクト名はそのままでパッケージ名だけ変更することはできないようなので、一旦別のプロジェクト名でrenameしてみる。

➜  AwesomeTSProject npx react-native-rename AwesomeTSProjectRename -b jp.domain.awesometsproject
npx: 56個のパッケージを3.475秒でインストールしました。
/ios/AwesomeTSProjectRename RENAMED
/ios/AwesomeTSProjectRename-tvOS RENAMED
/ios/AwesomeTSProjectRename-tvOSTests RENAMED
/ios/AwesomeTSProjectRename.xcodeproj RENAMED
/ios/AwesomeTSProjectRenameRename.xcodeproj/xcshareddata/xcschemes/AwesomeTSProject-tvOS.xcscheme RENAMED
/ios/AwesomeTSProjectRenameRename.xcodeproj/xcshareddata/xcschemes/AwesomeTSProject.xcscheme RENAMED
/ios/AwesomeTSProjectRenameTests RENAMED
/ios/AwesomeTSProjectRenameRenameTests/AwesomeTSProjectTests.m RENAMED
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProject.xcworkspace
Ignore above error if this file doesn't exist
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProjectRename/AwesomeTSProject.entitlements
Ignore above error if this file doesn't exist
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProject-Bridging-Header.h
Ignore above error if this file doesn't exist
/android/app/src/main/res/values/strings.xml MODIFIED
/index.js MODIFIED
/ios/AwesomeTSProjectRename/Info.plist MODIFIED
/package.json MODIFIED
/app.json MODIFIED
/ios/AwesomeTSProjectRename.xcodeproj/project.pbxproj MODIFIED
/ios/AwesomeTSProjectRename/AppDelegate.m MODIFIED
/android/settings.gradle MODIFIED
/ios/Podfile MODIFIED
/app.json MODIFIED
/android/app/src/main/java/jp/domain/awesometsproject BUNDLE INDENTIFIER CHANGED
/android/app/src/main/java/jp/domain/awesometsproject/MainActivity.java MODIFIED
/android/app/src/main/java/jp/domain/awesometsproject/MainApplication.java MODIFIED
/android/app/src/main/java/jp/domain/awesometsproject/MainActivity.java MODIFIED
/android/app/build.gradle MODIFIED
/android/app/src/main/java/jp/domain/awesometsproject/MainApplication.java MODIFIED
/android/app/src/main/AndroidManifest.xml MODIFIED
Done removing previous bundle directory.
Done removing builds.
APP SUCCESSFULLY RENAMED TO "AwesomeTSProjectRename"! 🎉 🎉 🎉
Podfile has been modified, please run "pod install" inside ios directory.
Please make sure to run "watchman watch-del-all" and "npm start --reset-cache" before running the app. 

希望のプロジェクト名とパッケージ名で再度実行する。

➜  AwesomeTSProject npx react-native-rename AwesomeTSProject -b jp.domain.awesometsproject 
npx: 56個のパッケージを3.366秒でインストールしました。
/ios/AwesomeTSProject RENAMED
/ios/AwesomeTSProject-tvOS RENAMED
/ios/AwesomeTSProject-tvOSTests RENAMED
/ios/AwesomeTSProject.xcodeproj RENAMED
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProject.xcodeproj/xcshareddata/xcschemes/AwesomeTSProjectRename-tvOS.xcscheme
Ignore above error if this file doesn't exist
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProject.xcodeproj/xcshareddata/xcschemes/AwesomeTSProjectRename.xcscheme
Ignore above error if this file doesn't exist
/ios/AwesomeTSProjectTests RENAMED
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProjectTests/AwesomeTSProjectRenameTests.m
Ignore above error if this file doesn't exist
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProjectRename.xcworkspace
Ignore above error if this file doesn't exist
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProject/AwesomeTSProjectRename.entitlements
Ignore above error if this file doesn't exist
mv: no such file or directory: /home/kyamashiro/workspace/AwesomeTSProject/ios/AwesomeTSProjectRename-Bridging-Header.h
Ignore above error if this file doesn't exist
/android/app/src/main/res/values/strings.xml MODIFIED
/index.js MODIFIED
/ios/AwesomeTSProject/Info.plist MODIFIED
/package.json MODIFIED
/app.json MODIFIED
/ios/AwesomeTSProject.xcodeproj/project.pbxproj MODIFIED
/ios/AwesomeTSProject.xcodeproj/xcshareddata/xcschemes/AwesomeTSProject-tvOS.xcscheme MODIFIED
/ios/AwesomeTSProject.xcodeproj/xcshareddata/xcschemes/AwesomeTSProject.xcscheme MODIFIED
/ios/AwesomeTSProject/AppDelegate.m MODIFIED
/android/settings.gradle MODIFIED
/ios/AwesomeTSProjectTests/AwesomeTSProjectTests.m MODIFIED
/ios/Podfile MODIFIED
/app.json MODIFIED
/android/app/src/main/java/jp/domain/awesometsproject/MainActivity.java MODIFIED
/android/app/src/main/java/jp/domain/awesometsproject/MainApplication.java MODIFIED
/android/app/src/main/java/jp/domain/awesometsproject/MainActivity.java MODIFIED
/android/app/build.gradle MODIFIED
/android/app/src/main/java/jp/domain/awesometsproject/MainApplication.java MODIFIED
/android/app/src/main/AndroidManifest.xml MODIFIED
Bundle directory was not changed. Keeping...
Done removing builds.
APP SUCCESSFULLY RENAMED TO "AwesomeTSProject"! 🎉 🎉 🎉
Podfile has been modified, please run "pod install" inside ios directory.
Please make sure to run "watchman watch-del-all" and "npm start --reset-cache" before running the app. 

ちなみにandroid/app/src/debug内のパッケージはrenameされない。動作に問題はないが気持ち悪いので修正しておこう。

LPIC Level1を取った

経緯

実務経験に勝る知識の付け方はないけど、実はよくわからないまま設定していたりコマンド打っていたりしていた部分も多かった(特にネットワーク)ので、Linuxの知識なら2〜3年で陳腐化したりしないから基礎から学んでみようと思ったことが動機です。

学んだこと

ざっと思いつく感じでココらへんの知識をつけれたことが良かった。今までLinux関係の記事読んでも全くわからないので飛ばすことが多かったけど、今は記事読んでも全くわからんとはならないので大げさかも知れないけど世界が広がった感じがする。

つらみ

些末なコマンドオプション覚えるのがつらかった。
削除系が-rなのか-dなのかとか混乱する。tarコマンドの-zがgzipはまぁわかるが-jでbzip2,-Jがxzとか全然関係ないやんけ!みたいなオプションはつらい。
コマンドオプションの略称を知ると覚えやすので、manコマンドでマニュアル見る癖がついたことは良かった。ここらへんはQiitaとか見ても-xがextractの略かどうかまでは書いてないので、マニュアル見たほうがはやい。

これから

とりあえず1年に1つ資格をとることを目標にしているので、来年レベル2を取れるようにしたい。LPICレベル3まで取りたいがIT系の資格って通信空手黒帯みたいになりやすいので、LPICレベル3持ってるくせにこんなことも知らねぇのかよってならないように、理論と実践のサイクルをまわしていきたい。実際、去年AWSSAA取ったけど実務でAWSなんて使わないからほとんど忘れてしまった・・・。ただ資格なんて使わないし役に立たないからと言って何もしないよりはマシやろとは思う。