タグ

2020年7月9日のブックマーク (6件)

  • RailsにおけるCacheの概念と使い方 - Qiita

    キャッシュとは、使用頻度の高いデータを高速な記憶装置に蓄えておくことにより、いちいち低速な装置から読み出す無駄を省いて高速化すること。また、その際に使われる高速な記憶装置や、複製されたデータそのもののこと。 Rails3 Rails3までは以下の3つの代表的な機能を提供していた。 ページキャッシュ レンダリングされたページのHTMLファイルをまるごとキャッシュする機能。キャッシュ化されたファイルはpublicディレクトリ以下に配置され、静的なファイルとして返す。 アクションキャッシュ ページキャッシュは極めて高速だが、使える所が限定される。例えばbefore_filterで認証処理するアクションには適用できない。actionキャッシュはページキャッシュと似たような機能だが、before_filterの後に呼び出されるので、認証処理などの処理ができて、ページキャッシュより柔軟な対応ができる。

    RailsにおけるCacheの概念と使い方 - Qiita
    youko03
    youko03 2020/07/09
    “キーにオブジェクトを指定した場合 @object.cache_keyがキャッシュのキーとなる。ActiveRecordのオブジェクトの場合、IDや、updated_at を元にキーが作成されるので、オブジェクトのupdated_atが変更されると自動でキャッシュも更新
  • Railsのキャッシュ(cache)について - Qiita

    はじめに 今回はRailsのキャッシュについてまとめました! 上手く活用することで、WEBサイトの表示速度が格段に上がる便利な機能です。 ではでは早速説明していきます キャッシュとは 表示する頻度の高いページ、あるいはページの一部などを保存しておき、 次回リクエストが入った時に保存してある場所から取り出すことです! つまり新しく読み込むのではなく、以前読み込んだデータを再利用するようなイメージです! キャッシュを使用することで、アプリケーションのパフォーマンスを効果的に上げることが出来ます! キャッシュの種類 キャッシュには様々な種類があります。 ①ページキャッシュ 名前の通り、該当ページのHTMLファイル全体をキャッシュします。 キャッシュされたファイルはpublic以下に配置されて、次回リクエストされた際はそこから静的ファイルとして返されます。 ②アクションキャッシュ こちらもページ全

    Railsのキャッシュ(cache)について - Qiita
    youko03
    youko03 2020/07/09
    ` - cache @tag_clouds_view_cache_key, skip_digest: true, expires_in: Settings.cache.tag_clouds.expire do = render 'search/static_links', condition: @condition, special: @special, room_count: @room_count, tags: @tags if @tags.present? `こういうやつのことか
  • Railsアプリを66%スピードアップ ― Railsキャッシュの完全ガイド | POSTD

    (訳注:2016/3/2、頂いた翻訳フィードバックをもとに記事を修正いたしました。) Railsアプリでのキャッシングは、「たまに夕を一緒にするけれど、当はもっと頻繁に一緒にいるべき友達」に少し似ています。パフォーマンスをまじめに考えるRailsアプリのほぼ全てで、もっとキャッシングを使えるはずですが、ほとんどのRailsアプリでは、完全にキャッシングを避けています。それでも普通は、Railsで高速なサーバ応答を達成するための唯一の道は、キャッシングの知的な利用なのです。約250msの応答時間を、簡単に50~100msに高速化できます。 定義についての注意 ― この記事は、アプリケーション層のキャッシングのみを対象としています。HTTPキャッシング(これは全く別の難物で、あなたのアプリケーションに実装する必要はありません)は、別の機会で扱いましょう。 するべきキャッシングをしない理由

    Railsアプリを66%スピードアップ ― Railsキャッシュの完全ガイド | POSTD
    youko03
    youko03 2020/07/09
  • Sass の @extend はどこがすごいのか

    この記事では Less & Sass Advent calendar 2011 の 16 日目として、Sass の @extend 機能について書いてみます。が、諸事情により締め切りを過ぎてからあわてて書いており、かなりとっ散らかったものになるであろうことをあらかじめお断りしておきます。 さて、まずは @extend の基的な機能についてざっとおさらい。@extend される側として一連のスタイルを定義したセレクタがあり、そのセレクタを @extend で継承しつつプロパティを追加したりして、新しいセレクタを作ります: // SCSS // 継承元のセレクタ .button { display: inline-block; border: 1px solid gray; background-color: silver; &:hover { border-color: black; }

    Sass の @extend はどこがすごいのか
    youko03
    youko03 2020/07/09
  • Railsでクエリ結果をキャッシュしてDB負荷を軽減する - Qiita

    はじめに Ruby on Railsを使ったサービス運用時に(Ruby on Railsに限った話ではありませんが)サービスの成長に連れてサイトへのアクセス増大によりDBへの負荷が原因でサイトのレスポンスが遅くなってしまうことがあります。 そのような場合の対応策の一つとしてクエリの結果をキャッシュしてDBアクセスの回数を減らして負荷を軽減するという方法があります。 この記事では簡単なサンプルを使ってクエリの結果をキャッシュする方法を紹介します。 実行環境 ruby 2.5.1 rails 5.2.1 以下のサンプルではキャッシュストアとしてredisを使用するため localhost:6379 でredisにアクセスできる状態を前提としています。 サンプルプロジェクトの準備 サンプルとしてArticle(model)を持つプロジェクトを作成します # プロジェクの作成 $ bundle e

    Railsでクエリ結果をキャッシュしてDB負荷を軽減する - Qiita
    youko03
    youko03 2020/07/09
    こういう感じでやるのか
  • javascript Objectでmap,filter,reduceなどを使いたい....。 - イノベートな非日常

    配列にはあるけど、Objectにはない....。 が Object.protorype.filter = funcion(){ } とかprototypeで生やしたいところだが、Objectはすべての型の基なので 不用意に生やすと悲惨なことに。 例えばArray ObjectはObjectを継承しているので、Array.filterが動かなくなる。 なのでlodash(underscorejs)を使うのが無難かな..。 これだとメソッドチェインできないけど....。 ネイティブ関数だけでやるなら、Object.keys使ってkeyの配列を作ってそれをmapmapの中で、またObjectを呼び出して処理する....。 Object.keys(myObject).map(function(value, index) { myObject[value] *= 2; }); Object.p

    javascript Objectでmap,filter,reduceなどを使いたい....。 - イノベートな非日常
    youko03
    youko03 2020/07/09
    んー他のやり方もあれば知りたい