Java プログラミング

Springで作ったWebアプリをさくらVPSを用いて公開しました

JavaのフレームワークであるSpringをさくらVPSを使用して タイポグリセミアクイズ というサービスをリリースしました

タイポグリセミアクイズ

 

 

タイポグリセミアとは

タイポグリセミアとは文章中の単語がの順番が最初と最後の文字さえ正しければその他の順番がバラバラでも読み取れるというものです

例えば

「これは タイポグリセミア ぶしょんう の れぶいん です」

という文章があった場合

「これは タイポグリセミアクイズ ぶんしょう の れいぶん です」

が正しい日本語ですが 1つ目の文章でも理解出来たと思います。

日本語では 単語構成文字が6文字以下であるとか色々と制限も加わるようですが詳しくは知りません…

サービス内容

上記のタイポグリセミアを用いた文章が提示されるのでその原文となる日本語をスペース区切りで単語ごとに回答するというクイズに挑戦していただきます。

 

クイズ画面

 

今の所ただクイズに答えるというだけであり対してコンテンツとしての面白さがないため今後スコアシステムなどを追加していきたいと思います。

作ろうとしたきっかけ

元々タイポグリセミアを使ってクイズができたら面白そうだなと思ってたのとJavaを使って何かを作りたいという気持ちに加え夏に向けて様々なインターン情報が出る中で一つも成果物として記載できるものがない…!っていう焦りから作成しました。

 

元々のスキルセット

情報系の大学2年生

  • Javaはすっきりわかるシリーズを3冊読んで他にも色々な本に手をつけた(Atcoder ABCのB問題まではすぐ解けるレベル)
  • HTML,CSSはいっぱいググれば書ける
  • Cは学校の授業で使ったことがある
  • JS全くわかりません
  • サーバーの知識0
  • GitHubでcloneとcommitはできる(それしかできない)

タイポグリセミアクイズに着手し始めた5月始めのスキルはこんな感じです

 

学んだ技術

  • Java Spring フレームワークを用いた開発(Spring JPA,Spring Security,Thymeleaf)
  • Maven
  • lombok
  • HTML,CSS,JS(少し)
  • Database(MySQL,MariaDB)
  • CentOS7, Apache, nginxのVirtualHost関連
  • SSL認証(Let’sEncrypt)
  • 基本的なMVCモデル開発
  • Git(Hub)のブランチ作成・マージ・リセット機能
  • vimの使い方(基本的なもの)

コード->GitHub

 

全然使いこなせるとは言えないレベルではありますが色々な技術に触れることができた上に、エラーがいっぱい出てそのために解決策をネット上で漁りまくったので知識としては結構増えたかなという印象です。特にVPSを借りて作ったのでサーバー関連全く知らない状態から少しは知れたのでよかったです。

 

問題点

  • このブログのサブドメインとして運用してるんですがSSL化がうまくいかない・・(VirtualHostの設定なのかSpringのせいなのか不明) -> 一つ一つ手打ちすればいけました
  • Springの初期スコープはsingletonなのですがprototypeとかに変えるとなぜかエラーが出るため治せてない(致命的)->解決しました。
  • なぜか気づくと落ちてる時がある ->最近は無い

 

非常に重要なものばかりなので何とかして直さないといけないなぁって感じですが時間がなさすぎるのでできたらやります・・

 

 

感想

春休みの間は色んな入門書を読むのにハマってたんですがやっぱり何かを作るっていうのは非常に大事だなと感じました

特にVPSを借りてこのブログとタイポグリセミアクイズを同じドメインで運用するのはサーバー経験0の僕に取ってはかなり有意義なものでした。

Linus系のコマンドについても色々知れましたし色々な設定についてググりました

Apacheよりnginxが流行りらしいので今後そっちに移行していきたいとは思ってます・・・

->Nginxに完全移行しました

 

なんか色々技術的につまるところがあって解決できてブログにしたいところがあった気がするんですがほとんど覚えてない・・思い出したら色々書きます

 

また、これからも色んな物を作っていきたいと思います(アイデアは溜まってますが時間がない)