Image from Gyazo

フィヨルドブートキャンプのrailsアプリをherokuからGCPのCloud Runに移行しました。

GCPに詳しい@bluerabbit777jpさんにやってもらいました。僕もこれを参考にしながら他のサービスも移行しようと思います。

この辺りのサービスの機能は日々進化してる感じなんですが、Cloud BuildのトリガーががGitHub Reposの特定のブランチにpushされたら動くというのに対応したので、masterにpushされたらCloud BuildでDocker ImageをビルドしてCloud Runにデプロイされるという感じです。

設定はちょっと面倒ですが、好きなDocker Imageをデプロイすればオートスケールってのは自由度が高くていいですね。

bootcampの規模では常に1インスタンスで夜中に1〜2回ぐらい0インスタンスになる感じです。0からの立ち上がりの初回は16秒ほどかかっています。最低インスタンス数の設定項目自体はあるのでもうすぐ有効になりそうです。そうなったら1にしておけはbootcamp的には問題なさそう。

Herokuからの移行で一番のメリットはやはりTokyoリージョンが近くて速いって点です。基本的に全てのページで200〜300msぐらい速くなった感じです。他の部分が遅ければ200msぐらいすぐに遅くなっちゃうのでアプリの高速化はやってましたが、全てのページが一律早くなるのは体感できるぐらいでした。

キャッシュどうすんだとか、cronどうすんだとかあるあるな点についても順次対応しつつブログに書いていこうと思います。

「映画好きを名乗るからには見とかなきゃいけないとか、斬新とか通好みとかじゃなくて、単純に一番面白い映画ってなんですか?」

って聞くと、俺みたいな映画に詳しくないヤツが見ても「う〜ん、難しくて良くわからなかった」となる映画を教えられがち。(小説でも同じ)

すごく映画詳しいと思われる@machidaさんに昔この質問をした時、

「 バックトゥザフューチャーじゃないすかね。」

と即答された。

こりゃ信用できるわぁ〜

fjordcop作った - komagataのブログ

これをgemにしました。

rubocop-fjord

gemにした理由は、gistだと適当感があってこれにしたがってくださいと言い辛いからです。 メンテについては腹を括ったのでやっていきます。

とにかくエディタ論争とこういうルールについての議論をするのが辛い。

プログラミングスクールで使うことを念頭に置いているので他にも教育やスクールをやっている方には便利かも知れません。

group :development do
  gem 'rubocop-fjord', require: false
end

.rubocop.ymlにこう書く。

inherit_gem:
  rubocop-fjord:
    - "config/rubocop.yml"
    # - "config/rails.yml"

ネット回線をNURO光に移してから問題無く使っているんですがどうせだったらその速さをもっと味わいたいということでルータのある部屋から作業部屋まで有線で繋いてみました。

Image from Gyazo

Image from Gyazo

俺の配線の苦労の跡を見よ!

Image from Gyazo

ウェーイ!

NURO光の僕のプランとしては普通ぐらいの速さが出ているようです。

先月までは90Mbpsぐらいで生活していましたが安定はしていたし作業用のmacを使っている限り大した違いは感じないです。

明日以降のビデオ会議での活躍に期待したいと思います。

厳密には昇降デスクの脚であるFlexiSpot E3を書いました。

元々の机は作業部屋に妻と並べてぴったりのサイズになるように天板を発注して、脚はIKEAのOLOVを使っていました。

Image from Gyazo

教えてリモートワーク komagataさんの場合

その脚だけを変えた感じです。

座った状態

Image from Gyazo

スタンディング状態

Image from Gyazo

(高さが変わってくときでも猫は意外と動じない)

使い心地

まず、スタンディング状態だと座った状態のように作業に入るときに、

「さて、作業するか…」

みたいな心理的なハードルが低いです。

フラッと立ち寄れる作業場所みたいな感じなのでこまめに気楽に作業できる気がします。

また、やはり座った状態もスタンディングも同じ状態だと疲れますが、体の使ってる場所が違うので切り替えると引き続き作業できるようになって休まず作業できる時間が長くなりました。

数日使ってますがかなり気に入りました。

電動+メモリ機能付きを買え

そして強く感じているのが、「電動+メモリ機能(設定を覚えておいてくれて1ボタンでその高さになる)」がなかったら動かさなくなるだろうなということです。

まず自分のしっくりくる高さに合わせるのはかなりシビアなので、切り替えるたびにそんなことする必要があったらストレスが溜まります。(微妙にずれたまま作業するのもすごいストレス)

1日の中で何度も切り替えるものなので手動でやるのも高さの変更が少しでもダルかったら使わなくなると思います。

ポチッと押したら自分のベストの高さにピッタリ合うようになってると楽しいし気持ちいいです。

気になる点

それでも唯一気になっている点が、座ってる状態とスタンディング状態ではベストなカメラの角度が違う点です。

ビデオ会議で使うカメラの調整がいちいち必要になるのが少し面倒ですね。

今の家に3月に引っ越してから約5ヶ月。途中やりとりで何度もブチギレそうになりながらやっとNURO光が開通しました〜🎉

前の回線(NTTフレッツ光マンションタイプ)

Image from Gyazo

NURO光

Image from Gyazo

「わーわー」

84Mbpsから560Mbpsと約6倍も速くなって大満足です・・・と言いたいところですが・・・。

ルーターのメーカー問題

Image from Gyazo

いや、全然問題ないんですがなんかちょっと・・・

回線のせいではなかった説問題

元々Google Nest Hubを使ってメッシュネットワークを組んでいました。(本体+拡張ポイント2個)

NURO光のルーターは無線LAN機能が付いていたのでそれを使ったら560Mbpsでした。もちろん回線がNUROになったのでNUROの回線+Google Nest WiFiのメッシュネットワークで速くなるぞ〜と思ったんですが、NUROのルーターの無線LAN機能を切ってGoogle Nest WiFiの無線LANを使うことにしたところ、以前と同じ80Mbpsしか出ませんでした。

これはもしや、元々回線のせいで遅かったのではなく、Google Nest WiFiが問題だった説が・・・。

まとめ

結局NUROのルーターに付いてる無線LANで家中どこでも速かったので嬉しいは嬉しいのですが、Google Nest WiFiが無駄になったのが微妙です。

Google Nest WiFiの無線LAN機能をPCやスマホからは使ってないですが、妻がキッチンでGoogleアシスタントとして使うので一応残してあります。(Nest Hubが一個あれば良かった説)

ここ最近で一番感動したサービスきました。(rono23に教わったサービス)

ビデオ会議のブッキング面倒問題

コロナでビデオ会議が増えてます。でもビデオ会議のブッキングはクッソだるい。

「私達の可能な日時を調整して3つほど候補日をお伝えします。」(本当はもっと大丈夫な時間あるけどキリがないので3点だけ伝える)

(社内の参加者で調整…)

  • 08月3日(月) 10:00〜12:00、13:00〜15:00
  • 08月5日(水) 13:00〜15:00
  • 08月6日(木) 10:00〜12:00

上記いずれかでご都合の良い時間帯があればお知らせください。

「私どもも社内で調整して折り返します」

(お客さん側の参加者間で調整…)

08月5日(水) 13:00〜15:00

こちらでお願い致します。

では当日、宜しくお願い致します。

コレ。

何ターンもやりとりが発生してやってられない。

気軽にビデオ会議ができない。もっと楽だったらテキストよりビデオで話せばすぐ解決することも多いのに。

神サービス

それを解決してくれる神サービスがyou can book me

こういうブッキングがURLを1つ送るだけで完了する。

Googleカレンダーと連携できて、スケジュールが入ってる場所は選べないようにしてくれる。 (自分がアクセスできてる社内の他の人のカレンダーもまとめて考慮してくれる)

Image from Gyazo

お客さん側は自分の都合のいい時間を選んで、

Image from Gyazo

このように登録すると、俺のGoogleカレンダーに予定が入る。(申し込んだ方のカレンダーにも簡単な手順で登録できる)

Image from Gyazo

zoomの場所も自動で決まっている。

もちろん登録されたタイミングで俺にメールでの通知も来る。

神だわ。

ちょっと気になったのでタックスヘイブンのマレーシアのラブアン法人設立のオンラインセミナーに出てみました。

まとめ

  • 法人所得税は3%。
  • 最近いろいろ厳しくなって、その要件をクリアするには年200万ぐらい経費が必要だよ。(それ以上の節税メリットのある規模じゃないと意味ないよ)
    • ラブアン島で2人以上雇用していくら以上使うべしってルールがあるけど、それをクリアするためのパッケージを現地の会社と作成中だよ。
  • MM2Hビザはリニューアル予定なので来年ぐらいまで今はストップしてるよ。
  • 就労ビザのために設立するのはおすすめしないよ。(MM2Hビザの復活を待った方がいいよ)
    • 月給25万以上ぐらいの人にしかビザがおりないよ。
  • 日本で利益が出た仮想通貨を換金するために海外法人を作るのはかなり難しい(日本の国税庁がかなり動きを把握しちゃってるから)ので諦めた方がいいよ。
    • 財団法人を作るって方法があるけど要相談だよ。

法人については事前に謎に思ってた部分は解決しました。

個人は?

今度は個人の税金について気になってきました。

例えば、日本の法人に所属してマレーシアに移住した人への下記の税金はどうなるんだろう?

  • 個人所得税
  • 住民税(マレーシアでは無し)
  • 年金
  • 健康保険
  • 雇用保険

オンラインセミナー

zoomで基本は聞くだけ。(マイク・カメラは全員強制OFF)

付属のチャットでリアルタイムで質問できるって型式でした。

技術以外のオンラインセミナーって初めて出ましたが、複数持ってた謎が1時間で解決したので自分で延々と調べるよりコスパいいなと思いました。今後ライトにいろんなのに参加しようかなと思います。(怪しいの多いので注意しながら…)

フィヨルドブートキャンプのレビューでいつも書いてることシリーズ。

基本的にはこちらのrisacanさんの内容と同じです。

コミットメッセージの書き方. 適切な情報を残そう | by risacan | Medium

この内容から下記の二つを引いた感じです。

  • 先頭を必ず絵文字ってのは基本の考えとしてはない方が良さそう(プロジェクトで決めてこれを採用するのは全く問題ない)
  • 最初だけ英語ってのは全体を英語か日本語に統一した方が良さそう。

ずっと残るものだからあまり流行に左右される書き方はしない方がいいかなと思います。

また、あまりシステマチックなルールにするとコミットメッセージの基本である「何を考えて書いたのをわかりやすく説明する」という姿勢が弱まっちゃいそうだなという思いもあります。

フィヨルドブートキャンプの「自分で考えたWebサービスを作る」のカリキュラムでいつも言ってることまとめ。

「作ってみました」と「リリースしました」は違う

「作ってみました」と言うつもりで作ったWebサービスと「リリースしました」と言うつもりで作ったWebサービスは大きく違います。

「作ってみました」はお試し・実験のような意味合いで、自分の実力イコールではないことになります。下記のようないろいろな言い訳のできる余地がある言い方です。

  • 技術の実験なのでデザインは本気ではない。
  • 自分以外の誰かに使ってもらおうとは思ってない。
  • ターゲットは考えてない。
  • マネタイズは考えてない。
  • 本気で作ってない。

それに対して「リリースしました」は下記のように色々と突っ込まれることが予想されるので、それに対して「現時点での全力である」と言えるように作ることになります。

  • 「使いづらいんじゃない?」
  • 「デザインがダサいんじゃない?」
  • 「コンセプトが悪いんじゃない?」
  • 「名前(サービス名)がダサいんじゃない?」
  • 「誰が使うの?」
  • 「これがあなたの作品?」

Webサービスはネットにアクセスできる誰もが1タップで見れるので、業界人だけが見るわけじゃありません。かなりの確率でSNS経由で学生時代の友達や家族も見ます。そう言った視線を想定して全力で作ったモノと「作ってみた」モノはとてつもなく違います。

マンガでいえば「大学ノートに鉛筆で書いたマンガ」と「漫画原稿用紙にペン入れしてトーンを貼った18ページのマンガ」ぐらい違います。

業界人の見方

Webサービスを作ったことがある人の目も「作ってみた」ことがある人と「リリースした」ことがある人では違います。経験者はその二つがどれだけ違うか分かっているので、「作ってみました」ではなく「リリースしました」と言い切っている人に対する態度は非常に優しいです。

「リリースした」だけで内容よりまず先に「すごい」「おめでとう」です。内容に対する意見はその後です。

就職面接での面接官の見方も違います。「リリースした」人は作り上げる技術だけでなく、サービスのコンセプトやデザイン、UIなどとことん考えたことがある人であると期待できます。

実際に業務でWebサービスを作る時にはそれぞれの専門職の人と協力しながら作りますが、その時にも自分なりに考えて、大変さを分かっていることは生きるはずです。