Movatterモバイル変換
[0]
ホーム
URL:
画像なし
夜間モード
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Ryunosuke SATO
35,267 views
Rails あるある
札幌市中央区Ruby会議01 での発表資料です。
Technology
◦
Read more
111
Save
Share
Embed
Embed presentation
Download
Downloaded 73 times
1
/ 59
2
/ 59
3
/ 59
4
/ 59
5
/ 59
6
/ 59
7
/ 59
8
/ 59
9
/ 59
10
/ 59
11
/ 59
12
/ 59
13
/ 59
14
/ 59
15
/ 59
16
/ 59
17
/ 59
18
/ 59
19
/ 59
20
/ 59
21
/ 59
22
/ 59
23
/ 59
24
/ 59
25
/ 59
26
/ 59
27
/ 59
28
/ 59
29
/ 59
30
/ 59
31
/ 59
32
/ 59
33
/ 59
34
/ 59
35
/ 59
36
/ 59
37
/ 59
38
/ 59
39
/ 59
40
/ 59
41
/ 59
42
/ 59
43
/ 59
44
/ 59
45
/ 59
46
/ 59
47
/ 59
48
/ 59
49
/ 59
50
/ 59
51
/ 59
52
/ 59
53
/ 59
54
/ 59
55
/ 59
56
/ 59
57
/ 59
58
/ 59
59
/ 59
Recommended
PDF
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
by
Yasuharu Nishi
PPTX
TPS/リーンを使って強化するアジャイル/スクラム
by
Kazutaka Sankai
PDF
Is No More QA Idealist Practical and Something Tasty?
by
Yasuharu Nishi
PDF
Bitcoinを技術的に理解する
by
Kenji Urushima
PDF
LiDAR点群と画像とのマッピング
by
Takuya Minagawa
PDF
20090924 姿勢推定と回転行列
by
Toru Tamaki
PDF
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
by
Fixstars Corporation
PDF
NumPyが物足りない人へのCython入門
by
Shiqiao Du
PDF
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
by
SSII
PDF
アジャイル開発とメトリクス
by
Rakuten Group, Inc.
PDF
実践多クラス分類 Kaggle Ottoから学んだこと
by
nishio
PPTX
ソフトウェアの品質保証の基礎とこれから
by
Yasuharu Nishi
PPTX
テスト設計・テストケース作成 グループ
by
Tomoaki Fukura
PDF
【学会聴講報告】CVPR2024からみるVision最先端トレンド / CVPR2024 report
by
Sony - Neural Network Libraries
PDF
リーン開発の本質 公開用
by
ESM SEC
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
PDF
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
by
Yasuharu Nishi
PDF
TLS, HTTP/2演習
by
shigeki_ohtsu
PDF
「クックパッドとZaimのグロースハックについて」
by
Kato Kyosuke
PDF
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
by
UnityTechnologiesJapan002
PPTX
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
by
Yasuharu Nishi
PDF
KPTとKPTA
by
ESM SEC
PDF
UnityとROSの連携について
by
UnityTechnologiesJapan002
PDF
LEANSTARTUPアンチパターン #devlove #leanstartup
by
Itsuki Kuroda
PDF
AI と個人情報 ~AI 学習用データとしての個人情報と AI 処理対象としての個人情報~
by
Deep Learning Lab(ディープラーニング・ラボ)
PDF
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
by
Hironobu Fujiyoshi
PPTX
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
by
Yoshitaka Ushiku
PDF
SpringBootTest入門
by
Yahoo!デベロッパーネットワーク
PDF
gem の探し方
by
Ryunosuke SATO
PPTX
プレゼンの基本
by
Hiroyuki Nagataki
More Related Content
PDF
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
by
Yasuharu Nishi
PPTX
TPS/リーンを使って強化するアジャイル/スクラム
by
Kazutaka Sankai
PDF
Is No More QA Idealist Practical and Something Tasty?
by
Yasuharu Nishi
PDF
Bitcoinを技術的に理解する
by
Kenji Urushima
PDF
LiDAR点群と画像とのマッピング
by
Takuya Minagawa
PDF
20090924 姿勢推定と回転行列
by
Toru Tamaki
PDF
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
by
Fixstars Corporation
PDF
NumPyが物足りない人へのCython入門
by
Shiqiao Du
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
by
Yasuharu Nishi
TPS/リーンを使って強化するアジャイル/スクラム
by
Kazutaka Sankai
Is No More QA Idealist Practical and Something Tasty?
by
Yasuharu Nishi
Bitcoinを技術的に理解する
by
Kenji Urushima
LiDAR点群と画像とのマッピング
by
Takuya Minagawa
20090924 姿勢推定と回転行列
by
Toru Tamaki
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
by
Fixstars Corporation
NumPyが物足りない人へのCython入門
by
Shiqiao Du
What's hot
PDF
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
by
SSII
PDF
アジャイル開発とメトリクス
by
Rakuten Group, Inc.
PDF
実践多クラス分類 Kaggle Ottoから学んだこと
by
nishio
PPTX
ソフトウェアの品質保証の基礎とこれから
by
Yasuharu Nishi
PPTX
テスト設計・テストケース作成 グループ
by
Tomoaki Fukura
PDF
【学会聴講報告】CVPR2024からみるVision最先端トレンド / CVPR2024 report
by
Sony - Neural Network Libraries
PDF
リーン開発の本質 公開用
by
ESM SEC
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
PDF
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
by
Yasuharu Nishi
PDF
TLS, HTTP/2演習
by
shigeki_ohtsu
PDF
「クックパッドとZaimのグロースハックについて」
by
Kato Kyosuke
PDF
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
by
UnityTechnologiesJapan002
PPTX
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
by
Yasuharu Nishi
PDF
KPTとKPTA
by
ESM SEC
PDF
UnityとROSの連携について
by
UnityTechnologiesJapan002
PDF
LEANSTARTUPアンチパターン #devlove #leanstartup
by
Itsuki Kuroda
PDF
AI と個人情報 ~AI 学習用データとしての個人情報と AI 処理対象としての個人情報~
by
Deep Learning Lab(ディープラーニング・ラボ)
PDF
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
by
Hironobu Fujiyoshi
PPTX
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
by
Yoshitaka Ushiku
PDF
SpringBootTest入門
by
Yahoo!デベロッパーネットワーク
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
by
SSII
アジャイル開発とメトリクス
by
Rakuten Group, Inc.
実践多クラス分類 Kaggle Ottoから学んだこと
by
nishio
ソフトウェアの品質保証の基礎とこれから
by
Yasuharu Nishi
テスト設計・テストケース作成 グループ
by
Tomoaki Fukura
【学会聴講報告】CVPR2024からみるVision最先端トレンド / CVPR2024 report
by
Sony - Neural Network Libraries
リーン開発の本質 公開用
by
ESM SEC
フロー効率性とリソース効率性、再入門 #devlove #devkan
by
Itsuki Kuroda
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
by
Yasuharu Nishi
TLS, HTTP/2演習
by
shigeki_ohtsu
「クックパッドとZaimのグロースハックについて」
by
Kato Kyosuke
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
by
UnityTechnologiesJapan002
QAアーキテクチャの設計による説明責任の高いテスト・品質保証
by
Yasuharu Nishi
KPTとKPTA
by
ESM SEC
UnityとROSの連携について
by
UnityTechnologiesJapan002
LEANSTARTUPアンチパターン #devlove #leanstartup
by
Itsuki Kuroda
AI と個人情報 ~AI 学習用データとしての個人情報と AI 処理対象としての個人情報~
by
Deep Learning Lab(ディープラーニング・ラボ)
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
by
Hironobu Fujiyoshi
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
by
Yoshitaka Ushiku
SpringBootTest入門
by
Yahoo!デベロッパーネットワーク
Viewers also liked
PDF
gem の探し方
by
Ryunosuke SATO
PPTX
プレゼンの基本
by
Hiroyuki Nagataki
PDF
伝わるプレゼンをする方法
by
Hideaki Miyake
PDF
プレゼンテーションの考え方20140628
by
Professional University of Information and Management for Innovation (情報経営イノベーション専門職大学)
PDF
綺麗なプレゼン資料の作り方、10のテクニック
by
Manabu Uekusa
PDF
良いプレゼン 良いスライド
by
京大 マイコンクラブ
PDF
魅せるPowerPointビジネスプレゼン【実践編】
by
schoowebcampus
PPT
素敵なプレゼン資料を作るためのKnow-Howてんこ盛りセッション:プレゼン道場 Ver 2.2
by
Shoe-g Ueyama
PDF
しょぼいプレゼンをパワポのせいにするな! by @jessedee
by
「MakeLeaps」請求書の作成、管理、郵送
PDF
ビジネスマン必見!キレイな提案書を作るためのデザインの基礎知識
by
Tsutomu Sogitani
PPT
色彩センスのいらない配色講座
by
Mariko Yamaguchi
PDF
見やすいプレゼン資料の作り方 - リニューアル増量版
by
MOCKS | Yuta Morishige
gem の探し方
by
Ryunosuke SATO
プレゼンの基本
by
Hiroyuki Nagataki
伝わるプレゼンをする方法
by
Hideaki Miyake
プレゼンテーションの考え方20140628
by
Professional University of Information and Management for Innovation (情報経営イノベーション専門職大学)
綺麗なプレゼン資料の作り方、10のテクニック
by
Manabu Uekusa
良いプレゼン 良いスライド
by
京大 マイコンクラブ
魅せるPowerPointビジネスプレゼン【実践編】
by
schoowebcampus
素敵なプレゼン資料を作るためのKnow-Howてんこ盛りセッション:プレゼン道場 Ver 2.2
by
Shoe-g Ueyama
しょぼいプレゼンをパワポのせいにするな! by @jessedee
by
「MakeLeaps」請求書の作成、管理、郵送
ビジネスマン必見!キレイな提案書を作るためのデザインの基礎知識
by
Tsutomu Sogitani
色彩センスのいらない配色講座
by
Mariko Yamaguchi
見やすいプレゼン資料の作り方 - リニューアル増量版
by
MOCKS | Yuta Morishige
Similar to Rails あるある
PDF
Why did I become a ruby committer
by
Masaya TARUI
PDF
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
by
Kenichi Tachibana
KEY
実録!Railsのはまりポイント10選
by
Drecom Co., Ltd.
PDF
Railsハイパー実践講座-第35回NaCl勉強会
by
Narihiro Nakamura
PDF
「バグあるある」と「仕様変更あるある」一挙大放出SP!
by
Gaprot
PDF
Ruby on Rails 入門
by
Yasuko Ohba
PPTX
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
by
hiroki tanaka
PDF
名古屋Ruby会議02 LT:Ruby中級への道
by
Shigeru UCHIYAMA
PPTX
第3回輪講
by
mh_amako
PDF
今さらながらRSpecに入門してみた
by
zaru sakuraba
PDF
20110820 metaprogramming
by
Masanori Kado
KEY
Clojure programming-chapter-2
by
Masao Kato
PDF
20120706-readablecode
by
Masanori Kado
PDF
Ruby 3の型推論やってます
by
mametter
PDF
怖いRails
by
Yutaka Kinjyo
ODP
RSpecのここがすごい!
by
mitim
PDF
Code Anything
by
Yoshitaka Kawashima
ODP
とっとるびー(2回目)発表資料
by
ionis111
PPTX
RubyとJavaScriptに見る第一級関数
by
Altech Takeno
PDF
Introduction of record_with_operator
by
Koichiro Ohba
Why did I become a ruby committer
by
Masaya TARUI
A HUGE CHANGE RAILS 5 IS APPROACHING FAST
by
Kenichi Tachibana
実録!Railsのはまりポイント10選
by
Drecom Co., Ltd.
Railsハイパー実践講座-第35回NaCl勉強会
by
Narihiro Nakamura
「バグあるある」と「仕様変更あるある」一挙大放出SP!
by
Gaprot
Ruby on Rails 入門
by
Yasuko Ohba
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
by
hiroki tanaka
名古屋Ruby会議02 LT:Ruby中級への道
by
Shigeru UCHIYAMA
第3回輪講
by
mh_amako
今さらながらRSpecに入門してみた
by
zaru sakuraba
20110820 metaprogramming
by
Masanori Kado
Clojure programming-chapter-2
by
Masao Kato
20120706-readablecode
by
Masanori Kado
Ruby 3の型推論やってます
by
mametter
怖いRails
by
Yutaka Kinjyo
RSpecのここがすごい!
by
mitim
Code Anything
by
Yoshitaka Kawashima
とっとるびー(2回目)発表資料
by
ionis111
RubyとJavaScriptに見る第一級関数
by
Altech Takeno
Introduction of record_with_operator
by
Koichiro Ohba
More from Ryunosuke SATO
PPTX
片手間JS on Rails
by
Ryunosuke SATO
PDF
Ember コミュニティとわたし
by
Ryunosuke SATO
PDF
Node.js を選ぶとき 選ばないとき
by
Ryunosuke SATO
PDF
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
by
Ryunosuke SATO
PDF
はじめる Ember.js!! ~ Getting started with ember.js ~
by
Ryunosuke SATO
PDF
How to relaunch "sapporojs.org" ~Introduction to middleman~
by
Ryunosuke SATO
PDF
Introduction for Browser Side MVC
by
Ryunosuke SATO
PDF
コミュニティのある風景
by
Ryunosuke SATO
KEY
capybara で快適なテスト生活を
by
Ryunosuke SATO
PDF
Testable JavaScript
by
Ryunosuke SATO
PDF
Social coding をもっと楽しみたいあなたへ
by
Ryunosuke SATO
PDF
Clean Javascript
by
Ryunosuke SATO
KEY
Node.jsってどうなの?
by
Ryunosuke SATO
KEY
アジャイル的アプローチから見えてきたこと
by
Ryunosuke SATO
PDF
脱レガシー化計画
by
Ryunosuke SATO
PDF
Pusherとcanvasで作るリアルタイムグラフ
by
Ryunosuke SATO
PDF
ServerSideJavaScript
by
Ryunosuke SATO
片手間JS on Rails
by
Ryunosuke SATO
Ember コミュニティとわたし
by
Ryunosuke SATO
Node.js を選ぶとき 選ばないとき
by
Ryunosuke SATO
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
by
Ryunosuke SATO
はじめる Ember.js!! ~ Getting started with ember.js ~
by
Ryunosuke SATO
How to relaunch "sapporojs.org" ~Introduction to middleman~
by
Ryunosuke SATO
Introduction for Browser Side MVC
by
Ryunosuke SATO
コミュニティのある風景
by
Ryunosuke SATO
capybara で快適なテスト生活を
by
Ryunosuke SATO
Testable JavaScript
by
Ryunosuke SATO
Social coding をもっと楽しみたいあなたへ
by
Ryunosuke SATO
Clean Javascript
by
Ryunosuke SATO
Node.jsってどうなの?
by
Ryunosuke SATO
アジャイル的アプローチから見えてきたこと
by
Ryunosuke SATO
脱レガシー化計画
by
Ryunosuke SATO
Pusherとcanvasで作るリアルタイムグラフ
by
Ryunosuke SATO
ServerSideJavaScript
by
Ryunosuke SATO
Rails あるある
1.
Rails あるある現場での悩みとアンチパターンhttp://www.nce.co.uk/features/transport/network-rail-changing-track/8622890.article札幌市中央区Ruby会議012014.02.08Ruby札幌佐藤 竜之介(Ryunosuke
SATO)
2.
提供From Sapporo, with
Love for Ruby.Ruby札幌
3.
自己紹介
4.
@tricknotesI am a
software developer wholove JavaScript and Ruby.http://tricknotes.hateblo.jp/
6.
I love OSS
7.
札幌市中央区Ruby会議01
8.
Sapporo.jshttp://sapporojs.org/
9.
よろしくお願いします
10.
Rails あるある現場での悩みとアンチパターンhttp://www.nce.co.uk/features/transport/network-rail-changing-track/8622890.article札幌市中央区Ruby会議012014.02.08Ruby札幌佐藤 竜之介(Ryunosuke
SATO)
11.
今日の話Rails には便利で魅力的な機能がたくさんありますそれらを使えば、簡単にアプリケーションを作ることができますしかし、使いどころを間違えると、あとで変更に弱くなってしまい開発が苦しくなることがあります。自分が体験した あるある
ネタを紹介しつつ、メンテナンスしやすいアプリケーションについて考えてみます
12.
すでに Rails をやっているひと、これからやろうとしているひとにとって、快適に開発をするためのヒントになれば嬉しい*
状況設定は架空のものです *
13.
対象バージョン* Ruby 2.0,
2.1* Rails 3.2, 4.0
14.
あるある集
15.
あるある①‘社員レコードは論理削除で...default_scope
16.
状況* 社員の勤怠システムを考える* 社員は退職することができる*
社員が退職した場合、社員は社員一覧に表示されない* ただ、社員の勤怠履歴を参照することはできる必要がある* そのため、社員レコードに対しては論理削除を適用する* `default_scope` !!
17.
default_scope とは“デフォルト” の検索条件を指定できる機能User.where(deleted_at:
nil)class User < ActiveRecord::Basedefault_scope lambda {where(deleted_at: nil)}endUser.all
18.
default_scope とは“デフォルト” の検索条件を指定できる機能@user.destroy@user.update_attribute
:deleted_at,DateTime.nowhttp://api.rubyonrails.org/classes/ActiveRecord/Scoping/Default/ClassMethods.html#method-i-default_scope
19.
Staff1nAttendance
20.
問題@attendance.staff #=> nilStaff.unscoped
{@attendance.staff #=> <#Staff>}そもそも、”削除” ではないのでは...??
21.
解決1退会/移動などを state で持っておいて、必要に応じて
scope をかけるclass Staff < ActiveRecord::Basescope :only_tenured, lambda {where(state: :tenured)}endStaff.allStaff.only_tenured
22.
解決2まったく参照しない = 不要なデータ不要なデータは実際に消してしまうStaff.destroy
23.
ポイント*“default” は “default”*ある条件のときに解除したくなるものは“default”
ではない*まったく参照しないなら DB に残っている必要はない
24.
あるある②‘ブログ記事にタグをつけたいserialize
25.
状況* ブログシステムを考える* 記事にはタグを登録することができる*
タグは自由入力のテキストで、ひとつの記事に複数のタグを付けることができる* すでに多くのテーブルが存在していて、極力テーブルを増やしたくない* `serialize` !!
26.
serializeRuby のオブジェクトを YAML
にシリアライズして、データベースのカラムに保存するclass Post < ActiveRecord::Baseserialize :tagsend@post = Post.new@post.tags = ['Ruby', 'chuork01']@post.savePost.last.tags #=> ['Ruby', 'chuork01']http://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/Serialization/ClassMethods.html#method-i-serialize
27.
問題特定のタグをもっている記事だけを取得したいタグ毎に記事を一覧したいときに不便YAML なので、 SQL
で検索できないPost.where(tags: 'LIKE %Ruby%')Text 型なので Like 検索はできるけど...
28.
解決1タグを別のテーブルに分けるPost1 nTaggingn1Tag
29.
解決1タグを別のテーブルに分けるclass Post <
ActiveRecord::Basehas_many :taggingshas_many :tags, through: :taggingsendclass Tagging < ActiveRecord::Basebelongs_to :postbelongs_to :tagendclass Tag < ActiveRecord::Basehas_many :taggingshas_many :posts, through: :taggingsend@tag.posts
30.
解決2配列型を利用する(データベースがサポートしていれば)PostgreSQL の例class AddTagsToPosts
< ActiveRecord::Migrationdef changeadd_column :posts, :tags, :arrayendendPost.where("'Ruby' = ANY (tags)")
31.
ポイント*Ruby の世界でしか扱えないデータは扱いづらい*適切なデータモデルを選択しましょう
32.
あるある③‘一時保存のときは入力チェックをしたくないsave(validate: false)
33.
状況* 会員登録できるサービスを考える* Email
だけあれば仮登録できるが、本登録では名前などその他の情報が必要* ひとまずレコードだけ作りたい* `save(validate: false)`
34.
save(validate: false)validation をスキップして保存することができるhttp://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-save
35.
問題*不完全な状態のデータが保存される*一部の validation だけ実行するのが困難*データベースに制約をかけられなくなる
36.
解決1* 状況に応じた validation
を行なうclass Staff < ActiveRecord::Basevalidates :name, presence: {on: :registration}end@staff.save(context: :registration)
37.
解決2* “仮登録”/”本登録” 状態を持たせて
validationclass Staff < ActiveRecord::Basevalidates :name, presence: {if: :registration?}def registration?state == 'registration'endend@staff.state = 'registration'@staff.save
38.
ポイント*データを保存するために、チェックが必須な項目をスキップしてしまう*不完全なデータが登録されてしまう
39.
あるある④‘他のシステムと連携するためのJSON の API
を提供したいas_json
40.
状況* 人事評価システムを考える* 社員の評価を他システムに対しても提供する*
連携のためのデータを JSON で出力する* `as_json`
41.
as_jsonモデルを JSON へに変換した場合のデータフォーマットを定義するRails
が as_json を呼び出して JSON に出力してくれるhttp://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html#method-i-as_json
42.
as_jsonclass User <
AvtiveRecord::Basedef as_json{id: id,name: name,evaluations: evaluations.as_json}endendclass UsersController < ApplicationControllerdef index@users = User.allendend
43.
as_jsonGET /users.json[{}]“id”:1,“name”: “tricknotes”,“evaluations”:
[{...}, {...}]http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html#method-i-as_json
44.
問題データの表示/非表示の扱いが難しい*ログインしていると見える情報*本人だけ見える情報*権限によって見える情報*一覧だと不要で、詳細画面だと必要な情報例: 部長は部下の評価を閲覧できるが、部員は本人の評価のみを閲覧できる
45.
問題current_user を参照したくなるので、Model#as_json だと扱いが難しいcontext
に依存する変換はモデルの仕事ではないJSON とはデータの表現形式-> View 層の仕事
46.
問題その他のデータ形式をサポートしたくなった場合、似たようなメソッドが並ぶas_csv* as_json...*
47.
解決View として JSON
を出力するjbuilder* app/views/users/index.json.jbuilderjson.array!(@users) do |user|json.extract! user,:id,:name,:evaluationsend
48.
ポイント*Context によって変化するロジックをモデルに持たせない*データの表示形式はモデルに含めない
49.
他にもまだまだ...
50.
******STIsession にオブジェクトを保存最終更新日 =
updated_atmonkey patchbefore/after callbackgem の version 固定...
51.
for more information...
52.
もっと複雑な現実問題に対応するためのヒント
53.
Rails AntiPatternshttp://www.amazon.co.jp/dp/0321604814
54.
Ruby on Rails:
The Bad Partshttp://magazine.rubyist.net/?0041-RailsTheBadParts
55.
まとめ
56.
最初から完璧な設計をするのは困難アカンと思ったら引き返す/直す勇気を!機能自体が悪かというとそうでもなくて、使いドコロを間違うと辛い、という話Rails の機能自体を理解すること、作るものを理解することが大事!!
57.
パッと見て便利そうな機能でも、その機能の意味と、ドメインを考えて組み立てるの大事!!状況によって適切な選択かどうかは変わってくる
58.
Rails の機能自体への理解対象領域への理解作ってわかることもある変更する勇気
59.
http://www.flickr.com/photos/sakura-kame/479871795/一歩、一歩
Download
[8]
ページ先頭
©2009-2026
Movatter.jp