SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
超実践 super
super practice for `super`
@kamina_zzz
湊谷 海斗
@kamina_zzz
2
食べログ
DevOps チーム 兼 データサイエンスチーム
● 各種バージョンアップやったり
● 内製のライブラリ書いたり
● 機械学習のシステム構築したり
● 日本酒飲んだり
● バンドやったり
minatoya kaito
きほん
3
basic usages
super のきほん class Super
def hello
puts 'Super: Hello World!'
end
end
class Sub < Super
def hello
super
end
end
Sub.new.hello
#=> Super: Hello World!
4
スーパークラスの
同名 method を探索
→ 実行
super のきほん
class Super
def hello
puts 'Super: Hello World!'
end
end
module Mod
def hello
puts 'Mod: Hello World from mod.'
end
end
class Sub < Super
include Mod
def hello
super
end
end
Sub.new.hello
#=> Mod: Hello World from mod.
5
正しくは:
継承上位の
同名 method を探索
→ 実行
super のきほん
class Ultra
def hello
puts 'Ultra: Hello World from Ultra.'
end
end
class Super < Ultra
end
class Sub < Super
def hello
super
end
end
Sub.new.hello
#=> Ultra: Hello World from Ultra.
6
正しくは:
継承上位の
同名 method を探索
→ 実行
super class Super
def hello(*args)
puts "Super: Hello #{args.join(',')}!"
end
end
class Sub < Super
def hello(*args)
super
end
end
Sub.new.hello('a', 'b', 'c')
#=> Super: Hello a,b,c!
7
引数の渡し方
● そのまま
● 無し
● 独自に設定
super() class Super
def hello(*args)
puts "Super: Hello #{args.join(',')}!"
end
end
class Sub < Super
def hello(*args)
super()
end
end
Sub.new.hello('a', 'b', 'c')
#=> Super: Hello !
8
引数の渡し方
● そのまま
● 無し
● 独自に設定
super(arg1, arg2) class Super
def hello(*args)
puts "Super: Hello #{args.join(',')}!"
end
end
class Sub < Super
def hello(*args)
super('Japan', 'JP', 'ja')
end
end
Sub.new.hello('a', 'b', 'c')
#=> Super: Hello Japan,JP,ja!
9
引数の渡し方
● そのまま
● 無し
● 独自に設定
パッチ
特定の method の
一部だけ変更したい
まさか ruby -v < 2.0 ってことは
ないですよね…?
class Target
def hello
puts "Hello World!"
end
end
module Japan
def hello
puts "Hello Japan!"
super
end
end
Target.prepend Japan
Target.new.hello
#=> Hello Japan!
#=> Hello World!
10
実践
11
practices
こんなときどうする?
12
# 動的に定義されるメソッドにパッチを当てたい
● クラスメソッドで指定した引数を元にメソッドを定義する機構があるとする
● そのメソッドの仕様を自分好みにカスタマイズしたい
動的に定義されるメソッドに
パッチを当てたい
こんな状況があったとして
この foo= にパッチを
あてたい
$attrs = [:foo, :bar]
class MyClass
attr_writer *$attrs
end
obj = MyClass.new
obj.foo = 'test'
13
やってみる
方針1:
同名のmethod を
define_method して、
その中で super を呼ぶ
$attrs = [:foo, :bar]
class MyClass
attr_writer *$attrs
end
module MyPatch
$attrs.each do |attr|
define_method("#{attr}=") do |val|
super(val)
puts 'this is patched!'
end
end
end
MyClass.prepend MyPatch
obj = MyClass.new
obj.foo = 'test'
14
やってみる
方針2:
module_eval して
同名 method を定義し、
その中で super を呼ぶ
$attrs = [:foo, :bar]
class MyClass
attr_writer *$attrs
end
module MyPatch
$attrs.each do |attr|
module_eval <<~EVAL, __FILE__, __LINE__ + 1
def #{attr}=(val)
super
puts "this is patched!"
end
EVAL
end
end
MyClass.prepend MyPatch
obj = MyClass.new
obj.foo = 'test'
15
※ module_eval == class_eval
define_method vs module_eval
16
pros/cons
17
- define_method module_eval
pros ● 行数がちょっと少なくて済む
● 例外時の見え方がわかりやすい
● 移植しやすい
cons
● super に渡す全引数を書かなきゃい
けない
● 人によっては(?)読みづらい
super の引数
`block (2 levels) in <module:MyPatch>': implicit argument passing of super from method defined by
define_method() is not supported. Specify all arguments explicitly. (RuntimeError)
18
module MyPatch
$attrs.each do |attr|
define_method("#{attr}=") do |val|
super
puts 'this is patched!'
end
end
end
パッチ部分をこのように書くと
怒られてしまう
super の引数
`block (2 levels) in <module:MyPatch>': implicit argument passing of super
from method defined by define_method() is not supported. Specify all
arguments explicitly. (RuntimeError)
19
define_method で定義された method の中では
super に暗黙的に引数を渡すことはサポートされてないよ。
だから明示的にすべての引数を書いて渡してね。
ko1 氏曰く「どーしても実装出来なかったからです.誰か,実装方法を教えてください. (原文ママ)」とのこと。
http://www.atdot.net/~ko1/diary/200806.html#d14
Exception の例
20
module MyPatch
$attrs.each do |attr|
define_method("#{attr}=") do |val|
super(val)
raise 'ERROR!!!'
end
end
end
define_method の場合
Traceback (most recent call last):
1: from tmp.rb:17:in `<main>'
tmp.rb:10:in `block (2 levels) in <module:MyPatch>': ERROR!!! (RuntimeError)
Exception の例
21
module MyPatch
$attrs.each do |attr|
module_eval <<~EVAL, __FILE__, __LINE__ + 1
def #{attr}=(val)
super
raise 'ERROR!!!'
end
EVAL
end
end
module_eval の場合
Traceback (most recent call last):
1: from tmp.rb:19:in `<main>'
tmp.rb:11:in `foo=': ERROR!!! (RuntimeError)
Exception の例
22
Traceback (most recent call last):
1: from tmp.rb:19:in `<main>'
tmp.rb:11:in `foo=': ERROR!!! (RuntimeError)
Traceback (most recent call last):
1: from tmp.rb:17:in `<main>'
tmp.rb:10:in `block (2 levels) in <module:MyPatch>': ERROR!!! (RuntimeError)
eval 系 method の第2, 第3 引数をちゃんとセットしておけば
例外が起きた method が明確
まとめ
● super にもいろいろあるので正しく使っていこう
● パッチを作るときは super + eval + prepend が良い感じ
23
おしまい
24
We're hiring!
25
@kamina_zzz
reply or DM =>

Más contenido relacionado

La actualidad más candente

EC-CUBE + PHPUnit で 実践テスト駆動開発
EC-CUBE + PHPUnit で 実践テスト駆動開発EC-CUBE + PHPUnit で 実践テスト駆動開発
EC-CUBE + PHPUnit で 実践テスト駆動開発Kentaro Ohkouchi
 
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとしてBlack jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとしてShinichi Hirauchi
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめYu Nobuoka
 
MySQLのパフォーマンスの話
MySQLのパフォーマンスの話MySQLのパフォーマンスの話
MySQLのパフォーマンスの話Tetsuro Ikeda
 
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」Shinichi Hirauchi
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Taro Hirose
 
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料Yasutaka Hamada
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistranokumachang_LL
 
B lack jumbodog 運転と改造のすすめ
B lack jumbodog 運転と改造のすすめB lack jumbodog 運転と改造のすすめ
B lack jumbodog 運転と改造のすすめShinichi Hirauchi
 
カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡Aya Komuro
 
Puppet Best Practices? at COOKPAD
Puppet Best Practices? at COOKPADPuppet Best Practices? at COOKPAD
Puppet Best Practices? at COOKPADGosuke Miyashita
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較Sugawara Genki
 
シェル入門
シェル入門シェル入門
シェル入門ina job
 
当社のawsへの取組
当社のawsへの取組当社のawsへの取組
当社のawsへの取組Mercari Inc.
 

La actualidad más candente (20)

Ansible入門...?
Ansible入門...?Ansible入門...?
Ansible入門...?
 
EC-CUBE + PHPUnit で 実践テスト駆動開発
EC-CUBE + PHPUnit で 実践テスト駆動開発EC-CUBE + PHPUnit で 実践テスト駆動開発
EC-CUBE + PHPUnit で 実践テスト駆動開発
 
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとしてBlack jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
Black jumbodogの新機能(webapi)~自動テストにおけるsmtpモックとして
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
 
Mysql casial01
Mysql casial01Mysql casial01
Mysql casial01
 
Chef
ChefChef
Chef
 
MySQLのパフォーマンスの話
MySQLのパフォーマンスの話MySQLのパフォーマンスの話
MySQLのパフォーマンスの話
 
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
 
B lack jumbodog 運転と改造のすすめ
B lack jumbodog 運転と改造のすすめB lack jumbodog 運転と改造のすすめ
B lack jumbodog 運転と改造のすすめ
 
Symfony2 workshop-2
Symfony2 workshop-2Symfony2 workshop-2
Symfony2 workshop-2
 
Ruby build
Ruby buildRuby build
Ruby build
 
カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡カジュアルにバックアップ - MySQL Casual Talks 福岡
カジュアルにバックアップ - MySQL Casual Talks 福岡
 
Puppet Best Practices? at COOKPAD
Puppet Best Practices? at COOKPADPuppet Best Practices? at COOKPAD
Puppet Best Practices? at COOKPAD
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
 
シェル入門
シェル入門シェル入門
シェル入門
 
当社のawsへの取組
当社のawsへの取組当社のawsへの取組
当社のawsへの取組
 

Similar a ebisu.rb #19 超実践 super

20110820 metaprogramming
20110820 metaprogramming20110820 metaprogramming
20110820 metaprogrammingMasanori Kado
 
super super & sub sub の話
super super & sub sub の話super super & sub sub の話
super super & sub sub の話Masashi Umezawa
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia鉄次 尾形
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミングlestrrat
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
Ruby初級者向けレッスン 第46回 ─── Test::Unit
Ruby初級者向けレッスン 第46回 ─── Test::UnitRuby初級者向けレッスン 第46回 ─── Test::Unit
Ruby初級者向けレッスン 第46回 ─── Test::Unithigaki
 
Lightning introduction to CoffeeScript 20131005
Lightning introduction to CoffeeScript 20131005Lightning introduction to CoffeeScript 20131005
Lightning introduction to CoffeeScript 20131005gotohayato
 
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4bitter_fox
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoyakenjis
 
Rails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグRails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグYohei Yasukawa
 
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話Yukihiko SAWANOBORI
 
第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブルHirokazu Nishi
 
Development app-with-elixir
Development app-with-elixirDevelopment app-with-elixir
Development app-with-elixirk1complete
 
今日から使い始めるChef
今日から使い始めるChef今日から使い始めるChef
今日から使い始めるChefMasahiro NAKAYAMA
 
クラスのインスタンス変数について
クラスのインスタンス変数についてクラスのインスタンス変数について
クラスのインスタンス変数についてTomoya Kawanishi
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門Yasuko Ohba
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1kenjis
 
named_scope more detail - WebCareer
named_scope more detail - WebCareernamed_scope more detail - WebCareer
named_scope more detail - WebCareerKyosuke MOROHASHI
 
CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100ichikaway
 

Similar a ebisu.rb #19 超実践 super (20)

20110820 metaprogramming
20110820 metaprogramming20110820 metaprogramming
20110820 metaprogramming
 
super super & sub sub の話
super super & sub sub の話super super & sub sub の話
super super & sub sub の話
 
MoteMote Compiler Plugin
MoteMote Compiler PluginMoteMote Compiler Plugin
MoteMote Compiler Plugin
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミング
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
Ruby初級者向けレッスン 第46回 ─── Test::Unit
Ruby初級者向けレッスン 第46回 ─── Test::UnitRuby初級者向けレッスン 第46回 ─── Test::Unit
Ruby初級者向けレッスン 第46回 ─── Test::Unit
 
Lightning introduction to CoffeeScript 20131005
Lightning introduction to CoffeeScript 20131005Lightning introduction to CoffeeScript 20131005
Lightning introduction to CoffeeScript 20131005
 
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
Rails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: RailsアプリケーションのデバッグRails解説セミナー: Railsアプリケーションのデバッグ
Rails解説セミナー: Railsアプリケーションのデバッグ
 
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
 
第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル
 
Development app-with-elixir
Development app-with-elixirDevelopment app-with-elixir
Development app-with-elixir
 
今日から使い始めるChef
今日から使い始めるChef今日から使い始めるChef
今日から使い始めるChef
 
クラスのインスタンス変数について
クラスのインスタンス変数についてクラスのインスタンス変数について
クラスのインスタンス変数について
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
named_scope more detail - WebCareer
named_scope more detail - WebCareernamed_scope more detail - WebCareer
named_scope more detail - WebCareer
 
CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100
 

Último

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Último (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

ebisu.rb #19 超実践 super