実現方法を考えて開発準備する
今回は若干技術寄りな話。興味なければスルーでOK。
ツールを作ることが決定したので次に実現方法を考えていきます。実現方法というのは具体的にいうとどんな技術を使うかです。
ツールを作るといってもデスクトップアプリを作るのかスマホアプリを作るのかWebアプリを作るのかで作り方が変わってきます。プログラミング言語も違いますしそれ用の開発環境も整えないといけないです。
他にもサーバーの契約が必要だったり、ドメインの契約が必要だったり、アプリストアへの登録が必要だったりします。
ということで今回はその辺りを決めていきましょう。
-技術選定-
まず作るのはWebアプリなのですが、Webフレームワークは使わないで素のHTML/CSS/JavaScriptで構成された静的サイトで実装していきます。
色々と考えた結果、データベースは使わずに実装します。
普通はデータベース使って、サーバーにデータ集めて独自の基準で並べ替えをやります。自由度が高くできるので細かいカスタマイズが可能です。
ただ、外部サービスと連携させるにあたって技術力がない場合、まず破綻します。(経験済)
破綻の原因としては、作品の整合性が取りにくいという点、そして作品数が増えるに従ってサーバーの要求スペックの増大やデータベースの肥大化がおきます。条件を増やせば増やすほどそれが起きやすくなります。
正直言ってWeb小説はものすごい消えます。なろうに投稿されたものの半分くらいは消えます。非公開になります。(悲しい)
人もバンバン消えます。(悲しい)
そうなると自分のサーバーでは存在しているけど、本家では消されているとかよくありますね。情報もよく書き変わります。更新もすごい勢いでされます。
情報の整合性を取るには技術が必要なので、プロでもなく、お仕事でプログラミングしているわけでもない、趣味的な日曜大工的な筆者のプログラミング能力では破綻するのが目に見えてます。
なのでデータベースは使わない方針で行きます。
実現させたいのはランキングから探しやすくするためのものであって、カスタムランキングでもなければ、俺俺ランキングでもないのだからモーマンタイ。
データベースを使わないので、Webフレームワークも使わなくても済み、動作速度も上がります。ということで素のHTML/CSS/JavaScriptで構成された静的サイトで実装していきます。
ドメインは独自ドメイン。サーバーは格安レンタルサーバーでいきましょう。
超安いプラン。年間1000円くらいのやつ。そこまで人も来ないかと思うし配信するのは文字だけだからそれほど容量も食わないし転送量もそんなにないかな。
herokuとかAWSもいいんですけど、独自ドメインとか色々とやってくと結局お金がかかるのです。Webフレームワーク使わないので適当なレンタルサーバーにファイル置いて動作させればいいや。
お金をかけない方法もあるけど技術がいるのです。
それだったら簡単な実装で済ませちゃえばいいでしょうてな方針で。
さて、あとはドメインを取るためにサービス名もついでに決めておきましょう。コンセプトとして、
“Web小説投稿サイトのランキング作品を探しやすくするツール“
なのでそれにあった名前をいくつか挙げてみます。Web小説とランキング、検索という単語を適当に組み合わせましょう。
・ウェブらん
・ランサーち
・ノベルランク
・ノベランク
・のべらん
お、”のべらん”がいい感じですね。4文字ひらがなは正義です。
らきすた、けいおん、みなみけ、このすば、ゆるゆり、よつばと、ぼくらの、のうりん、まどまぎ、ひぐらし etc...。
Google検索してもべらんとかべらんめいとかしか出てこないので競合も問題なさそう。
ということでドメイン取得します。Novel + RankなのでNovelanかNoveranあたりがよさそうですね。
Novelanはブランドがあるっぽいので却下。なのでNoveranでとります。
調べてみるとNoveran.comは取られているのでNoveran.netにしました。
ドメインは.comか.net辺り取っておけば安泰かなとは思います。(SEOにはあんまり関係ないそうですけどnoteさんの例をみるとやっぱり.com強いよねって思います)
じゃぁあとは適当なフォルダにGitリポジトリ作ってBitbucketsにバケツ作って、はい完了。
VS Codeを立ち上げて、開発開始します!
使用するもの
- HTML (テンプレートエンジン) : jinja2(Python)
- CSS : Sass
- JavaScript : JavaScript
- サーバー : レンタルサーバー
- エディタ : VSCode
VSCodeいいよね。
お仕事でプログラミングやってるわけでもないので、そんなに技術ない。けど日曜大工的プログラミングでも簡単なツールなら作れるのですよ。