SlideShare a Scribd company logo
dRubyによる分散・Webプログラミング入門

      CSNagoya toyoshi


           2009/09/06
dRubyとは(1)


• Rubyのオブジェクトをプロセスやネット
  ワークを越えて扱うための仕組み
• クライアント・サーバモデルのシステムが
  簡単に作れる
• Ruby限定 / Pure Ruby / IDL不要
• 標準添付ライブラリである


                               2
dRubyとは(2)

• dRubyが勝手にネットワークを越えてく
  れる

クライアント       ネットワーク   サーバ


 ObjectX              ObjectX
  dRuby                dRuby




                                3
dRubyの活用事例

• Railsプラグイン backgrounDRb
• FAX 送信制御システム(株)アンタス
• はてなスクリーンショット




                            4
デモ「メモアプリ」

• どれぐらい簡単かメモアプリでみてみる
 サーバのコード
 require 'drb/drb'

 class Memo
         def initialize
                    @item = []
         end

          def add(str)
                   p str
                   @item.push(str)
          end

          def list
                     @item
          end
 end
                                     5
わかったこと


• かんたん
• プロセスの寿命を越えた永続化ができる
• つまりKVS的な使い方もできる
 オンメモリキャッシュサーバとして druby を試してみた→失敗
 http://d.hatena.ne.jp/clayfish/20090610/1244634242




                                                      6
Rindaによるプロセスの協調


• Rindaとは分散処理システムLindaのタプル
  スペースのRubyによる実装


                      Tuple Space

             write                       take



       Tuple                              Tuple
 [“Hello”, “World”]                 [“Hello”, “World”]


                                                         7
サンプル「階乗サーバ」
 • 階乗を計算するシステムを作ってみる
 • タプルのフォーマットは
       – [“fact”,最初の数字,終わりの数字]
       – [“fact-answer”,最初の数字,終わりの数字,結果]



                                          タプルスペース

               (1)write                                               (2)take

                               (4)take               (3)write

                                               tmp, m, n = $ts.take(['fact', Integer, Integer])
$ts.write([“fact”,1,2])
                                               value = (m..n).inject(1) { |a,b| a*b}
ans = $ts.take([“fact-answer”,1,2,nil])
                                               $ts.write(['fact-answer', m, n, value])


                                                                                                  8
そのほかの注意点など

• 参照渡しと値渡し
  – Marshal.dumpできるものは値渡し。できないもの
    は参照渡し
  – 値渡しの際は、値と参照の値も渡す
• GC
  – 別プロセスからだけ参照されているオブジェクトが
    ガベージコレクトの対象になる場合がある
• セキュリティ
  – Rubyは柔軟なのですごく危ない。ACLやUNIXドメ
    インソケット、$SAFEなどを使おう
                                   9
まとめ

• とても簡単に分散オブジェクトシステムが
  作れる
• 夢が広がる




                    10
参考文献など

• dRubyによる分散・Webプログラミング
 – 著者 関 将俊 出版社 オーム社




                          11

More Related Content

What's hot

jant aur jant walo ki jalalk
jant aur jant walo ki jalalk jant aur jant walo ki jalalk
jant aur jant walo ki jalalk ghulamenabi786
 
高中数学知识
高中数学知识高中数学知识
高中数学知识Xu jiakon
 
【12-B-4】 並列処理開発を支援するコンパイラの機能
【12-B-4】 並列処理開発を支援するコンパイラの機能【12-B-4】 並列処理開発を支援するコンパイラの機能
【12-B-4】 並列処理開発を支援するコンパイラの機能devsumi2009
 
01 Sk Cvc 2009 Key Note St P
01 Sk   Cvc 2009 Key Note St P01 Sk   Cvc 2009 Key Note St P
01 Sk Cvc 2009 Key Note St PLiudmila Li
 
自作言語でお絵描き
自作言語でお絵描き自作言語でお絵描き
自作言語でお絵描きuchan_nos
 
可扩展网站架构(for 网志年会)
可扩展网站架构(for 网志年会)可扩展网站架构(for 网志年会)
可扩展网站架构(for 网志年会)Dahui Feng
 
普通の見積り勉強会 番外編
普通の見積り勉強会 番外編普通の見積り勉強会 番外編
普通の見積り勉強会 番外編Fumihiko Kinoshita
 
Основы работы с Memcached
Основы работы с MemcachedОсновы работы с Memcached
Основы работы с Memcachedrailsclub
 

What's hot (11)

jant aur jant walo ki jalalk
jant aur jant walo ki jalalk jant aur jant walo ki jalalk
jant aur jant walo ki jalalk
 
高中数学知识
高中数学知识高中数学知识
高中数学知识
 
【12-B-4】 並列処理開発を支援するコンパイラの機能
【12-B-4】 並列処理開発を支援するコンパイラの機能【12-B-4】 並列処理開発を支援するコンパイラの機能
【12-B-4】 並列処理開発を支援するコンパイラの機能
 
01 Sk Cvc 2009 Key Note St P
01 Sk   Cvc 2009 Key Note St P01 Sk   Cvc 2009 Key Note St P
01 Sk Cvc 2009 Key Note St P
 
自作言語でお絵描き
自作言語でお絵描き自作言語でお絵描き
自作言語でお絵描き
 
知识管理解读
知识管理解读知识管理解读
知识管理解读
 
054 alqamar
054 alqamar054 alqamar
054 alqamar
 
PDF
PDFPDF
PDF
 
可扩展网站架构(for 网志年会)
可扩展网站架构(for 网志年会)可扩展网站架构(for 网志年会)
可扩展网站架构(for 网志年会)
 
普通の見積り勉強会 番外編
普通の見積り勉強会 番外編普通の見積り勉強会 番外編
普通の見積り勉強会 番外編
 
Основы работы с Memcached
Основы работы с MemcachedОсновы работы с Memcached
Основы работы с Memcached
 

Similar to dRuby

とちぎRuby会議01(原)
とちぎRuby会議01(原)とちぎRuby会議01(原)
とちぎRuby会議01(原)Shin-ichiro HARA
 
Cop",!@#%$%&*()*()
Cop",!@#%$%&*()*()Cop",!@#%$%&*()*()
Cop",!@#%$%&*()*()hehe123456
 
Sc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク DomaSc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク DomaToshihiro Nakamura
 
Where20 2009report
Where20 2009reportWhere20 2009report
Where20 2009reportToru Mori
 
清华大学精品课程 量子力学
清华大学精品课程 量子力学清华大学精品课程 量子力学
清华大学精品课程 量子力学littlesujin
 
20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)Hideki Yamane
 
ブラウザでMap Reduce風味の並列分散処理
ブラウザでMap Reduce風味の並列分散処理ブラウザでMap Reduce風味の並列分散処理
ブラウザでMap Reduce風味の並列分散処理Shinya Miyazaki
 
القرءان الكريم برواية أبي الحارث عن الكسائي من موقع الشبكة الإسلامية
القرءان الكريم برواية أبي الحارث عن الكسائي من موقع الشبكة الإسلامية القرءان الكريم برواية أبي الحارث عن الكسائي من موقع الشبكة الإسلامية
القرءان الكريم برواية أبي الحارث عن الكسائي من موقع الشبكة الإسلامية سمير بسيوني
 
081210 Idcon 04 Itoh Peopleservice
081210 Idcon 04 Itoh Peopleservice081210 Idcon 04 Itoh Peopleservice
081210 Idcon 04 Itoh PeopleserviceHiroki Itoh
 
Webken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceWebken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceNobuya Sato
 
Ohp Seijoen H20 06 Mojiretsu
Ohp Seijoen H20 06 MojiretsuOhp Seijoen H20 06 Mojiretsu
Ohp Seijoen H20 06 Mojiretsusesejun
 
Shibuya.abc - Gnashで遊ぼう
Shibuya.abc - Gnashで遊ぼうShibuya.abc - Gnashで遊ぼう
Shibuya.abc - Gnashで遊ぼうgyuque
 
CSS Nite In Ginza, Vol.36
CSS Nite In Ginza, Vol.36CSS Nite In Ginza, Vol.36
CSS Nite In Ginza, Vol.36Nobuya Sato
 
技術トレンディセミナー フレームワークとしてのTrac
技術トレンディセミナー フレームワークとしてのTrac技術トレンディセミナー フレームワークとしてのTrac
技術トレンディセミナー フレームワークとしてのTracterada
 
オブジェクト指向スクリプト言語 Ruby
オブジェクト指向スクリプト言語 Rubyオブジェクト指向スクリプト言語 Ruby
オブジェクト指向スクリプト言語 RubyKitajiro Kitayama
 
Linux Commands
Linux CommandsLinux Commands
Linux Commandsiwata
 

Similar to dRuby (20)

Reloaded
ReloadedReloaded
Reloaded
 
とちぎRuby会議01(原)
とちぎRuby会議01(原)とちぎRuby会議01(原)
とちぎRuby会議01(原)
 
Cop",!@#%$%&*()*()
Cop",!@#%$%&*()*()Cop",!@#%$%&*()*()
Cop",!@#%$%&*()*()
 
Sc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク DomaSc2009autumn 次世代Daoフレームワーク Doma
Sc2009autumn 次世代Daoフレームワーク Doma
 
Where20 2009report
Where20 2009reportWhere20 2009report
Where20 2009report
 
清华大学精品课程 量子力学
清华大学精品课程 量子力学清华大学精品课程 量子力学
清华大学精品课程 量子力学
 
object-shapes
object-shapesobject-shapes
object-shapes
 
20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)
 
ブラウザでMap Reduce風味の並列分散処理
ブラウザでMap Reduce風味の並列分散処理ブラウザでMap Reduce風味の並列分散処理
ブラウザでMap Reduce風味の並列分散処理
 
القرءان الكريم برواية أبي الحارث عن الكسائي من موقع الشبكة الإسلامية
القرءان الكريم برواية أبي الحارث عن الكسائي من موقع الشبكة الإسلامية القرءان الكريم برواية أبي الحارث عن الكسائي من موقع الشبكة الإسلامية
القرءان الكريم برواية أبي الحارث عن الكسائي من موقع الشبكة الإسلامية
 
081210 Idcon 04 Itoh Peopleservice
081210 Idcon 04 Itoh Peopleservice081210 Idcon 04 Itoh Peopleservice
081210 Idcon 04 Itoh Peopleservice
 
Webken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User ExperienceWebken 03: Project Design for Optimaizing User Experience
Webken 03: Project Design for Optimaizing User Experience
 
Green IT
Green ITGreen IT
Green IT
 
Ohp Seijoen H20 06 Mojiretsu
Ohp Seijoen H20 06 MojiretsuOhp Seijoen H20 06 Mojiretsu
Ohp Seijoen H20 06 Mojiretsu
 
Shibuya.abc - Gnashで遊ぼう
Shibuya.abc - Gnashで遊ぼうShibuya.abc - Gnashで遊ぼう
Shibuya.abc - Gnashで遊ぼう
 
CSS Nite In Ginza, Vol.36
CSS Nite In Ginza, Vol.36CSS Nite In Ginza, Vol.36
CSS Nite In Ginza, Vol.36
 
Ltdd For Xp2008 検閲版
Ltdd For Xp2008 検閲版Ltdd For Xp2008 検閲版
Ltdd For Xp2008 検閲版
 
技術トレンディセミナー フレームワークとしてのTrac
技術トレンディセミナー フレームワークとしてのTrac技術トレンディセミナー フレームワークとしてのTrac
技術トレンディセミナー フレームワークとしてのTrac
 
オブジェクト指向スクリプト言語 Ruby
オブジェクト指向スクリプト言語 Rubyオブジェクト指向スクリプト言語 Ruby
オブジェクト指向スクリプト言語 Ruby
 
Linux Commands
Linux CommandsLinux Commands
Linux Commands
 

More from toyoshi

猫でもできるRailsデプロイ
猫でもできるRailsデプロイ猫でもできるRailsデプロイ
猫でもできるRailsデプロイtoyoshi
 
Capistranoで自動デプロイ
Capistranoで自動デプロイCapistranoで自動デプロイ
Capistranoで自動デプロイtoyoshi
 
Rubyで作る奇妙なプログラミング言語
Rubyで作る奇妙なプログラミング言語Rubyで作る奇妙なプログラミング言語
Rubyで作る奇妙なプログラミング言語toyoshi
 
Rubyで作る奇妙なプログラミング言語
Rubyで作る奇妙なプログラミング言語Rubyで作る奇妙なプログラミング言語
Rubyで作る奇妙なプログラミング言語toyoshi
 
Start physical computing with Ruby + Arduino
Start physical computing with Ruby + ArduinoStart physical computing with Ruby + Arduino
Start physical computing with Ruby + Arduinotoyoshi
 
コンクリートブロックのキツジブロック カタログ2008
コンクリートブロックのキツジブロック カタログ2008コンクリートブロックのキツジブロック カタログ2008
コンクリートブロックのキツジブロック カタログ2008toyoshi
 
Style Share
Style ShareStyle Share
Style Sharetoyoshi
 
サーバ/インフラ構築入門(1)
サーバ/インフラ構築入門(1)サーバ/インフラ構築入門(1)
サーバ/インフラ構築入門(1)toyoshi
 
CSNagoya コンパイラを作ろう
CSNagoya コンパイラを作ろうCSNagoya コンパイラを作ろう
CSNagoya コンパイラを作ろうtoyoshi
 
GainerとRubyで行うサーバ監視
GainerとRubyで行うサーバ監視GainerとRubyで行うサーバ監視
GainerとRubyで行うサーバ監視toyoshi
 
FlashMediaServer3開発環境の準備
FlashMediaServer3開発環境の準備FlashMediaServer3開発環境の準備
FlashMediaServer3開発環境の準備toyoshi
 

More from toyoshi (11)

猫でもできるRailsデプロイ
猫でもできるRailsデプロイ猫でもできるRailsデプロイ
猫でもできるRailsデプロイ
 
Capistranoで自動デプロイ
Capistranoで自動デプロイCapistranoで自動デプロイ
Capistranoで自動デプロイ
 
Rubyで作る奇妙なプログラミング言語
Rubyで作る奇妙なプログラミング言語Rubyで作る奇妙なプログラミング言語
Rubyで作る奇妙なプログラミング言語
 
Rubyで作る奇妙なプログラミング言語
Rubyで作る奇妙なプログラミング言語Rubyで作る奇妙なプログラミング言語
Rubyで作る奇妙なプログラミング言語
 
Start physical computing with Ruby + Arduino
Start physical computing with Ruby + ArduinoStart physical computing with Ruby + Arduino
Start physical computing with Ruby + Arduino
 
コンクリートブロックのキツジブロック カタログ2008
コンクリートブロックのキツジブロック カタログ2008コンクリートブロックのキツジブロック カタログ2008
コンクリートブロックのキツジブロック カタログ2008
 
Style Share
Style ShareStyle Share
Style Share
 
サーバ/インフラ構築入門(1)
サーバ/インフラ構築入門(1)サーバ/インフラ構築入門(1)
サーバ/インフラ構築入門(1)
 
CSNagoya コンパイラを作ろう
CSNagoya コンパイラを作ろうCSNagoya コンパイラを作ろう
CSNagoya コンパイラを作ろう
 
GainerとRubyで行うサーバ監視
GainerとRubyで行うサーバ監視GainerとRubyで行うサーバ監視
GainerとRubyで行うサーバ監視
 
FlashMediaServer3開発環境の準備
FlashMediaServer3開発環境の準備FlashMediaServer3開発環境の準備
FlashMediaServer3開発環境の準備
 

Recently uploaded

Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXUXDXConf
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfalexjohnson7307
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineUXDXConf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 

Recently uploaded (20)

Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UX
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at Priceline
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 

dRuby