SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Ruby 2.5
ながのRubyの会 #1
2017/12/02
とみたまさひろ
1
自己紹介
とみた まさひろ
長野県北部在住プログラマー
好きなプログラミング言語 Ruby
http://tmtms.hatenablog.com
http://twitter.com/tmtms
2
Rubyは毎年クリスマスにバージョンアップ
3
Ruby 2.5
2017/12/25
4
Ruby 2.5 新機能&変更
ruby 2.5.0preview1 (2017-10-10 trunk 60153)
https://docs.ruby-lang.org/en/trunk/NEWS.html
5
言語仕様
6
トップレベル定数参照
class Foo
end
class Bar
end
# Ruby 2.4
Foo::Bar #=> Bar
# Ruby 2.5
Foo::Bar #=> NameError 例外
7
rescue/else/ensure 節
これは従来から簡潔に書けた↓
def foo
begin
...
rescue
...
end
end
def foo
...
rescue
...
end
8
2.5からはdo〜endブロックでも
簡潔に書ける↓
array.each do
begin
...
rescue
...
end
end
array.each do
...
rescue
...
end
9
文字列内式のRefinement
class A; def to_s; "a"; end; end
module B
refine A do
def to_s; "b"; end
end
end
class C
using B
def x
A.new.to_s #=> "b"
"#{A.new}" #=> "b" 2.4 では "a"
end
end
10
Unicode バージョン 10.0.0
Ruby 2.4 は 9.0.0
11
組み込みライブラリ
12
Array#append, #prepend 追加
a = [1, 2, 3]
a.append 4
a #=> [1, 2, 3, 4]
a.prepend 0
a #=> [0, 1, 2, 3, 4]
13
Dir.children, Dir.each_child 追加
Dir.entries("/tmp/x") #=> ["..", "abc", "."]
Dir.children("/tmp/x") #=> ["abc"]
Dir.foreach("/tmp/x"){...} # 「.」「..」を含む
Dir.each_child("/tmp/x"){...} # 「.」「..」を含まない
14
Dir.glob :base オプション追加
カレントディレクトリの代わりのパスを指定
Dir.glob("/tmp/x/*") #=> ["/tmp/x/abc"]
Dir.glob("*", base: "/tmp/x") #=> ["abc"]
15
Hash#transform_keys,
transform_keys! 追加
{a: 1, b: 2, c: 3}.transform_keys(&:upcase)
#=> {A: 1, B: 2, C: 3}
{a: 1, b: 2, c: 3}.transform_values{|v| v*2}
#=> {a: 2, b: 4, c: 6} ←これは 2.4 から
16
IO.pread, IO.pwrite 追加
seek & read (write) をアトミックに行う
File.open("/tmp/x/abc") do |f|
f.read #=> "abcdefghijklmnopqrstuvwxyz"
f.pread(10, 3) #=> "defghijklm"
end
17
Integer.sqrt 追加
整数の平方根
Integer.sqrt(9) #=> 3
Integer.sqrt(15) #=> 3
Integer.sqrt(16) #=> 4
18
Integer#round, floor, ceil,
truncate が整数を返す
# Ruby 2.4
123.round(1) #=> 123.0
123.round(-1) #=> 120
# Ruby 2.5
123.round(1) #=> 123
123.round(-1) #=> 120
19
Numeric: coerce内の例外
class A
def coerce(other)
raise 'hoge'
end
end
# Ruby 2.4
1 < A.new
#=> in `<': comparison of Integer with A failed (ArgumentError)
# Ruby 2.5
1 < A.new
#=> in `coerce': hoge (RuntimeError)
20
Range: <=>内の例外
class A
def <=>(x)
raise 'hoge'
end
end
# Ruby 2.4
Range.new(A.new, A.new)
#=> in `initialize': bad value for range (ArgumentError)
# Ruby 2.5
Range.new(A.new, A.new)
#=> in `<=>': hoge (RuntimeError)
21
Object#yield_self 追加
# tap は前からある (1.8 ?)
123.tap{|x| x*2} #=> 123
# 2.5 から
123.yield_self{|x| x*2} #=> 246
22
Process.times の精度向上
# Ruby 2.4
% ruby -e 'p Process.times'
#<struct Process::Tms utime=0.06, stime=0.01, cutime=0.0, cstime
# Ruby 2.5
ruby -e 'p Process.times'
#<struct Process::Tms utime=0.071065, stime=0.015792, cutime=0.0,
23
String#delete_prefix,
delete_suffix, delete_prefix!,
delete_suffix! 追加
"abcdefg".delete_prefix("abc") #=> "defg"
"abcdefg".delete_suffix("efg") #=> "abcd"
24
String#casecmp, casecmp? が例
外を発生しない
# Ruby 2.4
"hoge".casecmp(123) #=> TypeError
# Ruby 2.5
"hoge".casecmp(123) #=> nil
25
String#grapheme_clusters,
each_grapheme_cluster 追加
Unicodeの合成文字単位で処理
gaga = "がが" # 1文字目は「か」と「゙」の合成文字
gaga.chars #=> ["か", "゙", "が"]
gaga.grapheme_clusters #=> ["が", "が"]
26
Thread#fetch 追加
スレッド固有パラメータの取り出しをHash風に
Thread.current[:hoge] #=> nil
Thread.current.fetch(:hoge) #=> KeyError "key not found: hoge"
Thread.current.fetch(:hoge, 123) #=> 123
27
Thread.name=
Ruby 2.3からあった。Windows 10 でもスレッドに名前
をつけられるようになったらしい。
Thread.new do
Thread.current.name = "hogehoge"
end
% ps -L -o pid,lwp,comm -p 14655
PID LWP COMMAND
14655 14655 ruby
14655 14656 ruby-timer-thr
14655 14657 hogehoge
28
Time.at で秒以下の単位を指定
Time.at(1511056368, 123456).nsec #=> 123456000
Time.at(1511056368, 123456.789).nsec #=> 123456789
Time.at(1511056368, 123456789, :nsec).nsec #=> 123456789
29
KeyError#receiver, key 追加
例外が発生したオブジェクトとキーを返す
begin
hash = {a: 123}
hash.fetch(:b)
rescue KeyError => e
e.receiver #=> {a: 123}
e.key #=> :b
end
30
BasicSocket#read_nonblock,
#write_nonblock が O_NONBLOCK をセ
ットしない
require 'io/nonblock'
s = TCPSocket.new("127.0.0.1", 80)
s.nonblock? #=> false
s.read_nonblock(10)
# Ruby 2.4
s.nonblock? #=> true
# Ruby 2.5
s.nonblock? #=> false
31
Random.raw_seed が
Random.urandom に名前変更
32
Socket::Ifaddr#vhid 追加
BSD?
33
標準添付ライブラリ
34
Bundler Gem 標準添付
35
ERB#result_with_hash 追加
require "erb"
name = "tmtms"
ERB.new("Hello <%=name%>").result #=> "Hello tmtms"
require "erb"
ERB.new("Hello <%=name%>").result_with_hash(name: "tmtms")
36
ERB: trim 指定時 CR LF を trim
# Ruby 2.4
require 'erb'
ERB.new("<%=123%>rn", nil, 1).result #=> "123rn"
# Ruby 2.5
require 'erb'
ERB.new("<%=123%>rn", nil, 1).result #=> "123"
37
Net::HTTP ステータス追加
'102' => Net::HTTPProcessing,
'208' => Net::HTTPAlreadyReported,
'421' => Net::HTTPMisdirectedRequest,
'451' => Net::HTTPUnavailableForLegalReasons,
'506' => Net::HTTPVariantAlsoNegotiates,
'508' => Net::HTTPLoopDetected,
'510' => Net::HTTPNotExtended,
38
Net::HTTP::STATUS_CODES 追加
require 'net/http/status'
Net::HTTP::STATUS_CODES
#=> {100=>"Continue", 101=>"Switching Protocols",
# 102=>"Processing", 200=>"OK", 201=>"Created",
# 202=>"Accepted", 203=>"Non-Authoritative Information",
# 204=>"No Content", 205=>"Reset Content", 206=>"Partial Content"
# ...}
39
Net::HTTP.new に no_proxy 引数追加
7番目の引数
no_proxy = "example.com,example.net:8080"
HTTP.new(address, port, proxy_addr, proxy_port,
proxy_user, proxy_pass, no_proxy)
40
Net::HTTP: http_proxy環境変数
を使用
41
Net::HTTP: http_proxy環境変数
の認証情報を使用
http://user:password@proxy:port/
Windowsを除く
42
RbConfig::SIZE_OF,
RbConfig::LIMITS 追加
require "rbconfig/sizeof"
RbConfig::SIZEOF
#=> {"int"=>4, "short"=>2, "long"=>8, "long long"=>8,
# "__int128"=>16, "off_t"=>8, "void*"=>8, "float"=>4,
# "double"=>8, "time_t"=>8, "clock_t"=>8, "size_t"=>8,
# ...
RbConfig::LIMITS
#=> {"FIXNUM_MAX"=>4611686018427387903,
# "FIXNUM_MIN"=>-4611686018427387904, "CHAR_MAX"=>127,
# "CHAR_MIN"=>-128, "SCHAR_MAX"=>127, "SCHAR_MIN"=>-128,
# "UCHAR_MAX"=>255, "WCHAR_MAX"=>2147483647,
# ...
43
Ripper#state,
Ripper::EXPR_BEG 追加
44
Set#to_s, #=== 追加
s = Set.new([1, 2, 3])
# Ruby 2.4
s.to_s #=> "#<Set:0x00560b825243b8>"
s === 2 #=> false
s === s #=> true
# Ruby 2.5
s.to_s #=> "#<Set: {1, 2, 3}>"
s === 2 #=> true Set#include? と同じ
s === s #=> false
45
WEBrick: Serve Name
Indication (SNI) サポート
46
標準ライブラリから mathn 削除
もうあまり使われてない?
47
標準ライブラリから ubygems 削除
rubygems を -rubygems コマンドラインオプションで使
用できるようにするためのもの。
rubygems は標準で使用されるためもう不要。
48
その他
49
バックトレースの順番
標準エラー出力が端末の場合に表示が逆順
(EXPERIMENTAL)
# Ruby 2.4
% ruby /tmp/a.rb
/tmp/a.rb:8:in `c': unhandled exception
from /tmp/a.rb:5:in `b'
from /tmp/a.rb:2:in `a'
from /tmp/a.rb:10:in `<main>'
# Ruby 2.5
% ruby /tmp/a.rb
Traceback (most recent call last):
3: from /tmp/a.rb:10:in `<main>'
2: from /tmp/a.rb:2:in `a'
1: from /tmp/a.rb:5:in `b'
/tmp/a.rb:8:in `c': unhandled exception
50
バックトレースの順番
標準エラー出力が端末でなければ従来通り
% ruby /tmp/a.rb
Traceback (most recent call last):
3: from /tmp/a.rb:10:in `<main>'
2: from /tmp/a.rb:2:in `a'
1: from /tmp/a.rb:5:in `b'
/tmp/a.rb:8:in `c': unhandled exception
% ruby /tmp/a.rb 2>&1 | cat
/tmp/a.rb:8:in `c': unhandled exception
from /tmp/a.rb:5:in `b'
from /tmp/a.rb:2:in `a'
from /tmp/a.rb:10:in `<main>'
51
configure で拡張ライブラリを強制
通常は環境に応じて自動判別
--with-ext オプションで強制できる
コンパイルできる環境でない場合は make でエラー
% ./configure --with-ext=openssl,+
% make
...
*** Following extensions are not compiled:
openssl:
Could not be configured. It will not be installed.
/misc/tmp/ruby-2.5.0-preview1/ext/openssl/extconf.rb:94
Check ext/openssl/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again
exts.mk:1853: ターゲット 'note' のレシピで失敗しました
make[1]: *** [note] エラー 1
make[1]: ディレクトリ '/misc/tmp/ruby-2.5.0-preview1' から出ます
uncommon.mk:236: ターゲット 'build-ext' のレシピで失敗しました
make: *** [build-ext] エラー 2
52
以上
53

Contenu connexe

Tendances

Open Source System Administration Framework - Func
Open Source System Administration Framework - FuncOpen Source System Administration Framework - Func
Open Source System Administration Framework - Func
Gosuke Miyashita
 
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
博文 斉藤
 
Ruby Postgres 2009
Ruby Postgres 2009Ruby Postgres 2009
Ruby Postgres 2009
Akio Ishida
 

Tendances (20)

Varnish 4.0 Release Party in Tokyo発表資料
Varnish 4.0 Release Party in Tokyo発表資料Varnish 4.0 Release Party in Tokyo発表資料
Varnish 4.0 Release Party in Tokyo発表資料
 
PHP, Now and Then 2011
PHP, Now and Then 2011PHP, Now and Then 2011
PHP, Now and Then 2011
 
初級者向けレッスン 51回 ─── 例外
初級者向けレッスン 51回 ─── 例外初級者向けレッスン 51回 ─── 例外
初級者向けレッスン 51回 ─── 例外
 
Hack/HHVM 入門
Hack/HHVM 入門Hack/HHVM 入門
Hack/HHVM 入門
 
PHPの今とこれから2021
PHPの今とこれから2021PHPの今とこれから2021
PHPの今とこれから2021
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説
 
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
 
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
tokyo.vcl発表資料(VarnishCache3.0新機能とVUPの仕方)
 
Open Source System Administration Framework - Func
Open Source System Administration Framework - FuncOpen Source System Administration Framework - Func
Open Source System Administration Framework - Func
 
Node.js × 音声認識 - 東京Node学園 2012 LT枠 6番目
Node.js × 音声認識 - 東京Node学園 2012 LT枠 6番目Node.js × 音声認識 - 東京Node学園 2012 LT枠 6番目
Node.js × 音声認識 - 東京Node学園 2012 LT枠 6番目
 
Kernel fcache-bug
Kernel fcache-bugKernel fcache-bug
Kernel fcache-bug
 
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会チラシ - OSC2012 Tokyo/Fall
 
Ruby Postgres 2009
Ruby Postgres 2009Ruby Postgres 2009
Ruby Postgres 2009
 
Reactive Extensions v2.0
Reactive Extensions v2.0Reactive Extensions v2.0
Reactive Extensions v2.0
 
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
 
HHVM Hack
HHVM HackHHVM Hack
HHVM Hack
 
Varnishのログの眺め方
Varnishのログの眺め方Varnishのログの眺め方
Varnishのログの眺め方
 
Reactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にReactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単に
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
 

Similaire à Ruby 2.5

20110820 metaprogramming
20110820 metaprogramming20110820 metaprogramming
20110820 metaprogramming
Masanori Kado
 
More Better Nested Set
More Better Nested SetMore Better Nested Set
More Better Nested Set
xibbar
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Yohei Fushii
 
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
yut148atgmaildotcom
 
How to debug a perl script using gdb
How to debug a perl script using gdbHow to debug a perl script using gdb
How to debug a perl script using gdb
akirahiguchi
 

Similaire à Ruby 2.5 (20)

20110820 metaprogramming
20110820 metaprogramming20110820 metaprogramming
20110820 metaprogramming
 
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
 
怠惰なRubyistへの道 fukuoka rubykaigi01
怠惰なRubyistへの道 fukuoka rubykaigi01怠惰なRubyistへの道 fukuoka rubykaigi01
怠惰なRubyistへの道 fukuoka rubykaigi01
 
More Better Nested Set
More Better Nested SetMore Better Nested Set
More Better Nested Set
 
Tottoruby 20110903
Tottoruby 20110903Tottoruby 20110903
Tottoruby 20110903
 
メタメタプログラミングRuby
メタメタプログラミングRubyメタメタプログラミングRuby
メタメタプログラミングRuby
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
Web技術勉強会23回目
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目
 
社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~ 社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~
 
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニックDockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
 
about dakota6.7 gui
about dakota6.7 guiabout dakota6.7 gui
about dakota6.7 gui
 
Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
 
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
 
Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7
 
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについてCentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
CentOS 8で標準搭載! 「389-ds」で構築する 認証サーバーについて
 
about DakotagUI
about DakotagUIabout DakotagUI
about DakotagUI
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspec
 
How to debug a perl script using gdb
How to debug a perl script using gdbHow to debug a perl script using gdb
How to debug a perl script using gdb
 

Plus de Masahiro Tomita

「理論から学ぶデータベース実践入門」読書会スペシャル
「理論から学ぶデータベース実践入門」読書会スペシャル「理論から学ぶデータベース実践入門」読書会スペシャル
「理論から学ぶデータベース実践入門」読書会スペシャル
Masahiro Tomita
 
アジャイルジャパン長野サテライト
アジャイルジャパン長野サテライトアジャイルジャパン長野サテライト
アジャイルジャパン長野サテライト
Masahiro Tomita
 

Plus de Masahiro Tomita (20)

お前の罪を数えろ
お前の罪を数えろお前の罪を数えろ
お前の罪を数えろ
 
本当はこわいMySQLプロトコル
本当はこわいMySQLプロトコル本当はこわいMySQLプロトコル
本当はこわいMySQLプロトコル
 
ネットワークこわい
ネットワークこわいネットワークこわい
ネットワークこわい
 
CSV
CSVCSV
CSV
 
MySQLの文字コード事情 2017春版
MySQLの文字コード事情 2017春版MySQLの文字コード事情 2017春版
MySQLの文字コード事情 2017春版
 
MySQLの文字コード事情 2017版
MySQLの文字コード事情 2017版MySQLの文字コード事情 2017版
MySQLの文字コード事情 2017版
 
Ruby24
Ruby24Ruby24
Ruby24
 
MySQLの文字コード事情
MySQLの文字コード事情MySQLの文字コード事情
MySQLの文字コード事情
 
進捗と品質
進捗と品質進捗と品質
進捗と品質
 
MySQLを拡張する
MySQLを拡張するMySQLを拡張する
MySQLを拡張する
 
「理論から学ぶデータベース実践入門」読書会スペシャル
「理論から学ぶデータベース実践入門」読書会スペシャル「理論から学ぶデータベース実践入門」読書会スペシャル
「理論から学ぶデータベース実践入門」読書会スペシャル
 
MyNAができるまで
MyNAができるまでMyNAができるまで
MyNAができるまで
 
文字化け
文字化け文字化け
文字化け
 
Crystal
CrystalCrystal
Crystal
 
メールの暗号化
メールの暗号化メールの暗号化
メールの暗号化
 
文字化け
文字化け文字化け
文字化け
 
進捗と品質
進捗と品質進捗と品質
進捗と品質
 
アジャイルジャパン長野サテライト
アジャイルジャパン長野サテライトアジャイルジャパン長野サテライト
アジャイルジャパン長野サテライト
 
🍣=🍺
🍣=🍺🍣=🍺
🍣=🍺
 
本当はこわいエンコーディングの話
本当はこわいエンコーディングの話本当はこわいエンコーディングの話
本当はこわいエンコーディングの話
 

Dernier

Dernier (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: 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
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: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...
 

Ruby 2.5