「Scaffold」を含む日記 RSS

はてなキーワード: Scaffoldとは

2014-08-01

一発当てた個人開発者をまとめるWebサービス作った

http://individualist.link/ (←ドメインかっこいいでしょ)

居酒屋にて 〜

A「やっぱり若者が稼ぐにはアプリ作るしかないと思うんですよ」

B「あー分かる」

B「スマートフォンアプリWebアプリでもいいの?」

C「ゲームは当たると大きくていいよね」

A「Webアプリでもいいです」

B「当ててそれで暮らしてる人見ますね。羨ましい。」

A「いいですよね」

A「そういう人の話聞いてみたいんですけどなかなか出てこないですね」

B「当てた人が人前で自慢するメリットないからねえ…」

B「どういう人がどういうサービスで当てたのかまとめたい」

A「いいですねえ。Wiki 的な」

B「Google Docs とかでやってみる?」

A「おお、やりましょう」

B「Webサービスにしてもいいかも」

帰宅 & 1時間後 〜

B「できた」

B「ドメイン取ろう」

B「http://individualist.link/

アルコール入ってるから話のディティールうろ覚えだけどこんな流れで作りました

やっぱり若者が稼ぐにはアプリ作るしかないと思う。

当てたいなら先例を見るのが一番参考になるはずだし、僕は個人で作ったもの流行っているのを見るのが好きだし、そういうのとても興味ある。

このサイトを見ていると、どういう人がこのサービス作ったんだとか、これ個人で作ってたんだという発見があっておもしろいと思います

時間で出来た

時間で出来たというのはほとんど誇張ではなくて、デザインに拘る時間サーバーに設置する時間を抜かせば本当に1時間でできます

せっかくなのでちょっと開発について書きます

このサイトコーディングに使う大まかな作業をまとめると

データベース接続

Twitterアカウントユーザー登録

画像保存

タグ付け

JavaScriptで動き付ける

CSS整える

HTMLマークアップ

デザイン

というような感じになる。これらを実直にいちいち実装してたら1日で終わるか分かりません。

本を読む一番はやい方法は、文字を読まないことです。

コーディングせずにライブラリを使いましょう。

ちょっとコードが書けると実装する道筋が思いついちゃうからライブラリを探す考えに及ばず実装しちゃう事があると思います

そういう事は避けて、アプリを書くならアプリ本体を最小に済ませるか、ライブラリ自体を作ることに力を入れましょう。

こちらのサイトではRailsのレールに乗っかって開発しました。

以下の例はRailsを使った方法ですが、モダンフレームワークを使っているのであればだいたい似たような話になると思う。

ライブラリで組み立てよう

Rails

手に馴染んだフレームワークがあるならなんでもいい。

クソ小さなロジックと数ページしかないならPHPでもいいけど、

とにかくはやく作ることがしたいなら何かしらフレームワーク使ったほうがいい。

秘伝の Rails Application Template を用意しておくのも良い。

データベース接続

モダンフレームワークなら何も考えずにデータベース接続できるはず。

Rails なら config/database.yml に接続情報書いて rake db:create && rails g model User name:string です。

scaffold 使うと更に早くできます

Twitterアカウントユーザー登録

OmniAuth gem を使います

ソーシャルアカウントログインする要件が出たら、何も考えずに「あ、OmniAuth」となりましょう。

Device gem を使うと更に早くできます

画像保存

Paperclip gem を使います

画像保存が必要になったら反射的に「Paperclip か CarrierWave どっにしよう」となりましょう。

ファイル保存とか変換をいちいち実装してたら朝が来ます

タグ付け

ActsAsTaggableOn を使います

has_many :through のめんどくさいタグの実装ですが

これ入れて rake acts_as_taggable_on_engine:install:migrations && rake db:migrate を打てば一発で完成します。

JavaScript で動き付ける

早くつくりたいんなら JavaScript は捨てましょう。

少なくとも生の JavaScript 書く時代ではないので CoffeeScript 使うと良いです。

CSS 整える

とりあえず Bootstrap 入れましょう。

クラスの付け方を覚えちゃうCSS 弄って HTML リロードして確認なんてことしなくても形は整います

Bourbon gem 使って mixin ライブラリ組み込んじゃうのもいいですね。

HTML マークアップ

HTML 書くのやめましょう。

Haml や Slim のようなテンプレートエンジンを使います

Slim が一番タイプ量少なくておすすめ

Zen Coding でもいいけど、結局出力されるのが HTML じゃ見通し悪くて辛いと思う。

Web Components の時代になったらもっと簡単になるんだろうな。

デザイン

こればかりプロっぽいものつくる自信はない…

ただ、Webページやアプリというのはだいたい決まったパターンがあるので、いろいろな事例を見るとよいでしょう。

正直レイアウト自体は他のサイト真似るのは悪くない判断だと思います

しろその方がユーザーにとって慣れ親しんだ分かりやすサイトでもあります

http://individualist.link/場合http://www.producthunt.com/ を異常なほど参考にしました。

まあここまで書いてなんだけど、前提知識として Rails が使えるようになってないといけないのは敷居高くて悪かったと思う。

僕も最初アプリ作るのに途方も無い時間かかってた。

慣れればはやくなるから、たくさんアプリ作って一発当てよう。

思いついたときにすぐ作れるようになれるといろいろ捗るぞ。

なお、今回つくったこのサイト、ぜひともみなさんにも投稿していただきたいのですが現在投稿者承認制としております

質を保ちたいので、捨て垢に荒らされても困りますからね。

私本当に個人が作って運営しているというアプリサイトというのが好きでして、

こちらのサイトリストアップする行為に儲けやがってといった悪意は一切ありません。

私にとっては好きな人達をまとめるサイトなので質はしっかりしておきたいのです。

2013-10-27

死ぬ前にセックスがしたいと思ってWebサービス作ってみた

仕事がツラくて死にたい。でもどうせ死ぬなら死ぬ前にセックスがしたい。

と思ってWebサービス作ってみた

作ったWebサービス

SEX AND DIE

http://sex-and-die.herokuapp.com/

死ぬ前にセックスがしたいと思う人たちが相手を探すサイト

セックスができたら生きる希望がわくかもしれない。

影響をウケたサイト

金くれ

http://kanekure.ssig33.com/

サイト構成

Ruby on Rails 4.0

Railsscaffold便利すぎ。むしろこれしか使ってない。

Railsの使い方はここで勉強

Ruby on Rails 4入門 (全28回) - プログラミングならドットインストール

http://dotinstall.com/lessons/basic_rails_v2

元々Rails3版はやってたんだけど、Rails4になってStrong Parametersだったり変更されてる部分がちらほらあったから、Rails3しか勉強してない人はひと通り見てみるといいかも。

bootstrapが便利らしいけど、デザインにこだわる必要はないなと思ったので省略。

jqueryアニメーションとかajaxとかしないので使用せず。

認証はomniauthでtwitter認証できるようにした。

匿名で書き込めるようにする・ユーザー登録してもらうというのも考えたけど、匿名で書き込みは、書いたあと応募してきたセックス相手との連絡が取れないし、ユーザー登録はいちいち新しいWebサービスの登録をするのはめんどうだろうな(ってか自分はめんどう)と思ったから、twitter認証を入れることにした。

twitterで登録しているID名前写真を使えるのでいちいちユーザー登録必要もなし。

詳細はtwitter経由でやり取りしてもらえればって感じです。

omniauthの導入はここを参考にした。

ASCIIcasts - “Episode 241 - 簡単なOmniAuth”

http://ja.asciicasts.com/episodes/241-simple-omniauth

heroku

heroku可愛いよ、heroku

Railsの作ってgitpush!とっても楽ちん。

とりあえずは無料で使えるのも非常に嬉しいところ。


一部ハマったところもあったけど、そのあたりはherokuの公式マニュアルに書いてあった。

日本語でまとまってるサイトいかなーと漁ってみたけど、すなおに公式見るのが一番早かった。


■注意ポイント

Gemfileに以下を追記

gem 'sqlite3', group: [:development, :test]
gem 'pg', group: [:production]
gem 'rails_12factor', group: :production

最後

よっこらせっくす。

2012-12-12

Ruby on Railsアダルトサイト作ったよー

例に漏れ件のエントリーに影響を受けまして、Ruby on Rails を利用したサービスを作ってみました。

一つもアクセスがないため宣伝ついでに利用したgem作成する際に参照したサイトを載せますので、「Rails初心者っす」とか、自分と同じく「そもそもプログラミングとか知らねっす」という方はちょっとしたナレッジとしてご活用くださいまっせ。開発ガンガンやってる方には価値ある情報たぶんないよー。

作った人

とどのつまり性的健康青年休職中で暇でした。

作ったもの

シコったサイトクリップするのでシコリップ

動機

シコったオカズウェブ上にクリップするサービスで問題解決?

開発環境

最初Mac標準のエディタで書いてたけど、どこかの記事を読んでからは「Sublime Text 2 (http://www.sublimetext.com/)」に乗り換えました。すごく…便利です…。ターミナルMac標準のアレです。オススメがあったら教えてください。

gem

プロセス

完成までにやったこと、実装するために参考にしたサイトを並べます

RubyRails環境を構築する。(http://www.oiax.jp/rails/rails3/install.html)

簡単にウェブアプリの土台を作れるScaffoldという機能を使って遊んでみる。(http://www.techscore.com/tech/Ruby/Rails/quick-start/Rails4/4-1)

行き詰まったので本を買う。(たのしRubyRuby on Rails 3 アプリケーションプログラミングRails 3 レシピブック)(※ 同タイミングで買ったわけではないです。簡単にウェブアプリを作るだけなら「Ruby on Rails 3 アプリケーションプログラミング」とインターネット接続できる環境があれば十分だと思います。ていうか他の二冊はまだ全部読んでない。)

ひと通り分かった気になり、作りたいものを作る作業へ。

$ rails new sicolip

こちらを参考にシコシコ適用

色んなgemがあって迷う。

・Device(https://github.com/plataformatec/devise)
・omniAuth(https://github.com/intridea/omniauth)

でも、

・Deviceはメールアドレスでの認証
・omniAuthはtwitter/fb認証

個人的に

エロサイトメアドを登録したくない
・エロサイト認証twitter/fbってなんか怖い

ということで、自前で実装。has_secure_password(gem:bcrypt-ruby) を利用する。

ここここを参考に。

サイトクリップURL投稿)したときに該当するサイトタイトルとか内容を取得する処理。

Nokogiri::HTML(open(target_url))

こんな感じでNokogiriオブジェクトを取得して、

return doc.xpath('//title').text

こんな感じでタイトルを取得する。こちらxpathほかのお勉強

ログインしている人にしかクリップURL投稿)をさせたくない。そんなときに使える認可処理。

cancanの実装はここここを参考に。

クリップしたサイト情報タグ管理したい。タグ機能の実装を手抜きできるのがこのgem

https://github.com/mbleigh/acts-as-taggable-on

http://prototype-beta.com/tags/acts-as-taggable-on

上記を参考に。

クリップしたサイト情報タイトルや内容、またはタグから検索したい。

その処理を手抜きさせてくれるのがsunspotさんサーバデプロイしたあとに

$ rake sunspot:solr:start

するのをよく忘れて動かない><ってなります

http://railscasts.com/episodes/278-search-with-sunspot?language=ja&view=asciicast

http://outoftime.github.com/sunspot/docs/

will_pagenateっていうgemもあるんだけど、kaminariが最近流行りらしい。

https://github.com/richardiux/sunspot_with_kaminari

クリップするためにこのサイトに飛ぶのちょっとめんどくさい。

ということで、はてなブックマークみたいなブックマークレットを作る。

http://d.hatena.ne.jp/ky2009/20090108/1231405893

herokuとやらが設定周りの色々めんどくさいことを肩代わりしてくれるという噂。しか無料

→ sunspotが有料オプションでした。やめる。

AWSというAmazonサービスが設定によっては無料らしい。

→ ほんとに無料だった。AWS内のElastic Beanstalkというサービスが、herokuみたいにめんどくさいことを色々やってくれる。

http://blog.serverworks.co.jp/tech/2012/06/28/aws-elastic-beanstalk/

http://qiita.com/items/811cd9b614d8d300628e

おわり

そんなこんなで出来上がったもの陳腐ものかもしれませんが、まがいなりにもひとつサービスができました。ここ1カ月だらーっとRubyRailsをさわってみて感じたことは、ウェブアプリを作るのって特別なことじゃないんだなーっていう。どこかで誰かも言ってましたけど、開発している最中パズルを解いてる感覚でした。ウェブに転がるピースを探して、フレームワークにあてはめていくようなそんな感覚

おしまい

2008-09-28

RoR簡単じゃないだろ

「なんと10分でコードを書かずにWebアプリを作れる」

と、いう謳い文句にそそのかされてRubyRuby on Railsインストールして、説明通りにセットしてみた。動きゃしねぇ。調べてみると、バージョンが変わっているのでデフォルトDBが違うらしい。あと、環境プログラムGEM微妙に動きが変で、今は「ワンクリックで動く便利なインストーラー」があるのだとか。試してみる。なぜか「gemが古い」と言い出す。指示通りアップデート

で、もう一度紹介されていたサンプルを組んでみるが、scaffoldという呪文を、メソッド実行時に受け付けてくれずloadErrorが出る。検索して、コマンドラインからscaffoldを生成してみたが、今度はエラーを吐いた後、サーバーすら立ち上がらなくなった。

Ruby使えねぇ。などとは言わない。「簡単に使えるというのはマーケティング上の嘘で、トラブルを回避するためのバッドノウハウをたくさん勉強しなければならないらしい」という、至極あたりまえな、うすうす予想していた結果。

2007-09-19

[]4日目

Eclipse経由を諦めてAptana IDEをそのまま使うようにした。

なんかこれは、まんまEclioseなのかもしれない。同じコードから作られてるのかな?

使いやすいよ。

昨日の続き

昨日の続きでこれをやった。

Windowsで簡単にRuby on Rails:Instant RailsAptana

http://japan.zdnet.com/sp/report/story/0,2000056431,20352478-3,00.htm

まずは、図11のようにテーブル名の単数形である「category」、「recipe」でそれぞれモデルを作成する。「GO」ボタンクリックするだけだ。

まったくもって何を言っているのかわからない。

そして図11なる画面をどこで呼び出すのかもわからない。

「みちこさん?パソコンを立ち上げるっていうのは縦に置けばいいのかいのぉ・・・?」

つまりはそういう感じだ。

うりうり探してたら、初期表示画面の画面下部のタグにGenerators画面があった。

scaffoldを実行とか書いてある。何これ趣味悪い。

scaffoldって絞首とか処刑とかそういう意味じゃなかったっけ?

足場っていう意味もあるのか。なんか違和感

で、なんなんだ!?

なんだかよくわからないまま連載終了。・・・くっ。

Aptana Eclipseプラグインで始めるRuby on Rails

Aptana Eclipseプラグインで始めるRuby on Rails

http://blog.codezine.jp/editor/2007/06/aptana_eclipseruby_on_rails_1.php

前にも見たことがあるこれにもどってきた。

現段階の環境構成でAptana IDE経由でRubyHello Worldを試す。さくさく。

おー。

この一連のコラムが、いままでの中で一番わかりやすかった。(目次はわかり難い)

ちなみにscaffoldの回のurlはここ。

http://blog.codezine.jp/editor/2007/08/ruby_on_railsscaffold_1.php

上のコラムをやって疑問点、へーっと思ったこと

Aptana IDEブラウザ内臓ってどこから呼び出すんだろ?

→下部WindowにあるServerタグのところにアイコンでLunchBrowserというのがあった。

ウインドウ:設定のところでFireFoxにも変更できる。

設定ついでにワークスペースエンコードの設定の欄を発見utf-8に変換した。

エンコードの状態をステータスバーなどに表示させておく方法はないのだろうか?探したが見つけられなかった。)

Generatorsタグが消えてしまった。

パースペクティブRubyになってた。これをRuby on Railsに。

Rake tasksを実行したりするとGeneratorsのプルダウンが出なくなる。なんでだろう?

ウインドウで新規ウインドウを開いたりして誤魔化している。

なんとかならないものか。

http://blog.codezine.jp/editor/2007/06/ruby_on_rails_migration1.php

RailsではmodelファイルDBのテーブルと対になります。

いわゆるO/Rマッピングというやつです。

へーーー!!そういう意味だったのか。

今日感想

今年買ったメーカー製のほとんど素のマシン

メモリを512MBしか積んでないのでページングしまくり

しかたがないのでこまめにテストサーバーを止めて対応。

IDE系統でメモリ食ってるのかな?落とすと300MB近くあく…。

1Gまでもっていかれちゃうと終了もままならなくなるので注意が必要そう。

Hello worldレベルでこんなんなってちゃ世話ない。

win系がダメなだけかな?

  • テーブル単体のI/Oはできるようになった。

複数を組込むにはどうしたらいいのだろうか。

さすがにheader/detailでDB参照したい。

追記:なんか少し調べたけどもしかしてRuby on RailsってO/Rマッピングオンリー…?

そんなまさか…。いや、いくらなんでも…。

http://www.web-career.com/seminar/ruby_on_rails.html

  • 今週中に予定していたアプリを作りこむのはムリ。

作る内容をもっとシンプルアイディア勝負なヤツに変えようとおもう。

[Ruby]3日目

http://anond.hatelabo.jp/20070918200857

 
ログイン ユーザー登録
ようこそ ゲスト さん