Help us understand the problem. What is going on with this article?

昔のいいねやリブログを思い出させてくれるWebサービス開発の技術選定

どんなWebサービス?

logo.png
https://remind-archives.herokuapp.com/main/getting_started

Twilogfavologを見返したら忘れていた昔の面白いツイートを思い出し思わず笑ったり感心したりしたことはありませんか? Remind Archivesはそうした過去のツイートやポストをランダムに表示し発見やセレンディピティをもたらすことを目的に作りました。
現在以下に対応しています。
- Twitterのいいね
- TwitterのRT
- Tumblrのスキ
- Tumblrのリブログ

どの技術(言語、フレームワーク)を使うか

※以下はすべて2020年7月時点の情報です。
このWebサービスはかなり前から作ろうと思ってたのですが、「どうやって作ればいいか」がわからず長い間構想のままでした。実際検索してみても様々な言語、フレームワークが存在し、まず「どれがいいのか」を考えなければいけませんでした。
最初に自分が慣れ親しんでるJavaを検討しましたが、Java屋さんの私がPythonをはじめる理由 - Qiitaなどを見てビルドに時間がかかることなどを考慮し候補から外しました。
次に検索していくうちに三大フレームワーク(Rails・Django・Laravel)というのを知りこの中から選ぶことにしました。
しかし、まずRailsは以前チュートリアルをやったときドキュメントに書いてあるとおりに書いてるのにエラーが起きたり、また、コードを自動生成するのでエラーが起きたときどこが問題かわからないという経験を度々したので除外しました(ついでに言えば現在衰退傾向)。
googleトレンド.png

問題は残るDjango(python)とLaravel(PHP)ですが、これらは入門記事や文法を見てもかなり似ていてとても迷いました。最終的には
- LarabelはPHPのインストールやMySQLの設定など導入だけで様々なことを行わなければいけない(そのため解説サイトを読むとオンライン開発環境を進められる)
- pythonの方が将来性がありそう(機械学習など)
- GoogleトレンドではわずかだがDjangoの方が上(特にアメリカは圧倒的)
- Laravelは公式ドキュメントがほとんどない
などの理由でDjangoにしました。
自分が特に参考にしたのはPython Django入門 (1) - Qiitaという記事です。

どこにデプロイするか

まずFirebaseは料金の上限を設定できないようなのでやめました。次にロリポップを検討しましたが、DB容量について質問したところ500MBのみという回答だったのでこちらも除外しました。

結局メジャーどころのHerokuにしたのですが、ただデプロイするだけでもライブラリのインストールや各種エラーがありかなり苦労しました。しかし他のサービス(LinodeやVultr)も実際に試したところ、更に莫大な手間がかかり、かつ参考になるドキュメントが少ないのでエラーが起きてもどう解決すればいいのかわからないので消去法で結局Herokuになりました。

特に参考になったのは以下の記事です。
DjangoアプリをHerokuにデプロイする方法 - Qiita
他にも以下のような記事が参考になりました。

Herokuにデプロイしよう · Django Girls Tutorial: Extensions
Djangoのsettings.py周りのメモ - Qiita
DjangoアプリをHerokuにデプロイする時のエラー対処 whitenoise編 - Qiita
HerokuにDjangoアプリをデプロイするときのエラーについての対処法 - Qiita

どの広告を選ぶか

サーバー代がかかるので広告を載せようと思ったのですが、Google AdSenseからは「コンテンツが少ない」(ユーザーデータを読み込んで表示するサービスなのに!)という理由で審査を通りませんでした。しょうがないので他を探したところ、審査がなく日本語の忍者AdMaxを入れることにしました。海外向けの広告は同じく審査がないylliXにしました。

lamrongol
藤川智英。 修士研究の延長でトレンド解析プログラムの開発を行っています。 https://twitter.com/trend_words_jp
https://github.com/lamrongol
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした