Scala
PlayFramework
Java9

PlayFramework 2.6 開発準備

前回に引き続きアウトプットしていくコーナー

https://qiita.com/lunalice/items/5f02d0cd42bf412f1d00

今回はやっとこさ参考書をざらっと読んだので次はやりたい事をまとめて知識と整合性を合わせて行く時間です。もちろん全部頭に入って体に染み付いているというわけではない。なので作ってみましょうという感じ。(ざらっと過ぎて体に染みてない感が強い

やりたい事をざっとまとめてワイヤーフレーム(Justinmind)とか作ってアウトプットイメージを固めて行きたいなっていう感じ。全部やった事ないので新鮮ですね。

顧客なんていないし要件定義するほどの上流工程を味わった事ないので、ここは私が現場で改善したい事をまとめる。こうしておくとルーティングと画面遷移辺りのイメージが沸き安くなりコーディングが捗る(と思いたい)

【要件定義】

・私「現場で席替えする度に端末変更が入ってブックマークとか移動するの面倒臭いのでアカウントに紐付けてブックマークの共有とか出来ないかなぁー」

上記を改善する為の機能を上げていく。

・ユーザー登録(CRUDユーザーテーブル)

・ユーザー認証画面

・ブックマーク管理画面(CRUDユーザーテーブルと紐付いたブックマークテーブル)

ざっと考えて上記みたいな感じ。

次はどうやって作っていこうかフェーズ

【環境について】

何を使ってやっていこうか?って事で参考書見ながらherokuがPlayアプリに最適とか書かれてたのでメイン柱をPlayFrameWork with herokuでやって行きたい。自分が見た情報が古かったのかherokuってruby on rails専用環境って認識だったので目から鱗。いつか触るつもりだったのでナイスタイミング。

・プログラム言語:JAVA+scala

・フレームワーク:PlayFrameWork

・データベース:PostgreSQL

・本番環境:heroku

ちなみにherokuはPaaS(プラットフォーム・アズ・ア・サービス)って製品でOSやサーバーが揃ってる状態になっている為、前回サーブレットアプリ作った時はVPSにサーバー立ててApacheとかtomcatとかごにゃごにゃやっていたものが軽減される新設設計。インフラ関係触りたいならvpsで頑張るのがいいと思うけどアプリ動かしたいとかだとherokuでいいと思ったり。で、herokuのインフラとして使われてるのがAWSって奴で、最近のインフラで結構使われてるのを見るので次のフェーズにはAWSを使ってなんか作りたいと思ってる。

【テーブル定義】

定義って程でもないがMVC作る時modelから作るパターンが多いらしいのでざっくり考えてみる。

ユーザーテーブル

・ID

・名前

・パスワード

・メールアドレス(迷い中)

・登録日

・ログイン日時

ガチもののサービスを作るわけではないが、ユーザー登録してパスワード忘れた時にメールアドレスがないと詰むよなぁと思いつつ、とりあえず作ってみようフェーズだと流石に過ぎた機能で実装とテストに時間が凄まじくかかりそうなのでちょっと迷い中。ログイン日時を付けたのはメンテが出来ない状態でも半年経過したらユーザー使用してないね削除しましょうねってあくまで個人運用の観点であったらいいかなって。もちろんガチもののサービスでユーザーデータがつがつ消したら死ぬので別に確保したりするんだろうなぁ

ブックマークテーブル

・ID

・ユーザーID

・URL

・備考

・画像(迷い中)

出来るかわからないが、ユニークユーザーデータ毎にブックマークを格納しなければならないので、ユーザーIDで紐付けた感じに出来ないかなぁ(願望)、他者のブックマークが見えるのは流石に情報つーつー過ぎるのでテーブルからデータ持ってきた時重複しているURLをカウントして結構このURL人気高いねって感じにしたい。この手のものをクラウドにするとそれ検索サイトでよくね?ってなっちゃいそうなのであくまでアカウント単位で。画像データについては非常に迷うところでブックマークした時に画像なんて登録しないですね?だが画像のやり取りは経験値として蓄積したいねって感じで。

上記インフラエンジニアでもない素人客先常駐SESが想定してるものなので効率のいい方法とかこうしたほうがいいとかあればコメント下さいとっても喜びます。

とりあえず本日はここまで。

【雑記】

やっとこさpaizaで問題消化トロフィー揃ったのでランクA・S辺りぽつぽつしていきたい。

難しいというか問題がややっこしくて頭使わないとなんだけど、少し読み違えると仕様漏れて時間と点数取れない深みに嵌る。問題自体は出来ない感じはなく多分forifでいけると思う。後はその時のひらめきが問題とあってるかどうか。

来週からオファー頂いた企業様とかお話して行きたいと思ってます。未熟ですがよろしくお願いします。

やりたい事やらないといけない事がいっぱい。