1ヶ月のお休みとpaiza株式会社へ転職とpaizaの問題を解くときの準備

この投稿は paiza Advent Calendar 2023 の1日目の記事です!

近況報告みたいなものを書きますね。

10月

さて、10月は転職前の有給休暇を使って1ヶ月間を仕事しないで過ごしました。

(11月に前職でLTに招待してもらったのでその時にJamboardで書いたものです。辞めた人を呼んでくれるなんて懐が広い会社です。)

10月の前半はMaker Faire Tokyo 2023の準備で、後半は統計検定1級の勉強がメインでした。

この期間に買ってよかったものが二つあります。

まずはASUSChromebookです。

会社のPCは返しちゃうので、10月を1ヶ月間乗りきるつもりで買いました。 安くて小さいけど解像度は高くて、Maker Faireの作品の設計に役に立ってくれました。あと転職のための事務作業にも。 散歩するときにカバンに入れておいて、途中で入ったスタバで作業できて便利でした。

もう一つは、Amazfit Band 7というスマートバンドです。

「アジャイル式」健康カイゼンガイド読書会で教えてもらいました。 スマートウォッチは欲しいけど高くて買えないと思っていましたが、7000円くらいで購入できて、歩数と心拍数が計測できて、私にとっては十分なものでした。 これのおかげで散歩して1日8000歩を歩くのが楽しくなりました。

11月

11月になってpaiza株式会社へ転職しました。 ここ何年かリモートワークしていたし、10月は仕事をしていなかったので、いきなり出社して仕事をするのは大変でした。 11月の1日2日と働いたら3,4,5と休日だったのでなんとか乗り切れましたが、もしも月曜日スタートで5日間連続で働いていたら無理だったかも。 2週目の途中からリモートワークにして、落ち着いてきました。 仕事に慣れるために頑張っています。

オフィスは外苑前なのですが、じつは前々職(2017年〜2019年)も外苑前でした。 2019年以来だったのでオリンピックを挟んで、いろいろ様子が変わっていました。

paizaの問題を解くときの準備(案)

ここまでの流れと関係ないのですが、paizaのスキルチェックなどの問題を解くときに、こんなふうにするのがいいかなと思ったことがあったのでメモしておきます。(まだpaizaに入社する前に考えたことです)

paizaではブラウザで動かす実行環境があるので、自分で実行環境を準備する必要は無いのですが、入力をいろいろ変えて試したいことがあります。難しい問題の時は特に。そういう時は自分のPCに下記のようなファイルを用意して、簡単に試せるようにしておきます。例として入力を10倍して出力するというコードを考えてみます。

run.sh

ruby main.rb < input/input1.txt > actual/actual1.txt
ruby main.rb < input/input2.txt > actual/actual2.txt
ruby main.rb < input/input3.txt > actual/actual3.txt

diff actual/actual1.txt expected/expected1.txt
diff actual/actual2.txt expected/expected2.txt
diff actual/actual3.txt expected/expected3.txt

main.rb (提出用のコード)

n = gets.chomp
puts n + '0' # 10倍するコードの間違い

input_2.txt (入力のひとつのパターン)

0

expected_2.txt (出力の期待している状態)

0

actual_2.txt (実際に出力されたもの。 00 は期待している値とは違いますね。)

00

実行例 (期待と違っているので差分が表示されています)

% sh run.sh 
1c1
< 00
---
> 0

期待通りの動きをした場合は run.sh はなにも出力せず、期待と違う場合は期待と実際との差分を表示します。 input*.txt、expected*.txtを増やした場合は run.sh に行を増やすことを忘れないようにしましょう。

こういう環境を作っておいて、入出力の確認を着実に行うことで、うっかりパターンが漏れていて点数が減ってしまうことを避けられると思います。 (こういうことをやっている人は多い気がします)

おまけの告知

12月2日(土)にアジャイルプロセス協議会のイベントがあるのでよろしくお願いいたします。