java-ja.OSSのLT http://connpass.com/event/19690/
![Rails開発のひみつ](https://cdn-ak-scissors.b.st-hatena.com/image/square/24254adeb31b1d7710295246c4e62fa3800fb099/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F2a799ac8153d429aa27ffe5116affaec%2Fslide_0.jpg%3F5351219)
java-ja.OSSのLT http://connpass.com/event/19690/
Amethyst is a Rails inspired web-framework for Crystal language Download .zip Download .tar.gz View on GitHub Amethyst is a web framework written in Crystal language. The goals of Amethyst are to be fast as Node.js and comfortable as Rails. Note, Amethyst is at early stage of developing, so a lot of features are missing yet. However, it works :). Why I called my web framework "Amethyst"? Because C
こんにちは、Misoca開発チームのmzpです。 先週は友人の家に泊り込んでWWDCのライブストリームを見ていました。 MisocaではRailsとJavaScriptでの値の共有にgonを利用していますが、ときおりcontrollerのテストが失敗するという奇妙な現象に遭遇しました。今日は、その話について書きたいと思います。 要約 テストケースごとに Gon.clear を呼べば解決する。 もうちょっと長い要約 gonはrequest store gemを使って値を保存する controllerのテスト内では、request storeは予期した動作をしない 明示的に Gon.clear を呼べば回避できる gonとは gonはRailsとJavaScriptで値を共有するためのgemです。 具体的には、Railsで gon.user_role = "admin" とのようにすると、Ja
jbuilderを使いはじめたのでメモ jbuilderとは jsonのテンプレートエンジンです。 xxx.json.jbuilderファイルにDSLを記述するとJSONにして返してくれるという物。 ファイルに記述するので難しいjson形式を返す時とかは便利そうです。 DHHが作ったもので、Rails4からはデフォルトで使えるようになっているようです。 jbuilderを使うための設定 Rails4では特に設定をせずに利用できます。 views以下にxxx.json.jbuilderファイルを作ってlocalhost:3000/items.jsonにアクセスすればjson形式のレスポンスが返ってくれます。 jbuilderの書き方 Modelを使わない書き方 一番シンプルな形式。 json.set! :key, 'value' # {"key":"value"} 入れ子はこんな感じ。 js
はじめに kakurenboというgemはご存知でしょうか?paranoiaの欠点を克服すべく1年ほど前に私が開発を始めたgemです。(参考:Rails4と3で論理削除を行うためのGem Kakurenbo の紹介と今更論理削除Gemを実装した理由。 - 波打際のブログさん) issueやpullrequestを送信してくださる善意のコミッターの方々に支えられながら1年ほど保守をしてきました。その上で薄々は気がついていたのですが、どうしても認められなかった重大な欠点をハッキリと認識させられたのでポエムにしました。 論理削除gemの起源 kakurenboもparanoiaも、廃れてしまった acts_as_paranoid を再実装したものです。 これらのgemは導入するだけで、いつも使っているdestroyメソッドが論理削除メソッドに早変わりする素晴らしいgem...になるはずだったので
I’m going to talk about some of the plugins and configuration that I use every day at work, which is mostly developing Ruby on Rails applications. In my case there are some elements that make a big difference when using a text editor: Switching between files and directories VCS support (git of course) Movement inside of a file Shortcuts that make my life easy Of course some of these elements can b
メモ。 調べた時のバージョンは、PostgreSQLは9.4.0で、Railsは4.2.0。 JSONBデータ型とはバイナリ型JSONの事。JSONBの"B"はバイナリ(binary)のB。 元々PostgreSQLでは9.2からJSON型に対応しており、9.4からJSONを独自バイナリ形式で格納するJSONB型が追加された。 JSONBの特徴をざっと書くと以下のような感じ データの正規化が行われ、入力結果が完全に保持されないケースがある(不要な要素の間の空白文字の削除、重複したキーがあった場合に後述したもののみ有効となる等)格納容量が大きくなる傾向にある。また、正規化が行われる為、格納処理は普通のJSON型の比べて遅い。検索がJSONと比べて格段に早い基本的に、検索に特化している感じらしい。 JSONBについての詳細は、@nuko_yokohamaさんのJSONBデータ型を使ってみようが
■ devise をあまりオススメしない理由 いまいち使うのに気が乗らない理由はこんな感じ コントローラレイヤ以降に作用する gem は inspect が物凄くやりにくい、params ないし、必要なコンテキストを全て揃えた上で、コントローラを new して action を呼んで、みたいなこと、考えただけでもだるい テストを書いていたとしても、環境要因、特にセッションとクッキーに影響して挙動が変わる箇所が多すぎるので、全ての環境で正しく再現することが難しい フルスタックすぎることから Rails よりも devise にロックインされることの方が多くなって負債化する そもそも devise で便利になることの多くは、自分で作ってもわけない物が多い 使うからには、devise のコードも全部読むし、PR も投げるしという前提かつ、上のようなことを全て乗り越えるつもりなら僕は止めません!
Devise is a flexible authentication solution for Rails based on Warden. It: Is Rack based; Is a complete MVC solution based on Rails engines; Allows you to have multiple models signed in at the same time; Is based on a modularity concept: use only what you really need. It's composed of 10 modules: Database Authenticatable: hashes and stores a password in the database to validate the authenticity o
rakeタスクを書いて、herokuにpushしてコンソール開いて実行ってのがめんどくさいので、自分のローカル開発環境から直接プロダクションのDBをさわりたかった。チームでやってると良くないと思うけど、個人プロジェクトならまぁいいかってことで。 config/database.yml production_local: adapter: postgresql encoding: utf8 port: 5432 pool: 5 database: YOUR_DB_NAME username: YOUR_DB_USER_NAME password: YOUR_DB_PASSWORD host: ec2-00-000-00-000.eu-west-1.compute.amazonaws.com sslmode: require 以下は適宜変えてください。 production_local(env
railsboxAutomate your Ruby on Rails server configuration with ansiblerailsbox helps you to start applying best DevOps practices in your project by generating ansible playbooks for configuring and deploying Ruby on Rails applications. You no longer need to edit a single configuration file on your server and use tools like capistrano for code deployments - all this comes out of the box.
こちらの記事の解決編です。 ActiveRecord::RecordNotFoundのエラーは放置すべきか? - komagata @hiroshi3110さんからズバリな答えをいただきました。 @komagata ... とかやってました。 ActiveRecord::Notfound がでるときはバグというのがすぐわかるように — hiroshi (@hiroshi3110) 2015, 1月 6 怖話で実装 # lib/record_not_found_by_trustless_param.rb: class RecordNotFoundByTrustlessParam < StandardError; end # app/controllers/comics_controller.rb: class ComicsController < ApplicationController
概要 vagrant up 一発でRuby on Railsの開発環境を構築出来るようにしました。 ローカルのファイルシステムをDocker上のアプリケーションサーバから参照しているので好きなテキストエディタを使えます。 すぐにRailsで開発を行えます。カスタマイズしたい場合はForkして頂くのがいいと思います。 dockerあれば、chef使わなくて良いですね。 初期設定 VirtualBox用のVMイメージをダウンロードします。(任意) % vagrant box add precise64 http://files.vagrantup.com/precise64.box あとは、サンプルコードをcloneしてvagrant upするだけです。 初回は30分程度かかります。 Docker imageのダウンロードとimageの構築があるので。 これでも、Containerのベースは1
それなりの規模のRailsプロジェクトではよくFat Model問題とかFat Controller問題が課題になってくる。 で、Fat Model問題については、Concernsなどに振る舞いを切り出したり、そもそも「それって1つのテーブルに収める必要ある?」というものを分割するなどの対策がある。 後者については、http://kenn.hatenablog.com/entry/2014/03/05/081525 この記事がわかりやすいサンプルとしてUserモデルからProfileモデルをテーブルごと切り出す例を挙げている。 今僕が関わっているプロジェクトでも上記例のように姓名などはProfileに切り出してあり、その他も住所関連の情報をAddressに、「退会理由」みたいなめったにつかわない情報をExtraInfoに、といったように意味合いと使用頻度を考慮していくつか分割する設計になっ
おそらく多くのソーシャル系アプリにあてはまるRailsのプチ・デザインパターン的な話。 ぼくが今やっているEast Meet Eastには、ユーザごとに数多くのプロフィール属性があります。名前、性別、生年月日、郵便番号、職業などなど、カラム数にしてざっと25個。これを、全部ひとつのusersテーブルに詰め込むのは、コードの見通しという観点からも性能の観点からも、あまりよろしくありません。 なぜならば、ユーザ関連の情報を扱う局面としては主に メールアドレスとパスワードなどを使ってログインする(アカウント情報) プロフィール情報で条件を指定してユーザを検索・推薦する(プロフィール情報) という2つの独立性の高いユースケースにわかれるため、ログイン処理をやってるときにはプロフィール情報はいらないし、プロフィールを検索してるときにはメールアドレスやパスワードをロードするのは無駄です。また、開発やデ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く