この間発売されたMacBook Pro16インチをM1 Maxにして買いました。

Image from Gyazo

今までのように端が薄くなってなくて、角張ったボディはPowerBook G4みたいでかっこいい!

Image from Gyazo

左から13インチ、16インチ、17インチ。

今まで主に13インチを使ってきたので16インチはデカい!ただ、Windowsで使ってるAlienware X17よりは小さいのでちょうどいいぐらいに感じます。

今まで使ってきた13インチの方ではDiscordで画面共有してビデオチャットすると他のアプリが重くなったりしてたんですが、その辺りが早くなってれば嬉しいですね。

妻のMacBook2017のバッテリーが膨らんで蓋がピッタリ閉まらなくなってしまったいわゆる妊娠状態になってたので新しいM1のMacBookAirを買いました。

Image from Gyazo

移行アシスタントで移行中の図。

フルモデルチェンジした最初のMacBookだったので確か26万ぐらいして割高感があったんですが、今度のMacBookAirはオプションかなり盛っても14万ちょっと。

触らせてもらったらやはりSafariとか純正アプリがクッソ速い。妻が使ってたソフトは一般的なものばかりなのでM1になっても何の問題もなく使えてるみたいです。

僕のMacはまだIntelなので16inchが出たら買おうかなというところ。M1速そうなので楽しみですね。

年初から毎日1回胃が痛くなる時間帯があって、病院では逆流性食道炎と診断されてました。定期的に通院してたんですが一向に良くなる兆しが見えず、流石に半年経ったので胃カメラでチェックすることになった。

胃の荒れてるのを治す薬をずっと飲んでても全く変化なかったので自分の中では胃潰瘍とか胃癌とか何かありそうと思ってましたが、胃カメラやったところそういったものは見つからずひとまず安心。

映像を見ながら説明してもらいましたが、普段から胃に優しくしてるつもりが、とにかく赤く滲んでる場所がたくさんあってかなり荒れてました。また胃の下部に白い部分があって、これも胃炎でピロリ菌がいるかもとのことでピロリ菌の検査もやりました。ピロリ菌を治療したら治ったりすればいいなあ。

Image from Gyazo

ペパボエンジニアとメンターが語る、「エンジニアとして働くということ」

今週8月26日に開催されるペパボエンジニアとメンターが語る、「エンジニアとして働くということ」というオンラインイベントに登壇することになりました。

主にこれからプログラマーになりたい人・就職したい人やなったばかりの人へ向けたイベントです。僕はプログラミングスクールをやっていて大事だなと感じていること(+フィヨルドブートキャンプのCM)について話す予定です。

最後にペパボさんへの就職やフィヨルドブートキャンプへの入学について直接質問できる時間が用意されるようなので、ペパボさんへの応募を考えている人や、フィヨルドブートキャンプ気になってる人は是非ご参加いただければと思います。

フィヨルドブートキャンプをWindowsマシンでも受講できるようにしました。

WindowsではWSL2を使うためWSL2が動くマシン限定ではありますが。(最近のマシンならほとんどOK)

WSL2はかなり優秀で速度もMacと同じか速いぐらいです。僕の場合はMacより性能がいいWindowsマシンでの体感ですがHyper-Vのおかげか圧倒的にWSL2で動かしたRailsの方が速いです。

独自のinitに変えられてるなど若干の違いはありますが基本的に直接入れたLinuxと同じ感覚で使えます。むしろWindowsとの連携機能が多数あるので便利になってるところの方が多いぐらい。

ただ快適なのは経験者の方の話で、これから勉強を始める方にとっては若干敷居が高いので難易度的にはまだMacを一番オススメしております。

フィヨルドブートキャンプをやる上でのOS選び | FJORD BOOT CAMP(フィヨルドブートキャンプ)

まあプログラマーの実際の仕事ってのは純粋なプログラミングというよりこういう環境作りでの苦戦とか、何回ハマったか、バッドノウハウをいくつ知ってるか的なところがあるのでどのOSがいいのかと試行錯誤するのもいいとは思います。

スクールの内容をWindows対応にするのは意外と大変で、最初はMacのBoot CampでWindowsを入れてやってたんですが、色々と使いづらいところもあってWindowsマシンを買ってやりました。

Alienware x17買った - komagataのブログ

macとWSL2環境の違い(macとLinuxの違いも含む)は色々あって下記の連載を全部Windows+WSL2用に書き換えたりしました。

「本当は怖くない黒い画面」入門(Windows + WSL2編)

/binの中身を見てみる箇所があるんですが、macと違って/binがディレクトリじゃなくて1ファイルになってるので説明が難しくなっちゃったり、デフォルトのディレクトリが/mnt/c/Users/komagaになってたり(ホームディレクトリはまた別)、デフォルトシェルがmacはzshだけどbashだったり、経験者の人にとっては、

「あ~この辺違うのね」

で済む点でも初めて知る方にとっては複雑な経緯を回避して説明するのが難しです。まあmac用の教材を用意するときもLinuxとの違いで困ったのでどっちもどっちです。

未だに僕はM1 Macを持ってなくてトラブル時にはM1 Macを持ってるメンターの方に頼らせていただいてますが、次のMacBook Proが出たタイミングで購入してそちらの教材も作っていきたいと思います。

FF2ピクセルリマスターをクリアしました。

Image from Gyazo

Image from Gyazo

FFのピクセルリマスターシリーズが予約できるようになったときにSteamで全部予約しました。

特にFF2が好きなのでFF2を最初にやりました。FC版、PSP版をやったことあるのでそれとの違いを書きたいと思います。

良かったところ

オートバトルモード!これは演出のスピードもアップしてとにかくサクサクできてレベル上げも苦にならなくなるのでとても良かったです。FF12の倍速モードを彷彿とさせますね。

またPSP版でも同じですが全体化魔法がほぼ同時に全員にかかる(くらう)のでサッと終わるのも良いです。FC版ではレッドソウルなどにクッソ遅延行為をされてましたがPC版ではこいつらの憎さが激減です。

FC版・PSP版との主な違い

グラフィックは望んでたものそのもので、魔法などのエフェクトまでピクセルなのは驚きました。ただPSP版では魔法エフェクトは単体・全体で別のものになってたのでそれは欲しかった気がします。

ベースはPSP版ですがSORや秘紋の迷宮などの追加要素は無いです。ストーリー的にSOR無しはちょっと悲しいですが、専用武器など本編のバランスがめちゃくちゃになるし、終わってみた感じは有りかもと思いました。

一番大きな違いは「後列にも攻撃が当たる・後列からでも攻撃できる」点と「逃走不可エンカが無い」点です。

これはかなりゲームバランスに違いがでるので今までのFF2をやってきた身としては新鮮で新しい考え方が求められるので面白いです。

キャラを後列においてもおそらく回避率が上がってるだけで普通にくらいますし、後列からでも命中率が下がるくらいで攻撃できます。(弓以外でもすべての武器で)

こうなっているので、1人だけ前にだして攻撃を集中させて回避回数を育てて、後列から魔法を使うという戦法が使えません。普通より鍛え気味でクリアしましたが最終回避回数はみんな3ぐらいだったので1人残して全員殺しておくとかかなり意識的に回避回数上げをしない限り敵の攻撃を食らっちゃいます。

そんなんだったらクアールやデスライダーどうすんの?と思うかもしれませんが、そこは「逃走不可エンカが無い」という点が全てカバーしてくれます。雑魚戦は全逃げすればいいんです。

唯一宝箱エンカ(逃げられない)と先制攻撃を食らったときだけが大変ですが、素早さが十分あれば確定先行が取れますし、宝箱エンカできついのは1つだけでパラメキア城のサンブレードが入ってるラミアクイーン+クアールx5だけでした。このエンカは厳しいですが、素早さがあれば先行できるので「どうのすなどけい」や「ねむりそう」を使ってなんとか切り抜けられました(3回ぐらい全滅した)。FF2の麻痺や眠りは簡単に治らないのでラミアクイーン眠り効果付き殴りもほぼ死と同じできつい。試してないですが、おそらくウォールも攻撃の追加効果は防げないので役に立ちません。

あと気になったのが2本あったブラッドソードの1本のフィン城地下のヤツがリッパーナイフに変わってたところです。これはPSP版もそうだったかもですが、たしかにブラッドソードは1本だけの方が良いよなと思い直しました。

少しのバグ

クリアまでに1回だけフリーズしたことがあって気になりましたが、このぐらいはいいやって感じです。

感想まとめ

この感じだと他のピクセルリマスターも非常に期待できそうなので楽しみです!

フィヨルドブートキャンプの内容をWindowsにも対応させるべくDellのAlienware x17を買いました。

Image from Gyazo

17インチはデカイ!

これまでは(Macの)Boot Campを使ってWindowsを使ってたんだけどやっぱりイマイチ遅いし、Mac上で動かすとやはりカメラやオーディオなどがうまく動かなかったりしてました。

純粋なWindows環境はやはり快適!GPUが早いのでサクサクしてるし、Windows Helloでのカメラでのログインもしっかり動くし、Bluetoothオーディオもばっちり(あたりまえだけど)。

WSL2上のインストールやコンパイルもすごく早くて快適。

ついでにサイバーパンク2077も動いて嬉しい。

プログラミングスクールのフィヨルドブートキャンプを運営しています。

プログラミングに限らずですが、メンターの役割の人が、

「生徒の人から質問がきた時になぜすぐに答えを即答してくれないのか」

について書きたいと思います。

質問している人にとっては、「なんですぐ答えを即答してくれないんだよ、ヒントとかいいからさ。ウゼェ〜」と思っちゃうかもしれません。

そこでプログラミングのバグを殺人事件、バグの原因を犯人に例えて書いてみたいと思います。

プログラムが動かない殺人事件

新米プログラマー「このプログラムが動きません、なぜでしょうか?」

新米捜査官「この殺人事件の犯人がわかりません、誰でしょうか?」

ベテランプログラマー「15行目のiの変数が原因ですよ。」

ベテラン刑事「吉田が犯人だ。」

〜次の事件〜

新米捜査官「この殺人事件の犯人がわかりません、誰でしょうか?」

ベテラン刑事「おい!毎回俺に犯人を聞くつもりか?捜査の仕方を覚えろ!」

ベテラン刑事「まず関係者に事情聴取をしろ」

ベテラン刑事「そしてアリバイを調べろ」

ベテランプログラマー「まずエラーメッセージとログを確認してください。」

ベテランプログラマー「まずはprintデバッグをしてみましょう。」

犯人だけわかっても意味がない

多数の事件を経験してきても犯人だけ知ってるだけでは意味がありません。次の事件を解決できる捜査方法を知っている必要があります。

スクールで課題をやるのはそのためであって、答え自体に意味はありません。

あらゆる推理小説の犯人だけ知ってても推理することが出来ないのと同じです。

課題を通して(プログラミングの問題の)捜査方法を学び、習得することが目的です。

プログラミングの捜査方法

プログラミングの捜査方法を身につけるとは、下記を指します。

  • デバッグ方法を身につける
  • わからない情報の調べ方を身につける

それを学ぶにはまず基本的な用語・概念を学んでおく必要があります。

例えば、

「アリバイってなんですか?」

「事情聴取ってどうやってやるんですか?」

「警察が守るべき法律には何がありますか?」

などを知らないと捜査方法を学ぶことが出来ません。

プログラミングでいえば、

「Terminalの使い方」

「Linuxの使い方」

「HTTPの理解」

などがそれにあたります。

そして自走へ

基本的な知識と捜査方法を覚えればあとは自分で新しい事件を経験していけば一人で成長していくことが出来ます。

プログラミングでも同じです。常に新しい技術が出てくるので誰かに教わるのではなく、自分で技術を習得する必要性が出てきますが、基本知識と捜査方法さえ分かっていれば自分で調べて学んでいくことが出来ます。

プログラミングスクールのフィヨルドブートキャンプを運営していて、就職に関するアドバイスを求められることも多いです。SESについてはよく訊かれるのでここにまとめて回答しておきます。

SESとは

SES(System Engineering Service)とはソフトウェア開発・運用・保守における委託契約の一種です。特定の業務に対してエンジニアを派遣し、エンジニアリングの能力を時間で提供します。

他に一般的な契約として請負契約があります。(特定派遣については2018年に廃止されました)

この二つは主に報酬の対象が違います。

  • SES:労働時間に対して報酬を支払う。
  • 請負:成果物に対して報酬を支払う。

SESはその時間働いていれば必ずお金がもらえますが、請負は成果物(システム)ができなかったら報酬が貰えません。

請負が成果物によって報酬が出るか決まるということは、「成果物とは何か?」ということを事前に明確に定義しなければいけないので大変です。気軽に「うちの開発が大変だから2〜3人手伝ってくれない?」という頼み方はできないわけです。

そういう点で成果物の定義が難しいものやまだ決まってない・流動的なプロジェクトなどで重宝されているのがSES契約です。

SESは良いか悪いか

ただの契約の一種なので一概に良い・悪いとは言えません。

一つの企業の中でプロジェクトによっていろんな契約方法を併用するのは当然ですし、SES契約でやるホワイトなプロジェクトもあれば、請負契約でやるブラックなプロジェクトもあります。

実際の話

とはいえSES契約の

  • 「成果物に責任を持たなくて良い」
  • 「その時間働けば確実に報酬がもらえる」

という点を悪用して

  • 「全くそのプロジェクトをこなせるスキルのない状態でエンジニアを送り込む企業」
  • 「プロジェクト内容・待遇を度外視してとにかく沢山エンジニアを集めて送り込む企業」

といったブラック企業がたくさんあるという日本の現状は確実にあります。それによってSESと聞いただけで嫌悪感を持つ人もたくさんおり、それはある程度仕方ない面があります。

結論

SES契約をやっているかどうかは関係無い。就職するならホワイトかブラックか企業を慎重に見定める必要がある。

おまけ - ブラックIT企業の見極め方

ここからは僕の経験上の話になってしまいますが、下記のような企業はブラック率が高いです。

給与・賞与が極端に低い

「出世すればすごく上がるよ」という話は信用してはいけない。ホワイトな会社は最初から給料が良い。

コードを書かないプロジェクトばかり

コードを書かないプロジェクトばかりの会社は絶対やめた方がいいです。居てもスキルが上がらないからです。

この業界の大きなメリットである「給与もらいながら勉強できる」が享受できません。

「勉強頑張ればコードを書くプロジェクトに入ることもできるよ」という話を信用してはいけません。ブラック企業ではそういう人は1〜2割しかいない場合がほとんどです。

プログラミング技術の高い先輩がいない

上記と関連して、先輩の姿は将来の自分です。「自分がすごく勉強を頑張れば・・・」という人がいますが、組織の文化が人を作ります。

プレスコットのピクルスの原理

「漬け水がキュウリに漬かるよりキュウリが漬け水に漬かる方が早い」

つまり「ここの文化を俺が変えてやる!」と意気込んでも、組織の文化がかわるより先に「そこの文化に自分が染まる」方が早いという意味です。

自分が成長できる文化を持つ会社を自分で選びましょう。

使ってる言語が微妙

あくまで僕の経験なんですが、コードが書ける仕事といっても、オラクルのERP上でしか動かない言語とか、特定のハードウェア上でしか動かない言語などを使ったプロジェクトに新人を送り込む会社は社員の成長を軽視しています。