SlideShare a Scribd company logo
1 of 33
Download to read offline
「安心・安全・安定・信頼」できるインターネットサービスを
株式会社クルウィット
井澤 志充
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

More Related Content

What's hot

何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
Spanner移行について本気出して考えてみた
Spanner移行について本気出して考えてみたSpanner移行について本気出して考えてみた
Spanner移行について本気出して考えてみたtechgamecollege
 
アジャイル開発研修
アジャイル開発研修アジャイル開発研修
アジャイル開発研修Arata Fujimura
 
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Yoshiyasu SAEKI
 
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpnCassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpnhaketa
 
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)NTT DATA Technology & Innovation
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計増田 亨
 
SQL Server のインデックス設計
SQL Server のインデックス設計SQL Server のインデックス設計
SQL Server のインデックス設計Koji Yamada
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング佑哉 廣岡
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...NTT DATA Technology & Innovation
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話Daichi Koike
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)NTT DATA OSS Professional Services
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料Hironori Miura
 
Caching ガイダンスの話
Caching ガイダンスの話Caching ガイダンスの話
Caching ガイダンスの話Sunao Tomita
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Yuki Morishita
 
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介ippei_suzuki
 
Pythonでパケット解析
Pythonでパケット解析Pythonでパケット解析
Pythonでパケット解析euphoricwavism
 

What's hot (20)

何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
Spanner移行について本気出して考えてみた
Spanner移行について本気出して考えてみたSpanner移行について本気出して考えてみた
Spanner移行について本気出して考えてみた
 
アジャイル開発研修
アジャイル開発研修アジャイル開発研修
アジャイル開発研修
 
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
 
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpnCassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
 
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 
SQL Server のインデックス設計
SQL Server のインデックス設計SQL Server のインデックス設計
SQL Server のインデックス設計
 
PHP超入門@LL温泉
PHP超入門@LL温泉PHP超入門@LL温泉
PHP超入門@LL温泉
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
 
Metaspace
MetaspaceMetaspace
Metaspace
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料
 
Caching ガイダンスの話
Caching ガイダンスの話Caching ガイダンスの話
Caching ガイダンスの話
 
Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
 
Pythonでパケット解析
Pythonでパケット解析Pythonでパケット解析
Pythonでパケット解析
 

Similar to RubyでDSL

1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
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
 
Octopress簡単スタートガイド
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイドYukimitsu Izawa
 
Microsoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデートMicrosoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデートShige Fukushima
 
201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal west201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal westHiroyuki Yokota
 
IoTタグで遊んでみよう
IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみようYukimitsu Izawa
 
ライオンブリッジのライフサイエンスサービスのご紹介
ライオンブリッジのライフサイエンスサービスのご紹介ライオンブリッジのライフサイエンスサービスのご紹介
ライオンブリッジのライフサイエンスサービスのご紹介Seiichiroh Misumi
 
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...
201805 uc solution update centered cloud mcu, microsoft office365 and proposa...Hiroyuki Yokota
 
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年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」アトラシアン株式会社
 
2019 0521 f-secure_radar_for_jaws-ug_yokohama
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_yokohamaShinichiro Kawano
 
Sequent Asia IT Refined Japanese Presentation
Sequent Asia IT Refined Japanese PresentationSequent Asia IT Refined Japanese Presentation
Sequent Asia IT Refined Japanese Presentationsaiitweb
 
Azure Container Services and Microservices design pattern
Azure Container Services and Microservices design patternAzure Container Services and Microservices design pattern
Azure Container Services and Microservices design patternYoshio Terada
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所真吾 吉田
 
Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策Cloudflare
 
今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識Minoru Naito
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して増田 亨
 
セキュアなソフトウェアアーキテクチャー
セキュアなソフトウェアアーキテクチャーセキュアなソフトウェアアーキテクチャー
セキュアなソフトウェアアーキテクチャーYasuo Ohgaki
 
Cloudってどんなもの?
Cloudってどんなもの?Cloudってどんなもの?
Cloudってどんなもの?Kazuto Kusama
 
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Yukimitsu Izawa
 

Similar to RubyでDSL (20)

1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
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
 
Octopress簡単スタートガイド
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイド
 
Microsoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデートMicrosoft Azure/SRT - 最新技術情報アップデート
Microsoft Azure/SRT - 最新技術情報アップデート
 
201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal west201805 webcast and kollective digital media proposal west
201805 webcast and kollective digital media proposal west
 
IoTタグで遊んでみよう
IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみよう
 
ライオンブリッジのライフサイエンスサービスのご紹介
ライオンブリッジのライフサイエンスサービスのご紹介ライオンブリッジのライフサイエンスサービスのご紹介
ライオンブリッジのライフサイエンスサービスのご紹介
 
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...
201805 uc solution update centered cloud mcu, microsoft office365 and proposa...
 
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年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
 
2019 0521 f-secure_radar_for_jaws-ug_yokohama
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
 
Sequent Asia IT Refined Japanese Presentation
Sequent Asia IT Refined Japanese PresentationSequent Asia IT Refined Japanese Presentation
Sequent Asia IT Refined Japanese Presentation
 
docxをmdで書こう
docxをmdで書こうdocxをmdで書こう
docxをmdで書こう
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
Azure Container Services and Microservices design pattern
Azure Container Services and Microservices design patternAzure Container Services and Microservices design pattern
Azure Container Services and Microservices design pattern
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策
 
今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
 
セキュアなソフトウェアアーキテクチャー
セキュアなソフトウェアアーキテクチャーセキュアなソフトウェアアーキテクチャー
セキュアなソフトウェアアーキテクチャー
 
Cloudってどんなもの?
Cloudってどんなもの?Cloudってどんなもの?
Cloudってどんなもの?
 
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
 

More from Yukimitsu Izawa

最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とはYukimitsu Izawa
 
RubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするRubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするYukimitsu Izawa
 
Rubyでオートマトン
RubyでオートマトンRubyでオートマトン
RubyでオートマトンYukimitsu Izawa
 
RubyからFFIを使ってみた
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみたYukimitsu Izawa
 
NTPを使ったDDoSについて
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについてYukimitsu Izawa
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server EnvironmentYukimitsu Izawa
 
rvm でbundlerと仲良くする
rvm でbundlerと仲良くするrvm でbundlerと仲良くする
rvm でbundlerと仲良くするYukimitsu Izawa
 
SWIGでRubyバインディング
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディングYukimitsu Izawa
 
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたMacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたYukimitsu Izawa
 

More from Yukimitsu Izawa (14)

最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは
 
RubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするRubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をする
 
Rubyでオートマトン
RubyでオートマトンRubyでオートマトン
Rubyでオートマトン
 
Ghissuesのご紹介
Ghissuesのご紹介Ghissuesのご紹介
Ghissuesのご紹介
 
Log-modeのご紹介
Log-modeのご紹介Log-modeのご紹介
Log-modeのご紹介
 
RubyからFFIを使ってみた
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみた
 
NTPを使ったDDoSについて
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについて
 
テストとは
テストとはテストとは
テストとは
 
Pow
PowPow
Pow
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server Environment
 
Try
TryTry
Try
 
rvm でbundlerと仲良くする
rvm でbundlerと仲良くするrvm でbundlerと仲良くする
rvm でbundlerと仲良くする
 
SWIGでRubyバインディング
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディング
 
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたMacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみた
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (10)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

RubyでDSL