SlideShare uma empresa Scribd logo
1 de 62
@HamletBatista
@HamletBatista
https://en.wikipedia.org/wiki/Coco_(folklore)
@HamletBatista
JavaScript El Coco≠
@HamletBatista
https://github.com/ranksense/gtrends-watch
@HamletBatista
@HamletBatista
@HamletBatista
@HamletBatista
Rendering by JavaScript execution target:
• Client side rendering
• Hybrid rendering (Client and server)
• Dynamic rendering (Client and Server only
for bots)
TERMINOLOGY
Rendering by execution time:
• Pre-rendering (at build time)
• Server side rendering (on demand)
@HamletBatista
Use automated tests to stop JavaScript
related SEO errors before it's too late!
Scan and tweet #SMXInsights
@HamletBatista
Common SEO errors can be
avoided by including
automated checks in the
codebase
USE AUTOMATED TESTS TO PREVENT JAVASCRIPT RELATED SEO
ERRORS
https://jasmine.github.io/
@HamletBatista
Unit tests help check
every component
individually performs as
expected
USE AUTOMATED TESTS TO PREVENT JAVASCRIPT RELATED SEO
ERRORS
@HamletBatista
Not every component is in scope of
SEO (might be invisible to bots)
USE AUTOMATED TESTS TO PREVENT JAVASCRIPT RELATED SEO
ERRORS
https://angular.io/guide/architecture-components
@HamletBatista
@HamletBatista
SEO Developer/QA
• Define which components are in
SEO scope
• Define reasonable checks (missing
tags, incomplete, etc)
UNIT TESTING RESPONSIBILITIES
• Write unit tests
• Fix code when tests fail
@HamletBatista
End to end/integration
tests help check overall
operation
USE AUTOMATED TESTS TO PREVENT JAVASCRIPT RELATED SEO
ERRORS
https://www.protractortest.org/
@HamletBatista
Many user actions are not in scope of SEO (clicking/saving)
USE AUTOMATED TESTS TO PREVENT JAVASCRIPT RELATED SEO
ERRORS
@HamletBatista
End to end tests are
ideal to check for
rendering problems
USE AUTOMATED TESTS TO PREVENT JAVASCRIPT RELATED SEO
ERRORS
@HamletBatista
@HamletBatista
SEO Developer/QA
• Define which actions are in SEO scope
(reasonable by search engines)
• Define reasonable checks (consistent
content server vs client, consistent
tagging server vs client)
END TO END TESTING RESPONSIBILITIES
• Write e2e tests and add to codebase
• Continuous integration leverages
automated tests to release quality
code fast
@HamletBatista
• AngularJS
• https://angular.io/guide/testing
• https://docs.angularjs.org/guide/e2e-testing
• ReactJS
• https://reactjs.org/community/testing.html
• https://www.cypress.io/
• VueJS
• https://vuejs.org/v2/guide/unit-testing.html
• https://vuejs-templates.github.io/webpack/e2e.html
RESOURCES TO LEARN MORE ABOUT AUTOMATED TESTING
@HamletBatista
Don't pre-render dynamic JavaScript
content (changes often), use server side
rendering instead
Scan and tweet #SMXInsights
@HamletBatista
• For new sites
(use universal
JavaScript)
• For existing sites
(dynamic rendering
good temporary
solution)
PRE-RENDER MOSTLY STATIC CONTENT, SERVER SIDE RENDER
OTHERWISE
@HamletBatista
Server side render (on
demand) if it changes in less
than 24 hours
PRE-RENDER MOSTLY STATIC CONTENT, SERVER SIDE RENDER
OTHERWISE
@HamletBatista
Pre-rendering is expensive (time and cost) if you have too many pages
(slows down build/deploy)
PRE-RENDER MOSTLY STATIC CONTENT, SERVER SIDE RENDER
OTHERWISE
@HamletBatista
For Hybrid rendering
Rendering means executing JS server side in Node
PRE-RENDER MOSTLY STATIC CONTENT, SERVER SIDE RENDER
OTHERWISE
For Dynamic rendering
Rendering means launching browser instances to render pages (this is more expensive in time and
cost as it needs to fetch images, etc.)
@HamletBatista
For Dynamic rendering
• Caching is essential
• Caching dynamic content is tricky and
can cause problems (PLA
invalidations, accidental cloaking, can't
fix mistakes quickly)
PRE-RENDER MOSTLY STATIC CONTENT, SERVER SIDE RENDER
OTHERWISE
https://www.netlify.com/blog/2016/11/22/prerendering-explained/
@HamletBatista
Background execution with
workers to get important
content rendered
PRE-RENDER MOSTLY STATIC CONTENT, SERVER SIDE RENDER
OTHERWISE
https://developers.google.com/web/fundamentals/performance/rendering/optimize-javascript-execution
@HamletBatista
• Dynamic rendering
https://developers.google.com/search/docs/guides/dynamic-rendering
• AngularJs Universal
https://angular.io/guide/universal
• ReactJs Universal
https://github.com/faceyspacey/react-universal-component
• VueJs Universal
https://ssr.vuejs.org/guide/universal.html
RESOURCES TO LEARN MORE ABOUT RENDERING OPTIONS
@HamletBatista
You need to hack the latest AngularJs
framework to place basic tags like
canonical and hreflang!
Scan and tweet #SMXInsights
@HamletBatista
The good
• No hash fragment URLs (history API paths by default)
• Painless universal JavaScript set up and excellent
documentation
• Same codebase (client and server) prevents cloaking or
compliance problems
• Basic support for titles and meta tags like description and
robots
• Supports SSR and prerendering
THERE IS VERY BASIC SUPPORT FOR SEO TAGGING
@HamletBatista
THERE IS VERY BASIC SUPPORT FOR SEO TAGGING
@HamletBatista
THERE IS VERY BASIC SUPPORT FOR SEO TAGGING
@HamletBatista
The bad
• No built-in support for structured
data/JSON-LD
• Absolute (server) and relative (client)
URLs can introduce errors
THERE IS VERY BASIC SUPPORT FOR SEO TAGGING
@HamletBatista
THERE IS VERY BASIC SUPPORT FOR SEO TAGGING
@HamletBatista
The ugly
• No built-in support for link tags like
canonicals
• No built-in support for link tags like
hreflang tags
THERE IS VERY BASIC SUPPORT FOR SEO TAGGING
@HamletBatista
THERE IS VERY BASIC SUPPORT FOR SEO TAGGING
@HamletBatista
THERE IS VERY BASIC SUPPORT FOR SEO TAGGING
@HamletBatista
RESOURCES TO LEARN MORE ABOUT SEO TAGGING
• AngularJs
https://angular.io/api/platform-browser/Meta
• ReactJs
https://alligator.io/react/react-helmet/
• VueJs
https://alligator.io/vuejs/vue-router-modify-head/
@HamletBatista
Prevent accidental cloaking issues by using
universal JavaScript
Scan and tweet #SMXInsights
@HamletBatista
Running different code for users
and bots often leads to
inconsistencies
LEVERAGE UNIVERSAL JAVASCRIPT
• Welcome
• User
User
• Welcome
• Visitor
Content
• Welcome
• Search bot
Search bot
@HamletBatista
Headings, images, tags or content that doesn't match
LEVERAGE UNIVERSAL JAVASCRIPT
@HamletBatista
Similar situation with separate code to handle mobile, desktop and tablet
LEVERAGE UNIVERSAL JAVASCRIPT
@HamletBatista
One risk is a cloaking
penalty, but a more
common one is
disapproved shopping
feed ads due to
compliance issues
LEVERAGE UNIVERSAL JAVASCRIPT
@HamletBatista
Universal is not always practical (some
actions don't exist on the server, for
example scrolling events)
LEVERAGE UNIVERSAL JAVASCRIPT
https://medium.com/commencis/isomorphic-universal-javascript-496dc8c4341a
@HamletBatista
If you need to have
separate codebases, cover
them with robust unit tests
LEVERAGE UNIVERSAL JAVASCRIPT
https://istanbul.js.org/
@HamletBatista
Universal JavaScript
uses same code, but
careful with
relative/absolute paths
LEVERAGE UNIVERSAL JAVASCRIPT
@HamletBatista
Responsive design is
ideal to avoid issues
LEVERAGE UNIVERSAL JAVASCRIPT
@HamletBatista
• https://github.com/brillout/awesome-universal-rendering
• https://www.oreilly.com/library/view/building-isomorphic-
javascript/9781491932926/ch01.html
RESOURCES TO LEARN MORE ABOUT UNIVERSAL JAVASCRIPT
@HamletBatista
Avoid hiding important content behind
user actions
Scan and tweet #SMXInsights
@HamletBatista
Rendering hides content
that is not visible during the
snapshot
AVOID HIDING CONTENT BEHIND CLICK/SCROLL ACTIONS
@HamletBatista
Examples of content that requires clicks:
• Tabbed content
• Accordion content
• Click to read more
• Click to load more items
AVOID HIDING CONTENT BEHIND CLICK/SCROLL ACTIONS
@HamletBatista
Another example is content that requires scrolling like:
• Infinite scrolls
• Slideshows
AVOID HIDING CONTENT BEHIND CLICK/SCROLL ACTIONS
Alternatively, you could program your renderer to simulate
user actions
@HamletBatista
It is simpler to move the
content to a visible area
AVOID HIDING CONTENT BEHIND CLICK/SCROLL ACTIONS
@HamletBatista
Or if the content can stand on its
own, create routes to the specific
components
AVOID HIDING CONTENT BEHIND CLICK/SCROLL ACTIONS
@HamletBatista
@HamletBatista
RESOURCES TO LEARN MORE ABOUT COMPONENT ROUTING
• AngularJs
https://angular.io/guide/router
• ReactJs
https://reacttraining.com/react-router/web/guides/quick-start
• VueJs
https://vuejs.org/v2/guide/routing.html
@HamletBatista
Delegate long running processes
to a service worker
Scan and tweet #SMXInsights
@HamletBatista
A service worker
operates outside of
the main browser
execution thread
DELEGATE LONG RUNNING PROCESSES TO A SERVICE
WORKER
https://angular.io/guide/service-worker-getting-started
@HamletBatista
• Speed up rendering
• Avoid partial rendering issues
DELEGATE LONG RUNNING PROCESSES TO A SERVICE
WORKER
https://angular.io/guide/service-worker-getting-started
@HamletBatista
RESOURCES TO LEARN MORE SERVICE WORKERS AND PWAS
• AngularJs
https://angular.io/guide/service-worker-getting-started
• ReactJs
https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
• VueJs
https://github.com/vuejs-templates/pwa
@HamletBatista
• Free real-time crawler
monitor
• Quick issue patching in
Cloudflare
ABOUT RANKSENSE
https://www.cloudflare.com/apps/ranksense
@HamletBatista

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Python for SEO
Python for SEOPython for SEO
Python for SEO
 
#CMC2019: Advanced SEO: Competitive intelligence, Web Scraping, and More.
#CMC2019: Advanced SEO: Competitive intelligence, Web Scraping, and More. #CMC2019: Advanced SEO: Competitive intelligence, Web Scraping, and More.
#CMC2019: Advanced SEO: Competitive intelligence, Web Scraping, and More.
 
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick StoxPubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
 
Hey Googlebot, did you cache that ?
Hey Googlebot, did you cache that ?Hey Googlebot, did you cache that ?
Hey Googlebot, did you cache that ?
 
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your LogsSearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
SearchLove London 2016 | Dom Woodman | How to Get Insight From Your Logs
 
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021Headless SEO: Optimising Next Gen Sites | brightonSEO 2021
Headless SEO: Optimising Next Gen Sites | brightonSEO 2021
 
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
How Googlebot Renders (Roleplaying as Google's Web Rendering Service-- D&D st...
 
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...
 
11 Advanced Uses of Screaming Frog Nov 2019 DMSS
11 Advanced Uses of Screaming Frog Nov 2019 DMSS11 Advanced Uses of Screaming Frog Nov 2019 DMSS
11 Advanced Uses of Screaming Frog Nov 2019 DMSS
 
The State of the Web: Pagination and Infinite Scroll
The State of the Web: Pagination and Infinite ScrollThe State of the Web: Pagination and Infinite Scroll
The State of the Web: Pagination and Infinite Scroll
 
SEO Meets Automation
SEO Meets AutomationSEO Meets Automation
SEO Meets Automation
 
Software Testing for SEO
Software Testing for SEOSoftware Testing for SEO
Software Testing for SEO
 
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 20195 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
 
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
Troubleshooting SEO for JS Frameworks - Patrick Stox - DTD 2018
 
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...Brighton SEO July 2021   How JavaScript is preventing you from passing Core W...
Brighton SEO July 2021 How JavaScript is preventing you from passing Core W...
 
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...
 
Rendering SEO Manifesto - Why we need to go beyond JavaScript SEO
Rendering SEO Manifesto - Why we need to go beyond JavaScript SEORendering SEO Manifesto - Why we need to go beyond JavaScript SEO
Rendering SEO Manifesto - Why we need to go beyond JavaScript SEO
 
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesTechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
 
Split Testing for SEO - 9 Months of Learning
Split Testing for SEO - 9 Months of LearningSplit Testing for SEO - 9 Months of Learning
Split Testing for SEO - 9 Months of Learning
 
TFM - Using Google Tag Manager for ecom
TFM - Using Google Tag Manager for ecom TFM - Using Google Tag Manager for ecom
TFM - Using Google Tag Manager for ecom
 

Semelhante a The New Renaissance of JavaScript

Semelhante a The New Renaissance of JavaScript (20)

A Deep Dive Into SEO Tactics For Modern Javascript Frameworks
A Deep Dive Into SEO Tactics For Modern Javascript FrameworksA Deep Dive Into SEO Tactics For Modern Javascript Frameworks
A Deep Dive Into SEO Tactics For Modern Javascript Frameworks
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript Widgets
 
Ajax
AjaxAjax
Ajax
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
Developing JavaScript Widgets
Developing JavaScript WidgetsDeveloping JavaScript Widgets
Developing JavaScript Widgets
 
MidwestJS 2014 Reconciling ReactJS as a View Layer Replacement
MidwestJS 2014 Reconciling ReactJS as a View Layer ReplacementMidwestJS 2014 Reconciling ReactJS as a View Layer Replacement
MidwestJS 2014 Reconciling ReactJS as a View Layer Replacement
 
Reconciling ReactJS as a View Layer Replacement (MidwestJS 2014)
Reconciling ReactJS as a View Layer Replacement (MidwestJS 2014)Reconciling ReactJS as a View Layer Replacement (MidwestJS 2014)
Reconciling ReactJS as a View Layer Replacement (MidwestJS 2014)
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101
 
Java script
Java scriptJava script
Java script
 
Java script
Java scriptJava script
Java script
 
Front End Development for Back End Developers - Devoxx UK 2017
 Front End Development for Back End Developers - Devoxx UK 2017 Front End Development for Back End Developers - Devoxx UK 2017
Front End Development for Back End Developers - Devoxx UK 2017
 
Hackazon realistic e-commerce Hack platform
Hackazon realistic e-commerce Hack platformHackazon realistic e-commerce Hack platform
Hackazon realistic e-commerce Hack platform
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
 
Website optimization with request reduce
Website optimization with request reduceWebsite optimization with request reduce
Website optimization with request reduce
 
Migration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, ParisMigration Best Practices - Search Y 2019, Paris
Migration Best Practices - Search Y 2019, Paris
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
 
Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019Front End Development for Backend Developers - GIDS 2019
Front End Development for Backend Developers - GIDS 2019
 

Mais de Hamlet Batista

Mais de Hamlet Batista (13)

Automated Duplicate Content Consolidation with Google Cloud Functions
Automated Duplicate Content Consolidation with Google Cloud FunctionsAutomated Duplicate Content Consolidation with Google Cloud Functions
Automated Duplicate Content Consolidation with Google Cloud Functions
 
Quality Content at Scale Through Automated Text Summarization of UGC
Quality Content at Scale Through Automated Text Summarization of UGCQuality Content at Scale Through Automated Text Summarization of UGC
Quality Content at Scale Through Automated Text Summarization of UGC
 
Automating Google Lighthouse
Automating Google LighthouseAutomating Google Lighthouse
Automating Google Lighthouse
 
Creando una Sección de FAQS y su Marcado de Datos Estructurados en 30 Minutos
Creando una Sección de FAQS y su Marcado de Datos Estructurados en 30 MinutosCreando una Sección de FAQS y su Marcado de Datos Estructurados en 30 Minutos
Creando una Sección de FAQS y su Marcado de Datos Estructurados en 30 Minutos
 
The Python Cheat Sheet for the Busy Marketer
The Python Cheat Sheet for the Busy MarketerThe Python Cheat Sheet for the Busy Marketer
The Python Cheat Sheet for the Busy Marketer
 
Doing More with Less: Automated, High-Quality Content Generation
Doing More with Less: Automated, High-Quality Content GenerationDoing More with Less: Automated, High-Quality Content Generation
Doing More with Less: Automated, High-Quality Content Generation
 
Agile SEO: Faster SEO Results
Agile SEO: Faster SEO ResultsAgile SEO: Faster SEO Results
Agile SEO: Faster SEO Results
 
Python for Data-driven Storytelling
Python for Data-driven StorytellingPython for Data-driven Storytelling
Python for Data-driven Storytelling
 
Data and Evidence-driven SEO
Data and Evidence-driven SEOData and Evidence-driven SEO
Data and Evidence-driven SEO
 
Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?
 
Gettin' It Up And Keepin' It Up in Google
Gettin' It Up And Keepin' It Up in GoogleGettin' It Up And Keepin' It Up in Google
Gettin' It Up And Keepin' It Up in Google
 
Batista, Hamlet, Beyond The Usual Link Building
Batista, Hamlet, Beyond The Usual Link BuildingBatista, Hamlet, Beyond The Usual Link Building
Batista, Hamlet, Beyond The Usual Link Building
 
White Hat Cloaking
White Hat CloakingWhite Hat Cloaking
White Hat Cloaking
 

Último

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
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

The New Renaissance of JavaScript