タグ

2019年7月26日のブックマーク (17件)

  • Rails のエラー処理について知ってる範囲でまとめ - Qiita

    特定の場所のエラーを拾う 何らかのエラーが発生した場合、 そのまま Rails英語のエラー画面を出してしまうと、 ユーザーに無駄に悪い印象を与えてしまったりするので、 表側に出す用のエラー画面を用意して遷移させておく。

    Rails のエラー処理について知ってる範囲でまとめ - Qiita
  • Redisでttlを指定していないキーを探し、削除する - bauer's diary

    1. はじめに Redisを長く運用していると、いつの間にかSwap Usageが高騰したり、Freeable Memoryが枯渇してきて問題になることがあります。 そんなとき様々な原因が考えられますが、その一つにTTLを指定していないキーが容量を逼迫していたときの対処についてご紹介します。 2. Redis TTL とは ttl コマンドでキーの有効期間を確認します。 有効期間を設定する場合は expire コマンドで指定します。 有効期間が設定されていないキーからは -1 が返ります。 存在しないキーからは -2 が返ります。 ※Redis 2.6以前の場合は存在しないキーも -1 が返ります。 下記は使用例です。 > set key "hage" OK > get fuga "hage" // キーにTTL(単位はseconds)をセット > expire key 100 (inte

    Redisでttlを指定していないキーを探し、削除する - bauer's diary
    himejimasandesu
    himejimasandesu 2019/07/26
    redis
  • Ruby on Railsのセッション管理にRedisを使ってみた - Qiita

    概要 Redisとは メモリ上にKey-Valueストア(KVS)を構築することができるソフトウェアの一つ。 KVSは任意の保存したいデータ(値:value)に対し、対応する一意の標識(キー:key)を設定し、これらをペアで保存するデータベースの一種で、Redisはコンピュータのメインメモリ上にKVSを構築し、外部のプログラムからデータの保存と読み出しができる。 Redisとは - IT用語辞典より抜粋 なぜRedisを使用するのか? ruby on rails - セッションを保存するとき、なぜ、Cookieではなくmemcachedやredisを使用するのでしょうか? - スタック・オーバーフロー Ruby on Rails - redisやmemcashedといったセッションストアの使用シーンがわかりません。(RDBではダメなんでしょうか?)(11303)|teratail Redi

    Ruby on Railsのセッション管理にRedisを使ってみた - Qiita
    himejimasandesu
    himejimasandesu 2019/07/26
    redis
  • Rails deviseで使えるようになるヘルパーメソッド一覧 - Qiita

    ※モデル名にUser以外を使用している場合、それぞれのメソッドの『user』部分を書き換える ex.モデル名がmemberの場合、 before_action :authenticate_member! member_signed_in? current_member member_session before_action :authenticate_member! となる。 以下に各メソッドの補足を書いていきます。 before_action :authenticate_user! コントローラーの先頭に記載することで、そこで行われる処理はログインユーザーによってのみ実行可能となります。 下記の通り記載した場合、記事の一覧、詳細を確認することができるのはログインユーザーのみとなります。 class ArticlesController < ApplicationController b

    Rails deviseで使えるようになるヘルパーメソッド一覧 - Qiita
  • shared_examples_forに引数を渡して処理をさらにまとめる - mikami's blog

    ここ最近はリファクタリングやより短い書き方を考えてます。 一行でもコードから文字が減るのは嬉しい。 そんなわけで、カラム名が違うだけで、内容同じじゃん・・・って場合のテストの書き方です。 前提条件 カラムの:login, :passwordは半角英数字のみで文字数制限を含んでいます。 ただし、文字数制限は違います。 けど、やってることは同じなので、処理をまとめます。 shared_examples_forの書き方 shared_examples_for 'alphanumeric' do |column_name, min_len, max_len| let(:factory_name) { described_class.name.underscore } let(:record) { build(factory_name) } context "#{column_name}" do c

    shared_examples_forに引数を渡して処理をさらにまとめる - mikami's blog
    himejimasandesu
    himejimasandesu 2019/07/26
    rspec
  • shared_examples_forが便利 - とんちゃんといっしょ

    RSpecのテストをグルーピングして実行できる#shared_examples_forが便利。 Shared example group - Example groups - RSpec Core - RSpec - Relish これを使えばテストコードが簡潔になるのでテストコードの量を減らすことができる。 require "set" shared_examples_for "a collection" do let(:collection) { described_class.new([7, 2, 4]) } context "initialized with 3 items" do it "says it has three items" do collection.size.should eq(3) end end describe "#include?" do context "

    shared_examples_forが便利 - とんちゃんといっしょ
  • git の add を取り消す - Qiita

    よく間違えて add してしまうので、 そうなってしまったときの対処方法です。 $ git reset HEAD sample.txt 以上! これで sample.txt は git のステージングから取り除かれ、 add する前の状態になります。 ファイルの内容は元のままなので、その心配は不要です。 後、ファイル名のところを . とすると、カレントディレクトリ以下全てのファイルを対象として、 add してしまったファイルを、git のステージングから取り除くことができる。 この操作は git に add してステージングに追加したファイルを、 ステージングから取り除く操作であるため、 この操作を行って add ファイルの内容が変わることは無い!無いんだ! とても便利だけど、いざ使い出すと色々なことで詰まってしまい、 自分の行う操作がやって良いことなのかダメなことなのか悩むときも多い g

    git の add を取り消す - Qiita
  • Ruby | bundler を特定のバージョンに切り替えて実行する - Qiita

    $ gem search ^bundler$ --all *** REMOTE GEMS *** bundler (1.14.6, 1.14.5, 1.14.4, 1.14.3, 1.14.2, 1.14.1, 1.14.0, 1.13.7, 1.13.6, 1.13.5, 1.13.4, 1.13.3, 1.13.2, 1.13.1, 1.13.0, 1.12.6, 1.12.5, 1.12.4, 1.12.3, 1.12.2, 1.12.1, 1.12.0, 1.11.2, 1.11.1, 1.11.0, 1.10.6, 1.10.5, 1.10.4, 1.10.3, 1.10.2, 1.10.1, 1.10.0, 1.9.10, 1.9.9, 1.9.8, 1.9.7, 1.9.6, 1.9.5, 1.9.4, 1.9.3, 1.9.2, 1.9.1, 1.9.0, 1.8.9, 1

    Ruby | bundler を特定のバージョンに切り替えて実行する - Qiita
    himejimasandesu
    himejimasandesu 2019/07/26
    “gem list bundler”
  • git commit を取り消して元に戻す方法、徹底まとめ | WWWクリエイターズ

    Git における、git commit の取り消し方法や、やり直し操作に関する方法をまとめました。Git はどんなコミットでもすべてを記録していますので、一度間違えたとしても、いつでも昔の記録からもとに戻せ事が保証されています。 取り消しや、やり直し方法をマスターすれば、バージョン管理ツールとしてのメリットを最大限享受することができます。 git commit の取り消し方法、6選 コミットした直後に「あっ、この変更入れ忘れた!」「あっ、いらないファイルを混ぜてコミットしちゃった!」など、確認不足による間違いは、時間に追われるエンジニアに非常にしばしば発生します。そのような間違いコミットは、まだpushしていなければ、容易に取り消したり、その後コミットをやり直すことができます。 コミットの取り消しにまつわるケースを、下記の6種類に分けてご紹介します。 直前の git commit 実行を取

    git commit を取り消して元に戻す方法、徹底まとめ | WWWクリエイターズ
    himejimasandesu
    himejimasandesu 2019/07/26
    “git reset --soft HEAD^”
  • Ruby 定数について - Qiita

    Rubyの定数、注意点についてまとめておく 注意点 Rubyの定数は、多言語とは異なる仕様になっている 異なる仕様について プログラミング言語における定数とは 書き換え不可能 wikipediaで調べてみる 一度初期化するとその内容を変更することはできない。よって、内容が変化しないことが保証される名前が必要なときに使用される。 (https://ja.wikipedia.org/wiki/%E5%AE%9A%E6%95%B0_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)) 定数の内容は変化しない、これはruby以外の言語を学んだ人であれば当たり前のことだろう。 Rubyおける定数とは 書き換え可能 Rubyの定数について詳しくみていく 定義 アルファベット大文字で始まる識別子 例:Abc、ABC、ABc

    Ruby 定数について - Qiita
  • bundle install と bundle updateの違いについて - Qiita

    Rails初心者あるあるで、「bundle install と bundle updateの違いが、分からない」というものがあります。かくいう私も、良く分からないまま過ごしてきてしまったので、ここで一旦調べてみました。 事前知識 bundle installとbundle updateの違いについて、理解するためには、まずgemfile と gemfile.lock の違いについて、そしてBundlerについて学ぶ必要があります。 Bundlerについて Bundlerはgemを管理するためのgemです。Bundlerを使用することでbundle installやbundle updateコマンドを使用することができるようになります。 gemfileについて gemfileはgemをインストールするための「設計図」のようなものです。私たちは、基この「設計図」に、自分のアプリケーションに必

    bundle install と bundle updateの違いについて - Qiita
  • Bundler による BUNDLED WITH に対応する - zdogma's diary

    Bundler とは? 言わずと知れた Gem のパッケージ管理ツールです。 bundler/bundler · GitHub Gemfile に必要なパッケージについて記載し、 bundle install すれば必要なパッケージをすべてインストールしてくれます。 突然の BUNDLED WITH たまたま訳あってローカルで gem update していたところ、突然 Gemfile.lock に下記のような内容が追記されるようになりました。 BUNDLED WITH 1.10.3 どうやら Gemfile.lock の中で bundler 自体のバージョンも管理するようになったようです。 上記自体は bundler の 1.10.0.pre.2 からあったということですが、なかなか bundler 自体を update する機会がなく、今まで目に触れる機会がありませんでした。 今後メン

    Bundler による BUNDLED WITH に対応する - zdogma's diary
  • rubyのArrayで集合(和集合・積集合・差集合・対称差集合・補集合) - Qiita

    rubyのArrayで、 和集合・積集合・差集合をしたいとき、 それぞれ「 | 」・「 & 」・「 - 」でできます。 また、発展として対称差集合・補集合をしてみます。 ちなみに、rubyには、集合を表すSetクラスも用意されています。([参考]Setクラスでの集合) 和集合「|」

    rubyのArrayで集合(和集合・積集合・差集合・対称差集合・補集合) - Qiita
  • Rails エンジン入門 - Railsガイド

    ガイドでは、Railsの「エンジン」について解説します。Railsエンジンのきわめて簡潔で使いやすいインターフェイスを用いて、ホストとなるRailsアプリケーションに機能を追加する方法についても解説します。 このガイドの内容: エンジンの役割 エンジンの生成方法 エンジンのビルド方法 エンジンをアプリケーションにフックする エンジン機能をアプリケーションで上書きする 読み込み/設定フックでRailsフレームワークが読み込まれないようにする方法 1 Railsにおけるエンジンの役割 エンジン (engine) は、ホストとなるRailsアプリケーションに機能を提供するミニチュア版Railsアプリケーションとみなせます。この場合、ホストとなるRailsアプリケーションは、実際にはエンジンに「ターボをかけた」ようなものにすぎず、Rails::ApplicationクラスはRails::Engi

    Rails エンジン入門 - Railsガイド
  • Redisチートシート(コマンド編) - Qiita

    1. 導入編 2. コマンド編 3. 設定編 概要 redis-cliの接続後に実行できるコマンドを抜粋した。 コマンドの全容は公式のリファレンスを参照のこと。 またアプリケーション(外部プログラミング言語)によってRedisを操作するためのAPI/バインディングについて調べた。 SQLと同様に、コマンドの大文字小文字を区別されない。 (対してキーは区別される。当然値も) 基的な操作 保持と取得、削除(SET / GET / SETNX / DEL) キーに対する値を設定/取得する。 GET時にキーが存在しない場合はnilが返る。

    Redisチートシート(コマンド編) - Qiita
  • Redis に保存されてる値を見ようと思った時に覚えておきたい redis コマンド | そんなこと覚えてない

    設定したりもっと細かい作業をしたい場合は help コマンドを使う。 種類ごとのヘルプをみたい場合は @ をつけるとよい 例えばリスト関連のコマンドを知りたいなら > help @list といった感じ。 以下は解説 keys 登録されている key がわからないと何もできないので、keyの一覧をみる方法 > keys * 引数にはパターンを入力する hogeではじまるものに絞りこみしたい場合は > key hoge* とかする。shell の場合はアスタリスクはエスケープする必要があるのに注意 $ redis-cli keys \* type redis は key に格納された値の種類によって取得コマンドが違うらしい。 値をみるために種類の確認が必要。 hoge というキーがあった場合は > type hoge とする。 返す値としては string list set zset has

  • Redis Command - TTL(指定したキーの有効期間を確認)

    redis> set key_t v OK ### 有効期間を10秒に指定 redis> expire key_t 10 (integer) 1 ### ttlで残り秒数を確認 redis> ttl key_t (integer) 8 redis> ttl key_t (integer) 4 redis> ttl key_t (integer) 2 redis> ttl key_t (integer) 0 redis> ttl key_t (integer) -1 ### 値を取得してみるとnilになる redis> get key_t (nil)

    Redis Command - TTL(指定したキーの有効期間を確認)
    himejimasandesu
    himejimasandesu 2019/07/26
    redis