よくこういう記事のタイトルを見るけど、Ruby on Rails(以下、Rails)が勝ちだとか、PHPのほうが優れてるだとか、思った方はいますぐ反省するべき。 この記事は、Ruby on Rails Advent Calendar 2014 – Qiitaの1日目の記事です。 こういうものには つかいどきが あるのじゃ 例えば、ページに単純なカウンタを埋め込むだけにRailsを使うでしょうか。今のHTMLにすぐ埋め込むことができるPHPのほうがよっぽど便利で楽でしょう。物事には適材適所という言葉がある通り、同様だと思います。 ここでは、Railsの魅力とかPHPとなぜここまで比べられるかを書いてみます。 (ここでフレームワークと言語を比較している理由は後述ですが世間的によく比較される事が多いため。) おまえ誰よって言われる前に、自己紹介をしておくと自称「IT系なんでも屋さん」。Rails
RailsがMySQLのcollationをサーバー側のデフォルトのutf8_general_ciからutf8_unicode_ciにわざわざ変えてるのどうせ大した理由じゃないだろと思って掘ってみたらやっぱり大した理由じゃなかった… https://t.co/6NeetGhTF0— Ryuta Kamizono (@kamipo) April 18, 2014 Railsでcollationとしてutf8_unicode_ci(RailsのDEFAULT_COLLATION)が採用されるのはcharsetが未指定もしくはutf8(RailsのDEFAULT_CHARSET)のときだけで、utf8mb4にすることとかは全く考慮されてない。— Ryuta Kamizono (@kamipo) April 19, 2014 @frsyuki MySQLのcharset utf8のときのデフォルト
はじめに kakurenboというgemはご存知でしょうか?paranoiaの欠点を克服すべく1年ほど前に私が開発を始めたgemです。(参考:Rails4と3で論理削除を行うためのGem Kakurenbo の紹介と今更論理削除Gemを実装した理由。 - 波打際のブログさん) issueやpullrequestを送信してくださる善意のコミッターの方々に支えられながら1年ほど保守をしてきました。その上で薄々は気がついていたのですが、どうしても認められなかった重大な欠点をハッキリと認識させられたのでポエムにしました。 論理削除gemの起源 kakurenboもparanoiaも、廃れてしまった acts_as_paranoid を再実装したものです。 これらのgemは導入するだけで、いつも使っているdestroyメソッドが論理削除メソッドに早変わりする素晴らしいgem...になるはずだったので
前書き Railsを使いつつJSもそこそこ書きたい、という条件であればまず前提としてjQuery脳を捨てましょう。jQueryスタイルで考えるかぎり何をどうやっても破綻するのでJSを諦めるか保守性を諦めるかして覚悟を決めましょう。 捨てるのは「jQuery」ではなく「jQuery脳」です。jQueryでグローバルな領域に進出してメソッドチェインで狼藉を働いたり、いま現在目の前にあるHTMLだけを考えてDOM操作をしたり、$.onと$.triggerを使ったクロージャ内部へのGOTOなどを記憶から消しましょう。 可能な限りスコープを小さく保つのはプログラミングの基本原則といえます。その原則を思い出し、JSを軽く扱わず、一般的なプログラミングと同様に閉じられた関心事にのみ注力するようにしましょう。 RailsとJSと役割分担 Railsもviewとしてテンプレートエンジンの処理を持っていますが
In my last post I did a small introduction on React, Facebook's latest JavaScript library for building user interfaces, and it's main differences with more complex MV* frameworks. Now it's time to use some React components inside a Rails application. The final resultBefore continuing, I will like to share a very simple application I have created as the result of what we are going to achieve after
Railsのdefault_scopeは強力です。よくやる使い方としてはremovedという真偽値のカラムをdefault_scopeで default_scope -> { where(removed: false) } のように論理削除されたものは表示しないようにさせるといった使い方があります。しかしこれも管理画面では論理削除されたものも含めて集計したいなど、細かい欲求が出てくると意外とグローバルにスコープがセットされるのは都合が悪い。しかもdefault_scopeはmodelの初期値をセットしてしまう(これだとremoved = false)とか、解除するためにunscopedを使うとリレーションからのチェーンができない(@user.blogs.unscopedでuserのscopeごと消える)など残念な点も多いです。 そこで、弊社のRailsアプリではdefault_scopeは
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes 第15回 サーバプッシュ番外編 ~ActionController::Live~ (松永紘) 2014年6月 5/6にRails3.2.18、4.0.5および4.1.1がリリースされました(*1)。このリリースはディレクトリトラバーサル脆弱性に対するセキュリティフィックスですので、できるだけ早くアップデートすることをお勧めいたします。 さて前回までサーバプッシュを行うための技術として、WebSocketをご紹介してまいりました。今回はその番外編として、Rails4から導入されたActionController::Liveによるサーバプッシュについて書いていきたいと思います。 なお、動作環境は以下の通りです(*2)。 Windows 7 Chro
tumblrみたいなやつのRoutingパターンtumblrみたいなやつ (そろそろ適当な名前を決めたくなってきた) をRuby on Railsを利用して実装するにあたって、主にRoutingの周りで考えたことについてまとめておく。他の人がWebアプリ書くときの参考になれば。 機能 tumblrみたいなやつには以下のような機能がある。 ログイン・ログアウト・サインアップ 記事の一覧・詳細・投稿・編集・削除 あるタグの付いた記事一覧 あるユーザの投稿した記事一覧 記事にスターを付ける・外す 記事にタグを付ける・外す 通知一覧 画像投稿 config/routes.rb Routingのコードはコピペするとこうなってる。 Rails.application.routes.draw do root to: "posts#index" get "/@:user_id" => "users#sho
This is a presentation about Japanese mobile application company called jig.jp. The solutions are Mobile browser, widget, movie solutions.
スタートアップ界隈でのRuby on Rails利用率は割と高く感じる。 みんなが使っているから使う?それだけではないはず。なぜ使うのだろう。 railsの特徴を考える。 規約縛りの哲学 周辺gemのエコシステム webの進化への追従の速さ 規約縛りの哲学 Convention over Configurationてやつ。規約を決めて、それに沿えば、フレームワークに乗って素早く開発できるようになる。規約で縛ることでRailsに流れる哲学に従うことを強制化している。 外れると痛い目を見る。Railsに乗るということは電車に乗って簡単に遠くまで行けるということ。Railsから降りるということは電車からも降りるようなものだ。中途半端な理解で突き進むと線路からすぐに降りて歩くことになる。 スタートアップでRailsが採用される一番の理由は、 簡単に遠くまで行ける だと思う。ただ、そんなにうまい話は
Download: source codeProject Files in Zip (41.6 KB)mp4Full Size H.264 Video (16 MB)m4vSmaller H.264 Video (9.19 MB)webmFull Size VP8 Video (8.07 MB)ogvFull Size Theora Video (23.3 MB) さて、このメールを何千人もの購読者に送信しようとしたところ、いくつかのメールクライアントではひどい見た目になっていました。どうすればいいでしょう? ありがたいことにHTMLメールを送信する場合のベストプラクティスについては多くの記事があり、Googleで検索すれば、例えばこの記事などがすぐに見つかります。指摘されている大事なポイントは、レイアウト処理のためにCSSの代わりにテーブルを使うということです。つまり、きれいなseman
Are your controllers looking like this? class IssuesController < ApplicationController default_search_scope :issues before_filter :find_issue, :only => [:show, :edit, :update] before_filter :find_issues, :only => [:bulk_edit, :bulk_update, :destroy] before_filter :find_project, :only => [:new, :create, :update_form] before_filter :authorize, :except => [:index] before_filter :find_optional_project
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0062 号 バックナンバー Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist Magazine 0058 号 RubyKai
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く