SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
SQLQL とは!?SQLQL とは!?
2019/04/24 銀座Rails#8
@yancya
Powered by Rabbit 2.2.2 and COZMIXNG
@yancya の自己紹介
Rubyist, SQList
情報処理安全確保支援士
基本的なこと
Ruby on Rails でアプリケーショ
ンを開発していて脆弱性になる
パターン
Rails に対応していない設計
Rails のルールに従っていない設計
SQLQL とは
https://somehost/sqlql みたいな
URL に SQL を送信すると、SQL
実行結果の JSON が返ってくると
いう概念
SQL の実行結果が JSON と
は
SELECT id, name FROM user
ってやったら
[{"id":10,"name":"yancya"},
{"id":11,"name":"testuser"}]
みたいなのが返ってくる
送信すると、とは
文字通り、リクエストにそのまま
SQL を含める
curl -X GET 
-H 'Authorization: Token 6f916ae6-8472-463a-9808-6af19e459541' 
-F "haute_couture[query]=select id, name from users" 
https://sqlql-sample-yancya.herokuapp.com/haute_couture
認証している?
している。そして、認証されたユー
ザーに参照が許可されているレコー
ドのみが返ってくる
↓ は secretman というユーザーの
トークンを使ったリクエスト
curl -X GET 
-H 'Authorization: Token 4f3326a4-b900-4624-af58-87e8f363dee6' 
-F "haute_couture[query]=select id, name from users" 
https://sqlql-sample-yancya.herokuapp.com/haute_couture
許可されているレコードのみ
が
リクエストしたユーザーの認可に応
じたレスポンスとなる
secretman のリクエストには
secretman のレコードが含まれる
[{"id":10,"name":"yancya"},
{"id":11,"name":"testuser"},
{"id":14,"name":"secretman"}]
ネストした行は返せなく無
い?
SQL に JSON を組む関数がある
SELECT u.id, u.name, json_agg(c.content) as comments
FROM users AS u
LEFT OUTER JOIN comments AS c ON u.id = user_id
GROUP BY 1, 2
Array 入りの JSON の例
curl -X GET 
-H 'Authorization: Token 4f3326a4-b900-4624-af58-87e8f363dee6' 
-F "haute_couture[query]=
SELECT u.id, u.name, json_agg(c.content) as comments 
FROM users AS u 
LEFT OUTER JOIN comments AS c ON u.id = user_id 
GROUP BY 1, 2"
https://sqlql-sample-yancya.herokuapp.com/haute_couture
Array 入りの JSON の例
[{"id":11,"name":"testuser","comments":["it is not secret"]},
{"id":14,"name":"secretman","comments":[null]},
{"id":10,"name":"yancya","comments":["hoge", "fuga", "piyo"]}]
どうやって実現しているのか
リクエストのクエリを CTE(WITH)
の中に埋め込んでいる
module HauteCouture
def self.find_by_sql(query:, user:)
ActiveRecord::Base.connection.execute(<<~SQL).first['result'] || '[]'
WITH users AS (#{user.for_haute_couture_sql})
, comments AS (#{Comment.for_haute_couture(user).to_sql})
, t AS (#{query})
SELECT JSON_AGG(t) AS result FROM t
SQL
end
end
どうやって実現しているのか
# User#for_haute_couture_sql
def for_haute_couture_sql
base = User.select(:id, :name, :created_at, :updated_at)
base.where(id: id).or(base.where(privacy: false)).to_sql
end
最終的に組まれる SQL
WITH users AS (
SELECT "users"."id", "users"."name", "users"."created_at", "users"."updated_at"
FROM "users" WHERE ("users"."id" = 10 OR "users"."privacy" = 'f'))
, t AS (SELECT id, name FROM users) -- <- ここに入ってるのかリクエストされた SQL
SELECT JSON_AGG(t) AS result FROM t
SQL インジェクションで死
ぬのでは
SELECT 1), killer AS (DELETE FROM likes CASCADE RETURNING *
みたいな、悪意ある問い合わせをさ
れたらどうするのか
SQL インジェクションで死
ぬのでは
確かに、likes が全消しされる
SQL になってしまう
WITH users AS (
SELECT "users"."id", "users"."name", "users"."created_at", "users"."updated_at"
FROM "users" WHERE ("users"."id" = 10 OR "users"."privacy" = 'f'))
, t AS (SELECT 1), killer AS (DELETE FROM likes CASCADE RETURNING *)
SELECT JSON_AGG(t) AS result FROM t
SQL インジェクションで死
ぬのでは
流石に、一回 SQL パーサーに喰わ
せる必要がある
PgQuery.parse("SELECT 1), killer AS (DELETE FROM likes CASCADE RETURNING *")
#=> PgQuery::ParseError: syntax error at or near ")" (scan.l:1121)
SQL インジェクションで死
ぬのでは
でもまぁ、いくら SQL として
valid でも、普通に DELETE FROM
likes とか送られてくるかもしれな
い
構文木を見て、副作用のある文が含
まれていないかどうかをチェックし
て検知する必要がある
sql_ast = PgQuery.parse('DELETE FROM users')
mutate_stmts = %w[TruncateStmt DeleteStmt UpdateStmt InsertStmt]
sql_ast.tree.first.dig("RawStmt","stmt").keys & mutate_stmts
#=> ["DeleteStmt"]
pg_query
pg_query 便利
p PgQuery.parse("select id, name from users")
#=> #<PgQuery:0x00007f98a61374a0
# @aliases=nil,
# @cte_names=nil,
# @query="select id, name from users",
# @tables=nil,
# @tree=
# [{"RawStmt"=>
# {"stmt"=>
# {"SelectStmt"=>
# {"targetList"=>
# [{"ResTarget"=>
# {"val"=>{"ColumnRef"=>{"fields"=>[{"String"=>{"str"=>"id"}}], "location"=>7}}, "location"=>7}},
# {"ResTarget"=>
# {"val"=>{"ColumnRef"=>{"fields"=>[{"String"=>{"str"=>"name"}}], "location"=>11}}, "location"=>11}}],
# "fromClause"=>[{"RangeVar"=>{"relname"=>"users", "inh"=>true, "relpersistence"=>"p", "location"=>21}}],
# "op"=>0}}}}],
# @warnings=[]>
複数 DB
Rails 6.0 から、replica 属性のサ
ブのコネクションの設定が簡単
に書けるようになった
development:
primary:
<<: *default
database: sqlql_development
readonly:
<<: *default
database: sqlql_development
replica: true
replica 属性のコネクション
SQLQL の処理をするときだけ
replica 属性のコネクションを使
えば、Mutations っぽい SQL は
Rails が弾いてくれて便利っぽい
ActiveRecord::Base.connected_to(database: :readonly) do
User.first.update(name: 'hoge')
end
#=> ActiveRecord::ReadOnlyError
#=> (Write query attempted while in readonly mode...
WITH は危ないらしい
CTE の WITH 句は Rails 的には
ホワイトリストに入ってないっ
ぽい……
なぜ WITH がホワイトでないかにつ
いては長くなるので割愛します(気
になる人は訊いて下さい
ActiveRecord::Base.connected_to(database: :readonly) do
ActiveRecord::Base.connection.execute(
"WITH t AS (SELECT 1 AS n) SELECT * FROM t"
)
end
#=> ActiveRecord::ReadOnlyError
#=> (Write query attempted while in readonly mode...
DB ユーザーの権限
せっかく複数 DB 機能があるん
だから、本当に READONLY な
ユーザーを作って使えばよい
create user readonlyuser with password 'readonlyuser' NOCREATEDB NOCREATEROLE;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO "readonlyuser";
DB ユーザーの権限
Rails 6 便利
development:
primary:
<<: *default
database: sqlql_development
readonly:
<<: *default
database: sqlql_development
replica: true
username: readonlyuser
password: readonlyuser
SQLQL の脆弱性
Generated Record Bomb
SELECT generate_series(1, 100000000) AS death
Recurring Nightmare
WITH RECURSIVE r AS (
SELECT 1 AS n UNION ALL SELECT n + 1 AS n FROM r)
SELECT * FROM r
SQLQL の脆弱性
Public Schema
SELECT * FROM public.users
Information Table
SELECT * FROM pg_user
SQLQL の脆弱性
まだまだ沢山脆弱性があるはずな
ので、何か気づいたら教えてくだ
さい
試せるサンプルアプリケーション
があります
Powered by Rabbit 2.2.2 and COZMIXNG

Contenu connexe

Tendances

明日から使える Java SE 7
明日から使える Java SE 7明日から使える Java SE 7
明日から使える Java SE 7Yuichi Sakuraba
 
東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolateskoichik
 
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8y_taka_23
 
Cocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#6-SQLiteをCocoaで使うCocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#6-SQLiteをCocoaで使うMasayuki Nii
 
おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術Takanobu Mizuta
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Noriyoshi Shinoda
 
光のMySQL 5.7
光のMySQL 5.7光のMySQL 5.7
光のMySQL 5.7yoku0825
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Androidyo_waka
 
Scala EE 7 Essentials
Scala EE 7 EssentialsScala EE 7 Essentials
Scala EE 7 Essentialstnoda
 
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityWhat's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityMikiya Okuno
 
Wpfと非同期
Wpfと非同期Wpfと非同期
Wpfと非同期yone64
 
わかった気になるMySQL
わかった気になるMySQLわかった気になるMySQL
わかった気になるMySQLyoku0825
 
Introduction to cocoa sql mapper
Introduction to cocoa sql mapperIntroduction to cocoa sql mapper
Introduction to cocoa sql mappermavelph
 
MySQLの全文検索に関するあれやこれや
MySQLの全文検索に関するあれやこれやMySQLの全文検索に関するあれやこれや
MySQLの全文検索に関するあれやこれやyoku0825
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1Makoto Haruyama
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことyoku0825
 
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミングオープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミングSho Okada
 
Windows スクリプトセミナー WMI編 VBScript&WMI
Windows スクリプトセミナー WMI編 VBScript&WMIWindows スクリプトセミナー WMI編 VBScript&WMI
Windows スクリプトセミナー WMI編 VBScript&WMIjunichi anno
 

Tendances (20)

明日から使える Java SE 7
明日から使える Java SE 7明日から使える Java SE 7
明日から使える Java SE 7
 
東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates
 
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
思ったほど怖くない! Haskell on JVM 超入門 #jjug_ccc #ccc_l8
 
Cocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#6-SQLiteをCocoaで使うCocoa勉強会#6-SQLiteをCocoaで使う
Cocoa勉強会#6-SQLiteをCocoaで使う
 
おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1
 
光のMySQL 5.7
光のMySQL 5.7光のMySQL 5.7
光のMySQL 5.7
 
RxJava on Android
RxJava on AndroidRxJava on Android
RxJava on Android
 
Scala EE 7 Essentials
Scala EE 7 EssentialsScala EE 7 Essentials
Scala EE 7 Essentials
 
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityWhat's New in MySQL 5.7 Security
What's New in MySQL 5.7 Security
 
Wpfと非同期
Wpfと非同期Wpfと非同期
Wpfと非同期
 
わかった気になるMySQL
わかった気になるMySQLわかった気になるMySQL
わかった気になるMySQL
 
Introduction to cocoa sql mapper
Introduction to cocoa sql mapperIntroduction to cocoa sql mapper
Introduction to cocoa sql mapper
 
MySQLの全文検索に関するあれやこれや
MySQLの全文検索に関するあれやこれやMySQLの全文検索に関するあれやこれや
MySQLの全文検索に関するあれやこれや
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 
Nginx
NginxNginx
Nginx
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミングオープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミング
 
Windows スクリプトセミナー WMI編 VBScript&WMI
Windows スクリプトセミナー WMI編 VBScript&WMIWindows スクリプトセミナー WMI編 VBScript&WMI
Windows スクリプトセミナー WMI編 VBScript&WMI
 
Gossip事始め
Gossip事始めGossip事始め
Gossip事始め
 

Similaire à SQLQL とは!?

Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517akirahiguchi
 
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyauroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyaKenichi Hoshi
 
Lisp Tutorial for Pythonista : Day 4
Lisp Tutorial for Pythonista : Day 4Lisp Tutorial for Pythonista : Day 4
Lisp Tutorial for Pythonista : Day 4Ransui Iso
 
[LT] T sql の parse と generator
[LT] T sql の parse と generator[LT] T sql の parse と generator
[LT] T sql の parse と generatorOda Shinsuke
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Shotaro Suzuki
 
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scalaめんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scalaKazuhiro Sera
 
SQL Serverの関数を一覧でマスターしよう
SQL Serverの関数を一覧でマスターしようSQL Serverの関数を一覧でマスターしよう
SQL Serverの関数を一覧でマスターしようA AOKI
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情takezoe
 
自己結合Sqlクエリ検出ツールによるチューニングの提案
自己結合Sqlクエリ検出ツールによるチューニングの提案自己結合Sqlクエリ検出ツールによるチューニングの提案
自己結合Sqlクエリ検出ツールによるチューニングの提案拓也 岸本
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成弘毅 露崎
 
RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会Nao Minami
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜JustSystems Corporation
 
Rails SQL Injection Examplesの紹介
Rails SQL Injection Examplesの紹介Rails SQL Injection Examplesの紹介
Rails SQL Injection Examplesの紹介Hiroshi Tokumaru
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-publicAmazon Web Services Japan
 
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!yoyamasaki
 
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選Tomoya Kawanishi
 
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめDTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめMikiya Okuno
 

Similaire à SQLQL とは!? (20)

Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517
 
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyauroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
 
Lisp Tutorial for Pythonista : Day 4
Lisp Tutorial for Pythonista : Day 4Lisp Tutorial for Pythonista : Day 4
Lisp Tutorial for Pythonista : Day 4
 
[LT] T sql の parse と generator
[LT] T sql の parse と generator[LT] T sql の parse と generator
[LT] T sql の parse と generator
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
 
めんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scalaめんどくさくない Scala #kwkni_scala
めんどくさくない Scala #kwkni_scala
 
SQL Serverの関数を一覧でマスターしよう
SQL Serverの関数を一覧でマスターしようSQL Serverの関数を一覧でマスターしよう
SQL Serverの関数を一覧でマスターしよう
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
 
MlnagoyaRx
MlnagoyaRxMlnagoyaRx
MlnagoyaRx
 
自己結合Sqlクエリ検出ツールによるチューニングの提案
自己結合Sqlクエリ検出ツールによるチューニングの提案自己結合Sqlクエリ検出ツールによるチューニングの提案
自己結合Sqlクエリ検出ツールによるチューニングの提案
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
 
RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会RailsエンジニアのためのSQLチューニング速習会
RailsエンジニアのためのSQLチューニング速習会
 
ScalaCL in ScalaKaigi
ScalaCL in ScalaKaigiScalaCL in ScalaKaigi
ScalaCL in ScalaKaigi
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
 
Rails SQL Injection Examplesの紹介
Rails SQL Injection Examplesの紹介Rails SQL Injection Examplesの紹介
Rails SQL Injection Examplesの紹介
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
 
Cubby 2006-08-23
Cubby 2006-08-23Cubby 2006-08-23
Cubby 2006-08-23
 
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
 
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選
 
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめDTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
 

Plus de yancya

Opencv by-yancya
Opencv by-yancyaOpencv by-yancya
Opencv by-yancyayancya
 
どう書く日記
どう書く日記どう書く日記
どう書く日記yancya
 
BigQuery の relation 生成
BigQuery の relation 生成BigQuery の relation 生成
BigQuery の relation 生成yancya
 
use_legacy_sql=false
use_legacy_sql=falseuse_legacy_sql=false
use_legacy_sql=falseyancya
 
Relation の館
Relation の館Relation の館
Relation の館yancya
 
なんか
なんかなんか
なんかyancya
 
SQL 脳から見た Ruby
SQL 脳から見た RubySQL 脳から見た Ruby
SQL 脳から見た Rubyyancya
 
evacuate_from_sti
evacuate_from_stievacuate_from_sti
evacuate_from_stiyancya
 
A investigative report of refinements
A investigative report of refinementsA investigative report of refinements
A investigative report of refinementsyancya
 
RubyWorld Conference 2012 へ何で行ったのか
RubyWorld Conference 2012 へ何で行ったのかRubyWorld Conference 2012 へ何で行ったのか
RubyWorld Conference 2012 へ何で行ったのかyancya
 

Plus de yancya (10)

Opencv by-yancya
Opencv by-yancyaOpencv by-yancya
Opencv by-yancya
 
どう書く日記
どう書く日記どう書く日記
どう書く日記
 
BigQuery の relation 生成
BigQuery の relation 生成BigQuery の relation 生成
BigQuery の relation 生成
 
use_legacy_sql=false
use_legacy_sql=falseuse_legacy_sql=false
use_legacy_sql=false
 
Relation の館
Relation の館Relation の館
Relation の館
 
なんか
なんかなんか
なんか
 
SQL 脳から見た Ruby
SQL 脳から見た RubySQL 脳から見た Ruby
SQL 脳から見た Ruby
 
evacuate_from_sti
evacuate_from_stievacuate_from_sti
evacuate_from_sti
 
A investigative report of refinements
A investigative report of refinementsA investigative report of refinements
A investigative report of refinements
 
RubyWorld Conference 2012 へ何で行ったのか
RubyWorld Conference 2012 へ何で行ったのかRubyWorld Conference 2012 へ何で行ったのか
RubyWorld Conference 2012 へ何で行ったのか
 

Dernier

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Dernier (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

SQLQL とは!?