SlideShare uma empresa Scribd logo
1 de 144
NAS ENTRANHAS
DO WEBKIT
ZAEDY SAYÃO @zaedysayao
NAS ENTRANHAS
DO WEBKIT
ZAEDY SAYÃO @zaedysayao
V8
Zaedy Dantas Sayão
@zaedysayao
@javamanrj
@javamanrj
@WORKS
http://about.me/zaedy
BÁSICO
CONCEITO
O QUE É?
BROWSER
USER INTERFACE
BROWSER ENGINE
RENDER ENGINE
NETWORK
I/O
JAVASCRIPT
ENGINE
GRAPHICS
STACK
USER INTERFACE
BROWSER ENGINE
RENDER ENGINE
NETWORK
I/O
JAVASCRIPT
ENGINE
GRAPHICS
STACK
W
EBKIT
WEBKIT
NÃO É UM
BROWSER
WEBKIT
⊑
BROWSER
ENGINE
RENDER
ENGINE
ENGINE?
CONJUNTO
DE LIBS
CÓDIGO
FAZ O QUE?
C
Ó
D
I
G
O
42
C
Ó
D
I
G
O
PAINT
HTML
CSS
JS
SVG
LAYOUT
PAST
HISTÓRIA
2001
KHTML
2005
CONTRIBUTOR
COMMITER
REVIEWER
APPLE
ENVIA
CONTA SVN
ONDE
RODA?
EVERYWHERE
APPLE
GOOGLE
NOKIA
BLACKBERRY
IGALIA (GNOME)
GETTING
CODE
svn checkout https://svn.webkit.org/repository/webkit/trunk
git clone git://git.webkit.org/WebKit.git
1.2GB
80% TESTES
BUILD
WebKitTools/Scripts/build-webkit
--qt for Qt,
--gtk for Gtk+
--debug for “Debug” mode
RUN
WebKitTools/Scripts/run-launcher
--qt for Qt,
--gtk for Gtk+
--debug for “Debug” mode
DEMO
PORTS
SAFARI
IOS ≠WINDOWS
APPLE
PORT DO
COREFOUNDATION
PARA O WINDOWS
CHROME
CHROMIUM
ANDROID
QTWEBKIT
WEBKITGTK+
WEBKIT
NIGHTLY
MAC PORT -> SAFARI
INTERFACE
IMPLEMENTAÇÃO
<input type=”number” />
WebKit
ursday, November 3, 2011
<input type=”number”/>
PINTA
PARA MIM
input type=”number” />
EU SEI FAZER!
WEBKIT
PORT
<input type=”number” />
WebKit
ursday, November 3, 2011
<input type=”number”/>
WEBKIT
123
AQUI
<input type=”number”/>
input type=”number” />
PORT
123
BLZ!
WEBKIT SABE
COMO
DESENHAR
RESPONSABILIDADE
É DO PORT
(COREGRAPHICS)
QTWEBKIT
QNETWORKACESSMANAGER
KDEWEBKIT
KDE NETWORK LAYER
NETWORK
INTERFACE
NADA DE HTTP, SSL...
MAS TEM CHAMADAS PARA
ENVIO DE DADOS
IMPLEMENTAÇÃO
LIB DO SISTEMA
SE QUISER FAZER
UM PORT?
IMPLEMENTE AS
INTERFACES
SE NÃO
IMPLEMENTAR?
fillRoundedRect()
BOTÃO
QUADRADO
SE WEBKIT
->
MENOS UM
BROWSER PARA
TESTAR
NOVA FEATURE
->
DISPONÍVEL EM
TODO PORT
WEBKIT
TAMBÉM É UMA
API
WEBKIT2
MULTI-PROCESS
JAVASCRIPTCORE
ENGINE
WEBCORE
CSS, HTML, DOM,
RENDER
WTF
WEB TEMPLATE
FRAMEWORK
PROPÓSITOS
WEBCORE
LOADING
PARSING
LAYOUT
PAINT
HTML EDITING
JS BINDINGS
LOADING
PEGANDO DADOS
COMPLICADO!!!
WEBKIT
WEBCORE
WEBCORE/LOADER
WEBCORE/PLATFORM/NETWORK
FRAMELOADERCLIENT
2 PASSOS
FRAMES E RESOURCES
LOADING A
FRAME
CLASSE FRAMELOADER
1)POLICY STAGE
BLOCK POP-UP
CROSS-PROCESS NAVIGATION
2)PROVISIONAL
STAGE
DOWNLOAD OU COMMIT
EX: LINK
3)COMMITED
STAGE
START PARSING
LOADING
SUBRESOURCES
DOCLOADER
CACHE
DOCLOADER
PEGA UMA URL
VERIFICA NO CACHE OU
LOADER
RETORNA UM
CACHEDRESOURCE
CACHEDRESOURCE
RESPONDE CALLBACK
PRODUZ UM OBJETO
(IMAGEM, FONTE...)
PARSING
HTML x XML
HTMLTOKENIZER E HTMLPARSER
XMLTOKENIZER
OUTRAS TASKS:
PRE-LOAD SCANNING
(CARREGAMENTO DE CSS ANTES
DO PARSE)
DOM TREE
RENDEROBJECT TREE
RENDERSTYLE TREE
RENDERLAYER TREE
LINEBOX TREE
LOADING -> SOURCE
PARSING -> DOM TREE
attach() -> RENDEROBJECT TREE
STYLE RESOLUTION -> RENDERSTYLE
TREE
LAYOUT -> RENDERLAYER TREE
LINEBOX TREE
DOM TREE
<html>
<head>
<title>
foo
</title>
<head>
HTMLDocument
HTMLHTMLELement
HTMLHeadElement
HTMLTitleElement
Text(“foo”)
RENDER TREE
LAYOUT
PAINTING
HIT TESTING
RENDER TREE
RENDEROBJECTS
RENDERSTYLE
RENDERLAYERS
INLINEBOXES
RENDEROBJECT
class RenderObject {
virtual void layout() = 0;
virtual void paint(PaintInfo) = 0;
virtual IntRect repaintRect() = 0;
Node* node();
RenderStyle* style() const;
RenderLayer* containingLayer();
}
RENDEROBJECT
RenderBlock(<div>, <p>)
RenderInline(<span>, <b>, <i>)
RenderImage(<image>)
RenderText(#text)
RenderTableCell (<td>)
OBJETOS DA
ENGINE JSString
Array
Number
Prototypes
.__proto__
.callee
__defineGetter__
.toString()
ABERTAS
FECHADAS
SPIDER MONKEY
JAVASCRIPTCORE (JSC, NITRO)
V8
V8
PARSER RUNTIME
INTERPRETER
PARSER
TOKENIZE
var answer = 42;
TOKENIZE
var answer = 42;
keyword identifier
sinal igual
número
vírgula
TOKENIZER
NOV8
src/scanner.*
KEYWORD
X
IDENTIFIER
instanceof - instanceComponent
A G H J K L M O P Q XY Z
GRAMÁTICA
SouceElement :: (Statement)*
FunctionDeclaration ::
‘function’ Identifier ‘(‘FormalParameters’)’	

‘{‘FunctionBody’}’
SYNTAX TREE
IDENTIFIER LITERAL
CONSTANT
VARIABLE
DECLARATION
answer 42
CONSEQUÊNCIA
ALTERNATIVA
BRANCH
VELHO
NOVO
CONDIÇÃO
idade > 60
PARSER NOV8
src/parser.*
CODE TRACE
(EVAL)
SCRIPT :: COMPILE
SCRIPT :: NEW
INTERNAL :: COMPILER :: COMPILE
INTERNAL :: MAKEFUNCIONINFO
INTERNAL :: PARSEAPI :: PARSE
DEMO
INTERPRETER
var answer = 42;
Declare um objeto local
Chame esse objeto de “answer”
Crie um número 42
De “assign” do número ao objeto
IDENTIFIER LITERAL
CONSTANT
VARIABLE
DECLARATION
answer 42
VELOCIDADE
BYTECODE
SERIALIZA EM UMA
LISTA DE “AÇÕES”
COMPILA O
BYTECODE
PARA ASSEMBLY
JIT (=JUST-IN-TIME) COMPILE
shell --print-code
shell --expose-debug-as deb
deb.Debug.disassemble(f)
LAZY
foobar = function(x, y, z)
{
...
}
foobar(x, y, z);
Analiza sintaxe
Guarda posição da função
foobar = function(x, y, z, run)
{
...
}
foobar(x, y, z, false);
HACK
Compila e roda
Date.now()
código
nativo
código
JavaScript
BRIDGE
C++
Primitive
Date
Object
Array
Function
External
Handle<FunctionTemplate> systemObject = FunctionTemplate::New();
systemObject->Set(String::New(“exit”)),
FunctionTemplate::New(system_exit)->GetFunction());
static Handle<value> system_exit(const Arguments& args)
{
int status = args[0]->Int32Value();
::exit(status);
return Undefined();
}
EXPONDO
FUNÇÃO
JSLINT
JSBEAUTIFY
OBRIGADO!
@zaedysayao

Mais conteúdo relacionado

Semelhante a Nas entranhas do WebKit (e V8) - SampaJS 3.1 - 2013

Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
I Can't Believe It's Not Flash
I Can't Believe It's Not FlashI Can't Believe It's Not Flash
I Can't Believe It's Not FlashThomas Fuchs
 
Open Source Ajax Solution @OSDC.tw 2009
Open Source Ajax  Solution @OSDC.tw 2009Open Source Ajax  Solution @OSDC.tw 2009
Open Source Ajax Solution @OSDC.tw 2009Robbie Cheng
 
Journey to JavaScript (from C#)
Journey to JavaScript (from C#)Journey to JavaScript (from C#)
Journey to JavaScript (from C#)Ed Charbeneau
 
Minimalism in Web Development
Minimalism in Web DevelopmentMinimalism in Web Development
Minimalism in Web DevelopmentJamie Matthews
 
當ZK遇見Front-End
當ZK遇見Front-End當ZK遇見Front-End
當ZK遇見Front-End祁源 朱
 
Modular Web Applications With Netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzkenetzke
 
HTML5 - Chances and Pitfalls (Bytro Labs GmbH)
HTML5 - Chances and Pitfalls (Bytro Labs GmbH)HTML5 - Chances and Pitfalls (Bytro Labs GmbH)
HTML5 - Chances and Pitfalls (Bytro Labs GmbH)Felix Faber
 
Ruby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingRuby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingBozhidar Batsov
 
Razor and the Art of Templating
Razor and the Art of TemplatingRazor and the Art of Templating
Razor and the Art of TemplatingJess Chadwick
 
Webové aplikace v JavaScriptu
Webové aplikace v JavaScriptuWebové aplikace v JavaScriptu
Webové aplikace v JavaScriptuPavol Hejný
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....Michele Orselli
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....Alessandro Cinelli (cirpo)
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersFrank La Vigne
 
HTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game TechHTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game Techvincent_scheib
 
Why Nodejs Guilin Shanghai
Why Nodejs Guilin ShanghaiWhy Nodejs Guilin Shanghai
Why Nodejs Guilin ShanghaiJackson Tian
 
Why Node.js
Why Node.jsWhy Node.js
Why Node.jsguileen
 

Semelhante a Nas entranhas do WebKit (e V8) - SampaJS 3.1 - 2013 (20)

前端概述
前端概述前端概述
前端概述
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
I Can't Believe It's Not Flash
I Can't Believe It's Not FlashI Can't Believe It's Not Flash
I Can't Believe It's Not Flash
 
Open Source Ajax Solution @OSDC.tw 2009
Open Source Ajax  Solution @OSDC.tw 2009Open Source Ajax  Solution @OSDC.tw 2009
Open Source Ajax Solution @OSDC.tw 2009
 
php
phpphp
php
 
HTML5 - A Whirlwind tour
HTML5 - A Whirlwind tourHTML5 - A Whirlwind tour
HTML5 - A Whirlwind tour
 
Journey to JavaScript (from C#)
Journey to JavaScript (from C#)Journey to JavaScript (from C#)
Journey to JavaScript (from C#)
 
Minimalism in Web Development
Minimalism in Web DevelopmentMinimalism in Web Development
Minimalism in Web Development
 
當ZK遇見Front-End
當ZK遇見Front-End當ZK遇見Front-End
當ZK遇見Front-End
 
Modular Web Applications With Netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzke
 
HTML5 - Chances and Pitfalls (Bytro Labs GmbH)
HTML5 - Chances and Pitfalls (Bytro Labs GmbH)HTML5 - Chances and Pitfalls (Bytro Labs GmbH)
HTML5 - Chances and Pitfalls (Bytro Labs GmbH)
 
Ruby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingRuby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programing
 
Razor and the Art of Templating
Razor and the Art of TemplatingRazor and the Art of Templating
Razor and the Art of Templating
 
Webové aplikace v JavaScriptu
Webové aplikace v JavaScriptuWebové aplikace v JavaScriptu
Webové aplikace v JavaScriptu
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
 
HTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game TechHTML5 and Other Modern Browser Game Tech
HTML5 and Other Modern Browser Game Tech
 
Why Nodejs Guilin Shanghai
Why Nodejs Guilin ShanghaiWhy Nodejs Guilin Shanghai
Why Nodejs Guilin Shanghai
 
Why Node.js
Why Node.jsWhy Node.js
Why Node.js
 

Último

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

Nas entranhas do WebKit (e V8) - SampaJS 3.1 - 2013