RubyでDSL

Yukimitsu Izawa
Yukimitsu Izawa株式会社クルウィット
「安心・安全・安定・信頼」できるインターネットサービスを
株式会社クルウィット
井澤 志充
RubyでDSL
Kanazawa.rb #12
「安心・安全・安定・信頼」できるインターネットサービスを
じこしょうかい
• (株)クルウィットの取締役  兼  北北陸陸⽀支社⻑⾧長
• 博⼠士(情報科学)
2
• ネットワークの委託研究・⾃自社サービス開発など
• 井澤  志充  (いざわゆきみつ)
「安心・安全・安定・信頼」できるインターネットサービスを
DSLってなに?
3
「安心・安全・安定・信頼」できるインターネットサービスを
DSLってなに?
3
Domain Specific Language
ドメイン特化言語
「安心・安全・安定・信頼」できるインターネットサービスを
DSLってなに?
3
Domain Specific Language
ドメイン特化言語
→特化
「安心・安全・安定・信頼」できるインターネットサービスを
比較
4
普段皆さんがプログラミングでつかっ
ている言語は
→汎用プログラミング言語
「安心・安全・安定・信頼」できるインターネットサービスを
比較
4
普段皆さんがプログラミングでつかっ
ている言語は
→汎用プログラミング言語
→汎用
「安心・安全・安定・信頼」できるインターネットサービスを
比較(2)
5
「汎用」
はんよう【汎用】
(名)スル
広くいろいろな方面に用いること。また,そのもの。「―性」
「特化」
とっか 【特化】
(名)スル
他と異なる特別なものとすること。特殊化すること。「精密機器に―した生産ラ
イン」
「安心・安全・安定・信頼」できるインターネットサービスを
DSLとは(再)
6
特定の目的を達成するために作られるプ
ログラミング言語
例:
Makefile
SQL
yacc, lex
Shell Script
RSpec
「安心・安全・安定・信頼」できるインターネットサービスを
汎用言語と比べると
• 利点
• 目的を達成するための最低限の実装でよい
• ループや制御構造などを実装しないで良いかも
• 特定の目的に特化できるので、想定利用者を限定可能
• 専門家が分かる表現で良い
• コード自体が問題を完結に記述したものである
• 自然言語風に書けるものが多い
7
「安心・安全・安定・信頼」できるインターネットサービスを
汎用言語と比べると
• 欠点
• 特殊な言語であるため、お作法の学習コストの高さ
• 特化型ゆえ応用範囲は本来的に狭い
8
「安心・安全・安定・信頼」できるインターネットサービスを
DSLの分類
9
外部DSL
• インタプリタあるいはコンパイラを自作するのに近い
• 字句解析器・構文解析器を使った言語設計
• 全て自分で決めることが出来る
→全て自分でやる必要がある
「安心・安全・安定・信頼」できるインターネットサービスを
DSLの分類
10
内部DSL
• 汎用プログラミング言語を利用
• 汎用プログラミング言語の持つ拡張性を利用
• 利用する言語によって自由度が異なる
「安心・安全・安定・信頼」できるインターネットサービスを
Rubyと内部DSL
11
Rubyで作られた内部DSL
• RSpec
• ActiveRecord
• migration
• Rubyの言語仕様の範囲で作ることになる
• Rubyの予約語はそのまま使える
• 記述言語 = Rubyのコード
「安心・安全・安定・信頼」できるインターネットサービスを
使えそうな要素
12
• Rubyのメソッドは ( ) を省略できる
• ブロックは、do - end で記述できる
• 強力な eval 機能
• instance_eval
「安心・安全・安定・信頼」できるインターネットサービスを
instance_evalとは
13
http://doc.ruby-lang.org 先生曰く、
instance_eval(expr, filename = "(eval)", lineno = 1) -> object[permalink]
instance_eval {|obj| ... } -> object
・オブジェクトのコンテキストで文字列exprまたはオブジェクト自身を
ブロックパラメータとするブロックを 評価してその結果を返します。
・オブジェクトのコンテキストで評価するとは評価中の self をそのオ
ブジェクトにして実行するということです。
・また、文字列 expr やブロック中でメソッドを定義すればそのオブジ
ェクトの特異メソッドが定義されます。
「安心・安全・安定・信頼」できるインターネットサービスを
簡単なコード
14
「安心・安全・安定・信頼」できるインターネットサービスを
簡単なコード
14
コード
cat = 'tama'
cat.instance_eval {
def hello
puts “meow”
end
}
cat.hello
実行結果
#=> “meow”
「安心・安全・安定・信頼」できるインターネットサービスを
「とりあえず」つくってみようか
15
「安心・安全・安定・信頼」できるインターネットサービスを
「とりあえず」つくってみようか
15
「安心・安全・安定・信頼」できるインターネットサービスを
お題
• イベントカレンダー記述⾔言語
• ⾔言語仕様
• 予約語:
• event
• カレンダーイベントの定義開始。引数としてイベントのタイト
ルと詳細情報のブロックを持つ
• on  …  ⽇日程
• starts  …  開始時刻
• ends  …  終了了時刻
16
「安心・安全・安定・信頼」できるインターネットサービスを
作成する言語の記述例
17
Beer Paryというイベントが
2013/08/24 の 13:00∼17:00 にあるよ!
event “Beer Party” do
on “2013/08/24”
starts “13:00”
ends “17:00”
end
「安心・安全・安定・信頼」できるインターネットサービスを
言語解釈器の作成
18
class CalEvent
def initialize(title)
@title = title
@date = @start_time = @end_time = nil
end
def on(date)
@date = Date.parse(date)
end
def show
print "title:#{@title}, on #{@date}, starts #{@start_time}, ends #{@end_time}n"
end
end
def event(title, &block)
cal = CalEvent.new(title)
cal.instance_eval(&block)
cal.show
end
load File.expand_path(ARGV[0])
「安心・安全・安定・信頼」できるインターネットサービスを
実行結果
19
% ruby calendar.rb calendar.txt
title:beer party, on 2013-08-24, starts 13:00, ends 17:00
「安心・安全・安定・信頼」できるインターネットサービスを
言語解釈器の拡張
20
• 追加⾔言語仕様
• 予約語:
• every
• 繰り返しを表す定義の開始。引数として繰り返しのタイミング
を表す⽂文字列列と詳細情報のブロックを持つ
「安心・安全・安定・信頼」できるインターネットサービスを 21
Beer Paryというイベントが
毎週土曜日 の 13:00∼17:00 にあるよ!
event “Beer Party” do
every “week” do
wday “saturday”
end
starts “13:00”
ends “17:00”
end
「安心・安全・安定・信頼」できるインターネットサービスを
言語解釈器の拡張
22
class CalEvent
def initialize(title)
@title = title
@date = @start_time = @end_time = nil
end
:
class Every
def initialize(method)
@method = method
@wday = nil
end
:
end
def every(method, &block)
@every = Every.new(method)
@every.instance_eval(&block)
end
:
def show
@every.generate.each { |date|
:
}
end
「安心・安全・安定・信頼」できるインターネットサービスを
実行結果
23
% ruby calendar.rb calendar.txt
title:beer party, on 2013-08-03, starts 13:00, ends 17:00
title:beer party, on 2013-08-10, starts 13:00, ends 17:00
title:beer party, on 2013-08-17, starts 13:00, ends 17:00
title:beer party, on 2013-08-24, starts 13:00, ends 17:00
title:beer party, on 2013-08-31, starts 13:00, ends 17:00
「安心・安全・安定・信頼」できるインターネットサービスを
さらに、Googleカレンダーに登録してみる
• GcalAPI  というgem  を使う
• カレンダーは、feed  という秘密の⽂文字列列で特定
• Googleアカウントのユーザ名とパスワード(アプリパス
でもOK)も使う。
24
「安心・安全・安定・信頼」できるインターネットサービスを
gcalapiの簡単な使い方
25
require ‘gcakapi’
CAL_FEED = 'http://www.google.com/calendar/feeds/
XXXX@group.calendar.google.com/private/full'
USER = 'kzrbeer@gmail.com'
PASSWORD = 'hogehogehoge'
service = GoogleCalendar::Service.new(USER, PASSWORD)
cal = GoogleCalendar::Calendar.new(service, CAL_FEED)
event = cal.create_event
event.title = “イベントのタイトル”
event.st = DateTime型のイベント開始時刻
event.end = DateTime型のイベント終了時刻
event.save!
「安心・安全・安定・信頼」できるインターネットサービスを
demo
26
・Googleカレンダーに登録するデモ
「安心・安全・安定・信頼」できるインターネットサービスを
gcalgen gem のご紹介
27
• https://github.com/izawa/gcalgen
• event,  every  の他にも、
• ⽉月頭最初の平⽇日  /  ⽉月末最後の平⽇日
• 休⽇日・祝⽇日だったら翌⽇日に延期
• ⽣生成するイベントの期間指定  などを記述可能。
•   gem  install  gcalgen  
• でインストールできます。
「安心・安全・安定・信頼」できるインターネットサービスを
• Thank  You!
• If  you  have  any  comments,
• please  send  to:
• Mail:  izawa@izawa.org  /  izawa@clwit.co.jp
• Twitter:  @Yukimitsu_̲Izawa
28
1 of 33

Recommended

Webプラットフォームのセキュリティ by
WebプラットフォームのセキュリティWebプラットフォームのセキュリティ
WebプラットフォームのセキュリティMuneaki Nishimura
17.5K views53 slides
クラウドセキュリティ基礎 #seccamp by
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
25.4K views74 slides
進化するWebトラッキングの話 #ssmjp by
進化するWebトラッキングの話 #ssmjp進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjpsonickun
29.5K views52 slides
これからのWebセキュリティ フロントエンド編 #seccamp by
これからのWebセキュリティ フロントエンド編 #seccampこれからのWebセキュリティ フロントエンド編 #seccamp
これからのWebセキュリティ フロントエンド編 #seccampKyo Ago
22.4K views46 slides
参加しよう!Hardening Project #h10v #h・v by
参加しよう!Hardening Project #h10v #h・v参加しよう!Hardening Project #h10v #h・v
参加しよう!Hardening Project #h10v #h・vMasahiro NAKAYAMA
4.2K views44 slides
なぜ自社で脆弱性診断を行うべきなのか by
なぜ自社で脆弱性診断を行うべきなのかなぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのかSen Ueno
15.6K views54 slides

More Related Content

What's hot

防御から謝罪まで・・・WordPressにヤマを張るっ! by
防御から謝罪まで・・・WordPressにヤマを張るっ!防御から謝罪まで・・・WordPressにヤマを張るっ!
防御から謝罪まで・・・WordPressにヤマを張るっ!yoshinori matsumoto
1.4K views33 slides
20170408 securiy-planning by
20170408 securiy-planning20170408 securiy-planning
20170408 securiy-planninghogehuga
948 views19 slides
クラウドセキュリティ基礎 #seccamp by
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
4.6K views105 slides
セキュアなソフトウェアアーキテクチャー by
セキュアなソフトウェアアーキテクチャーセキュアなソフトウェアアーキテクチャー
セキュアなソフトウェアアーキテクチャーYasuo Ohgaki
4.3K views36 slides
OWASP ASVS Project review 2.0 and 3.0 by
OWASP ASVS Project review 2.0 and 3.0OWASP ASVS Project review 2.0 and 3.0
OWASP ASVS Project review 2.0 and 3.0Riotaro OKADA
3.8K views28 slides
第32回Websig会議「クラウドは○○を共有するサービス」 by
第32回Websig会議「クラウドは○○を共有するサービス」第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」Sen Ueno
1.2K views37 slides

What's hot(20)

防御から謝罪まで・・・WordPressにヤマを張るっ! by yoshinori matsumoto
防御から謝罪まで・・・WordPressにヤマを張るっ!防御から謝罪まで・・・WordPressにヤマを張るっ!
防御から謝罪まで・・・WordPressにヤマを張るっ!
yoshinori matsumoto1.4K views
20170408 securiy-planning by hogehuga
20170408 securiy-planning20170408 securiy-planning
20170408 securiy-planning
hogehuga948 views
クラウドセキュリティ基礎 #seccamp by Masahiro NAKAYAMA
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
Masahiro NAKAYAMA4.6K views
セキュアなソフトウェアアーキテクチャー by Yasuo Ohgaki
セキュアなソフトウェアアーキテクチャーセキュアなソフトウェアアーキテクチャー
セキュアなソフトウェアアーキテクチャー
Yasuo Ohgaki4.3K views
OWASP ASVS Project review 2.0 and 3.0 by Riotaro OKADA
OWASP ASVS Project review 2.0 and 3.0OWASP ASVS Project review 2.0 and 3.0
OWASP ASVS Project review 2.0 and 3.0
Riotaro OKADA3.8K views
第32回Websig会議「クラウドは○○を共有するサービス」 by Sen Ueno
第32回Websig会議「クラウドは○○を共有するサービス」第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」
Sen Ueno1.2K views
「教養としてのサイバーセキュリティ」講座 by Riotaro OKADA
「教養としてのサイバーセキュリティ」講座「教養としてのサイバーセキュリティ」講座
「教養としてのサイバーセキュリティ」講座
Riotaro OKADA1.5K views
#qpstudy 2015.11 Hardening 10 ValueChainで惨敗してきた by Masahiro NAKAYAMA
#qpstudy 2015.11 Hardening 10 ValueChainで惨敗してきた#qpstudy 2015.11 Hardening 10 ValueChainで惨敗してきた
#qpstudy 2015.11 Hardening 10 ValueChainで惨敗してきた
Masahiro NAKAYAMA2.8K views
2019 1117 security_jaws_toal_5min_slideshare by Shinichiro Kawano
2019 1117 security_jaws_toal_5min_slideshare2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare
Shinichiro Kawano665 views
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido) by JPCERT Coordination Center
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)
OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)
Owasp Project を使ってみた by Akitsugu Ito
Owasp Project を使ってみたOwasp Project を使ってみた
Owasp Project を使ってみた
Akitsugu Ito13.1K views
Privacy by Design with OWASP by Riotaro OKADA
Privacy by Design with OWASPPrivacy by Design with OWASP
Privacy by Design with OWASP
Riotaro OKADA226 views
flaws.cloudに挑戦しよう! by zaki4649
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!
zaki46499.8K views
企業のデジタル変革とサイバーリスク by Riotaro OKADA
企業のデジタル変革とサイバーリスク企業のデジタル変革とサイバーリスク
企業のデジタル変革とサイバーリスク
Riotaro OKADA989 views
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017) by JPCERT Coordination Center
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
アプリケーションデリバリーのバリューチェイン by Riotaro OKADA
アプリケーションデリバリーのバリューチェインアプリケーションデリバリーのバリューチェイン
アプリケーションデリバリーのバリューチェイン
Riotaro OKADA1.2K views
Vulsで始めよう!DevSecOps! by Takayuki Ushida
Vulsで始めよう!DevSecOps!Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!
Takayuki Ushida3.5K views
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018) by Sen Ueno
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
Sen Ueno2.3K views

Similar to RubyでDSL

1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1 by
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.11/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1junichi anno
4.1K views48 slides
Octopress簡単スタートガイド by
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイドYukimitsu Izawa
5.3K views37 slides
Microsoft Azure/SRT - 最新技術情報アップデート by
Microsoft Azure/SRT - 最新技術情報アップデートMicrosoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデートShige Fukushima
750 views49 slides
201805 webcast and kollective digital media proposal west by
201805 webcast and kollective digital media proposal west201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal westHiroyuki Yokota
138 views43 slides
IoTタグで遊んでみよう by
IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみようYukimitsu Izawa
1.7K views49 slides
ライオンブリッジのライフサイエンスサービスのご紹介 by
ライオンブリッジのライフサイエンスサービスのご紹介ライオンブリッジのライフサイエンスサービスのご紹介
ライオンブリッジのライフサイエンスサービスのご紹介Seiichiroh Misumi
34 views34 slides

Similar to RubyでDSL(20)

1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1 by junichi anno
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.11/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
junichi anno4.1K views
Octopress簡単スタートガイド by Yukimitsu Izawa
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイド
Yukimitsu Izawa5.3K views
Microsoft Azure/SRT - 最新技術情報アップデート by Shige Fukushima
Microsoft Azure/SRT - 最新技術情報アップデートMicrosoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデート
Shige Fukushima750 views
201805 webcast and kollective digital media proposal west by Hiroyuki Yokota
201805 webcast and kollective digital media proposal west201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal west
Hiroyuki Yokota138 views
IoTタグで遊んでみよう by Yukimitsu Izawa
IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみよう
Yukimitsu Izawa1.7K views
ライオンブリッジのライフサイエンスサービスのご紹介 by Seiichiroh Misumi
ライオンブリッジのライフサイエンスサービスのご紹介ライオンブリッジのライフサイエンスサービスのご紹介
ライオンブリッジのライフサイエンスサービスのご紹介
201805 uc solution update centered cloud mcu, microsoft office365 and proposa... by Hiroyuki Yokota
201805 uc solution update centered cloud mcu, microsoft office365 and proposa...201805 uc solution update centered cloud mcu, microsoft office365 and proposa...
201805 uc solution update centered cloud mcu, microsoft office365 and proposa...
Hiroyuki Yokota99 views
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」 by アトラシアン株式会社
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019 0521 f-secure_radar_for_jaws-ug_yokohama by Shinichiro Kawano
2019 0521 f-secure_radar_for_jaws-ug_yokohama2019 0521 f-secure_radar_for_jaws-ug_yokohama
2019 0521 f-secure_radar_for_jaws-ug_yokohama
Shinichiro Kawano1.9K views
Sequent Asia IT Refined Japanese Presentation by saiitweb
Sequent Asia IT Refined Japanese PresentationSequent Asia IT Refined Japanese Presentation
Sequent Asia IT Refined Japanese Presentation
saiitweb1.3K views
Azure Container Services and Microservices design pattern by Yoshio Terada
Azure Container Services and Microservices design patternAzure Container Services and Microservices design pattern
Azure Container Services and Microservices design pattern
Yoshio Terada301 views
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所 by 真吾 吉田
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
真吾 吉田16.6K views
Cloudflareのソリューションを使用して悪意のあるBot対策 by Cloudflare
Cloudflareのソリューションを使用して悪意のあるBot対策Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflare393 views
今改めて学ぶ Microsoft Azure 基礎知識 by Minoru Naito
今改めて学ぶ Microsoft Azure 基礎知識今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識
Minoru Naito9.7K views
アジャイルなソフトウェア設計を目指して by 増田 亨
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨12.2K views
Cloudってどんなもの? by Kazuto Kusama
Cloudってどんなもの?Cloudってどんなもの?
Cloudってどんなもの?
Kazuto Kusama2.3K views
Getting Started with Ruby on Rails4 + Twitter Bootstrap3 by Yukimitsu Izawa
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Yukimitsu Izawa2.6K views
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報 by Naoki (Neo) SATO
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
Naoki (Neo) SATO1.9K views

More from Yukimitsu Izawa

最新プロトコル HTT/2 とは by
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とはYukimitsu Izawa
1.6K views30 slides
RubyとEyeTribeで視線追跡をする by
RubyとEyeTribeで視線追跡をするRubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするYukimitsu Izawa
2.1K views15 slides
Rubyでオートマトン by
RubyでオートマトンRubyでオートマトン
RubyでオートマトンYukimitsu Izawa
4.8K views19 slides
Ghissuesのご紹介 by
Ghissuesのご紹介Ghissuesのご紹介
Ghissuesのご紹介Yukimitsu Izawa
1.3K views24 slides
Log-modeのご紹介 by
Log-modeのご紹介Log-modeのご紹介
Log-modeのご紹介Yukimitsu Izawa
948 views19 slides
RubyからFFIを使ってみた by
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみたYukimitsu Izawa
3.6K views18 slides

More from Yukimitsu Izawa(14)

Recently uploaded

さくらのひやおろし2023 by
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023法林浩之
94 views58 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
76 views41 slides
JJUG CCC.pptx by
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptxKanta Sasaki
6 views14 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
17 views38 slides
The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
50 views29 slides

Recently uploaded(11)

さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka76 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.50 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda188 views
Web3 Career_クレデン資料 .pdf by nanamatsuo
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdf
nanamatsuo14 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4184 views

RubyでDSL