TL;DR Devise Securityを使うことで、過去に使用されたパスワードの制限や多重ログイン禁止などのエンタープライズ向けのセキュアな機能を提供できる。 はじめに RailsでWebアプリを作成する際、Deviseを使って、ユーザ管理を行うことが多いと思います。 Deviseはかなり便利なgemですが、過去に使用されたパスワードの制限や多重ログイン禁止などのエンタープライズ用のセキュリティ要件までは取り扱っていません。 そこで今回はDeviseの使用を前提として、さらにDevise Securityを使用して、よりセキュアなRailsアプリを構築します。 Devise Securityについて Devise Securityは、Deviseの拡張で、下に挙げるような機能を追加します。 ちなみに、開発が止まってしまったDevise Security Extensionから公式にfo
初めまして 今日から自身のprogrammingの日記をつけようと思います。 今日学んだこと 今日はprogateのRuby On Rails学習コースをしました。 変数session... getとpost applicationコントローラー to_iメソッド 変数session ページを移動してもユーザー情報を保持し続けるために、sessionという特殊な変数を用います。sessionに代入された値は、ブラウザ(InternetExplorer, GoogleChrome等)に保存されます。sessionに値を代入すると、ブラウザはそれ以降のアクセスでsessionの値をRailsに送信します。 getとpost get : データベースを変更しない場合 post : データベースを変更する場合、sessionの値を変更する場合 applicationコントローラー applicat
A gem native extension might link to a separate library that needs to be pre-installed, and RMagick is an example of that. However, the term really just means "includes some code that needs to be compiled for your machine". The code is compiled and linked so that the resulting executable file can be required by Ruby on the machine. The usual reasons for writing a Ruby C or C++ extension are: Speed
はじめに Ruby on Railsといえば、言わずと知れたRuby製のWebフレームワークですよね。様々なスタートアップで採用されており、世界で最も人気のあるWebフレームワークの一つと言っても過言ではありません。私はこの一年、ほとんどこのRailsのみを使って開発をしてきました。 一方で、このRailsとよく対比されるのがPython製のWebフレームワーク、Djangoです。こちらも非常に人気があり、初心者向けにDjangoとRailsを比較したインターネット上の記事なども多く見受けられます。 こちらは自分には縁のないもの、と勝手に私は思ってきたのですが、先日から縁があって知人のDjangoプロジェクトをお手伝いしています。「RailsわかるならDjangoもわかるよ!」と言われて軽い気持ちで手伝い始めたのですが、触ってみると思った以上に違うところがたくさんありました。今回はその中の
こんにちは!マチマチというご近所SNSを開発している id:fujimuradaisuke です。 スタートアップで働くみなさん、テスト書いてますか?テストの書き方・方針ってチームによってかなり異なるんじゃないかなーと思っています。実際いままで僕が参加したチームもそれぞれに個性がありました。そこでマチマチのテスト方針やその背景をシェアしたら面白いのでは…?と思ったので(僕は他の人のテスト方針を読みたいです)、社内向けにまとめておいた文章を共有してみようと思います。 背景 ご近所SNSマチマチは「ひらかれた、つながりのある地域社会をつくる」というミッションのもと2016年に開発がスタートしました。現在外部のお手伝い頂いている方を含めて5人のエンジニアで開発しています。構成としてはプレーンでモノリシックなRuby on Railsのアプリケーションです。現在は気がつけばモデルが200個とそこそ
仕事でフィヨルドブートキャンプというRailsエンジニアになるためのスクールをやっています。 FJORD BOOT CAMP(フィヨルドブートキャンプ) 「どのレベルになったら就職できるの?」 という点がイメージできないと、就職したい人にとってわかりづらいなと思ったので明確にしておきたい。 戦力として計算できるRailsエンジニアとは 僕の考える、Railsエンジニアとして就職できる最低レベルは、 「少しでもプラスの戦力として計算できる」 というものです。 「Issueを一人でこなせる」 といっても良いかもしれません。 「は?みんな10の戦力持ってるところに1とかじゃ困るんだけど?」 と思うかもしれませんが、Railsプロジェクトにとってほとんどの人類は1の戦力も無くて、マイナスです。 Railsチュートリアルを終わったばっかりで実務レベルの開発したことないぐらいの人もマイナス戦力です。
個人的に、Rails界隈でよくチェックしているサイトをまとめておきます。 プラグイン The Ruby Toolbox プラグインの情報を探す時は、大概ココから入ります。プラグインに関するドキュメント、スクリーンキャスト、ブログエントリー等を、皆でプラグインに紐付けられるようになっているので便利です。また、そのプラグインがどのくらい人気があるのか視覚的に分かるようになっているので、最近急に人気が出ているプラグインとか発見出来たりします。単純にブラブラと徘徊していても楽しいサイトです。 技術情報/チュートリアル Ruby5 海外の有名な企業Envy Labsが情報を掲載しているサイトです。主に、RubyやRails界隈の最新情報、トピックス等を1週間置きくらいに更新しています。 Coding Edge @ITで取り上げられているカテゴリ。情報量は少なめです。 Ruby on Rails Tu
RailsAdminは、簡単に、キレイな、扱いやすい管理画面を提供してくれるRailsエンジンです。 リソース Demo GitHub RubyGems.org The Ruby Toolbox インストール RailsAdminは、管理画面にアクセスする管理者の管理にDeviseを利用しています。 その為、まずは、Deviseをインストールしておきましょう。 Gemfileに、deviseを追記します。 $ bundle install $ rails g devise:install create config/initializers/devise.rb create config/locales/devise.en.yml ===============================================================================
Rails 4.0.0がリリースされたので今参加しているプロジェクトのアプリのアップデートが出来るかを試してみました。 やってみた結果としては、2.3 -> 3.0や、3.0 -> 3.1に比べると大分楽にバージョンアップできる感じです。 たまたま今のプロジェクトで引っかかった問題について、メモがてらまとめておきます。 rake rails:update diffを見ながらconfigファイルを書き換える。 そんなに大きな変更は無い。 rails4からはinitializerに色々移せって感じで、application.rbが軽量化されてるけど、元のままでも別に問題無い。 設定項目の重複だけ注意。 strong_parameters 元々、gemで先行導入して取り入れていたので概ね問題無く移行できました。 attr_accesibleを利用したセキュリティ対策は、外部のgemに分離されてい
Ubuntu 13.04 Nginx 1.5.4 Ruby 2.0.0p247 Ruby on Rails 4.0.0 最新のNginxを入れる cd ~ Nginxの鍵をダウンロードし追加する wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key /etc/apt/sources.listに以下の2行を追加する deb http://nginx.org/packages/mainline/ubuntu/ raring nginx deb-src http://nginx.org/packages/mainline/ubuntu/ raring nginx apt-getを更新 sudo apt-get update Nginxをインストール sudo apt-get install
Railsのコールバックが辛いって本当?実際にハマって、学んだこと チーム開発での経験は、一人で開発していた時とは全く別ものでした。Railsのコールバックは、 書いた本人ではなく他のメンバーが辛くなる ことが多いということを実体験を通して学びました。コールバックで苦しんだ経験を実際のシーンを元に書いてみました。 はじめに こんにちは。KitchHikeインターンエンジニアのタクです。 社員エンジニアの方から「Active Recordのコールバックは使い方を気をつけよう。」という趣旨のことを、入った頃から何回も言われていました。しかし、開発経験の浅い自分にはなぜ気をつけないといけないのかあまりピンときていませんでした。 たしかにインターネット上にはアンチコールバックの記事が多いのですが、どの記事を読んでも実体験がないからか、心から納得することはできませんでした。 「なぜそんなにもコールバ
こんにちは。メドピアのRuby(Rails)化をお手伝いしている@willnetです。最近は子育てに忙しくしています 👶 先日、メドピアで利用しているcapybaraのjavascript driverをpoltergeistからheadless chrome(selenium-webdriver)に移行しました。driverを変更するにあたって既存のテストコードをいくつか修正する必要があったので、そこで得た学びを共有したいと思います。 なぜ移行したのか ここ数年、Railsでエンドツーエンドのテストを書くときにはpoltergeistを使う、というのがデファクトスタンダードだったはずです。それ以前はみんなcapybara-webkitを使っていましたが、poltergeistはバックエンドにPhantomJSを使っており、Qtに依存しているcapybara-webkitと比べてビルドが
こんにちは、風邪はだいたい喉から来るぷーたんです。 「DDDの構成要素はこれだー」というのはたくさんあったのですが、 「このドメインオブジェクトはどの要素だー」と逆引きするものがなかったので調べてフローチャートにしてみました。 例えばドメインモデル図とコードがうまく合致しない時の見直しなどに使えるのではと考えています。 ではご覧ください♪ 検討フローチャート 図1.フローチャート 1) 複数のドメインオブジェクトを扱い、整合性を担保するか まず複数のドメインオブジェクトを扱うかを考えます。 ドメインモデル図では集約線が引かれていたり、複数の関係線が引かれていたりします。 図2.ドメインモデル図の例 上記のような場合であれば、「本棚」と「購入」はYes、「書籍」「在庫」「所持金」はNoです。 また、扱う複数のドメインオブジェクトに対して整合性を担保するかも考えます。 不要な場合、ドメインオブ
I am very afraid of making some modifications on the server. Because the server is working fine with the current settings. I will to explain: The server is an Amazon EC2 instance. In this instance I have: ruby -v: ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] rails -v: Rails 4.2.3 nginx -v: nginx/1.8.0 passenger -v: Phusion Passenger version 5.0.10 I have 1 Load Balancer, which has a li
Merb was started two years ago by Ezra Zygmuntowicz as a tiny framework to serve ERb templates from Mongrel. This quickly grew into much more and carved out a niche as an alternative Rails stack. Merbists focused on among other things a small speedy core, being ORM/JavaScript agnostic, and having a rigorous API for extensions. Along with the expansion in ambition came the fact that Merb and Rails
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く