狠狠撸

狠狠撸Share a Scribd company logo
RDBMSのVIEWを使って
データアクセスをいい感じにする
森 雅智 / @morimorihoge
2019/06/21 銀座Rails#10
1
スライド&解説は別途公開するので気楽に聞いてください
About Me
? 森 雅智? @morimorihoge
? Railsの受託開発チームをやってたり、週1大学非常
勤でWeb開発を教えてたりします
? Ruby/Rails歴は8年くらい。Web開発は14年くらい
? TechRachoという技術Blogをやってます
? https://techracho.bpsinc.jp
? 「週刊Railsウォッチ」ほか、ぜひご意?お待ちしてます?
2
RDBMSのVIEW機能、
知ってる??
ActionViewじゃないよ?
3
RDBMSのVIEW機能、
使ったことある??
4
RDBMSのVIEW機能、
積極的に活?している??
5
RDBMSのVIEW機能
? `CREATE VIEW`構文で作成できるRDBMSの標
準機能の一つ
? 物理的なテーブルは作成せず、SELECT文への
エイリアスを作れるイメージ
? 作成したVIEWには通常のテーブルと同じよう
にSELECTできる
? 条件付きでUPDATEも可能
※本発表は基本的にRails 5.2.3 + PostgreSQL 11で検証していますが、
データ型等のRDBMS依存のもの以外はほぼそのまま動くと思います
6
こんな感じ
7
こんな感じ
id, purchase_priceは選択されない
8
VIEWの特徴
? RDBMSの標準機能であること
? SQL89からあるので、メジャーRDBMSなら使える
? 一度作ったVIEWはTABLEと同じようにSELECT
することができる
? 大事なことなので二回書きました
9
実は???
? ActiveRecordではVIEWを参照できる
? Gem不要で何も考えず使えます
※標準だとできないこともあります(後半で話します)
10
今日の発表の要点
? RDBMS標準のVIEW機能を使ってデータアクセ
スを簡単にするぞ?
11
説明のためのユーザーテーブル
? ごくごく普通のユーザーテーブルを作成
12
ありそうな要件その1
? メール認証済みユーザーだけを取得したい
? 具体的には confirmed_at IS NOT NULL
13
一般的なRails Way: scope
Modelにscopeを記述
scoped chainを使う
14
これでOK?
15
scopeの弱点
? scoped chainが増えてくると付け忘れなどのミスが
発生しやすい
? メールアドレス確認フラグ、BANフラグ、退会済みフラグ、
etc…
? 特にアプリが大きくなってから仕様追加したときには特に
チェック範囲が膨大になりがち
? 「ほとんどいつも使う」scopeの扱い問題
? 毎回`.confirmed`つけるのが正直だるいし忘れると事故る
? default_scopeという手もあるが、newするときに影響する
し、unscopedは注意しないと事故る
16
VIEWを使うと????
confirmedなレコードだけを取得するVIEWを作成
confirmed_usersに対応するARモデルを作成
何も考えず使えば良い
17
scope代わりのfilterとしてVIEWを使うテクニック
? 利点
? 複雑化したscoped chain hellから脱却できる
? 将来的に「有効なユーザー」の定義が変わっても、
VIEWのmigrationだけで対応できる(もしunscoped
するコードがあっても安心)
? default_scope嫌い派もにっこり?
? 欠点
? 複雑なアプリケーションロジックが必要なscopeでは置
き換えが難しいことがある
18
ありそうな要件その2
? twitter/facebook IDカラムを追加しつつ、プロフィール情報
の公開?非公開をユーザー別に設定したい。公開する情報はカラ
ム別に設定したい
正規化しろよって話は一旦置いておきます
※update_view?はscenicのメソッドです(後述)
19
一般的なRails Wayだと?
? Viewのコードで
<%=@user.XXX if @user.is_public_XXX %>
? 絶対事故る自信があるのでプロトタイピング以外ではオススメしない
? ModelをViewに渡すときにDecorator(Presenter)系のGemで
ラップする?Draper / ActiveDecorator等
? 既に利?していれば良いが、プロジェクト全体で使っていない場合は
Decorator通し忘れてしまったりする危険も
? そもそもActiveRecordは`SELECT *`するため、非公開情報を
含むかもしれないARオブジェクトの取り扱いには注意が必要
? inspectすれば?えてしまうので、情報によってはログ出?などにも配
慮が必要になる
20
VIEWを使うと????
公開情報検索?のpublic_users VIEWを作る
CASE文を使って非公開ならNULLに置換
21
あとは同上
user02.is_public_facebook_idがfalseなのでnilになる
22
特定?途向けにデータを加工したVIEWを使うテクニック
? 利点
? 加工前の情報はRails側のメモリにすら乗らないので安全確実
? 大規模CMSなどで管理画??のRailsアプリとフロント?アプリが分離
している場合などに良い
? SQL関数を使うことで、一部のデータ変換をRDBに任せることも
できる
? Rails側のCPUやメモリを節約したい場合には良い
? 非RailsシステムのDBを参照する場合にRails Wayな名前に変
換して使うこともできる
? SIer業界の謎のコード連番カラム名みたいなやつもばっちり(更新も
するならalias_attributeの方がいいかもしれない)
? 欠点
? 機能ごとにVIEWを作り続けているとVIEW沼に陥る可能性がある
? 複雑なSQLは読み書きが難しくなってくるので、プロジェクト
チームのSQL熟練度によってはメンテが俗?化する
23
ありそうな要件その3
? 関連を含めたテーブル構造が複雑になってきた
けど、あらゆる項目で検索したい?
?ユーザーをtagで絞り込みたい?
?ユーザーごとに特定productを買った個数を一覧したい?
?ユーザーごとに特定category.productsの購?数を一覧したい?
24
Rails Wayだと????
? mergeやjoinsを使って条件を組み?てていくのが基本
? 1-3テーブルくらいまでならなんとかなる
? OUTER JOINを含んだ関連の遠いテーブルJOINなども必要に
なってくるととてもつらくなる(主観です)
? Arelじゃなくて生SQL書かせて?ってなる
? Query Object作ったり集計?クラス作ったり
? 検索だとRansackがお手軽?
? 単純なhas_manyくらいまでならなんとかなる
? SELECT元が複雑になると、ransackable_scopesとかを使っ
ていく必要があり、お手軽感が薄まっていく、つらい
25
VIEWを使うと????
? まずActiveRecordで集計しやすいVIEWを作る
ユーザー?商品ごとに売上個数?総額をまとめたVIEW
26
SELECTするとこうなっている ※{}で囲まれてるのはARRAY型
「高い商品」カテゴリに属するproductsの売上をユーザー別に集計して降順に
ちなみにActiveRecordが実?したクエリは以下
27
多数のテーブルをまとめた検索?VIEWを使うテクニック
? 利点
? VIEWさえできていればRailsエンジニアは内部構造を気にせず検索?参
照できる
? 歴史的経緯により複雑怪奇になってしまった商品テーブルなどにとても有効
? Ransackをほぼそのまま使えたりして最高
? 開発難易度が下がるので正しいVIEWを作るところだけ強い?がやれば、あとは開
発経験が浅めのエンジニアでも対応できる
? 取得したオブジェクトはAR::Relationなので、AR拡張Gemとの相性が
良い
? AR::Base.executeしたデータと違い、ページングや参照が「普通の
ActiveRecord」の使い方ができる
? 欠点
? VIEWを作るのにそれなりにSQLに?けたエンジニア(いわゆるDBA)が
必要
? VIEWの定義によっては重いクエリになるのでDBサーバーの負荷が想定
外に増えることがある
28
VIEWを使うときの注意点
? 定義済みVIEWの参照はGem不要だが、migration管理には
scenicが必要(次のページで)
? `CREATE VIEW`は生SQLのため、Railsのデータ変換層を通ら
ない。timezoneの扱いに要注意
? アプリケーションロジックがVIEW定義の中に?るので、何を
Railsで決めて何をVIEWに逃がすかのプロジェクトポリシが大事
? `SELECT *`のカラムリストはVIEWを作成したタイミングで展開
されるので、元テーブルに更新があればVIEW定義も更新する必要
がある
? 少なくともPostgreSQL 11ではそうでした
? 参照専?のVIEWであれば、#save不可にしておくと良い
? trueを返すreadonly?メソッドを定義する(scenicのREADME参照)
29
Scenic Gem
? Rails標準のmigrationシステムはVIEWのmigrationに対応し
ていないため、migration管理するならこれが必須
? 使い方は難しくないのでREADME読めばわかるはず
? https://github.com/scenic-views/scenic
Generator
#update_view の追加
30
VIEW + Railsの可能性
? 他の利??途
? CTE使ってRECURSIVEな階層データを参照するVIEWを作ったり
? FDW組み合わせて複数データソースを横断検索したり
? Redashとか使えって話でもありますが
? GRANTと組み合わせてシステム間DB共有をより安全にしたり、
マルチテナントシステムの多層セキュリティの一環にした
り???
? MATERIALIZED VIEWを使って複雑なクエリを高速検索したり
うはー 夢が広がりんぐ
常に良い設計になるとは限らないが、?法??量を守れば
Railsのコードの複雑化を回避する手段になる
31
最後に
? 多分時間?りなくて?々端折ったので、じっくり?直
したい方はTechRachoの記事も読んでみてください
? https://techracho.bpsinc.jp
? ※本発表と同時に記事公開予定です
? 懇親会でも気軽にお声かけ下さい
32

More Related Content

What's hot (20)

Aurora
AuroraAurora
Aurora
maruyama097
?
広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―
広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―
広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―
Tomohiro Nakashima
?
[Pgday.Seoul 2017] 2. PostgreSQL? ?? ??? ?? ??? - ???
[Pgday.Seoul 2017] 2. PostgreSQL? ?? ??? ?? ??? - ???[Pgday.Seoul 2017] 2. PostgreSQL? ?? ??? ?? ??? - ???
[Pgday.Seoul 2017] 2. PostgreSQL? ?? ??? ?? ??? - ???
PgDay.Seoul
?
础奥厂を利用した础社システムの提案
础奥厂を利用した础社システムの提案础奥厂を利用した础社システムの提案
础奥厂を利用した础社システムの提案
Tomohiro Amemori
?
商用顿叠から笔辞蝉迟驳谤别厂蚕尝へ まず知っておいて欲しいまとめ
商用顿叠から笔辞蝉迟驳谤别厂蚕尝へ まず知っておいて欲しいまとめ商用顿叠から笔辞蝉迟驳谤别厂蚕尝へ まず知っておいて欲しいまとめ
商用顿叠から笔辞蝉迟驳谤别厂蚕尝へ まず知っておいて欲しいまとめ
Kosuke Kida
?
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
?
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
?
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
Yuki Morishita
?
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
?
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Keisuke Takahashi
?
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
?
Helidon 概要
Helidon 概要Helidon 概要
Helidon 概要
オラクルエンジニア通信
?
インフラエンジニアのための肠补蝉蝉补苍诲谤补入门
インフラエンジニアのための肠补蝉蝉补苍诲谤补入门インフラエンジニアのための肠补蝉蝉补苍诲谤补入门
インフラエンジニアのための肠补蝉蝉补苍诲谤补入门
Akihiro Kuwano
?
笔辞蝉迟驳谤别厂蚕尝共有ハ?ッファと関连ツール
笔辞蝉迟驳谤别厂蚕尝共有ハ?ッファと関连ツール笔辞蝉迟驳谤别厂蚕尝共有ハ?ッファと関连ツール
笔辞蝉迟驳谤别厂蚕尝共有ハ?ッファと関连ツール
Masahiko Sawada
?
AWS Black Belt Tech Webinar 2016 ? Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 ? Amazon CloudSearch & Amazon Elasticsearch ...AWS Black Belt Tech Webinar 2016 ? Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 ? Amazon CloudSearch & Amazon Elasticsearch ...
Amazon Web Services Japan
?
笔辞蝉迟驳谤别厂蚕尝13でのレプリケーション関连の改善について(第14回笔辞蝉迟驳谤别厂蚕尝アンカンファレンス蔼オンライン)
笔辞蝉迟驳谤别厂蚕尝13でのレプリケーション関连の改善について(第14回笔辞蝉迟驳谤别厂蚕尝アンカンファレンス蔼オンライン)笔辞蝉迟驳谤别厂蚕尝13でのレプリケーション関连の改善について(第14回笔辞蝉迟驳谤别厂蚕尝アンカンファレンス蔼オンライン)
笔辞蝉迟驳谤别厂蚕尝13でのレプリケーション関连の改善について(第14回笔辞蝉迟驳谤别厂蚕尝アンカンファレンス蔼オンライン)
NTT DATA Technology & Innovation
?
負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編
まべ☆てっく运営
?
はじめてのAmazon Redshift
はじめてのAmazon RedshiftはじめてのAmazon Redshift
はじめてのAmazon Redshift
Jun Okubo
?
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
?
広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―
広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―
広く知ってほしいDNSのこと ―とあるセキュリティ屋から見たDNS受難の10年間―
Tomohiro Nakashima
?
[Pgday.Seoul 2017] 2. PostgreSQL? ?? ??? ?? ??? - ???
[Pgday.Seoul 2017] 2. PostgreSQL? ?? ??? ?? ??? - ???[Pgday.Seoul 2017] 2. PostgreSQL? ?? ??? ?? ??? - ???
[Pgday.Seoul 2017] 2. PostgreSQL? ?? ??? ?? ??? - ???
PgDay.Seoul
?
础奥厂を利用した础社システムの提案
础奥厂を利用した础社システムの提案础奥厂を利用した础社システムの提案
础奥厂を利用した础社システムの提案
Tomohiro Amemori
?
商用顿叠から笔辞蝉迟驳谤别厂蚕尝へ まず知っておいて欲しいまとめ
商用顿叠から笔辞蝉迟驳谤别厂蚕尝へ まず知っておいて欲しいまとめ商用顿叠から笔辞蝉迟驳谤别厂蚕尝へ まず知っておいて欲しいまとめ
商用顿叠から笔辞蝉迟驳谤别厂蚕尝へ まず知っておいて欲しいまとめ
Kosuke Kida
?
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
?
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
Recruit Technologies
?
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
Yuki Morishita
?
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
?
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Keisuke Takahashi
?
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
?
インフラエンジニアのための肠补蝉蝉补苍诲谤补入门
インフラエンジニアのための肠补蝉蝉补苍诲谤补入门インフラエンジニアのための肠补蝉蝉补苍诲谤补入门
インフラエンジニアのための肠补蝉蝉补苍诲谤补入门
Akihiro Kuwano
?
笔辞蝉迟驳谤别厂蚕尝共有ハ?ッファと関连ツール
笔辞蝉迟驳谤别厂蚕尝共有ハ?ッファと関连ツール笔辞蝉迟驳谤别厂蚕尝共有ハ?ッファと関连ツール
笔辞蝉迟驳谤别厂蚕尝共有ハ?ッファと関连ツール
Masahiko Sawada
?
AWS Black Belt Tech Webinar 2016 ? Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 ? Amazon CloudSearch & Amazon Elasticsearch ...AWS Black Belt Tech Webinar 2016 ? Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 ? Amazon CloudSearch & Amazon Elasticsearch ...
Amazon Web Services Japan
?
笔辞蝉迟驳谤别厂蚕尝13でのレプリケーション関连の改善について(第14回笔辞蝉迟驳谤别厂蚕尝アンカンファレンス蔼オンライン)
笔辞蝉迟驳谤别厂蚕尝13でのレプリケーション関连の改善について(第14回笔辞蝉迟驳谤别厂蚕尝アンカンファレンス蔼オンライン)笔辞蝉迟驳谤别厂蚕尝13でのレプリケーション関连の改善について(第14回笔辞蝉迟驳谤别厂蚕尝アンカンファレンス蔼オンライン)
笔辞蝉迟驳谤别厂蚕尝13でのレプリケーション関连の改善について(第14回笔辞蝉迟驳谤别厂蚕尝アンカンファレンス蔼オンライン)
NTT DATA Technology & Innovation
?
負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編
まべ☆てっく运営
?
はじめてのAmazon Redshift
はじめてのAmazon RedshiftはじめてのAmazon Redshift
はじめてのAmazon Redshift
Jun Okubo
?
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
?

Similar to 20190621冲搁顿叠惭厂の痴滨贰奥を使って搁补颈濒蝉のデータアクセスをいい感じにする【银座搁补颈濒蝉#10】 (20)

Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
?
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
Takahiro Okumura
?
Tech fun rails_workshop
Tech fun rails_workshopTech fun rails_workshop
Tech fun rails_workshop
OMEGA (@equal_001)
?
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
?
搁贰厂罢と搁补颈濒蝉スタイル
搁贰厂罢と搁补颈濒蝉スタイル搁贰厂罢と搁补颈濒蝉スタイル
搁贰厂罢と搁补颈濒蝉スタイル
Toru Kawamura
?
Webサイト構築 文書化されにくい設計フェーズの重要ポイント
Webサイト構築 文書化されにくい設計フェーズの重要ポイントWebサイト構築 文書化されにくい設計フェーズの重要ポイント
Webサイト構築 文書化されにくい設計フェーズの重要ポイント
Katsumi Tazuke
?
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
DIVE INTO CODE Corp.
?
新?搁别痴滨贰奥パーサについて
新?搁别痴滨贰奥パーサについて新?搁别痴滨贰奥パーサについて
新?搁别痴滨贰奥パーサについて
masayoshi takahashi
?
About rails 3
About rails 3About rails 3
About rails 3
issei126
?
奥别产デベロッパの祭典@东京:奥别产エンジニアの视点
奥别产デベロッパの祭典@东京:奥别产エンジニアの视点奥别产デベロッパの祭典@东京:奥别产エンジニアの视点
奥别产デベロッパの祭典@东京:奥别产エンジニアの视点
masayoshi takahashi
?
搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション
搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション
搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション
Naoto Hori
?
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor  WebAssemblyのすすめStatic Web AppsとBlazor  WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
TomomitsuKusaba
?
【入门】3时间でアプリ公开!ゼロからのプログラミング搁补颈濒蝉讲座
【入门】3时间でアプリ公开!ゼロからのプログラミング搁补颈濒蝉讲座【入门】3时间でアプリ公开!ゼロからのプログラミング搁补颈濒蝉讲座
【入门】3时间でアプリ公开!ゼロからのプログラミング搁补颈濒蝉讲座
DIVE INTO CODE Corp.
?
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼう
Toru Kawamura
?
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
Masahiro Nishimi
?
无料で始めるアプリのバックエンド开発
无料で始めるアプリのバックエンド开発无料で始めるアプリのバックエンド开発
无料で始めるアプリのバックエンド开発
Shoichi Takagi
?
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
?
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with Ruby
Hiroshi SHIBATA
?
Ruby on Rails Overview
Ruby on Rails OverviewRuby on Rails Overview
Ruby on Rails Overview
Koki Shimizu
?
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
?
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
Takahiro Okumura
?
Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1Sinatra軽量Web開発 - LOUPE Study #1
Sinatra軽量Web開発 - LOUPE Study #1
Takuya Mukohira
?
搁贰厂罢と搁补颈濒蝉スタイル
搁贰厂罢と搁补颈濒蝉スタイル搁贰厂罢と搁补颈濒蝉スタイル
搁贰厂罢と搁补颈濒蝉スタイル
Toru Kawamura
?
Webサイト構築 文書化されにくい設計フェーズの重要ポイント
Webサイト構築 文書化されにくい設計フェーズの重要ポイントWebサイト構築 文書化されにくい設計フェーズの重要ポイント
Webサイト構築 文書化されにくい設計フェーズの重要ポイント
Katsumi Tazuke
?
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
セ?ロからのフ?ロク?ラミンク?Rails講座 Codeanywhere版
DIVE INTO CODE Corp.
?
新?搁别痴滨贰奥パーサについて
新?搁别痴滨贰奥パーサについて新?搁别痴滨贰奥パーサについて
新?搁别痴滨贰奥パーサについて
masayoshi takahashi
?
About rails 3
About rails 3About rails 3
About rails 3
issei126
?
奥别产デベロッパの祭典@东京:奥别产エンジニアの视点
奥别产デベロッパの祭典@东京:奥别产エンジニアの视点奥别产デベロッパの祭典@东京:奥别产エンジニアの视点
奥别产デベロッパの祭典@东京:奥别产エンジニアの视点
masayoshi takahashi
?
搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション
搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション
搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション
Naoto Hori
?
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor  WebAssemblyのすすめStatic Web AppsとBlazor  WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
TomomitsuKusaba
?
【入门】3时间でアプリ公开!ゼロからのプログラミング搁补颈濒蝉讲座
【入门】3时间でアプリ公开!ゼロからのプログラミング搁补颈濒蝉讲座【入门】3时间でアプリ公开!ゼロからのプログラミング搁补颈濒蝉讲座
【入门】3时间でアプリ公开!ゼロからのプログラミング搁补颈濒蝉讲座
DIVE INTO CODE Corp.
?
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼう
Toru Kawamura
?
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
Masahiro Nishimi
?
无料で始めるアプリのバックエンド开発
无料で始めるアプリのバックエンド开発无料で始めるアプリのバックエンド开発
无料で始めるアプリのバックエンド开発
Shoichi Takagi
?
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
Ryunosuke SATO
?
Productive Organization with Ruby
Productive Organization with RubyProductive Organization with Ruby
Productive Organization with Ruby
Hiroshi SHIBATA
?
Ruby on Rails Overview
Ruby on Rails OverviewRuby on Rails Overview
Ruby on Rails Overview
Koki Shimizu
?

20190621冲搁顿叠惭厂の痴滨贰奥を使って搁补颈濒蝉のデータアクセスをいい感じにする【银座搁补颈濒蝉#10】