見出し画像

こどもの遊び場サイトのシステム構成 #個人開発

こんにちは、にっぴぃです。「我が家で遊んで良かったを皆に伝えたい」をモットーに、こどもの遊び場紹介サイトを個人で運営しています。
次の休みに子供とどこで遊びに行こうか考えている方、良い遊び場が見つかるかもです。良かったらご覧ください。

logoのコピー

さて今回は、子供の遊び場検索サイトKidsPlayの利用技術を紹介します。

インフラ

さくらVPSを使っています。タイプは2Gを使っています。VPSなので1からインフラ構築しないといけないし運用も手間なのですが、2,000円弱/月で固定なので、個人にはありがたい値段(^^)
ちなみにサイト構築直後は、ユーザ数もそれほどいないと思いますので、1Gプランでも良いかもしれません。

本当は今の時代AWSを使った方が柔軟な運用ができるのですが、個人にはいかせん高い!
多分、同じぐらいの構成だと、費用が3〜5倍ぐらいはかかります。
また、AWSは従量課金なのでいくら費用が発生するのかビビりながら使うのも気疲れするので、個人運用するならさくらVPSがおすすめです。

ちなみに、さくらVPSでキツくなったら、さくらのクラウドに簡単に移行できるのでおすすめです。料金は2倍ぐらいになりますが、固定制なので安心です。AWSのEC2相当なので、スケールUPできるので良いですよ。AWSほど色々出来ませんが、個人ではちょうど良いと思います。

ドメイン

レジストラと呼ばれるところでドメインを取得する必要があります。有名なところだとお名前.comとかですね。
自分はムームードメインというところで、play-spot.jpドメインを取得していますが、特に込み入った理由があるわけでもなく、単に知人に勧められたからですね。

ちなみに、jpドメインはちょっとお高い(年3,400円ぐらい)のですが、当時「日本なんだからjpだろ!」という、浅い考えでjpドメインにしたのですが、今考えればjpでなくてもよかったかも。。
コスパ重視であればマイナードメイン(.info, .tokyo)がおすすめです。年更新1,700円ぐらいです。

SSL証明書

最近のWebサイトはSSLがmustです。お金があれば有料のちゃんとしたやつをとった方が良いですが、まぁ、個人でしたら極力お金をかけない、できれば無料が望ましいです。

ちなみに私は、無料のLet's encryptを使っています。ちゃんとした認証機関で発行された証明書なのでブラウザで警告も出ないで良いと思います。

ただ、SSL証明書の有効期限が90日と極端に短いため注意が必要です。
有効期限が切れるとブラウザで警告が出てしまい、せっかく訪れたユーザが離脱してしまいます。SSL証明書の更新は、自動更新スクリプトが用意されていますので、それを使って更新しましょう。

OS

centOSを使っています。当時主流だったので採用した感じです。今だと「ubuntu」が良さげですね。

ミドルウェア

WebサーバはApacheを使っています。(今後、nginxにする予定)
プログラミング言語は後述するRuby on Railsを使ってましてApacheのプロキシバランサーでアプリケーションサーバ側に通信を送って処理しています。

DBは、PostgreSQLを使っています。MySQLでも良かったのですが、「現在位置から○km」のように距離情報を使いたかったのでPostgreSQL(PostGIS)を使っています。

スクリーンショット 2021-11-12 1.26.21
現在位置の周辺の遊び場

PostGISは以下のサイトが分かりやすかったのでお勧めです。

サーバサイド

Ruby on Railsを使っています。
かれこれ10年前になりますが、サイトを構築し始めの時は、全くこの言語の仕組みが分からず頭を抱えていました。

Ruby単体を取っても「全てがオブジェクト」とか説明があって、何それ?って感じでしたし、あと、( )とか{ }とか省略して書けたりするので最初まったく理解ができず。。
でも、サイトを作っていくうちにだんだん慣れてきて、ruby最高ジャンと!今では少しはまともに書けるようになりました。なったはず。。。

Ruby on Railsのクセを克服すると、とても気持ちよくコーディングができるので、個人的にはお勧めです。ちなみに、最初は以下を見ながら勉強していました。初学にはお勧めです。

フロントエンド

10年前に作り始めたということもありJQueryです。。今ならモダンJSでVue.jsとか使って書くのでしょうが。。リニューアルする気になったら、頑張ります。CSSは、sassで書いてます。

まとめ

以上が、こどもの遊び場サイトkidsplayのシステム構成となります。これから個人でサイトを作る方の参考になれば幸いです。

画像3







いいなと思ったら応援しよう!