Posted at

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日以内には動くサービスができると思います。

サービスはリリースしないと、始まらないし、個人開発なんてやる気があるうちにやらないと何も始まりません。

凝って凝って凝った挙句に結局お蔵入りした企画はありませんか?

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

最後まで読んでいただきありがとうございました。

これを参考にくだらない、クソサービス大量生産してください!