お知らせ
僕が所属している株式会社ソニックガーデンでこんな勉強会をやります。
題して「あなたもチャレンジ!コードレビューライブ 〜伊藤淳一からの挑戦状〜」です!
開催日時は2024年10月28日(月)20時です。
どこからでも参加できるオンライン勉強会なので、みなさんぜひご参加ください〜😄
どんな勉強会なの?
ざっくり3行で説明するとこんな感じです。
- 僕がプログラミングのお題を出すので、みなさんに解答してもらいます。
- 当日僕がみなさんの書いたコードをその場でレビューします。
以上。あれ、2行だったw
そう、みなさんが書いたコードを僕がレビューし、よいコードを書く上で大事な考え方や実践的なフィードバックを提供する、そんな勉強会(になる予定)です。
ちなみに、コードは書かずに当日勉強会に参加してコードレビューの様子を眺めるだけ、でもOKです。
でも、自分で事前にコードを書いておいた方が、当日の学びが100倍アップすると思います!
プログラミングのお題ってどんなの?
みなさんに作成してもらうプログラミング問題はこちら、「ローマ数字変換プログラム」です。
romanizer = SgRomanizer.new # アラビア数字 → ローマ数字 romanizer.romanize(1) #=> "I" romanizer.romanize(2) #=> "II" romanizer.romanize(3) #=> "III" # ... romanizer.romanize(3999) #=> "MMMCMXCIX" # ローマ数字 → アラビア数字 romanizer.deromanize("I") #=> 1 romanizer.deromanize("II") #=> 2 romanizer.deromanize("III") #=> 3 # ... romanizer.deromanize("MMMCMXCIX") #=> 3999
プログラム仕様の詳細や解答の方法については以下のGitHubリポジトリで説明しているのでこちらをご覧ください。
上記リポジトリをフォークし、コードを書いてプルリクエストを作成すれば提出完了です!
なお、予めテストコードが用意してあるので、問題が解けたかどうかはテストが全パスするか否かで判断できます。
↓こんなふうにテストが全パスすればOKです。
$ ruby test/sg_romanizer_test.rb --no-plugins Run options: --seed 629 # Running: .. Finished in 0.039555s, 50.5625 runs/s, 202199.4691 assertions/s. 2 runs, 7998 assertions, 0 failures, 0 errors, 0 skips
プログラミング初心者ですが私にも解けますか?
うーん、どうでしょう?
プログラミングを始めてまだ数ヶ月、という人にはちょっと難しいかもしれません。
でも、プログラミング歴が1年ぐらいあれば解けそうな気がします。
仕事でコードを書いてる人は若手、ベテランを問わず、全員解けてほしいですね!
ちなみに僕は問題を思いついて自分で解いたところ、30分ぐらいでできました。
この問題を解く上で一番大事なのはロジック力です。
今回、対象の言語はRubyに限定していますが、高度な言語知識はいりません。
拙著「プロを目指す人のためのRuby入門(通称チェリー本)」の知識があれば(特に5章までの知識がメイン)、十分解ける問題になっているはずです。
🚨カンニングはなしでお願いします!🚨
みなさんが自力で考えたロジックをレビューするのがこの勉強会の一番の醍醐味です。
やろうと思えば、
- ネットで公開されている既存の変換ロジックを参考にする
- ChatGPTに解いてもらう(たぶん一発で解いてくるはず💧)
- 他の人が提出したプルリク(解答)を見る
等々の方法でカンニングできちゃいますが、それはなしでお願いします!
あと、注意してほしいのはGitHub CopilotのようなAIコード支援機能です。
これが有効のままコードを書き始めると結局AIに解いてもらったことになりかねないので、問題を解く間はオフにするようにしてください 🙏
まとめ
というわけで、今回は2024年10月28日(月)に開催するオンライン勉強会「第4回スキルアップ勉強会・あなたもチャレンジ!コードレビューライブ 〜伊藤淳一からの挑戦状〜」についてお知らせしました。
「面白そう、私も解いてみたい!」「伊藤さんにぜひコードレビューしてもらいたい!」というみなさんからの積極的なご参加をお待ちしています!!😄