Skip to content

skobaken7/idle_search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

使用ライブラリ・フレームワーク
--

* scala 2.11.6
* Play Framework 2.4.3
* Slick 3
* MariaDB 15.1

概要
--
wikipediaのグラビアアイドルのカテゴリに属する人物を検索できる


仕様
==

/update_dbを叩くと、wikipediaから情報を抜いてくる。
抜いてきたデータはこのアプリケーションのDBに保存され、二回目以降は存在しないものだけを挿入する。
一日一回cronなどで実行することを想定している。

/(ルート)にアクセスすると検索画面が表示される。
最初の状態ではDBに存在する全ての人物名が羅列されている。
人物名をクリックすると詳細画面に遷移する。

詳細画面ではその人物に関する情報を表示する。

工夫点
--

テストコードを書く時間が確保できなかったので、テスタビリティは低いが、バグが出にくい、バグを直しやすいコーディングを心がけました。っj

具体的には

1. できるだけフレームワークの機能を使用する。
2. DRYの徹底
3. 副作用を発生させない(どちらかというと関数型を使用するときの作法であるが・・・)

1は当たり前のことですが、ドキュメントに書いてないことや書いてあっても内容が不十分だったりすると、ソースコードを読まないといけないので、なかなか大変な作業だと思っています。今回検索画面を作るにあたって、FieldConstructorを自分で定義する必要があったのですが、ドキュメントの説明が不十分だったので多少時間がかかりました。

2について例をを上げるとIdle#filterByRangeです。
あるカラムの範囲についてqueryを構築するという、特段特殊なメソッドではないのですが、BaseTypedTypeの記述が必要だと気づくのに時間がかかってしまいました。というのも、このようにslickでカラムを目ドッドに渡す例がネット上で発見できなかったためです。
このメソッドの実装を諦めるとコピペの嵐になってデバッグが大変になると判断したので、相応の時間を割きました。

3についてはscalaを使っていれば当然の話ですし、特段工夫した点では無いのかもしれません・・・。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published