- ぽんこつ(@ponkotuy)
- Scala書いてたら芸者東京でゲーム作ってた
- 最近は艦これとエロゲばっかり
- みんなやってますね
- 嫁(利根)かわいいよね
- 手塩かけて育てた嫁自慢したいよね
という訳で MyFleetGirls http://myfleet.ponkotuy.com というツールを作ってみた
- 自分の艦娘の公開
- 資源グラフ
- 入渠建造の通知
- 建造開発ドロップ統計
- Clientの全自動強制アプデ
- 30億のデバイスで動くJavaの上で動くScalaだからLinuxで動く
https://cacoo.com/diagrams/qAY2YfgNNzdK7LfY
- Playframework
- サーバ側のFramework
- Finagle
- クライアント側のProxyサーバライブラリ
- ScalikeJDBC
- DBアクセス
- C3P0
- ConnectionPoolライブラリ。後述
- MariaDB
- DB。MySQL飽きた
- play-flyway
- DB Migration
- json4s
- クライアント〜サーバ間の通信のSerializer
- CoffeeScript
- JavaScript生で書くのは小学生までd(ry
- VueJS
- AngularJSのTemplate機能を切り出したもの
最近の悩みはViewをPlay側で持つかVueJSでAJAX的にやるか
プロキシ作れるツール色々試したがScalaだとFinagleが一番簡単
https://gist.github.com/ponkotuy/26f2b84b0e3c6ff28c33
- 良い具合に複雑な例
- 自作BulkInsertの例
- 生に近いSQLの例
https://github.com/ponkotuy/MyFleetGirls/blob/master/server/app/models/ShipSlotItem.scala#L135
当初は全部自前で書いてたが、ボイラーコードは自動生成するようにした
scalikdjdbcのplay pluginが若干役不足なので、C3P0を使うPlay Plugin自作してみた
https://github.com/ponkotuy/MyFleetGirls/blob/master/server/app/plugins/MyConnectionPool.scala
- GitHubでMIT Lisenceで公開中 https://github.com/ponkotuy/MyFleetGirls
- 4月末のアプデで艦これAPIが変わった時、最初に対応したツール(当社比
- IntelliJのOpenSource Lisenceに合格
遠慮せずにStar付けてもいいのよ?
- slotitemがデカ過ぎてClientからServerへのPOSTが容量オーバーで死ぬ人が現われる
- shipがデカ過ぎてProxyがTimeoutして死ぬ事象
- そもそもJSONの頭にapi_status: “成功” という謎の日本語が来る
- JSONのIDを無意識にJIntでパースしたらエラー。何だと思ったらStringだった
- 艦娘図鑑で殆ど1要素しかないJArrayが来てたのでクソがと思っていたら、特定艦娘だけ2要素来てパース失敗して死んだ
- 全てのJObjectのKeyにapi_が付いているので、手が勝手にapi_を叩くようになる
- 艦これのAPIこわい