SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
「安心・安全・安定・信頼」できるインターネットサービスを
株式会社クルウィット
井澤 志充
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

Weitere ähnliche Inhalte

Was ist angesagt?

2022/4/15_(DDD) Kotlin 1.5 で stable になった value class を深掘りする
2022/4/15_(DDD) Kotlin 1.5 で stable になった value class を深掘りする2022/4/15_(DDD) Kotlin 1.5 で stable になった value class を深掘りする
2022/4/15_(DDD) Kotlin 1.5 で stable になった value class を深掘りするYuichiro Yamashita
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版Naoki (Neo) SATO
 
MySQL 5.7の罠があなたを狙っている
MySQL 5.7の罠があなたを狙っているMySQL 5.7の罠があなたを狙っている
MySQL 5.7の罠があなたを狙っているyoku0825
 
SSI DIDs VCs 入門資料
SSI DIDs VCs 入門資料SSI DIDs VCs 入門資料
SSI DIDs VCs 入門資料KAYATO SAITO
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
PostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSPostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSNoriyoshi Shinoda
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンスHidenori Ishii
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術Etsuji Nakai
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方Hiroshi Tokumaru
 

Was ist angesagt? (20)

2022/4/15_(DDD) Kotlin 1.5 で stable になった value class を深掘りする
2022/4/15_(DDD) Kotlin 1.5 で stable になった value class を深掘りする2022/4/15_(DDD) Kotlin 1.5 で stable になった value class を深掘りする
2022/4/15_(DDD) Kotlin 1.5 で stable になった value class を深掘りする
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
 
MySQL 5.7の罠があなたを狙っている
MySQL 5.7の罠があなたを狙っているMySQL 5.7の罠があなたを狙っている
MySQL 5.7の罠があなたを狙っている
 
SSI DIDs VCs 入門資料
SSI DIDs VCs 入門資料SSI DIDs VCs 入門資料
SSI DIDs VCs 入門資料
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
PostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVSPostgreSQL Unconference #29 Unicode IVS
PostgreSQL Unconference #29 Unicode IVS
 
今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
 

Ähnlich wie 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
 
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報Naoki (Neo) SATO
 

Ähnlich wie 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で書こう
 
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
 
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
[日本DCの本命、大阪でWindows Azureを愛でる会] Windows Azure 概要 & 最新情報
 

Mehr von 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
 

Mehr von 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のアプリを作ってみた
 

Kürzlich hochgeladen

論文紹介: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
 
論文紹介: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
 
[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
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
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
 

Kürzlich hochgeladen (9)

論文紹介: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
 
論文紹介: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...
 
[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」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
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
 

RubyでDSL