The document discusses JavaScript under the hood, providing information on topics like the call stack, memory heap, asynchronous JavaScript, JavaScript engines, and optimizing JavaScript performance. It explains concepts like how JavaScript engines work, the call stack and memory heap, asynchronous execution using callbacks and event loops, common JavaScript engines like V8, and tips for optimizing code like proper scoping, chunking work, and removing unused event listeners. References are provided for additional learning resources on JavaScript runtimes and performance.
Hagai Kariti, from BigPanda, giving an intro to Ansible by going through common use cases. Check this out to learn how one can go from batching ad-hoc operations to full data center provisioning with only one tool and one devops guy.
Hagai Kariti, from BigPanda, giving an intro to Ansible by going through common use cases. Check this out to learn how one can go from batching ad-hoc operations to full data center provisioning with only one tool and one devops guy.
Spring Northwest Usergroup Grails Presentationajevans
This is a presentation I gave at the Spring Northwest Usergroup (Manchester) 01/12/2009 . I quickly go over the basics of grails / groovy and then demonstrate using Spring AOP in grails showing how easy it is to use your existing spring beans and spring projects.
It is developed by Square Inc. It uses OkHttp library for HTTP Request. It is a simple library that is used for network transaction.
It is a very easy and fast library to retrieve and upload the data via Rest based web service.
Lessons learned from a huge Rails app - RubyConf Brasil 2019Nahuel Garbezza
On SpeakerDeck: https://speakerdeck.com/ngarbezza/lessons-learned-from-a-huge-rails-app-rubyconf-brasil-2019
A set of experiences working on a very challenging project, with a domain model constantly evolving, 24/7 availability, multiple teams working in the same codebase, integration with many external services, and so on.
In this talk we'll try go through these experiences, focusing on these questions: How do we approach new features? How do we deal with tech debt or any other risks? What can we do to speed up delivery? Is Rails helping us to achieve our goals? How should be our testing strategy? How do we handle production errors?
Squeezing Machine Learning into Serverless for Image Recognition - AWS Meetup...Chris Shenton
Lightning talk describing how we use a Makefile and Docker to easily build small versions of machine learning tools that will fit in a Lambda, then how we use the Serverless Framework to painlessly deploy the function with its binaries/libraries, along with an S3 bucket, permissions and trigger.
Server-side JavaScript for the rest of usKyle Simpson
Exploring patterns for using server-side JavaScript along side existing (non-JavaScript) application architectures. In other words, how to use *some* SSJS without rewriting your entire app in JS.
Daniel Marbach showa how to combine Async/Await together with the Task Parallel Library to create a message pump for a service bus.
Learn how to:
* Deal with non-true asynchronous code paths
* Avoid unpleasant surprises when you combined Async/Await with the Task Parallel Library
* Achieve "graceful" shutdowns by applying cancellation to the asynchronous operations
* Achieve throttling with your concurrent operations without blocking unnecessarily
If you want to learn how a message pump built can be built with Async/Await and the Task Parallel Library looks like — don't miss this webinar!
Async/await and the Task model are the main features of C# 5/.NET 4.5. While asynchronous programming can be done in most languages, all have different specifics, usage and trade-offs. You will see, in this presentation, what is the asynchronous Task model in .NET and why it matters for web apps.
JavaScript Multithread or Single Thread.pptxRAHITNATH
The most functional yet intricately constructed programming language is JavaScript. Understanding how the syntax is used in engines, such as V8 engines for chromium, is challenging. We are successfully completing tasks in Chrome at the same time. This PPT will assist you in learning about the most crucial aspects and use of JavaScript, which will help you comprehend when and where the language is required. Java provides a superior platform by using multi-threading ways to optimize the process, but how can JavaScript manage to achieve the same thing even in a better way to compile and provide us a real-time user interface on webpages even after a significant amount of time has passed.
JavaScript's non-blocking approaches offer a better method of process resolution and execution with regard to load and priority to improve user experience. Even better are the non-blocking approaches and some browser architecture. The topic focuses on JavaScript's end-to-end workflow in Chrome's V8 engine and how it distributes its load and processes with the aid of queues made available by Chrome's architectural design.
Spring Northwest Usergroup Grails Presentationajevans
This is a presentation I gave at the Spring Northwest Usergroup (Manchester) 01/12/2009 . I quickly go over the basics of grails / groovy and then demonstrate using Spring AOP in grails showing how easy it is to use your existing spring beans and spring projects.
It is developed by Square Inc. It uses OkHttp library for HTTP Request. It is a simple library that is used for network transaction.
It is a very easy and fast library to retrieve and upload the data via Rest based web service.
Lessons learned from a huge Rails app - RubyConf Brasil 2019Nahuel Garbezza
On SpeakerDeck: https://speakerdeck.com/ngarbezza/lessons-learned-from-a-huge-rails-app-rubyconf-brasil-2019
A set of experiences working on a very challenging project, with a domain model constantly evolving, 24/7 availability, multiple teams working in the same codebase, integration with many external services, and so on.
In this talk we'll try go through these experiences, focusing on these questions: How do we approach new features? How do we deal with tech debt or any other risks? What can we do to speed up delivery? Is Rails helping us to achieve our goals? How should be our testing strategy? How do we handle production errors?
Squeezing Machine Learning into Serverless for Image Recognition - AWS Meetup...Chris Shenton
Lightning talk describing how we use a Makefile and Docker to easily build small versions of machine learning tools that will fit in a Lambda, then how we use the Serverless Framework to painlessly deploy the function with its binaries/libraries, along with an S3 bucket, permissions and trigger.
Server-side JavaScript for the rest of usKyle Simpson
Exploring patterns for using server-side JavaScript along side existing (non-JavaScript) application architectures. In other words, how to use *some* SSJS without rewriting your entire app in JS.
Daniel Marbach showa how to combine Async/Await together with the Task Parallel Library to create a message pump for a service bus.
Learn how to:
* Deal with non-true asynchronous code paths
* Avoid unpleasant surprises when you combined Async/Await with the Task Parallel Library
* Achieve "graceful" shutdowns by applying cancellation to the asynchronous operations
* Achieve throttling with your concurrent operations without blocking unnecessarily
If you want to learn how a message pump built can be built with Async/Await and the Task Parallel Library looks like — don't miss this webinar!
Async/await and the Task model are the main features of C# 5/.NET 4.5. While asynchronous programming can be done in most languages, all have different specifics, usage and trade-offs. You will see, in this presentation, what is the asynchronous Task model in .NET and why it matters for web apps.
JavaScript Multithread or Single Thread.pptxRAHITNATH
The most functional yet intricately constructed programming language is JavaScript. Understanding how the syntax is used in engines, such as V8 engines for chromium, is challenging. We are successfully completing tasks in Chrome at the same time. This PPT will assist you in learning about the most crucial aspects and use of JavaScript, which will help you comprehend when and where the language is required. Java provides a superior platform by using multi-threading ways to optimize the process, but how can JavaScript manage to achieve the same thing even in a better way to compile and provide us a real-time user interface on webpages even after a significant amount of time has passed.
JavaScript's non-blocking approaches offer a better method of process resolution and execution with regard to load and priority to improve user experience. Even better are the non-blocking approaches and some browser architecture. The topic focuses on JavaScript's end-to-end workflow in Chrome's V8 engine and how it distributes its load and processes with the aid of queues made available by Chrome's architectural design.
My talk at Scala Bay Meetup at Netflix about Powering the Partner APIs with Scalatra and Netflix OSS. This talk was delivered on September 9th 2013, at 8 PM at Netflix, Los Gatos.
Initially delivered at LA RubyConf 2013, this presentation describes how cutting-edge technology helped to triple performance and drastically cut costs in a mobile social game. Juan Pablo Genovese, a Ruby Architect from Altoros Systems Argentina, explains how, despite the extremely tight budget, the customer managed to:
- go from ~450 req/s to ~1300 req/s
- reduce the number of EC2 application servers from four to one
- provide fast and reliable video uploading and processing
- achieve very easy scaling with automation
while maintaining all the functions of the original RoR app.
Maxim Salnikov - Service Worker: taking the best from the past experience for...Codemotion
There is no doubt that 2018 is the year when Progressive Web Apps will get the really broad adoption and recognition by all the involved parties: browser vendors (finally, all the major ones), developers, users. And the speed and smoothness of this process heavily depend on how correctly we, developers, use the power of new APIs. In my session based on the accumulated experience of developing and maintaining PWAs we go through the list of advanced tips & tricks, showcase best practices, learn how to avoid common pitfalls and have a look at the latest browser support and known limitations.
In order to understand how to scale Node.js you need to know how the internals work together and what type of problems are best suited for it. With the right combination of tools you can easily have a scalable and reliable Node.js cluster.
Hackazon is a free, vulnerable test site that is an online storefront built with the same technologies used in today’s rich client and mobile applications. Hackazon has an AJAX interface, strict workflows and RESTful API’s used by a companion mobile app providing uniquely-effective training and testing ground for IT security professionals. And, it’s full of your favorite vulnerabilities like SQL Injection, cross-site scripting and so on.
Writing code is cool, but see it generating automatically is even cooler! This talk will be a case study about possibilities of Annotation Preprocessing in Java development. Let's look into popular libraries and frameworks that are using Annotation Preprocessing (like Lombok, Dagger 2, Retrofit, MapStruct), talk about it pros and cons compared with Reflection / Runtime Code Generation and discuss how you can create your own library that will generate boilerplate code at compile time.
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020Matt Raible
Remember the choose your own adventure books that you used to read as a kid? This session is a reincarnation of a choose your own adventure book as a conference talk!
You'll learn about Spring Boot, Docker, and Kubernetes in this talk, along with the choices you make in the following areas:
* What kind of application architecture to build? Monolith or microservices?
* Would you like to use Java or Kotlin?
* MySQL, PostgreSQL, or MongoDB?
* Spring MVC or Spring WebFlux?
* Angular, React, or Vue.js?
* PWA or mobile app?
* Istio with Kubernetes or Kubernetes without Istio?
GitHub repos of demos:
* Monolith: https://github.com/mraible/healthy-hipster
* Microservices: https://github.com/mraible/djug-microservices
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx France 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Matt Raible
Presentation from Angular Summit talk in September 2015. http://angularsummit.com/conference/boston/2015/09/session?id=34190
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 7 or 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry, Heroku and Openshift.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx UK 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
As popular as React and D3 both are, the thought of having to get into the boxing ring with these two control freaks is daunting. There are some tough decisions to be made, like who controls the DOM? Who is in charge of the data manipulation? Who deals with the interactivity and animations? During this talk, I’ll be exploring the techniques that we can utilize to have React and D3 working in cohesion, and when and why you’d choose certain methods over others.
EmberConf - Building Apps for African soilRidhwana Khan
Often smart people build ambitious applications that are meant to solve the world’s problems - like education, food shortages etc. However, the context like limited resources, minimal infrastructure, and smartphone adoption are usually overlooked. Solutions like low bandwidth apps, offline-first solutions are never at the top of the list even though they are sometimes most appropriate.
In this talk I’d like to walk you through some of the challenges that Africans face and how we can utilise some of Ember’s features as a tool to support relevant and effective solutions.
Teaching Digital Skills and STEM to Empower South African Students (Offerzen ...Ridhwana Khan
Digital skills and STEM aren’t widely taught in South African schools and, while the government knows this is a problem, they are still working on a solution. We as individuals, organisations and communities in the tech space have the abilities to get involved, and gradually and sustainably improve the lives of students in our country. In this talk, Ridhwana will share her experiences running a non-profit organisation in the education sector, and how she’s built a curriculum for teaching STEM.
From Strangers to Team Players (DevFest 2019)Ridhwana Khan
I started my career in corporate, co-founded a company, moved to freelancing and now work in a startup, whilst running an NPO. As my journey continued, I began to realise that the success of the products that I worked on, as well as my professional fulfilment were influenced by the dynamics of the teams I work with. There are many factors that help teams to be effective, conducive to growth and perform better overall. During this talk I’d like to explore some of these elements.
As humans we are placed in complex environments, where we are required to provide solutions to the problems that we encounter on a daily basis. This can be within your career, your personal life, or your business, and we know that many times solving the problem isn’t as easy as we’d like or hoped it to be.
During this talk, I’d like to walk the audience through problem solving techniques that I use on a daily basis whilst building software that impacts peoples lives. I’d like to use this opportunity to discuss some of the more complex problems that I’ve had to solve over the past year, and focus on the process to obtaining valuable solutions.
Expand your toolkit for self development (Keynote @ Pycon Balkan 2018)Ridhwana Khan
Moving towards consulting in the recent years has provided me with the opportunity to integrate within different clients environments and teams, thus exposing me to the unique set of learnings and challenges that come with each environment.
I’ve found that adapting, but not necessarily conforming has been essential. Challenging the norms, being curious and always learning has been key tools in my toolkit over the years.
I’d like to spend some time unpacking my tools to show you how I’ve used them to twist, turns and fasten the bolts of my journey in order to create a steady and stable structure that has allowed me to grow and thrive within the development community.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
Cryptocurrency trading bots are computer programs designed to automate buying, selling, and managing cryptocurrency transactions. These bots utilize advanced algorithms and machine learning techniques to analyze market data, identify trading opportunities, and execute trades on behalf of their users. By automating the decision-making process, crypto trading bots can react to market changes faster than human traders
Hivelance, a leading provider of cryptocurrency trading bot development services, stands out as the premier choice for crypto traders and developers. Hivelance boasts a team of seasoned cryptocurrency experts and software engineers who deeply understand the crypto market and the latest trends in automated trading, Hivelance leverages the latest technologies and tools in the industry, including advanced AI and machine learning algorithms, to create highly efficient and adaptable crypto trading bots
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
12. The Javascript Engine
The Javascript engine is specifically designed for
speedy execution of applications.
It is a technology that executes the Javascript code.
13. V 8
Javascript CoreSpider Monkey
Browsers & their
Javascript Engines
https://en.wikipedia.org/wiki/JavaScript_engine
14. Provides your scripts with utility libraries which can
be used during execution. It’s your script that
references these libraries. The engine itself doesn’t
depend on them.
Javascript Runtime
Translates your script into runnable machine code
instructions so it can be executed by the CPU of the
host machine. The engine translates scripts at runtime
on the fly. Your code won’t be compiled unless you
run it.
Javascript Engine
What is it?
16. The heap
Mr Garbage collector
“A collector aims to reclaim
memory occupied by objects
that are no longer being used.
Objects that are still
referenced by the app are not
cleaned up.”
17. The Call Stack
“A data structure that records
any function calls that occur.”
19. function saySomethingNice() {
return 'You guys are awesome!';
}
function composeGreeting(name) {
let greeting = saySomethingNice();
console.log(greeting);
}
composeGreeting('Jozi');
Example
http://latentflip.com/loupe/
26. Optimizing for the runtime
Timers and Callbacks
Scoping Variables Appropriately
Clean local caches or use aging mechanisms
Chunking up work into smaller pieces
Don’t hold onto objects for longer than necessary
Unbind event listeners when no longer required
Referencing Closures Correctly
33. Some Tools to debug
Timeline
Heap Snapshot
Allocation Profiler
34. 53% of visits are
abandoned if a mobile site
takes more than 3
seconds to load
1 out of 2 people
expect a page to load in less
than 2 seconds
Some Stats
37. References
These amazing articles, videos and tools made it possible for me to put this presentation
together and learn so much more than I anticipated…
• https://developers.google.com/web/updates/2016/10/addeventlistener-once
• https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf
• https://www.youtube.com/watch?v=8aGhZQkoFbQ
• http://latentflip.com/loupe/
• https://www.google.com/url?q=https://developer.mozilla.org/en-US/docs/Web/
JavaScript/EventLoop
• http://www.competa.com/blog/memory-leaks-in-javascript/
• https://en.wikipedia.org/wiki/JavaScript_engine