タグ

railsに関するcastaneaiのブックマーク (10)

  • Railsのタイムゾーン

    GraphQLを用いたサイトに
おけるパフォーマンス改善
(ECサイトを題材に)/ Improving online shopping site performance which using the GraphQL

    Railsのタイムゾーン
    castaneai
    castaneai 2018/03/26
    utc offset のみでnew timezone したら summer time が無視される、そのため基本は tzname でnew する、、それでも offset でやりたいときは virtual timezonerails gem をつかう
  • ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita

    ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ。 Preload, Eagerload, Includes and Joinsという記事にそれらの違いがよくまとめられているんだけど、includesが挙動を変える条件があまり正確に書かれていなくて自信が持てなかったし、そもそも記事が古いのでRails4.1.5のソースを読んで調べた。 せっかく調べたので、全体を通して日語でまとめてみようと思う。 User.joins(:posts).where(posts: { id: 1 }) # SELECT `users`.* FROM `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` WHERE `posts`.`id

    ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita
    castaneai
    castaneai 2018/03/06
    “そのテーブルとのJOINを禁止したいケースではpreloadを指定し、JOINしても問題なくてとりあえずeager loadingしたい場合はincludesを使い、必ずJOINしたい場合はeager_loadを使いましょう。 ”
  • Rails

    簡単な注文システムを想定してセッションを進めます。 以下を実行して、アプリの開発に必要となるファイルを生成します。 (rails -h と実行すると、利用可能な rails サブコマンドとサブコマンドの説明が表示されます) rails new chumon 必要なファイルが chumon ディレクトリの中に生成されます。 以降は chumon ディレクトリの中で作業を行います。 cd chumon 以下は Rails3.2 で最初にやらなければならないお決まりの設定です。 Gemfile を編集します。 gem 'therubyracer', :platform => :ruby Gemfile を編集した後は必ず bundle install コマンドを実行します。 bundle install Rails アプリのディレクトリ構造です。 . # |-- Gemfile # アプリで利用

  • (404) | LearnEnough.com

    Error 404 Sorry, there's been a problem The page you were looking for doesn't exist. You may have mistyped the address or the page may have moved.

  • rails3 + html5 canvasでお絵かき投稿サイトを作ろう!

    はじめましてこんにちは。 KRAYアルバイトの浅海です。 html5のcanvasを使ってお絵かき投稿サイトを作ってみようと思います。 初めてブログ記事を書くということで気合が入りました。 ちょっと長めですがお付き合い下さい。 機能 お絵かき投稿サイトの必要最低限な機能って? ざっと下のような機能を入れてみます。 絵を描ける 絵を消せる 描画を一回分戻れる 線の太さを変えられる 線の色を変える 絵を投稿できる 投稿された画像の一覧を表示できる → 完成見はこちら完成見の公開は終了致しました。 絵を描ける HTML5のcanvasにマウスの軌道に線を引いていくわけです。 canvasでのマウス軌道の描き方は、 ・mousemoveイベント発生時に点をプロット という手段が真っ先に思い浮かぶと思いますが、これは、以下の様になります。 これではお話になりません。 なので、点ではなく線を引くこ

    rails3 + html5 canvasでお絵かき投稿サイトを作ろう!
  • Backbone.js+CoffeeScriptを試してみる « サーバーワークス エンジニアブログ

    こんにちわ、プログラマの川口です。今回はBackbone.jsをCoffeeScriptで記述し、Ruby on Railsと組み合わせて利用する簡単なパターンを試してみました。CoffeeScriptは非常に簡潔にJavaScriptを記述できる上に学習コストも低いのでおすすめです。最近はJavaScriptプロジェクト全体のコードに占める割合が大きくなってきていますし、それに比例してやはりメンテナンス性や可読性が下がっていくこともあり事前に対応策が必須です。 Backbone.jsとは・・・とかは別にいいデスヨネ?dwangoさんのBackbone.js記事を見てください(完全にネタかぶりです、当にありがとうございました)。 前準備 バージョンはこんな感じ。 Ruby on Rails 3.1.1.rc1 CoffeeScript version 1.1.2 Backbone.js

  • GitHubを自前で持てるRails製オープンソースソフトウェア「GitLab」:phpspot開発日誌

    GitLab GitHubを自前で持てるRails製オープンソースソフトウェア「GitLabGitHubみたいなものを自分のサーバに設置できます。ネットワークで外部に流したくない場合に使えそうですね。 コメント機能、チケット機能やシンプルなチャット機能もついているようです リポジトリブラウザ。クリックでアニメーションしながら切り替わる部分もそっくり コードは当然ハイライトされます OSSとはいえここまで作りこまれていれば結構使えそうです。 今後のさらなる発展に期待 関連エントリ GitHubにあるような、あの押しやすそうなボタンを作成するサンプル&チュートリアル

  • さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)

    先日のももクロハッカソンで出会った wantedly を作ってる仲さんが と言ってたので、面白そうなので wantedly を速くしてみました。 wantedly ちなみにデータが数百万オーダーもなさそうなのに、どのページもログインすると2-5秒ぐらいかかっていたので、確実に速くできそうだなぁという感覚はやる前からありました。 アプリケーションサイドのチューニング 初心者*1にありがちな問題として SQL に適切にインデックス張ってない キャッシュすべき場所をキャッシュしていない 無駄なデータを引きすぎてる ことがよくあります。ので順に実装を見ていきました。 SQLに適切なインデックスを張ってない 張ってありました!びっくり!\(^o^)/ キャッシュすべき場所をキャッシュしていない Facebook API を利用したアプリケーションなんですが、ユーザのデータの取得を毎回馬鹿正直に HT

    さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)
  • 例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)

    最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente

    例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)
  • まっさらな Ubuntu 11.04 の環境で Rails3 の動作環境を最低限整える - SmallStyle(2011-05-01)

    _ まっさらな Ubuntu 11.04 の環境で Rails3 の動作環境を最低限整える Ubuntu 11.04 が出てまっさらな環境を作ったので,とりあえず Rails3 が動かせる環境を最低限整えるまでの手順について,せっかくなので残しておくことにしよう.基的に rvm のインストールガイドを読めば特にひっかかる部分はないとは思いますが,ところどころはまった部分があったので. rvm のインストールに必要なものや,Ruby のインストール時に必要なもの,そして Rails をインストールしてから必要なものをあらかじめインストールしておく. $ sudo apt-get install curl git bison zlib1g-dev libsqlite3-dev libreadline-dev libssl-dev sqlite3 インストールが済んだら以下のコマンドを実行して

  • 1