Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Rails初心者でもできる1日で作るクソWebサービス

More than 3 years have passed since last update.

今日は1日でスピーディーにWebサービスを作る方法について紹介します。
本記事の対象読者は

  • 時間も技術力もない
  • デザインもできない
  • が、とりあえず、何かWebサービス作りたい
  • お金もできればあまりかけたくない
  • フォームとか最低限の機能があって、見た目そこそこならそれでいい
  • アクセスも作ってみなきゃわからんがな

といった方です。
とにかく、こういった状況でも、どうやってサービスを作るか書いていきます。

インフラ整備

あなたは、とにかく時間もお金も技術力もあまりないので、chefなどのプロビジョニングツールは使わず、サーバーに入って直接いろいろインストールしましょう

お金がないので、Herokuとかは使わず、Sakuraのサーバーを借りましょう。(1年契約とかなら、Sakuraの方が安い。)
(※もっと最安なものがあったら教えてください)
さくらサーバー:http://vps.sakura.ad.jp/specification/

クソサービスなので、スペックは最低で大丈夫です。

とりあえず、
- ruby
- nginx
など、最低限のものをyumとかでインストールすればいいです。
SSLもお金がないので、Let's Encryptとか使って済ませましょう。
Let's Encryptは簡単にできるので、こちらをご参照ください。
http://qiita.com/yamadagenki/items/111185931ef9a59eb054

ドメインは、お名前.comでlinkやsiteなどにすると、安く済みます。
お名前.com:http://xn--t8jx73hngb.com/)

とりあえず、ラーニングコストは年間で合計8000円以内で済みます。
飲み会でいうと、2-3回分我慢すればいい話ですね。

デザインなどの整備

あなたは時間も技術力もないのに加え、デザイン能力もないので、デザインすることや、CSSを書くこと、javascriptを書くことも諦めましょう。
この辺に凝りだすと、一気に時間を持っていかれます。
素直に、デザインをパクりましょう
お金もあまりだしたくないので、デザインは商用可のフリーのテンプレート集が大量にあるこの辺のものから拾ってきましょう。
商用利用無料!Bootstrap 3, Bootstrap 4をベースに最近のUIデザインのトレンドを取り入れた新作テーマのまとめ:http://coliss.com/articles/build-websites/.../best-templates-for-bootstrap-2015-autumn.html
Bootstrapで作るランディングページ・小規模サイトに、商用無料でバックリンク不要で利用できるテンプレート集 -Designstub:http://coliss.com/articles/build-websites/operation/work/bootstrap-templates-designstub.html

適当に、cssやjsをファイルにぶっこみましょう。
基本的に、時間がない時は
- デザインしない
- CSS・JSは書かない
というポリシーが大事です。

大事なことなので繰り返しますが、
デザインに凝りだすと一気に時間を持っていかれます。

最低限のRails開発

今回作るのはクソサービスなので、開発は基本的にRuby on Railsで開発していきますが、scaffoldをうまく利用して、開発しましょう。
これでかなり開発を高速化できるはずです。
scaffoldを利用した開発(1):http://www.techscore.com/tech/Ruby/Rails/quick-start/Rails4/4-1/
scaffoldを利用した開発(2):http://www.techscore.com/tech/Ruby/Rails/quick-start/Rails4/4-2/

これでめんどくさいフォーム処理を一気にやってくれます。
画像投稿とかは最低限できるようにする、ということを考えると以下のようなgemを付け加えれば十分です。
Rails 4.1 で CarrierWave を使う:http://qiita.com/akishin/items/46b2e239cf4190171da8
carrierwave:https://github.com/carrierwaveuploader/carrierwave

そんなに凝ったことをしようと思わないでください。
なぜなら、あなたには時間も技術力もないのに加え、今回作るのはクソサービスだからです。

もし、万が一ログイン機能とか複雑なことをしようと血迷った場合、絶対にdeviseは使わないことをおすすめします。なぜなら、機能が豊富で複雑だからです。
代わりに、sorceryを使いましょう。こちらのほうが遥かに機能が小さく使いやすいからです。
railsのログイン認証でsorceryを使ってみた(設定編):http://biboroku.megaya.net/entry/2015/01/06/012750
sorcery:https://github.com/NoamB/sorcery

繰り返しますが、難しいことをやろうとは思わないでください。

わがままなあなたは

それでも、あなたはわがままなので、パンクズやサイトマップ、メタタグ等の最低限のSEO対策をしたいと考えるのはもちろんのこと、あわよくば広告収入がほしいと思ったりするでしょう。

そんな時下記のgemをうまく使ってください。
gretel:https://github.com/lassebunk/gretel
meta-tags:https://github.com/kpumuk/meta-tags
sitemap_generator:https://github.com/kjvarga/sitemap_generator

だいたいこの辺を入れれば、そこそこのSEO対策は出来るはずです。

広告は、Google Adsenseをクソサイトに突っ込むと怒られることもあるので、この辺のサービスを使いましょう。
アイモバイル(i-mobile):http://www.i-mobile.co.jp/
ネンド(nend):http://nend.net/
わりかし審査も簡単なので、お手軽です。

さらに、一応は、分析とかもしたいのでGoogle Analyticsとかも突っ込みます。
Google Analytics:https://www.google.com/intl/ja_jp/analytics/

やりかたは難しくないので、ググってください。
ここまでできれば、最低限のわがままはかなったと思います。

管理画面なんて作ってられるか

とにかく、時間がないので、使いやすい管理画面なんて作るのは諦めましょう。
とりあえず、下記のようなgemを使い、さくっと管理画面を作りましょう。
activeadmin:https://github.com/activeadmin/activeadmin

クソサービスなので、管理画面なんてあなたしか触らないので、管理画面への認証はBasic認証で良いでしょう。
テキトーにBasic認証をかけて終わりましょう。
ActiveAdmin with http authentication:http://www.railszilla.com/activeadmin-http-authentication/rails

あとはデプロイするだけ

ここまでくればあとはデプロイするだけです。
サーバーのnginxの設定を見直して、
unicornとcapistranoの設定をして、デプロイするだけです。
Capistrano3でUnicorn+Nginxな環境にRailsをデプロイする:初心者向け:http://qiita.com/zaru/items/9e02706b27094ce36902

余力があるかたは、CircleCIを設定しましょう。
この辺の話です。
個人開発を支えるRailsにおけるCI環境:http://qiita.com/yamadagenki/items/f2f294aa3e4cb9c19c03

最低限、デプロイの設定だけでもしておくと改修からのデプロイが楽です。
おすすめします。

まとめ

今回は、直ぐに簡単なWebサービスを開発する方法について書きました。
1日というのは実際にちょっと初心者にはきついかもですが、

  • デザインしない
  • CSS・JS書かない
  • REST Full以外の動作をあまり考えない
  • とにかくデプロイして動くところまでを早く

ということだけ考えて開発すれば、3日以内には動くサービスができると思います。
サービスはリリースしないと、始まらないし、個人開発なんてやる気があるうちにやらないと何も始まりません。
凝って凝って凝った挙句に結局お蔵入りした企画はありませんか?

こだわるならとりあえずリリースしてからということを意識して開発すれば、アイディアは直ぐに形にできます。

最後まで読んでいただきありがとうございました。
これを参考にくだらない、クソサービス大量生産してください!

yamadagenki
プロダーツプレイヤーやっています。 趣味でプログラミングやっているので、それ関連のことを書きます。
https://yamadagenki.github.io/xushengbo/
ventus
スポーツ選手の電子トレーディングカードサービスwhooop!を開発・運営するスタートアップ
https://whooop.jp/
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