今日もクラッソーネさんのお仕事でrails。sorceryを導入してるプロジェクトで複数モデルでのログインが必要になったらどうするのがいいんだろう?sorceryをやめる?sorceryを拡張する?

Image from Gyazo

お昼にペトロナスツインタワーの近くのチャイナタウンでニョニャ料理で有名らしいお店でランチ。

Image from Gyazo

ニョニャラクサは初日に食べた普通のラクサとは全然違って、クリーミーでマイルド。ココナツミルクを沢山入れたトムヤムラーメンって感じです。

謎のバイクスタイル

Image from Gyazo

街中で頻繁に見るこの上着を反対に着てバイク乗ってるスタイル。バイクで風当たるから寒いけどきちんと着ると暑いから逆に着て背中だけ開けとくみたいな感じかな?

毎週水曜日はフィヨルドブートキャンプでやっているスクラムのカリキュラムの振り返りミーティングとWebサービス進捗報告会。

Image from Gyazo

南国感を演出するためにわざわざココナッツを購入。6.5リンギット(175円)なので安い。

Image from Gyazo

コンドミニアムのすぐ横のスーパー、バナナが低いところに吊るしてあってぶつかって邪魔過ぎる。

Image from Gyazo

夕食はSOGOに入ってるちょっとお高めなところで麺類を食べました。SOGOも伊勢丹も客があまり入ってない気がします。

Image from Gyazo

この一面全部がディスプレイにになってるビル、部屋の窓からチラチラ見えてうざかったんですが、近くで見ると巨大。

自動車

Image from Gyazo

Bukit Bintangが新宿みたいな感じなのでマレーシア全体の車の感じとは違うと思いますが、6割がマレーシア国産メーカーのProtonとPeroduaの車。どっちも初めて見ました。それぞれ三菱とダイハツの技術支援を元にできたらしく、Grabで乗った感じも日本車みたいでロシア行った時のLadaとかと比べたら凄く普通。

後はToyotaが沢山と他の日本車メーカー・Mercedes・BMWって感じでした。他のヨーロッパ車はほとんど見ない。

東南アジアは車の運転が非常に荒いと聞いてたんですが、中国のシンセンに比べたら全然マイルドで僕としては全然OKな感じ。

ただ、気になったのが、道に歩行者用のスペースがあんまり無いところ。歩いてるとすぐに歩道が途切れて車道を歩くしかないパターンが沢山。

今日は週3日でお手伝いさせていただいているクラッソーネさんのお仕事の日。ミーティングも2つありましたが、ネットの回線は問題なさそうでした。

Image from Gyazo

お昼は伊勢丹も入ってるLot 10に行って念願の金蓮記のホッケンミーを食べました。

Image from Gyazo

味はオイスターソースの焼うどんです。僕はこういうの好きなので大満足。マレーシア来てから野菜をあまり食べてない気がする…。

Image from Gyazo

仕事が終わってから6階にあるプールに。昼間は子供が沢山いたんですが、夜は静かでいい感じでした。日本だと海もプールも全然行かないので久しぶり。すごく気持ち良かったです。

気候が一年中真夏って感じなので、僕らでいえば温泉入るノリでプール入るのかな。

飲み物

Image from Gyazo

初日にSarsi(サーシ)ってやつがドクターペッパーぽい見た目が気になって飲んだらクッソ不味い。調べたら世界一不味い飲み物として有名だそうです。味は完全にリステリンです。飲んでいいものとは思えない。

これがトラウマになってジュースで冒険するのを控えるようになりました。

Image from Gyazo

迷ったら100 Plus(ハンドレッドプラス)が無難。薄めのスポーツドリンクに炭酸が入ってる感じでとても美味しい。炭酸は要らないけど薄めのスポーツドリンクが好きなので嬉しいです。

今日から仕事ということで気合を入れています。

Image from Gyazo

前日からいろいろ買い足したおかげで快適環境ができました。

Image from Gyazo

(ガラスのテーブルでレーザー式のマウスが動かないので紙を置いている)

いつものキーボードとマウスだとやっぱり快適で嬉しい。

マレーシアの日本との時差は1時間ですが、勘違いしてミーティングとかに遅れるとまずいのでメニューバーに選択したタイムゾーンの時計を置くClockerというアプリを入れました。

今日は土日で溜めてしまったフィヨルドブートキャンプの提出物のレビューや日報の確認をメインに仕事。

Image from Gyazo

昼はトリップアドバイザーで評価の高かったBurger on 16というハンバーガー屋に行きました。フレッシュな感じで美味しかったですね。

Image from Gyazo

2人で1200円で、Shake Shackの半額ぐらいですが、こちらとしてはお高い感じで白人系の人しかいませんでした。

夜には、マレーシアはインド系の人も多いためカレーも本格的と聞いたのでインドカレーのお店へ。

Image from Gyazo

ナン・カレー・チキン・野菜のおかず2品のセットが450円ぐらい。辛さも程よく、会社の近くにあったらランチで食べに行きたい感じ。

明日の仕事に向けてクアラルンプールの秋葉原と言われるLow Yat Plazaでマウスや変換器系を購入。

Image from Gyazo

真ん中が吹き抜けのビルにコンピューター系のショップが集まってる形式。深セン華強北もこんな感じのビル多かったですね。ビル周辺の地域も小さい店の前でドローン飛ばしてる感じも小さい華強北って感じ。

一番でかいショッピングモールのPavilionも行きましたが、高級ブランドモールはどの国も同じですね。僕はどこ行ってもユニクロやZaraで買ってしまうので代わり映え無し。コンドミニアムのプールに入るべくZaraで水着を購入。

Image from Gyazo

夜は遅くなったので近くの店で食事。僕は屋台みたいな典型的なソース焼きそばが大好きです。日本だとコンビニでも塩焼きそばとか台湾風焼きそばとかしか置かなくなってきて腹を立ててたわけですが、ミーゴレンは焼きそば感満載で最高。ミーゴレン、妻が頼んだドーサ、タンドリーチキン、飲み物二つで650円ぐらい。安い!

仕事し易い国を探して試しに色々見てみようと考えています。まずはコンドミニアムのコスパが良いとの噂のマレーシアに来てみました。

8日間ほどの滞在で、平日の5日間をどのぐらい仕事に支障が出ずにできるか試してみる予定です。

行きの飛行機はエアアジアで、今の時期は人が少ないらしくチケットもすごく安かったんですが、飛行機内も本当にガラガラで、みんな好きな場所に移動したり横になったりしててすごく快適でした。

AirBnBで借りた部屋はとても快適でした。景色重視で39階の部屋を借りただけあって眺めがすごく良いです。クレーンの動いてるビルばかりで建設ラッシュ感がすごい。

場所はBukit Bintangというショッピングモールとかがたくさんある栄えてる感じのところです。(あまり調べてない)

Image from Gyazo

Image from Gyazo

散らかしているので写せてないですが、キッチンとダイニングもあって十分暮らせる感じです。これで1泊4000円ぐらいなのでコスパいいですね。賃貸で借りたらどのくらいなのかとかも調べようと思います。

初日は土曜日で夕方に着いたのでコンドミニアム内の施設の探索も明日にしようと思います。

Image from Gyazo

夕食は何故かアイリッシュレストランでパッタイとフィッシュアンドチップスを食べて終了。

Image from Gyazo

有名なアロー通りの屋台も通りましたが、妻がお腹を壊すと大変なので最終日付近で食べる予定。(僕自身は何食べても結構大丈夫)

仕事は部屋でもできそうですが、コワーキングスペースがたくさんあるみたいなので月曜日までには調べておきたいです。

フィヨルドブートキャンプというプログラミングスクールで初めてのPRに対するレビューをたくさんやっています。これらの指摘は世界中で行われていると思うので無駄が減るように書きました。

Files changedを確認したか

Image from Gyazo

真っ先に注意したい点。

ローカルの自分のエディタ上で確認していたとしても、PRを作ったら必ずFiles changedを確認する癖をつけよう。GitHubのソースコードビューワーの機能で色々と気づける点もある。

明らかにFiles changedを一回も見てないなというPRはレビュワーもそれと分かります。

lintを通しているか

rubyだったらrubocop、jsだったらeslint

どういうルールが良いかという高度は話題は置いておいて、まずはlintを通しているか否か。

ファイルの末尾に改行があるか

これ

Image from Gyazo

どのエディターでも設定で自動的に入るようにできるので設定すること。

なぜ最終行に改行が必要なのか - komagataのブログ

同じコミットログが続いていないか

適切な文章などの高度な話題以前に明らかに適当になっている場合がある。コミットログというのはちゃんと見られるものだということを理解しよう。

コミットログが英語/日本語になってないか

プロジェクトのルールに合わせましょう。フィヨルドブートキャンプでは統一されていればどちらでもいいです。

コミットログが雑になってないか

modifyだけ、追加だけは後から見た人が困るので駄目。困る人には1ヶ月後の自分も含まれる。

コミットしたユーザーアイコンがOctcatになっていないか

gitクライアントに設定したemailアドレスがGitHubのユーザーのメールアドレスと違う場合にこうなる。

他のチームメンバーからすると「謎のアイコンの人がコミットしてる!」という見た目になる。

これをやると他のメンバーに「ああ、普段コード書いてない(GitHubを使ってない)人なんだな・・・」という生暖かい視線を浴びる羽目になる。

不要なファイルをコミットしてないか

.DS_Store(Macのみ)とかxxx~(viのみ)とかその人にしか必要ないファイルを含めてしまってないか。開発に参加するみんなに必要なものだけを含めるようにしよう。

無意味なファイルがないか

generatorが作成した無意味なファイルは削除しよう。実装のないmoduleとか、中身のないtest、fixturesとか。

「これはgeneratorが勝手に作成したんで」

といってファイルがカオスになってるプロジェクトは誰も触りたがらない。

一つ一つどんな意味を持っているのか調べよう。

gemのgroupが適切か

testでしか使わないgemがgroup無しで全groupで読み込まれている。必要なところだけにしよう。

不要なrespond_toがないか

jsonでアクセスする必要が無いのにscaffoldのコードをそのままで残っている。htmlだけが必要ならrespond_toformatは削除しよう。削除するときにrespond_toformatが何をやっているのか調べた上で消すのも忘れずに。

何でもリファクタリングと言ってないか

リファクタリングはプログラムの振る舞いを変えずに内部構造を変えることなので、ちょっとした修正という意味で使ってはいけない。

秘密の情報がコミットされていないか

oauthのsecretとか。コード中では環境変数にしておこう。

これをやると、gitで過去を修正したとしてもGitHubのキャッシュに残ってしまい、完全に消すにはGitHubのサポートに連絡するとか面倒なことになる。

チームメンバーが「やっちまったな・・・」という顔になる。

.gitignoreは適切か

.DS_Storeはmacだけのファイル。.ideaはJetBrainsのエディター独自のファイル。そういった特定の環境の人向けのファイルは.gitignoreに含めるべきじゃない。

プロジェクト毎の設定じゃなくて自分のマシン固有の設定に書くべき。

大量の依存gemがコミットされていないか

gemのインストール場所をvendro/bundleとかにしてあって、その中にある大量のgemのファイルがコミットされてしまっていないか確認すること。

ネイティブバイナリが含まれたgemもあるので環境によって違うので各自がインストールするものです。

マジックナンバーが無いか

これ。

マジックナンバー (プログラム) - Wikipedia

メソッドが長すぎないか

「1メソッドは五行以内に収めるべし」というSandi Metzルールというものがあります。

そこまで徹底しなくて良いですが、何十行もあるとさすがに見辛いので修正が必要です。

綺麗な設計を身に付けるためのSandi Metzルール | A-Listers

CIをパスする前にレビュー依頼をしない

自分は何にも変えてないから通るはずだと過信しない。

理解せずコピペしてないか

ググった内容を自分のコードに取り入れることは問題ありません。しかし、その内容を自分で理解せずそのまま使うのはよくないです。理解していないコードでは何が起きるか分かりません。

日本語の作文をするのに似た内容だからといって他の本からそのまま取ってきたら違和感のある文章になってしまうのと同じように、プログラムも変数名や構造を自分のプログラムに合わせずにそのまま使えることはほぼありません。理解しているプログラマーにとっては明らかに違和感のあり無駄のあるコードに見えます。

なので、

「自分の書いたこの部分が何をやってるか理解してる?」

と先輩に聞かれると言うことがよくあります。

意味を理解した上で自分のコードの文脈に合わせた内容に変えて使いましょう。

komagata: やめたほうがいい。

質問者: これこれこういういいところがあるのですが、いかがですか?

komagata: やめたほうがいい。

以下ループ。

ってことも多い。

komagata: やめたほうがいい。

質問者: これこれこういういいところがあるのですが、いかがですか?

komagata: やめたほうがいい。

以下ループ。

ってこと多い。

今年の弊社(合同会社フィヨルド)はアップダウンの激しい年でした。

今年前半は去年末にオフィスの引っ越し・リフォームでお金を使い過ぎてしまい、必死に仕事をしてました。

その後5月にプログラミングスクールのフィヨルドブートキャンプを有料化した後は順調に生徒数が増えて、会社のお金的には安定しました。

求人サイトを作りたい

2020年はプログラミングスクールの流れとしては「スキルはあるけど業務未経験の人」のためのエンジニア求人サイトを作ろうと思っています。

プログラミングをスクールなどで勉強してスキルは十分でも業務未経験というだけで足切りされてしまう場面が多いからです。

プログラミング未経験 + 業務未経験で採用してもらえないのは仕方ないです。勉強してくださいって話です。ただ、それとプログラミングを勉強してスキルを得た人が「業務未経験」という言葉で一括りにされるのは、求職者・企業の双方にとってもったいないとおもいます。

その求人サイトを見にきて、スキルも無いという人はぜひフィヨルドブートキャンプへという流れです😄

生活・働き方

フィヨルドに入ってからずっと自社サービスで食っていきたいと思ってやってきましたが、目標を達成しつつある今、自分はどういう働き方がしたいのか、どういう生き方がしたいのかを改めて考える必要があり、まさに今模索中です。

お仕事的には求人サイトを作った後も作りたいWebサービスは常にあるので作っていきたいです。生活の方ではどこか海外に長期滞在しながら働けないかなと考えています。

僕の趣味はプログラミングとゲームと最近は旅行です。夫婦で旅行が好きなので長期滞在含めて、海外多めでそこから仕事していく方法を模索しています。

まずは1月にマレーシアに行って様子を見る予定です。