借りるのに試験が必要なレンタルサーバ
海外の無料レンタルサーバに MyJavaServer というのがあります。 たしか昔は MyCgiServer って名前でした。
特に意味はなかったのですが、そういやサーバサイド Java が動くレンタルサーバってあんまないよな、と思って久しぶりに見てみたのです。
実はこのサーバ、以前から借りるときにとある問題を解かないとサインアップできなかったのですが、
このサーバの趣旨は Java の開発者用途なので、前も Java にまつわる問題だったのですが、まぁちょっとやってればすぐ分かるものでした。
MyJavaServer provides a development environment for Java web applications.
An open environment like MJS is a target of malicious users who abuse our services for illegal or simply inappropriate activities.
In order to minimize abuse and yet provide our services to all interested Java developers for free, we require you to demonstrate your Java skills. The challenge is easy to master but does require some knowledge of the Java programming language.
今回みてみたら、いつから変わったのか難易度アップ。 しかも、出題の仕組みが面白い。
- 問題はあるメソッドに入力を与えたときに、正しい出力がでるかどうかを試される。
- テキストボックスに Java のソースコードをかくとサーバサイドでコンパイルされる。
- コンパイルされたコードに、自動的にテストケースが渡され全て正しい値が帰れば正解!。
問題の内容的には、ある URL が渡されたときにどのクラスを呼ぶのかを決定するようなメソッドをつくるものです。 URL の最長一致で決定するのがキモでしょうか。 そう、答えはさまざま。 一種類ではないのです。
疲れているんですよ、、仕事で一日中コードみてたわけですよ。。
ちょこちょこやって、提出! がーん、fail した。 あ、条件にあたらなかったとき空ストリングかえしてた。 ”miw1SQ” を返すのか。 ちょいとなおして、
与えられるテストケースが隠されているところが面白いところですね。 🙂
最長一致ということで、ぼくは引数をオブジェクトに詰め直して、ソートした上でパターンマッチングする方法をとりました。 まぁこんなことしなくても、順次みて一番一致長が長いのをとれば簡単にできるかな。
コードが書きたくてたまらない方、Java の勉強をはじめた方、あるいはなにか憂鬱な方(!?)は遊んでみるといいかもしれません。 🙂
From: yutaka - 2007/3/5 Monday (Comment)
ぼくなら、一生借りれないぞ:sad:
From: ひろまさ - 2007/3/6 Tuesday (Comment)
案外、クロスワードみたく遊んでいるうちできますヨ