こんにちは!広報戦略本部のみずぽすです。

hogehoge会第1回目に引き続き、4/24にhogehoge第2回目が開催されました。

今回のhogehoge会は一気に技術寄りなテーマとなりました。
その様子をレポートしていきたいと思います!

FizzBuzz問題を知っていますか?

FizzBuzzを知ってますか?もともとは言葉遊びのゲームでしたが、現在では「プログラミングの経験が少なからずあるか」を知る、手軽な問題となってます。FizzBuzz問題では、プログラムは任意の自然数を与えられ、特定の値には特定の値を返します。
アルゴリズムは3で割り切れる場合は”Fizz”、5で割り切れる場合は”Buzz”、そして3と5で割り切れる場合は、”FizzBuzz”を出力します。
また、この条件以外では与えられた数値をそのまま出力します。

今回のテーマ発表

今回はそのFizzBuzz問題をもう少し捻った出題となりました。
テーマは「パラメータを受け取ることでカスタム可能なCLI(Command Line Interface)アプリを作る」です。

CLI(Command Line Interface)とは全ての操作をキーボードだけでぺちぺち行う画面の事です。macのターミナルなどが挙げられます。

具体的な出題内容は、まず入力として「:」で連結された数字と文字列のペアn個(1≦n≦4)と、数字m(1≦m≦2000)のパラメータを受け取ります。
そして、n個の各数字と数字mの関係値によって設けられている出力ルールによって、該当する答えを出力する、というものです。
(詳細なルールについては大人の事情により今回は省略させて頂きます。)

 

いざ作成

CLIアプリを作ってみよう
制限時間はhogehoge会の開催時間19:30-21:00で、その時間内にアプリを作成します。
書く言語は自由という事で、言語選びから盛り上がります。

「Swiftだったらあれをこうしてこうやって」
「Rubyだったら」
「俺がやるとしたらまずIDE入れるところから始めるな」
「(一同笑)」
「面倒くさいからCLIという条件無視して良いですか」
「文字列として入ってくるけど、分解して数字に置き換えて、、、」

そして一斉によーいスタート!

 

10分経過・・・・
回答者現れず。

 

20分経過・・。

間宮さん「そろそろ誰かコード公開できますか?」
赤ちゃん「まだー。だって汚いコードだと叩くでしょ?もー怖いんだから///」

 

そうこうしている間に回答者現る!

一番手は YOSHIKIさん。
YOSHIKIさんのコード

「久しぶりにコードなるもの書いたよ〜」というYOSHIKIさん。
C#でお披露目です。なお、今回は速さ重視のためデバッグはまだとの事。
「はい、カンニングタイムおしまい!他の皆も頑張ってちょ」
という事でYOSHIKIさんのコードのお披露目が終わり再度コーディングに励む皆々。

 

そして30分が経過

間宮さん「そろそろいけるんちゃう?」
みっちー「ソートが面倒くさいんですよね」
赤ちゃん「美しく書きたい...」

 

40分が経過

次の回答者現る!
回答者は・・おじさん!(※あだ名です)

おじさんはPHPでお披露目です。
おじさんのコード
間宮さん「できてますね。さすが」
一同「綺麗ですね・・」

 

続けて3人目の回答者は赤ちゃん!

 Vue.jsでお披露目です。

赤ちゃんのコード全ソースコードはこちらから見る事ができるそうです。

赤ちゃん「こだわりのVueです」
とある人「イコールがきた時はソート順はどうなるの?」
赤ちゃん「インプット順なはず」
おじさん「0入れてみよう」
赤ちゃん「いじめるのやめて!」
おじさん「お、エラーにはならないね」
赤ちゃんのお披露目時にはなぜか皆さんバグ探しに躍起になっていました
。


50分経過


続きましてみっちーさんがお披露目!

みっちーさんのコード

Swiftで作成したそうです。
みっちーさん「クソコードですが..エラーチェックしていないので想定外きたらクラッシュします」
YOSHIKIさん「0点」
みっちーさんに手厳しいYOSHIKIさん。

 

同じくSwiftで書いたゆもさんのお披露目
ゆもさんのコード

一同「え、こんだけ…?」
簡潔なコードに皆さん驚かれたよう。
みっちーさん「処理はほぼ一緒ですね」
ゆもさん「こーゆー書き方は本番ではだめですけどね..笑」
YOSHIKIさん「これでMRきたら速攻はじくね笑」  
ゆもさん「nullを弾く処理を入れないとですね」

 

続きましてKAWAさんがコードを披露します。KAWAさんのコード

 

KAWAさんはGOで書かれたようです。
間宮さん「悩んだポイントは?」
KAWAさん「ソートですね。ソートを気持ちよく書くために、中間的なオブジェクトをどう書くか」

 

そして途中参加のシローさんがコードお披露目します。

JavaScriptで書いたとの事です。

シローさんのコード

シローさん「私はまず動けば良いじゃん派。そこから細かいところを修正していくタイプです」
YOSHIKIさん「シローのコードの好きな部分はresultの三項演算子をちゃんとカッコで囲っているところ、他の人が見てわかりやすい」

 

さらに途中参加組のお披露目が続きます。

新卒エンジニア・ゆうきさんはJavaでお披露目です。
ゆうきさんのコード

YOSHIKIさん「実にらしいコードじゃないでしょうか。」
一同「新卒一年目でこんなに書けないよ。すごい」

インターンからbravesoftで働いてくれているゆうきさん。
最初の3ヶ月はずっとテスターで、そのあと数ヶ月間は資料整理などを担当していたそうですが、
ある時コーディング力を買われ、PG事業部へ移る事に!
今は主にHONNEのメイン開発担当者としてバリバリ開発に携わっています。

 

最後はくーちゃんです。JavaScriptでのお披露目となりました。

久原さんコード

このような形で、全員のお披露目が終了しました。
そのあとはエンジニアが使いがちな変数名や、それぞれの言語の特徴などプログラミング話に花が咲きました。
今回参加したエンジニアの方々も「みんなのコードが見れて良かった」と言っていて、カジュアルなアウトプット&コーディングに関する意見を交せる場として、とても満足度の高い勉強会となりました。

そんなhogehoge会は好評にて第3回を5月中旬に実施!
次回のテーマについて「みっちーおすすめの本best 5 」もしくは「YOSHIKIプレゼンツおすすめ漫画」などなど盛り上がっていましたが果たしてテーマは何になるのでしょうか?次回レポートをお楽しみに!