SlideShare uma empresa Scribd logo
1 de 115
CRUSH CANDY
WITH
JavaONE TUT3970
ABOUT ME
ANTON EPPLE
▸ @monacotoni
▸ www.dukescript.com
▸ Dukehoff GmbH
SAFE HARBOR STATEMENT
The following is intended for information purposes only. I can
not be held responsible for the overuse of effects and
animations in this presentation. If any person in this room has
a medical condition that is triggered by fast moving objects on
the screen and/or explosions, he/she should probably better
leave now…
(I got carried away by the topic.)
AGENDA
Match3 Games
DukeScript
Game Logic & Implementation
Responsive Layout & Design
Dirty Hacks :-)
App Stores
MATCH3
$$$
KING
Q1 2015
550 MIO USERS
$569 MIO
CANDY CRUSH
SAGA
$216 MIOhttp://venturebeat.com/2015/05/14/candy-crush-saga-maker-king-beats-wall-streets-expectations/
DUKESCRI
PT
HOW DOES IT WORK?
Insert JVM here
Insert HTML5 Renderer here
DukeScript glues them together
HOW DOES IT WORK?
JVM executes Java Business
Logic, written with DukeScript
Java APIs
HTML5 Component renders the
result
DukeScript and it’s Java APIs control the
Renderer
DESKTOP
Hotspot
javafx.scene.web.WebView
DukeScript glues them together
ANDROID
Dalvik/ART
android.webkit.WebView
DukeScript glues them together
IOS
RoboVM
NSObject.UIResponder.UiView
.UIWebView
DukeScript glues them together
BROWSER
bck2brwsr/teavm
Chrome…
DukeScript glues them together
Achievement Unlocked!
DukeSCript Adept
GAME
LOGIC
row = index / level.getColumns();25 / 8;3;
0
1
2
3
4
5
6
7
col = index % level.getRows();25 % 8;1;
0 1 2 3 4 5 6 7
= 4
DUKESCRIPT
VIEWMODEL
@Model(className = "Tile",
properties = {
@Property(name = "type", type = int.class)
})
class TileVM {}
4
2 3
1
DUKESCRIPT
VIEWMODEL
GENERATED
4
2 3
1
public final class Tile implements Cloneable {
private static final Html4JavaType TYPE = new Html4JavaType();
private final org.netbeans.html.json.spi.Proto proto;
private int prop_type;
public int getType() {
proto.accessProperty("type");
return prop_type;
}
public void setType(int v) {
proto.verifyUnlocked();
Object o = prop_type;
if (TYPE.isSame(o , v)) return;
prop_type = v;
proto.valueHasMutated("type", o, v);
}
//…
DUKESCRIPT
VIEWMODEL
NESTED
@Model(className = "Level", properties = {
@Property(name = "columns", type = int.class),
@Property(name = "rows", type = int.class),
@Property(name = "tiles", type = Tile.class, ),
array = true
@Property(name = "play", type = boolean.class),
@Property(name = "moves", type = int.class),
@Property(name = "score", type = int.class)
})
class LevelVM {
Achievement Unlocked!
ViewModel Practicioner
Level level = new Level(…);
for (int i = 0; i < 64; i++) {
level.getTiles().set(i, new Tile(random.nextInt( 4 ));
}
Level level = new Level(…);
for (int i = 0; i < 64; i++) {
level.getTiles().set(i, new Tile(random.nextInt( 4 ));
}
do{
}while (isHorizontalMatch(level, i)
|| isVerticalMatch(level, i));
public static boolean isHorizontalMatch(Level level, int i) {
List<Tile> tiles = level.getTiles();
return tiles.get(i).getType() == tiles.get(i - 1).getType()
&& tiles.get(i).getType() == tiles.get(i - 2).getType()
&& columnNumber(level, i) >= 2;
}
public static boolean isVerticalMatch(Level level, int i) {
List<Tile> tiles = level.getTiles();
return rowNumber(level, i) >= 2
&& tiles.get(i).getType() == tiles.get(i - level.getColumns()).getType()
&& tiles.get(i).getType() == tiles.get(i - 2 * level.getColumns()).getType()
}
Achievement Unlocked!
match 3 Calculator
@Model View
databind="<binding>: <property> [,…]"
<!--show how many moves are left-->
<div id="moves-board" data-bind="text: moves"></div>
databind="<binding>: <property> [,…]"
<!--show current score-->
<div id="score-board" data-bind="text: score"></div>
<div id="grid" data-bind="foreach: tiles">
<div class="tile"
data-bind="css: 'tile-position-'+$index()+' tile-type-'+type()">
</div>
</div>
databind="<binding>: <property> [,…]"
<div id="grid" >
<div class="tile"
data-bind="css: 'tile-position-'+$index()+' tile-type-'+type()">
</div>
<div class="tile"
data-bind="css: 'tile-position-'+$index()+' tile-type-'+type()">
</div>
<div class="tile"
data-bind="css: 'tile-position-'+$index()+' tile-type-'+type()">
</div>
[63 times…]
</div>
Tile 0
Tile 1
Tile 2
Scope
<div id="grid" >
<div class="tile
tile-position-0 tile-type-1">
</div>
<div class="tile
tile-position-1 tile-type-4">
</div>
<div class="tile
tile-position-2 tile-type-4">
</div>
[63 times…]
</div>
Tile 0
Tile 1
Tile 2
Scope
<div id="grid" >
<div class="tile
tile-position-0 tile-type- ">
</div>
<div class="tile
tile-position-1 tile-type-4">
</div>
<div class="tile
tile-position-2 tile-type-4">
</div>
[63 times…]
</div>
Tile 0
Tile 1
Tile 2
Scope
// Update ViewModel in Java
Tile tile0 = level.getTiles().get(0);
tile0.setType(4);
14
@Model View
14
Achievement Unlocked!
Knockout Novice
RESPONSIVE
LAYOUT
PORTRAIT
LANDSCAPE
.tile {
height: 8.75vw;
width: 8.75vw;
}
@media screen and (orientation: landscape) {
.tile {
height: 8.75vh;
width: 8.75vh;
}
}
Browser Window
http://www.dukescript.com Search
100vw
100vh
Browser Window
http://www.dukescript.com Search
100vw
100vh
@media screen and
(orientation: portrait) {
.tile {
height: 8.75vw;
width: 8.75vw;
}
}
$tile_size: 8.75;
@for $i from 0 through 63{
// Row
$top: floor($i/8)*$tile_size;
// Column
$left: floor($i%8)*$tile_size;
.tile.tile-position-#{$i} {
top: $top+vw;
left: $left+vw;
}
}
.tile.tile-position-0 {
top: 0vw;
left: 0vw;
}
.tile.tile-position-1 {
top: 0vw;
left: 8.75vw;
}
[… 63]
Achievement Unlocked!
CSS Pro
Sprites
Sprites
Sprites
Sprites
SpritesSpritesheets
ResponsiveSpritesheets?
.tile {
position: absolute;
background: url("../assets/Monster.png");
background-size: 1200%;
}
100%
1200%
background-size
.tile.tile-type-0 {
background-position: 0 0; }
.tile.tile-type-1 {
background-position: 9.09091% 0; }
.tile.tile-type-2 {
background-position: 18.18182% 0; }
[…]
@for $i from 0 through 5{
$xPos: $i/(11)*100;
.tile.tile-type-#{$i}{
background-position: #{$xPos}% 0;
}
}
CSS Animations@-webkit-keyframes explode {
100% { background-position-y: 400% }
}
#grid .tile.explode{
-webkit-animation: explode .4s;
}
Steps@-webkit-keyframes explode {
100% { background-position-y: 400% }
}
#grid .tile.explode{
-webkit-animation: explode .4s steps(4);
}
Steps@-webkit-keyframes explode {
100% { background-position-y: 400% }
}
#grid .tile.explode{
-webkit-animation: explode .4s steps(4);
}
Steps@-webkit-keyframes explode {
100% { background-position-y: 400% }
}
#grid .tile.explode{
-webkit-animation: explode .4s steps(4);
}
Steps@-webkit-keyframes explode {
100% { background-position-y: 400% }
}
#grid .tile.explode{
-webkit-animation: explode .4s steps(4);
}
Achievement Unlocked!
CSS Wizard
Workshop
Install the Plugin:
https://platform.netbeans.org/tutorials/nbm-dukescript.html
APP
STORES
GOOGLE
▸Developer Account:
▸https://play.google.com/apps/publish/signup/
▸25$ (single payment)
▸Signing
▸http://developer.android.com/tools/publishing/app-signing.html#signing-
manually
▸keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048
-validity 10000
GOOGLE
Use Maven jarsigner to sign, or sign manually:
jarsigner -verbose -sigalg SHA1withRSA
-digestalg SHA1 -keystore ../ks.keystore
match3-android-1.0-SNAPSHOT.apk alias
GOOGLE
Zipalign:
zipalign -v 4 match3-android-1.0-SNAPSHOT.apk
match3.apk
Upload
fill out forms
upload images
wait
published after 1 day
APPLE
▸iTunes Developer Account:
▸https://developer.apple.com
▸99$ (annual)
▸Mac with XCode
APPLE
▸Info.plist.xml
▸Configure in RoboVM
▸https://developer.apple.com/library/ios/documentation/iPhon
e/Conceptual/iPhoneOSProgrammingGuide/ExpectedAppBe
haviors/ExpectedAppBehaviors.html#//apple_ref/doc/uid/TP4
0007072-CH3-SW9
APPLE
▸Create App Record in iTunes Connect
▸Create Signing identity and provisioning file using XCode
▸https://developer.apple.com/library/ios/documentation/IDEs/
Conceptual/AppDistributionGuide/SubmittingYourApp/Submi
ttingYourApp.html
▸Add reference to iosProvisioningProfile in pom.xml
▸RoboVM create IPA
Upload
fill out forms
upload (many) images
wait
Rejected!
Don't mention you're cross-platform…
The term "Android" in your description
doesn't help
The terms "beta", "demo", or "test"
don't help either
Some complaints are hard to understand
"Apps with placeholder text will be rejected"
APPLE
▸http://wiki.apidesign.org/wiki/AppStore
▸https://itunes.apple.com/us/app/fair-
minesweeper/id903688146?mt=8
But after a couple of weeks
CAST (IN ORDER OF APPEARANCE)
Thank you!
Game Over!

Mais conteúdo relacionado

Mais procurados

Александр Зимин – Анимация как средство самовыражения
Александр Зимин – Анимация как средство самовыраженияАлександр Зимин – Анимация как средство самовыражения
Александр Зимин – Анимация как средство самовыраженияCocoaHeads
 
Getting touchy - an introduction to touch and pointer events / Future of Web ...
Getting touchy - an introduction to touch and pointer events / Future of Web ...Getting touchy - an introduction to touch and pointer events / Future of Web ...
Getting touchy - an introduction to touch and pointer events / Future of Web ...Patrick Lauke
 
Creating custom views
Creating custom viewsCreating custom views
Creating custom viewsMu Chun Wang
 
Ruby closures, how are they possible?
Ruby closures, how are they possible?Ruby closures, how are they possible?
Ruby closures, how are they possible?Carlos Alonso Pérez
 
Manual Acido Base
Manual Acido BaseManual Acido Base
Manual Acido Baseguesta72814
 
Html5 game programming overview
Html5 game programming overviewHtml5 game programming overview
Html5 game programming overview민태 김
 
Standford 2015 week4: 1.Protocols and Delegation, Gestures 2. Multiple MVCs
Standford 2015 week4: 1.Protocols and Delegation, Gestures 2. Multiple MVCsStandford 2015 week4: 1.Protocols and Delegation, Gestures 2. Multiple MVCs
Standford 2015 week4: 1.Protocols and Delegation, Gestures 2. Multiple MVCs彼得潘 Pan
 
The Ring programming language version 1.6 book - Part 53 of 189
The Ring programming language version 1.6 book - Part 53 of 189The Ring programming language version 1.6 book - Part 53 of 189
The Ring programming language version 1.6 book - Part 53 of 189Mahmoud Samir Fayed
 
The Ring programming language version 1.5.2 book - Part 50 of 181
The Ring programming language version 1.5.2 book - Part 50 of 181The Ring programming language version 1.5.2 book - Part 50 of 181
The Ring programming language version 1.5.2 book - Part 50 of 181Mahmoud Samir Fayed
 
Programas decompiladores
Programas decompiladoresProgramas decompiladores
Programas decompiladoresZulay Limaico
 
Elixir - GDG - Nantes
Elixir - GDG - NantesElixir - GDG - Nantes
Elixir - GDG - NantesAxel CATELAND
 
Drawing on canvas
Drawing on canvasDrawing on canvas
Drawing on canvassuitzero
 
Python 炒股指南
Python 炒股指南 Python 炒股指南
Python 炒股指南 Leo Zhou
 
Writing videogames with titanium appcelerator
Writing videogames with titanium appceleratorWriting videogames with titanium appcelerator
Writing videogames with titanium appceleratorAlessio Ricco
 
Mongoose v3 :: The Future is Bright
Mongoose v3 :: The Future is BrightMongoose v3 :: The Future is Bright
Mongoose v3 :: The Future is Brightaaronheckmann
 

Mais procurados (20)

The Code
The CodeThe Code
The Code
 
Александр Зимин – Анимация как средство самовыражения
Александр Зимин – Анимация как средство самовыраженияАлександр Зимин – Анимация как средство самовыражения
Александр Зимин – Анимация как средство самовыражения
 
Getting touchy - an introduction to touch and pointer events / Future of Web ...
Getting touchy - an introduction to touch and pointer events / Future of Web ...Getting touchy - an introduction to touch and pointer events / Future of Web ...
Getting touchy - an introduction to touch and pointer events / Future of Web ...
 
Creating custom views
Creating custom viewsCreating custom views
Creating custom views
 
Ruby closures, how are they possible?
Ruby closures, how are they possible?Ruby closures, how are they possible?
Ruby closures, how are they possible?
 
Manual Acido Base
Manual Acido BaseManual Acido Base
Manual Acido Base
 
Mgd08 lab01
Mgd08 lab01Mgd08 lab01
Mgd08 lab01
 
Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
Html5 game programming overview
Html5 game programming overviewHtml5 game programming overview
Html5 game programming overview
 
Ext JS (Greek)
Ext JS (Greek)Ext JS (Greek)
Ext JS (Greek)
 
Standford 2015 week4: 1.Protocols and Delegation, Gestures 2. Multiple MVCs
Standford 2015 week4: 1.Protocols and Delegation, Gestures 2. Multiple MVCsStandford 2015 week4: 1.Protocols and Delegation, Gestures 2. Multiple MVCs
Standford 2015 week4: 1.Protocols and Delegation, Gestures 2. Multiple MVCs
 
The Ring programming language version 1.6 book - Part 53 of 189
The Ring programming language version 1.6 book - Part 53 of 189The Ring programming language version 1.6 book - Part 53 of 189
The Ring programming language version 1.6 book - Part 53 of 189
 
The Ring programming language version 1.5.2 book - Part 50 of 181
The Ring programming language version 1.5.2 book - Part 50 of 181The Ring programming language version 1.5.2 book - Part 50 of 181
The Ring programming language version 1.5.2 book - Part 50 of 181
 
Programas decompiladores
Programas decompiladoresProgramas decompiladores
Programas decompiladores
 
Elixir - GDG - Nantes
Elixir - GDG - NantesElixir - GDG - Nantes
Elixir - GDG - Nantes
 
JavaScript Gotchas
JavaScript GotchasJavaScript Gotchas
JavaScript Gotchas
 
Drawing on canvas
Drawing on canvasDrawing on canvas
Drawing on canvas
 
Python 炒股指南
Python 炒股指南 Python 炒股指南
Python 炒股指南
 
Writing videogames with titanium appcelerator
Writing videogames with titanium appceleratorWriting videogames with titanium appcelerator
Writing videogames with titanium appcelerator
 
Mongoose v3 :: The Future is Bright
Mongoose v3 :: The Future is BrightMongoose v3 :: The Future is Bright
Mongoose v3 :: The Future is Bright
 

Semelhante a Crush Candy with DukeScript

An Introduction To jQuery
An Introduction To jQueryAn Introduction To jQuery
An Introduction To jQueryAndy Gibson
 
Imagine a world without mocks
Imagine a world without mocksImagine a world without mocks
Imagine a world without mockskenbot
 
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...Applitools
 
Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Chris Alfano
 
Animating angular applications
Animating angular applicationsAnimating angular applications
Animating angular applicationsTomek Sułkowski
 
JavaFX 2.0 With Alternative Languages [Portuguese]
JavaFX 2.0 With Alternative Languages [Portuguese]JavaFX 2.0 With Alternative Languages [Portuguese]
JavaFX 2.0 With Alternative Languages [Portuguese]Stephen Chin
 
HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?Ankara JUG
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricksambiescent
 
JavaFX 2.0 With Alternative Languages - JavaOne 2011
JavaFX 2.0 With Alternative Languages - JavaOne 2011JavaFX 2.0 With Alternative Languages - JavaOne 2011
JavaFX 2.0 With Alternative Languages - JavaOne 2011Stephen Chin
 
Rails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Rails-like JavaScript Using CoffeeScript, Backbone.js and JasmineRails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Rails-like JavaScript Using CoffeeScript, Backbone.js and JasmineRaimonds Simanovskis
 
How to build a html5 websites.v1
How to build a html5 websites.v1How to build a html5 websites.v1
How to build a html5 websites.v1Bitla Software
 
James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...
James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...
James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...Codemotion
 
Developing Google Glass
Developing Google GlassDeveloping Google Glass
Developing Google GlassJohnny Sung
 
node.js - Eventful JavaScript on the Server
node.js - Eventful JavaScript on the Servernode.js - Eventful JavaScript on the Server
node.js - Eventful JavaScript on the ServerDavid Ruiz
 
An Introduction to Windows PowerShell
An Introduction to Windows PowerShellAn Introduction to Windows PowerShell
An Introduction to Windows PowerShellDale Lane
 
Top 10 php classic traps confoo
Top 10 php classic traps confooTop 10 php classic traps confoo
Top 10 php classic traps confooDamien Seguy
 

Semelhante a Crush Candy with DukeScript (20)

An Introduction To jQuery
An Introduction To jQueryAn Introduction To jQuery
An Introduction To jQuery
 
Imagine a world without mocks
Imagine a world without mocksImagine a world without mocks
Imagine a world without mocks
 
mobl
moblmobl
mobl
 
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
 
A More Flash Like Web?
A More Flash Like Web?A More Flash Like Web?
A More Flash Like Web?
 
Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011Jarv.us Showcase — SenchaCon 2011
Jarv.us Showcase — SenchaCon 2011
 
Animating angular applications
Animating angular applicationsAnimating angular applications
Animating angular applications
 
JavaFX 2.0 With Alternative Languages [Portuguese]
JavaFX 2.0 With Alternative Languages [Portuguese]JavaFX 2.0 With Alternative Languages [Portuguese]
JavaFX 2.0 With Alternative Languages [Portuguese]
 
HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?
 
Introduction to Groovy
Introduction to GroovyIntroduction to Groovy
Introduction to Groovy
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricks
 
JavaFX 2.0 With Alternative Languages - JavaOne 2011
JavaFX 2.0 With Alternative Languages - JavaOne 2011JavaFX 2.0 With Alternative Languages - JavaOne 2011
JavaFX 2.0 With Alternative Languages - JavaOne 2011
 
Rails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Rails-like JavaScript Using CoffeeScript, Backbone.js and JasmineRails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Rails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
 
How to build a html5 websites.v1
How to build a html5 websites.v1How to build a html5 websites.v1
How to build a html5 websites.v1
 
James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...
James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...
James Thomas - Serverless Machine Learning With TensorFlow - Codemotion Berli...
 
TDD per Webapps
TDD per WebappsTDD per Webapps
TDD per Webapps
 
Developing Google Glass
Developing Google GlassDeveloping Google Glass
Developing Google Glass
 
node.js - Eventful JavaScript on the Server
node.js - Eventful JavaScript on the Servernode.js - Eventful JavaScript on the Server
node.js - Eventful JavaScript on the Server
 
An Introduction to Windows PowerShell
An Introduction to Windows PowerShellAn Introduction to Windows PowerShell
An Introduction to Windows PowerShell
 
Top 10 php classic traps confoo
Top 10 php classic traps confooTop 10 php classic traps confoo
Top 10 php classic traps confoo
 

Último

GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jNeo4j
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationElement34
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfkalichargn70th171
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit MilanNeo4j
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...drm1699
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In hararekasambamuno
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIInflectra
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Lisi Hocke
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdfSelfMade bd
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Conceptsthomashtkim
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfICS
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckMarc Lester
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 

Último (20)

GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 

Crush Candy with DukeScript