WOLFBBS STATSとWOLF MANSIONの技術スタック
そういえば書いていなかったので。
どうやって両サービスを動かしているかの話なので、極端に技術よりのお話です。
大したことはやってないので自分への戒め(勉強への動機付け)にもなるはず。うん。きっと。
WOLFBBS STATS
インフラ
さくらVPSで動かしてます。
勉強用に昔から借りていたのを再利用している形です。
AWSとか、最近だとGCPに乗り換えようかと思ったのですが、このくらいのサービス規模ならVPSがまあ安いかなと。
あとは下手こいてもクラウド破産しないので。
(GCP使いたいなぁ)
バックエンド
前の仕事のときにお勉強がてら作り始めたのでだいぶレガシーです。
terasolunaはドキュメントが豊富で助かります。
項目 | 採用したもの |
---|---|
言語 | Java |
フレームワーク | TERASOLUNA Server Framework for Java ・Spring MVC ・MyBatis ・Apache Tiles ・JSP |
Webサーバー | Apache |
アプリケーションサーバー | Apache Tomcat |
DB | MySQL |
CI/CD | Jenkins |
あとは書いていませんが、ぎじろぐについては
スクレイピング(やログインや発言などpost)はjsoupというHTML Parserを使い、
エピローグ後のhtml保存だったりVPSのほうでのキャッシュだったりで
人狼BBSへの負荷を軽減させています。
フロントエンド
JSPとjQueryです。レガs(以下略)
ぎじろぐはかなりゴリゴリに作りこんでます。
minifyも難読化もしてないので気になる方は読んで絶望してみてください。
WOLF MANSION
インフラ
STATSと同じくさくらVPSです。
バックエンド
WOLFBBS STATSとあまり変わりません。
Ruby on Railsやってみれば良かったと作ってる最中に思ったのですが、
今になって考えるとビジネスロジックがかなり複雑なのでJavaで良かったかも、とも。
項目 | 採用したもの |
---|---|
言語 | Java |
フレームワーク | Spring Boot ・DBFlute (O/R Mapper) |
Webサーバー | Apache |
アプリケーションサーバー | Spring Boot 組み込みTomcat |
DB | MySQL |
CI/CD | Jenkins |
DBFluteはメジャーでなく学習コストも少しかかりますが、慣れるとかなり使いやすく直感的にコーディングできるので気に入っています。
徹底的なタイプセーフでDB変更も楽にできるので、WOLF MANSIONのように小さく初めてどんどん機能拡張していきたいときに重宝しました。
フロントエンド
ThymeleafとjQueryです。
Vue.js使えばよかったと激しく後悔しています。
書き連ねただけですが
こんな感じです。
仕事でもAngular2やGolangやその他もろもろ触る機会も出てきてるので、
今後また新しいサービスを作るときにそのあたりを使ったりもっと別のも使っていきたいですね。
Vue.jsやらRailsも触っておかないとなーという気持ち。
この2サービス自体を育てもしたいし身体が足りんですね。
とりあえず直近やるとしたら今の2サービスでFirebase使ってみるとかでしょうか。色々改善できそうですし。
また何かやったら記事書くと思います。
それでは。