ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと流れ着いたソフトウェアエンジニアのブログ

【パズル6】ほとんどのエンジニアには解けるパズル6

エンジニア向けのパズルシリーズの6作目を公開した。サイトにアクセスするとタイトルとパズルへの入り口が出る。
タイトルは「Hackipedia(Hackipediaはハッカーのための無料の百科事典)」とした。

f:id:tango_ruby:20160214215255p:plain:W300

前回のパズル5が大失敗だった。パズル5はめちゃくちゃカンタンなパズルにして誰でも解けるようにしたら、それがおもいっきりスベってしまったのだ。そんなモノは誰も求めていなかったことがはっきりした。その反省点を活かして今回はエンジニア向けの少し高度なパズルにした。(失敗の分析およびその詳細はこちら)今回のパズル6は技術要素が入っているパズルなので、もしそれらの技術をご存知なければ解くのが難しくなってしまう可能性がある。

私は前回のカンタンなパズルで失敗しても、いまだに「やたら難しいパズル」に対する嫌悪感がある。基本的にそういう難しいだけのパズルが嫌いなのだ。作った人の「おい!解いてみろ」という高飛車な態度が気に食わない。パズルなんて「みなさんに解いていただいてナンボ」と思っている。

そこで今回のパズル6においては、ある特定の技術をご存知なかった方や途中で詰まってしまった方向けに用意したのがタイトルにあるHackipediaという百科事典だ。これはパズルを解いた方はもちろん、まだ解いていない方も誰でもユーザー登録無しに書き込める知識共有のデータベースだ。
よく分からなくなった方で解答が欲しければそこに「○○が分からない!解答求む!」と質問を書けば、誰かが答えてくれるかもしれない。とても優秀な方で一瞬でパズルを解いてしまい、他の挑戦者にも解法を共有してあげようとお考えであれば、いくらでもお書きいただいて結構だ。

つまり今回のパズルはその気があればどんどんネタバレしていただいてOkですよ、と。もしHackipediaのフォーマットが気に入らなければご自身のブログに詳細のコードなり、解法を書いて、そのリンクだけHackipediaに貼るという方法もOk。ブログ以外にもはてブでもTwitterでも解法を共有いただいておおいに結構だ。
ちなみにパズルの答えは挑戦者ひとりひとりにランダムに割り当ててある。スゴ腕エンジニアがパズルを解いて「おい、聞け。そこの答えは『3』だ。」とだけ書いてもほとんど参考にはならない。なぜならその人にとっては答えが3でも他の人にとってはその答えが5だったりするからだ。もし解法を共有するのなら、答えそのものを書くのではなく、その答えを導き出した方法を書いた方が有効だろう。作者としては単なる答えマル写しでパズルを終了されるより、多少はそれを解くプロセスを体験した上でパズルが面白いかどうかご判断いただきたいのだ。

初めての試みのため、そんなに解法を共有していただける気前のいい人が居るのかどうかすら、分からないのだが。

もちろん「オレは他人の手は借りねー。ひとりで十分だ」という一匹狼的なカッコいい方はどうぞご自由にHackipediaを使わずに解いてください。きっとウェブ系の技術をある程度ご存知の方であればそこまで時間をかけずに解けるレベルだと思う。

今回のはコードを書く技術も少し要求される。プログラム言語は問わないので、どんな言語であっても解ける。それも何十行、何百行も書く必要は無い。解答を確かめるために自身でコードを書いたが8行だけのシンプルなコードだった。エンジニア向けのパズルだが、分かっている人にとってはカンタンだろう。パズルを解くのに何時間もかからないよう短くまとめている。

後もうひとつ。そのHackipediaには作者である私は何があっても絶対に投稿しない。したがって投稿の中で「私はパズル作者なのだが。。。」とか「ジャバ・ザ・ハットリだがなー」とか書いている人が居たとしてもそれは100%なりすましで、決して本人ではない。本当に私が何かパズルに関して書かなければならないことがあれば本ブログを通して書く。私は削除や編集をしない方針だ。(1万件に達したら古い投稿から削除されて新しいのと入れ替わる。Herokuの無料プランは1万レコードまで、という規制があるため)

パズル5の失敗を目の当たりにした直後なので、今回のパズル6にはそこまでの挑戦者数は望めないのでは、と正直感じている。仮にそうであったとしてもアクセスいただいたひとりひとりのエンジニアの方に楽しんでいただければ作った意味があったと思える。パズルシリーズの本来の目的である「優秀なエンジニアにパズルを通して楽しんでいただくこと」が達成されていることを願うのみである。

【パズル6】ほとんどのエンジニアには解けるパズル6

http://challenge-your-limits6.herokuapp.com/
公開時刻:2016年2月16日(火)午後6時(日本時間)

いつものごとくherokuの無料プランにデプロイしたのでだいたい眠っている。最初の1発目のアクセスは目を覚ましてもらう時間が5−6秒あるので少々お待ちください。

tango-ruby.hatenablog.com

tango-ruby.hatenablog.com

tango-ruby.hatenablog.com