JavaとJavaScriptで「しがない問題」の話とか

2017年から、Tech系ポッドキャストを色々と聞き始めた。

 

色々聴いている中の一つに、「しがないラジオ」がある。

結構回数を重ねているので未視聴の回もあるが、月に数回、安定して更新が来るので楽しみ。

shiganai.org

 

 

 

[お題「しがない問題」]

しがないラジオのsp.8のゲスト、tbpgr(てぃーびー)さんのブログを見ていたところ、プログラミングお題「しがない問題」を見つけたので実装してみた。

ちなみに、sp.8はまだ聴いていないので、来週のタスクにしたい。

 

tbpgr.hatenablog.com

 

「しがない問題」の概要は以下の通り。

  • 「楽しくて仕方がない」に含まれる平仮名「しくてがない」からランダムに4文字抽出する試行を100回繰り返す
  • 1回でも「しがない」が出たら第N回SIerのSEからWEB系のエンジニアに転職したが楽しくて仕方がないラジオ、略して「しがないラジオ」を出力する(Nはしがないが出た時の試行回数)
  • 出なかったら、「100回目の文字列+ラジオ」ちゃうやんを出力する

 

[Javaバージョン]

実装物は以下で公開している。

shiganai-problem/java at master · kdnakt/shiganai-problem · GitHub

 

Javaバージョンを実装してよかったことは、

  • MacEclipseをインストールするなど、放置していたJava開発環境のセットアップができたこと
  • Java 9環境で初めて開発したこと(と言ってもJava 9の機能は使わなかったけど)
  • 少しだけテスト駆動開発ぽく実装を進められたこと

などがある。

 

Javaで実装していてつまづいたことは、

  • JMockitJava 9関連のエラー出た
  • 完全にランダムな単語を作ることのテストが書けなかった

などがある。

 

ちなみに、JMockitの件はググったところ、-Djdk.attach.allowAttachSelfVM引数に追加してテストを実行することで解決した。

stackoverflow.com

 

[JavaScriptバージョン]

おなじく、実装物は以下で公開している。

shiganai-problem/js at master · kdnakt/shiganai-problem · GitHub

 

JSで実装してみて良かったことは、

  • テンプレートリテラルについて学んで実戦投入できた

くらい。

 

うまくいかなかったことは、

  • テスト駆動にできなかった

につきる。

テストを実装するために使おうとしていたexportsとかrequireとか、ブラウザで使えないのは知っていたが、トランスパイラ使うのがなんかうまくいかなかったので諦めてしまった。今月中にリベンジしたい。

あと、画面があまりにも味気ないのが残念だ。そのうちReact Nativeバージョンとか作ろう。

 

[まとめ]

そういえば、しがないラジオ最新回(ep.31)で、紹介されていた「生放送なら凍らないっ!」も見ないと……ポッドキャスト界隈は一つ聞くと、あれも聞かなきゃこれも聞かなきゃってなるのが辛いところ。

 

www.youtube.com

 

[2018/01/17追記]

続きを書いた。 

kdnakt.hatenablog.com

 

追記]

続きを書いた。