give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

みんなが書いたコードをLIVEでレビューします!(第4回スキルアップ勉強会 2024/10/28) #sgtech

お知らせ

僕が所属している株式会社ソニックガーデンでこんな勉強会をやります。
題して「あなたもチャレンジ!コードレビューライブ 〜伊藤淳一からの挑戦状〜」です!

sonicgarden.connpass.com

開催日時は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リポジトリで説明しているのでこちらをご覧ください。

github.com

上記リポジトリをフォークし、コードを書いてプルリクエストを作成すれば提出完了です!

なお、予めテストコードが用意してあるので、問題が解けたかどうかはテストが全パスするか否かで判断できます。

↓こんなふうにテストが全パスすれば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回スキルアップ勉強会・あなたもチャレンジ!コードレビューライブ 〜伊藤淳一からの挑戦状〜」についてお知らせしました。

「面白そう、私も解いてみたい!」「伊藤さんにぜひコードレビューしてもらいたい!」というみなさんからの積極的なご参加をお待ちしています!!😄

sonicgarden.connpass.com

かまいたち濱家さんの影響で?Martin D-42を買ってしまった件

「またギターの話かよ」「この間もなんか買ってなかったっけ?」「お前はいったい何本ギターを買えば気が済むんだ」とみなさんの心の声が聞こえそうな気がしますが、すいません、また買ってしまいました……💧

泣く子も黙る高級アコースティックギター、Martin D-42です。




いや、もともとそんなつもりじゃなかったんですよ?
でも、気付いたらなぜかギターケースを片手に楽器屋さんを出てきてしまってました😅

そして、これにはちょっとしたエピソードがありまして。
長文になりますが、よかったら最後までお付き合いください。

【もくじ】

話せば長くなる言い訳?

突然ですが、妻はかまいたち(お笑いコンビ)のファンです。
なので、妻はよく彼らのYouTubeを見ています。

ある日、妻が「濱家さんがなんかギター買ったみたいやから見てみて」とこんな動画を見せてきました。


www.youtube.com

この動画の中で、濱家さんは楽器屋さんで散々迷った挙げ句、最終的にヴィンテージのMartin D-45を187万円で購入していました。

ぜひギター好きのみなさんにも一度見てもらいたいのですが、この動画はとっても面白くて、ギター好きの一人として僕も「わかる、わかるわ、その気持ち〜」と何度も首を大きく縦に振ってしまいました。

この動画を見てMartinのアコギに興味が出てきた(でも買わなかった)

また、内容が面白いだけでなく、たしかに動画越しにも「MartinのD-45ってさすが高いだけあっていい音してんな〜」というのがわかりました。
そこでこの動画を見たのがきっかけで、妻と一緒に大阪の楽器屋さんにMartinのアコギを見に行ったんです。約半年前に。

そしていくつかのMartinのアコギ(いずれも新品)を試奏したんですが、そこで試奏したD-42が他のギターに比べて明らかにいい音で鳴っていました。
ギターにそこまで詳しくない妻でも「これは明らかに音が違う!めちゃくちゃいい音!」と絶賛するレベルでした。

ちなみに妻は自分ではギターは弾かないものの、アコースティックギターが好きで、僕によく「エレキよりもアコギをたくさん弾いてよ」と言ってきます😅

で、そのMartin D-42はたしかにめちゃくちゃいい音だったんですが、あくまで試奏しに行っただけなので、「このD-42は別格ですね。参考になりました!」と店員さんに伝えて、その日は店を後にしました。

でもとてもいい音だったので、「いつかあんなギターを買ってみたいね」と折に触れて二人で話していました。

Martin D-42、再び

時は流れて9月のある日。

僕と妻は神戸の中古楽器屋さんを訪れました。
そこに中古のD-42が置いてあったので、ちょっと試奏させてもらいました。

ジャラ〜ン・・・

はぁー、D-42はやっぱりいい音・・・ではない!?
なんか半年前に弾いたあのD-42に比べると、グッと来る要素がありませんでした。
弦高も妙に低くてなんかビシャビシャした音がするし。

妻と二人で「この個体はなんか違うね。大阪の楽器屋さんで弾いた、あのD-42の方が良かったね」と話をして、そのあと「もう一回あの楽器屋さんに行って、新品のD-42を弾いてみよう!」という話になりました(なぜそうなる?)。

そして急きょ、神戸から大阪に移動し、例の楽器屋さんでD-42を試奏させてもらいました。
するとやっぱりこの新品のD-42は音がいい!
販売価格だけ見たら中古の方がウン十万円ぐらい安いんですが、でも音色が全然違うので絶対こっちの方がいいよね、と二人で話しました。

急に風向きが変わった店員さんのひと言

ところで、この日は別にギターを買いに来たわけではありません。
もともと神戸で買い物をする予定があって、たまたまついでに楽器屋さんに立ち寄ったらなぜか「よし、大阪に行こう」ということになり、現在に至ります。

ギターを買う予定は本当に1ミリもなかったのですが、そこで楽器屋の店員さんと「D-42ってやっぱりいいですね〜」みたいな雑談をしていたら、その店員さんが突然、

「お値段、頑張りますよ!お客さんが本気で買いたいなら僕らも本気出しますんで!!」

と言ってきました。

僕と妻は「えっ?」と顔を見合わせました。
いやいや、今日はギターを買いに来たわけでは……でも、頑張るって言われたらちょっと気になるやん?
そんだけ言うならまあ、ちょっと話を聞いてもいいけど?

というわけで、突然D-42を買うか買わないかモードに突入しました。

そんなとき、心強いのが妻の値段交渉力です。

僕は値段交渉とかとっても苦手なんですが、妻は楽器屋さん相手でもうまくやりとします。
先日もHeritageのフルアコを購入したときに上手に値段交渉してくれました。

blog.jnito.com

僕と妻「そこまで言われたらもう引き下がれんわ。。」

そして、D-42を巡る値段交渉が始まりました。
てか、新品のギターを買うのに値段交渉ってできるもんなんですね(驚)。

最初に提示された額は「え〜、悪くないかもしれないけど、ちょっと微妙」という額でした。
妻も同じく「その金額じゃ、ちょっと」という反応だったので、そこで承諾せずにさらに店員さんと話し合いを続けました。
そして・・・

店員さん「じゃあ、○○万円にします!」

僕の心の声「○○万円かあ、結構下げてくれはったなあ。これぐらいなら、まあ・・・」

妻「△△万円にしてくれたら今日買います(断言)」

僕の心の声「えっ、△△万円って、それはちょっと無謀すぎるやろ?新品のD-42がその値段ではさすがに……」

店員さん「わかりました。△△万円にしましょう!」

僕「え゛っっっっっ!!!!!!!」

まさか本当に△△万円してもらえるとは……。(妻すごすぎ)

△△万円なら今日買います、って言った手前、さすがに「やっぱりやめます」とは言いにくいです(苦笑)。

それに、為替の影響等もあり、ギターの値段はここ数年で急激に上がってきています。
新品のD-42が△△万円で買えるのはこれが最初で最後のチャンスかもしれません。
妻と二人で「いつかD-42を買いたいね」と話していたので、その日が今日だった、ということなんでしょう。
というわけで、清水の舞台から飛び降りる気持ちで買うことにしました!!

僕と妻「わかりました。じゃあ△△万円で買います!!」

そして、僕たち夫婦はなぜかギターケースを片手に楽器屋さんを出てきてたのでした。
めでたし、めでたし?😅

具体的なお値段が気になる方へ

今回は記事に有料部分を付けてみました。
「具体的な金額が気になって仕方がない」「自分もD-42を購入する際に参考にしたい」という方は、この記事を購入してもらうと「△△万円」の具体的な金額がわかるようになっています!

購入は大正解!?1週間後にまさかの値上げ告知😱

僕たち夫婦がD-42を買ったその1週間後、なんとMartinギターの価格改定の告知が発表されました。

いつもご愛顧いただきありがとうございます。
この度、マーティンギターの一部商品をマーティン社の価格改定と各種コストの高騰から、やむなく販売価格を改定することとなりました。改定は2024年11月1日からとさせていただきます。誠に恐縮ではございますが、ご理解賜りますようお願い申し上げます。

マーティンギター価格改定のご案内 | クロサワ楽器店公式ブログ

店員さんも何も言ってなかったですし、まさか購入直後に値上げされるなんて思ってもいませんでした。

そして、そこで発表されたD-42の新価格はなんと!!

ひゃっ、ひゃくまんじゅうにまんにせんえん・・・・😱

ついに100万円を超えてしまいました。
最近のギターの値上がり方、ほんまに半端ねーっす。

もちろん91万円もめちゃくちゃ高いし、この値段ですら数年前に比べるとかなり上がったあとなのですが、それでもあの日あの時あの場所で△△万円でD-42を購入できたのは実はかなりラッキーだったのかもしれません。
「新品のD-42が△△万円で買えるのはこれが最初で最後のチャンスかも」と思って購入を決断した自分と妻を褒めてやりたいですねw

ちなみに値上げは11月からなので、今月中であれば値上げ前の価格でD-42が買えますよ!!

自分の家にD-42がある喜び ❤️

さて、ここから下はD-42の製品レビューになります。

いやあ、まさか自分がMartin D-42のオーナーになるとは……。
自宅にD-42があるのは控えめに言って、最高です!! 😍

見た目も美しいですが、それ以上に美しいのはギターを弾かない妻でも違いがわかるレベルの、その音色です。
ピックで弾いても、指でも弾いても、めっちゃいい音で鳴ります。
3フレットから5フレットあたりにカポ(カポタスト)を付けたときの音色もやっぱりきれいです。
どんなふうに弾いても、なんとも形容しがたい、きらびやかな音色がギターから飛び出してきます。

きらびやかな音色というと、高音がきれいなイメージかもしれませんが、低音がしっかり出てこその高音、というのが僕の感想です。
グランドピアノでドーンと鳴らしたかのような、太くてしっかりした低音が土台を支え、そこに倍音豊かな高音域が重なり合うことで、独特の美しい音色を作り出している印象です。

このギターをポロポロンとつま弾くだけで、たぶん2割ぐらい上手くなったように聞こえます。

あと、ギターを鳴らすと、アコギのボディって実はドラムだったのか?っていうぐらい、トップ板が振動して大きな音を出しているのがよくわかります。

D-45に比べるとD-42ってどうなの?

ちなみに、濱家さんが購入したD-45(Martinの最上位機種)も試奏したんですが、僕と妻はD-42の方が好き、という結論になりました。

D-45を弾くと、D-42よりもさらにトップ板が薄いような印象で、繊細にギター全体が振動しているのが身体に伝わってきました。
また高音域のキラキラ感もD-42以上だったと思います。

ただ、バランス的にやや高音に寄りすぎているような印象があり、D-42の方が低域と高域の音量バランスがいいような気がしました。
お肉で例えるなら、D-45は霜降りがやや多め、D-42は上質な赤身肉、みたいなイメージでしょうか?

最上位機種のD-45の影に隠れて、D-42はややスポットライトを浴びにくい存在かもしれませんが、D-42にはD-42なりの良さがあると思います!

そしてめちゃくちゃ弾きやすい!

また、弾きやすさも抜群です。
アコギってある程度弦高を高くして弾きにくさを許容しないといい音が出ないもの、と思ってたんですが、D-42は全然弾きやすいです。

1フレットあたりでBフラットを押さえたり、7フレットあたりでCやF#m7みたいなコードを押さえたりしても、ほとんど苦労なく押さえられます。
ネックも太すぎず細すぎず、厚すぎず薄すぎず、最高にちょうどいいです。
さすがD-42、すばらしい! 👏

ちなみに弦高は12フレット6弦側で2mm〜2.25mm、1弦側で1.5mm〜1.75mm程度でした。
数字だけ見ると弦高が特別低いわけでもないのに、とっても弾きやすいのは不思議です。

さらに:思った以上に軽い!

ドレッドノートサイズのギターはアコギの中でも大型の部類に入るので、ちょっと重たいイメージがありましたが、このD-42は手に持ったとき、「あっ、軽っ!」と思いました。
ちなみに重さを量ったら約2.1kgでした。

軽いギターだからよく鳴るのかな?
詳しいことはよくわかりませんが、なんかそんな気がします。

弾かないときは弦を緩めるのか問題について

このギターを買うときに店員さんに「やっぱり弦は緩めた方がいいですか?」と聞いたところ、「緩めた方がいいと思います。僕たちもいつも緩めてるんで」という答えが返ってきました。
ただ、1弦と3弦は切れやすいので、それ以外の弦をペグ4回しぶんぐらいいつも緩めてるそうです。

それを聞いても僕も同じように1弦と3弦以外を緩めることにしました。
高級ギターなので、変にそのへんで手を抜いてギターがおかしくなってもイヤですし……。

ただ、「ペグ4回しぶんぐらい」という具体的な回数を聞けたのはよかったですね。
今までは緩めるときは適当に緩めていたのですが、毎回「緩めるのは4回」と決めておくと、チューニングするときもだいたい4回まわすと元の音程に戻ってくるので、弾く前のチューニングの儀式がそこまで苦ではなくなりました。

これはなかなか便利なライフハック(?)です!

D-42の性能を出し切りたいなら、コーティング弦はやめた方がいいかも

購入時はサービスで新品の弦を張ってもらったのですが、ほぼ毎日弾いていたところ、2週間ぐらいでだんだん音に元気がなくなってきました。
もちろん、十分きれいな音は出るのですが、購入時の音色が100点だとすると、2週間後の音は80点ぐらいに落ちるイメージです。

「もう少し長持ちする弦に変えた方がいいかな〜」と思っていたある日、YouTube動画を見ていたら「Martinのコーティング弦は普通の弦と遜色ない音がするよ!」と話している人がいたので、試しにその弦を買って張ってみました。

そして僕の結論は・・・音色だけで言えばやっぱり普通の弦の方が良い、でした(あれ?)。

コーティング弦はコーティングしてあるぶん、「私、コーティングされてますんで」という音のよそよそしさを感じますね。
普通の弦の方が、ズドーンと前に出てくる生々しさがあります。
グランドピアノを鳴らしたときのようなあの迫力が、コーティング弦だとイマイチ出ません。

あと、5〜7フレットあたりでコードが若干押さえづらくなったので、弦のテンションも少し上がったのかもしれません。
ちなみにゲージはどちらもライトゲージ(012〜053)です。

というわけで、次回からはまた普通の弦に戻そうと思います。
すぐに元気がなくなるのが難点だけど……。

トリビア:D-42は横顔が素敵?

購入してから初めて気付いたんですが、D-42のボディって横から見ると上にいくほど薄くなってるんですね。
よ〜く見ると、ボディの背面が上に行くにつれて徐々に薄くなってるのがわかるでしょうか?

ネットの写真を調べると、D-45は同じような構造になっていましたが、D-28はボディの厚みは一定になってるように見えました。
D-42やD-45が奏でるきらびやかな音色の秘密は、こんなところに隠されているのかもしれません。

まとめ

というわけで、このエントリでは最近買った(買ってしまった)Martin D-42を紹介してみました。
いやあ、ギターって本当に沼ですね(汗)。

かまいたちさんの動画を見なければ、こんな世界があることを知らずにアコギ売り場を通り過ぎてたと思うんですが……。

このブログを見たギタリストのみなさんももはやこの沼に片足を突っ込んだも同然なので、今度楽器屋さんに立ち寄った際はぜひMartinのお高いギターを弾いてみてください!(沼への誘いw)

で、いったいいくらで購入したの?

ここから下は有料記事の内容なので、ネットに公開したり、人に話したりしないようにお願いしますね!

この続きを読むには
購入して全文を読む

全人類待望の?「受託開発なのにドキュメントを書かずに済む秘訣」が公開されました 〜Software Design 2024年10月号〜

突然ですが、みなさんに質問です。

Q1. コードを書くのは好きですか? (Yes / No)
Q2. ドキュメントを書くのは好きですか? (Yes / No)

Q1の答えがYesで、Q2の答えがNoだったそこのあなた!(たぶん9割以上が該当するはず?)
とっておきの秘訣があります😎

お知らせ

というわけでお知らせです。
Software Design 2024年10月号の「再考 設計ドキュメントの課題」という特集で『「コードがドキュメント」を地で行く開発スタイル』という章を執筆させてもらいました。

このエントリではこの寄稿記事について簡単に紹介します。

「コードを書くのは好きだけど、ドキュメント作成は嫌い」というあなたに

まず、「再考 設計ドキュメントの課題」という特集記事の冒頭に書かれている、本特集のイントロダクションを引用します。

ITエンジニアにとってドキュメントは悩ましい問題です。関係者との合意形成や情報共有のために必要なものの、コードができあがってくると、コードと同期をとって保守しなければならない気が重い存在となります。

(略)

本特集では、いくつかの開発現場におけるドキュメントとの付き合い方を紹介します。ご自身の現場に合ったドキュメントとの付き合い方を見つけられるかもしれません。

いやあ、ほんとそうですよね〜。

なんでコードを書く前にいちいちドキュメントなんか書かなきゃいけないの!
さっさとコード書かせてよ!!

って思いますよね〜。
僕も前職や前々職ではそういう悩みを持ってました。

ですが、現職のソニックガーデンに入社してからはそういう悩みがなくなりました。
というか、ドキュメントを書かなくても済む理想的な開発プロセスがあったので、それを求めて僕はソニックガーデンに入社しました。

それから10年以上経ちましたが、やはりソニックガーデンではほとんどドキュメントを書いていません。
入社前は本当にそんなことできるの?と半信半疑な部分もありましたが、10年以上ドキュメントを書かずにここまで開発をやってこれました!

でも日本の開発の現場では、中でもとりわけ受託開発の現場では、やれ要件定義書だ、やれ外部設計書だ、詳細設計書だ、と「エンジニアなのにコードじゃなくてドキュメントばっかり書いてる……」というエンジニアが今でもたくさんいると思います。

そういったドキュメント作成が苦にならない人はそれで良いですが、僕みたいに「コードを書くのは大好きだけど、ドキュメント作成は大嫌いでござる!」という人はぜひ!本書を手に取り、『「コードがドキュメント」を地で行く開発スタイル』を読んでみてください。

そうすれば、ソニックガーデンではなぜドキュメントを作らないのか?なぜドキュメントを作らなくてもシステム開発できるのか?というあなたの疑問が解決するはずです!

※ 注:ただし、弊社の開発スタイルをすぐにみなさんの現場に適用できるとは限りません。その理由も本記事を読めばわかるはずです。


おまけ

Rubyで型付け開発!?

まとめ

というわけで、このエントリではSoftware Design 2024年10月号に寄稿した『「コードがドキュメント」を地で行く開発スタイル』という記事の紹介をしてみました。
Software Design 2024年10月号は本日(2024年9月18日)発売ですので、気になる方はぜひ、お近くの書店で手に取ってみてください😄

電子版もありますよ〜。

gihyo.jp

謝辞

Software Design誌に寄稿したこの記事は、僕が弊社ソニックガーデンのメンバーとディスカッションし、そこで挙がったさまざまな意見を記事としてまとめたものです。
「ソニックガーデンはなぜドキュメントを書かないのか」というテーマで一緒にワイガヤしながらその理由を深掘りしてくれた弊社メンバーに感謝します!

www.sonicgarden.jp

あわせて読みたい

Software Design誌の編集長(そして「プロを目指す人のためのRuby入門」の編集者でもある)、吉岡さんが書かれた「再考 設計ドキュメントの課題」という特集記事を企画した意図や背景が書かれたブログ記事です。
「編集者の職に就く前の私はSIerでSEとして働いており、ドキュメントの作成やメンテナンスの苦労は自ら経験した」とのことで、みんな悩みどころは同じなんですね。
Software Design 2024年10月号とあわせてこちらもぜひ!

note.com