You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
環境 osx10.9.1 ruby2.0.0 rails4 MySQL5.6.x 経緯 既にMySQL上に存在するtableを使ってrailsしてみた。 MySQLと接続する 下のサイトを参考にして、database.yamlを定義。 - development: adapter: mysql2 encoding: utf8 database: my_db_name username: root password: root host: localhost pool: 5 timeout: 5000 参考サイト http://threetreeslight.com/post/61834000065/rails-db MySQL上のテーブルからscheme.rbを生成する。 rake environment -v -t RAILS_ENV=development db:schema:dump
行ロックとは 行ロックとは、テーブルの同一レコードに対して、複数同時に更新できないように制限する仕組みのことです。 Ruby on RailsのActiveRecordには2種類のロック方法があります。 楽観的ロック(Rails依存) 悲観的ロック(DBMS依存) それぞれの違いや使い方について解説していきたいと思います。 楽観的ロック 楽観的ロックとは、DBMSの機能に頼らずロックバージョンをレコードに保存しておくことで、取得時と変更時にロックバージョンに変更がないか確認し、変更があった場合は例外を発生させる方法です。 ロックするタイミング データ更新時 データを複数同時に取得することができるが、途中で更新されていた場合は、更新できない 仕組み テーブルにlock_versionフィールドを追加する lock_versionが書き換わっていたらActiveRecord::StaleObj
プログラム初心者な方向けに始めたRailsチュートリアルシリーズです。今回はRailsのWebアプリケーションでDBを扱う場合に便利なライブラリ『Active Record』の入門記事です。 たとえば、拙著の『Nokogiri を使った Rubyスクレイピング』で取得したデータをWebサイトで表示する場合は、スクレイピングした時点でDBに入れておくのが一般的です。そうすることで、スクレイピングする処理と、表示にかかわる処理をシンプルにできます。 🐡 目次(1) 前提として (2) ActiveRecordとは? (3) ActiveRecordについて最初に読んでおくと良い資料 (4) シンプルなActiveRecordの操作について (5) 実際にコードを書いていくのに参考になりそうなサイト 🐝 (1) 前提としてこの記事は、Railsのアプリケーションをベースに話を進めていきます。
インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド本体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC
Railsの環境を構築している過程でハマったことをメモ。 Railsチュートリアルに沿って進めていたが、 rake db:migrate が、どうしても動かない。以下のようなエラーになる。 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (available in RDoc 2.4.2+) instead. なぜかって、グーグル先生に聞いてみると、 入っているrakeのバージョンが新し過ぎるかららしい。 入っているrakeをuninstallして、 0.8.7のrakeを入れなおしてあげるとうまく通るようになりました。 筆者の場合、チュートリアルを無視してPassengerの環境を作っていたら そんときにrake 10系が入っちゃってたことが原因の様子。
「業務ロジックをデータモデリングはどこまで表現できるか?」について考えたことをラフなメモ書き。 業務システムでは、データが命。 データには個人情報が含まれるために管理が重要だったり、売上データやPVデータから、どの層の顧客から売上やアクセスが多いのか、を計測することもできる。 すると、それらデータを格納するRDBが必要になり、そのテーブル設計が重要になってくる。 顧客の業務プロセスをモデリングする場合、最近ならOOAが主流。 でも、DOAの方が現代は重要性を増していると考えている。 例えば、Railsのような優れたWebフレームワークがあれば、ER図さえきちんと作れば、DBマイグレーションとプログラム雛形を自動生成することによって、テーブルのCRUDのような画面はすぐに作れてしまうからだ。 日本におけるデータモデリングの歴史は意外に古い。 TH法、T字型ER、渡辺さんのXEAD Model
こんにちは、レシピ事業部検索チームの薄羽です。 検索チームでは日々レシピ検索機能の改善を行っています。 最近行った検索結果改善の過程で、2つの検索結果を交互に配置するinterleavingを実装する機会がありました。今回は、この機能の実装の際の課題となる点や、それをどう解決したのかを紹介します。 Interleaving Interleavingは2つのランキングを評価する手法であり、2つのランキングの一番上から文書を交互に取っていくことで、ランキングを生成します。 interleaving機能を実装する際、ページネーションを壊さずにinterleavingを実装するには少し工夫が必要です。2つの検索結果から1つの検索結果を作るため、2つのランキングで重複した文書があると、生成される検索結果には同じ文書が2回表示されることになってしまいます。 どうやるか すでにビズリーチ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く