(1) The document provides an introduction to JavaScript, covering basics like variables, data types, functions, conditional statements, and loops.
(2) Examples are given for writing JavaScript programs, including how to declare variables, define functions, and use operators, conditionals, and exceptions.
(3) The document concludes by encouraging the reader to try writing a script to compute the nth Fibonacci number and print it on a webpage.
The document discusses the topics of Web 3D, WebGL, and 3D interaction on the web. It provides definitions and history for these topics. WebGL allows 3D graphics rendering within web browsers without plugins using OpenGL ES. It works by using shader programs written in GLSL to render 3D graphics on a canvas element. The document discusses challenges with 3D interaction due to the 2D nature of displays and inputs, and covers various techniques for 3D input and output. Examples of 3D applications using these technologies are also mentioned.
One of JavaScript’s strengths is how it handles asynchronous code. Async is one of the most important and often misunderstood part of Javascript or any other language. Async is hard because we, as human beings, can’t do two conscious actions at once and think about both of them at the same moment. In this talk we will see how asynchronous JavaScript evolved over the years. It all started with callbacks… and it landed on generators!
This document discusses best practices for developing Node.js applications. It recommends using frameworks like Express for building web apps, libraries like Async to avoid callback hell, and organizing code into modular sub-applications. It also covers testing, error handling, documentation, and open-sourcing projects. Standards like Felix's Style Guide and domain-driven design principles are advocated. Communication channels like events, HTTP APIs, and WebSockets are examined.
This document discusses AngularJS and single page applications (SPAs). It begins by defining what a SPA is - a client-side application that functions like a desktop application with rich and responsive functionality. Technically, SPAs use HTML5 and JavaScript with lightweight REST/JSON services and data binding. AngularJS is introduced as a complete framework for building rich SPAs that hides DOM manipulation and uses data binding instead of direct DOM changes. The document then covers key aspects of AngularJS including directives, views/controllers/scopes, modules/routes/services, and custom directives. It concludes by discussing some UI elements in AngularJS and notes that real-world SPAs often blur the lines between client and server.
The document discusses the topics of Web 3D, WebGL, and 3D interaction on the web. It provides definitions and history for these topics. WebGL allows 3D graphics rendering within web browsers without plugins using OpenGL ES. It works by using shader programs written in GLSL to render 3D graphics on a canvas element. The document discusses challenges with 3D interaction due to the 2D nature of displays and inputs, and covers various techniques for 3D input and output. Examples of 3D applications using these technologies are also mentioned.
One of JavaScript’s strengths is how it handles asynchronous code. Async is one of the most important and often misunderstood part of Javascript or any other language. Async is hard because we, as human beings, can’t do two conscious actions at once and think about both of them at the same moment. In this talk we will see how asynchronous JavaScript evolved over the years. It all started with callbacks… and it landed on generators!
This document discusses best practices for developing Node.js applications. It recommends using frameworks like Express for building web apps, libraries like Async to avoid callback hell, and organizing code into modular sub-applications. It also covers testing, error handling, documentation, and open-sourcing projects. Standards like Felix's Style Guide and domain-driven design principles are advocated. Communication channels like events, HTTP APIs, and WebSockets are examined.
This document discusses AngularJS and single page applications (SPAs). It begins by defining what a SPA is - a client-side application that functions like a desktop application with rich and responsive functionality. Technically, SPAs use HTML5 and JavaScript with lightweight REST/JSON services and data binding. AngularJS is introduced as a complete framework for building rich SPAs that hides DOM manipulation and uses data binding instead of direct DOM changes. The document then covers key aspects of AngularJS including directives, views/controllers/scopes, modules/routes/services, and custom directives. It concludes by discussing some UI elements in AngularJS and notes that real-world SPAs often blur the lines between client and server.
Hello, Is That FreeSWITCH? Then We're Coming to Check You!PVS-Studio
Following our readers' requests, we have scanned the open-source project FreeSWITCH with PVS-Studio. This project was initially founded by the developers of the Asterisk project, which we already analyzed some time ago. The FreeSWITCH project is actively developing and has a handful of interesting issues, which we will discuss in this article.
JavaScript can be used for client-side scripting to add interactivity to web pages. The client-side environment where JavaScript runs is usually a web browser. JavaScript code is transferred from the web server to the user's computer and run directly in the browser. Common uses of JavaScript include adding multimedia elements to pages, creating pages dynamically based on user input, and allowing interaction through events like clicking buttons.
The document provides an introduction to JavaScript and jQuery. It discusses what JavaScript and jQuery are, how to add them to web pages, and basic syntax and concepts for both languages. It also covers selecting elements with jQuery, attaching events to elements, and responding to events by performing actions. The document is intended to teach the basics of JavaScript and get readers started with jQuery.
The document provides an introduction to developing complex front-end applications using HTML and JavaScript. It discusses how JavaScript modules can be organized in a way that is similar to frameworks like WPF and Silverlight using simple constructs like the module pattern. It also covers asynchronous module definition (AMD) and how modules can be loaded and dependencies managed using RequireJS. The document demonstrates unit testing jQuery code and using pubsub for loose coupling between modules. Finally, it discusses how CSS compilers like SASS can make CSS authoring more productive by allowing variables, nesting and mixins.
Unit Testing RxJS streams using jasmine-marbles. The demo shows how we can create a Web Component that uses NGRX/store + NGRX/effects like workflow and how we test our effect streams
Workflow para desenvolvimento Web & Mobile usando grunt.jsDavidson Fellipe
This document discusses using Grunt.js to automate workflows for mobile development. It begins by explaining why automation is useful, then discusses various task runners like Grunt, Make, Ant, etc. It focuses on Grunt, explaining how to set it up, configure it with plugins, and use tasks like Compass, Watch, Uglify, Imagemin. Finally, it shows how to integrate Grunt with PhoneGap for mobile app development. The overall document provides an introduction and guide to using Grunt.js to improve the development process.
Scala.js is a compiler that compiles Scala source code to equivalent Javascript code.
Just like regular Scala, Scala.js offers all those fantastic language features that we know and love: generic classes, type inference, traits and objects, case classes and pattern matching, etc. Scala.js is fully interoperable with JavaScript and allows seamless integration with existing JavaScript libraries.
Hi, I am Artem Sokovets and I am the Head of Automation Quality Assurance at Sberbank-Technology.
In my talk, I will tell you about the latest Java features that were introduced in JDK 9 - 13. Moreover, I will describe interesting themes from java conference – CodeOne 2019.
At the end of my talk, I will suggest you to take a java quiz and if you get the maximum score you will win a surprise from me.
This document discusses React, Flux, and Redux frameworks. It provides an overview of each:
React is a JavaScript library for building user interfaces using reusable components. It uses a virtual DOM for efficient re-rendering.
Flux is an architecture for unidirectional data flow between actions, dispatcher, stores, and views. Stores hold application state and logic. Actions describe events. The dispatcher routes actions to stores.
Redux takes cues from Flux but with a single immutable state object and pure reducer functions. It is not limited to React and allows functional programming approaches like immutable data and pure functions.
Develop your next app with kotlin @ AndroidMakersFr 2017Arnaud Giuliani
Kotlin is a fully interoperable programming language for building Android and multiplatform applications. It is statically typed, concise, and designed to interoperate seamlessly with Java. Kotlin aims to combine the best of both object-oriented and functional programming, and provides features to write safer and more concise code compared to Java, such as null safety, type inference, and extension functions. The document provides an overview of Kotlin's features and how it compares to other languages like Java and Swift, and demonstrates how to set up a Kotlin project using Gradle build system.
The document discusses crafting app interfaces. It begins with an introduction by Nathan Smith about carpal tunnel relief and slides being available online. It then discusses using Sass to expedite writing CSS which compiles down to CSS. It emphasizes using frameworks as extensions and learning the underlying languages to avoid being dependent on frameworks.
The document discusses using Java objects to generate JSON. It provides an overview of the steps involved, including setting response headers, getting the Java object result, converting it to a JSONObject using the org.json utilities, and outputting the JSONObject. Code samples are given for a servlet that performs these steps. Specifically, it shows calling a business logic method to get a Java result, converting it to a JSONObject, and printing the JSONObject to the response.
Javascript was originally released in 1995 as a scripting language for web browsers. It has since evolved significantly with new versions like ES6/ES7. Javascript is a dynamic, prototype-based language that supports object-oriented, imperative, and functional programming. It is used for both client-side development in browsers and server-side development with Node.js. New features in ES6 include classes, arrow functions, template literals, and modules. Typescript offers additional type safety but compiles to Javascript. Popular Javascript frameworks include React, Angular, and Vue. With nearly 300,000 packages, its large ecosystem and performance have made Javascript one of the most important and widely used programming languages.
This document discusses various tools and libraries for building real-time web applications, including SuperClass for simple class abstraction, SuperApp for building state-based applications, SuperModel for object-relational mapping, SuperConnect for templating and binding, SuperRPC for JSON-RPC, and Juggernaut for real-time functionality through websockets. It also briefly mentions other utilities like Sprockets for asset packaging and FileReader for reading file uploads.
This document discusses the good parts of Javascript. It argues that while Javascript has some design mistakes and inconsistencies due to its rushed creation, it is a powerful and misunderstood language. The document highlights some of Javascript's good features, including functions as first-class objects, closures, objects and prototypal inheritance, and arrays. It advocates focusing on Javascript's strengths rather than its weaknesses.
Good karma: UX Patterns and Unit Testing in Angular with KarmaExoLeaders.com
The document discusses unit testing in Angular with Karma. It provides examples of UX patterns in Angular like binding elements to variables, lists, and click handlers. It also covers what controllers and scopes are and examples of testing components in Angular like services, factories, and UI elements. Hands-on examples are provided for setting up a test environment and writing tests.
- JavaScript was developed in 1995 by Netscape and was originally called LiveScript but was renamed to JavaScript due to Java's popularity. It runs efficiently by manipulating HTML documents via the DOM.
- JavaScript has undergone standardization and various versions. It is a dynamically typed language that allows adding and removing attributes and methods from objects at runtime.
- AJAX uses JavaScript and XMLHttpRequest to make asynchronous requests to web servers in the background without interfering with the display and behavior of the existing page. This allows for asynchronous data retrieval and updating of parts of a web page.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
Hello, Is That FreeSWITCH? Then We're Coming to Check You!PVS-Studio
Following our readers' requests, we have scanned the open-source project FreeSWITCH with PVS-Studio. This project was initially founded by the developers of the Asterisk project, which we already analyzed some time ago. The FreeSWITCH project is actively developing and has a handful of interesting issues, which we will discuss in this article.
JavaScript can be used for client-side scripting to add interactivity to web pages. The client-side environment where JavaScript runs is usually a web browser. JavaScript code is transferred from the web server to the user's computer and run directly in the browser. Common uses of JavaScript include adding multimedia elements to pages, creating pages dynamically based on user input, and allowing interaction through events like clicking buttons.
The document provides an introduction to JavaScript and jQuery. It discusses what JavaScript and jQuery are, how to add them to web pages, and basic syntax and concepts for both languages. It also covers selecting elements with jQuery, attaching events to elements, and responding to events by performing actions. The document is intended to teach the basics of JavaScript and get readers started with jQuery.
The document provides an introduction to developing complex front-end applications using HTML and JavaScript. It discusses how JavaScript modules can be organized in a way that is similar to frameworks like WPF and Silverlight using simple constructs like the module pattern. It also covers asynchronous module definition (AMD) and how modules can be loaded and dependencies managed using RequireJS. The document demonstrates unit testing jQuery code and using pubsub for loose coupling between modules. Finally, it discusses how CSS compilers like SASS can make CSS authoring more productive by allowing variables, nesting and mixins.
Unit Testing RxJS streams using jasmine-marbles. The demo shows how we can create a Web Component that uses NGRX/store + NGRX/effects like workflow and how we test our effect streams
Workflow para desenvolvimento Web & Mobile usando grunt.jsDavidson Fellipe
This document discusses using Grunt.js to automate workflows for mobile development. It begins by explaining why automation is useful, then discusses various task runners like Grunt, Make, Ant, etc. It focuses on Grunt, explaining how to set it up, configure it with plugins, and use tasks like Compass, Watch, Uglify, Imagemin. Finally, it shows how to integrate Grunt with PhoneGap for mobile app development. The overall document provides an introduction and guide to using Grunt.js to improve the development process.
Scala.js is a compiler that compiles Scala source code to equivalent Javascript code.
Just like regular Scala, Scala.js offers all those fantastic language features that we know and love: generic classes, type inference, traits and objects, case classes and pattern matching, etc. Scala.js is fully interoperable with JavaScript and allows seamless integration with existing JavaScript libraries.
Hi, I am Artem Sokovets and I am the Head of Automation Quality Assurance at Sberbank-Technology.
In my talk, I will tell you about the latest Java features that were introduced in JDK 9 - 13. Moreover, I will describe interesting themes from java conference – CodeOne 2019.
At the end of my talk, I will suggest you to take a java quiz and if you get the maximum score you will win a surprise from me.
This document discusses React, Flux, and Redux frameworks. It provides an overview of each:
React is a JavaScript library for building user interfaces using reusable components. It uses a virtual DOM for efficient re-rendering.
Flux is an architecture for unidirectional data flow between actions, dispatcher, stores, and views. Stores hold application state and logic. Actions describe events. The dispatcher routes actions to stores.
Redux takes cues from Flux but with a single immutable state object and pure reducer functions. It is not limited to React and allows functional programming approaches like immutable data and pure functions.
Develop your next app with kotlin @ AndroidMakersFr 2017Arnaud Giuliani
Kotlin is a fully interoperable programming language for building Android and multiplatform applications. It is statically typed, concise, and designed to interoperate seamlessly with Java. Kotlin aims to combine the best of both object-oriented and functional programming, and provides features to write safer and more concise code compared to Java, such as null safety, type inference, and extension functions. The document provides an overview of Kotlin's features and how it compares to other languages like Java and Swift, and demonstrates how to set up a Kotlin project using Gradle build system.
The document discusses crafting app interfaces. It begins with an introduction by Nathan Smith about carpal tunnel relief and slides being available online. It then discusses using Sass to expedite writing CSS which compiles down to CSS. It emphasizes using frameworks as extensions and learning the underlying languages to avoid being dependent on frameworks.
The document discusses using Java objects to generate JSON. It provides an overview of the steps involved, including setting response headers, getting the Java object result, converting it to a JSONObject using the org.json utilities, and outputting the JSONObject. Code samples are given for a servlet that performs these steps. Specifically, it shows calling a business logic method to get a Java result, converting it to a JSONObject, and printing the JSONObject to the response.
Javascript was originally released in 1995 as a scripting language for web browsers. It has since evolved significantly with new versions like ES6/ES7. Javascript is a dynamic, prototype-based language that supports object-oriented, imperative, and functional programming. It is used for both client-side development in browsers and server-side development with Node.js. New features in ES6 include classes, arrow functions, template literals, and modules. Typescript offers additional type safety but compiles to Javascript. Popular Javascript frameworks include React, Angular, and Vue. With nearly 300,000 packages, its large ecosystem and performance have made Javascript one of the most important and widely used programming languages.
This document discusses various tools and libraries for building real-time web applications, including SuperClass for simple class abstraction, SuperApp for building state-based applications, SuperModel for object-relational mapping, SuperConnect for templating and binding, SuperRPC for JSON-RPC, and Juggernaut for real-time functionality through websockets. It also briefly mentions other utilities like Sprockets for asset packaging and FileReader for reading file uploads.
This document discusses the good parts of Javascript. It argues that while Javascript has some design mistakes and inconsistencies due to its rushed creation, it is a powerful and misunderstood language. The document highlights some of Javascript's good features, including functions as first-class objects, closures, objects and prototypal inheritance, and arrays. It advocates focusing on Javascript's strengths rather than its weaknesses.
Good karma: UX Patterns and Unit Testing in Angular with KarmaExoLeaders.com
The document discusses unit testing in Angular with Karma. It provides examples of UX patterns in Angular like binding elements to variables, lists, and click handlers. It also covers what controllers and scopes are and examples of testing components in Angular like services, factories, and UI elements. Hands-on examples are provided for setting up a test environment and writing tests.
- JavaScript was developed in 1995 by Netscape and was originally called LiveScript but was renamed to JavaScript due to Java's popularity. It runs efficiently by manipulating HTML documents via the DOM.
- JavaScript has undergone standardization and various versions. It is a dynamically typed language that allows adding and removing attributes and methods from objects at runtime.
- AJAX uses JavaScript and XMLHttpRequest to make asynchronous requests to web servers in the background without interfering with the display and behavior of the existing page. This allows for asynchronous data retrieval and updating of parts of a web page.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
4. JavaScript: FactsJavaScript: Facts
09/13/13 4
- Developed by NetScape, as LiveScript in 1995
- An interpreted programming language
(Q: what is an 'interpreted language'?)
- Interpreted by web browsers
(Q: have you ever written JS before?)
- With OO capability
(Q: is JS a sibling of Java?)
5. JavaScript: UsesJavaScript: Uses
09/13/13 5
- JS Could be integrated in HTML
(we will see how this works soon)
- HTML could be integrated in JS
(we will see how this works too!)
- Offload some computation to the user side
(Q: why bother?)
7. JS in HTML: DemoJS in HTML: Demo
09/13/13 7
<html>
<head><title>Demo</title></head>
<body>
<script language="JavaScript">
document.write('Hello World!');
</script>
</body>
</html>
script tags
actual script
8. …… and HTML in JS: Demoand HTML in JS: Demo
09/13/13 8
<html>
<head><title>Demo</title></head>
<body>
<script language="JavaScript">
document.write('<h2>Hello World!</h2>');
</script>
</body>
</html>
10. Adding two numbersAdding two numbers
09/13/13 10
<html>
<head>
<title>Addition</title>
<script type="text/javascript">
function Add()
{
var a=parseInt(document.getElementById("input1").value);
var b=parseInt(document.getElementById("input2").value);
document.getElementById("result").value=a+b;
}
</script>
</head>
13. Try it out!Try it out!
09/13/13 13
1. Reproduce the HelloWorld page
2. Write it using ’window.alert()'
3. Write a Minus page instead of Addition
4. Read the online tutorials for more advanced syntax
15. JavaScript: VariablesJavaScript: Variables
09/13/13 15
- Declare variables with the keyword var:
var varibleName;
- Assign values to variables with ‘=’:
var i = 0;
var seasLogin= “angchen”;
- Default variable value is ‘undefined’:
var age;
- Declaring multiple variables in one statement:
var i = 0, seasLogin=“angchen”,
status = “student”;
16. JavaScript: Variables (Cont’d)JavaScript: Variables (Cont’d)
09/13/13 16
- Re-declaring a variable:
var varibleName = “HelloWorld”;
var variableName;
- General rules:
(1) must begin with a letter,
(2) or with a ‘$’ or ‘_’.
(3) names are case sensitive
17. JavaScript: Data typesJavaScript: Data types
09/13/13 17
- JS has dynamic data types
var variableName; -- undefined;
var variableName = “angchen”; – quotes over strings
var variableName = 0; -- number
- Strings: inside quotes
var seasLogin = ‘angchen’; -- or equivalently:
var seasLogin= “angchen”;
- Numbers:
var age = 40; -- or equivalently:
Var age = 40.0;
18. JavaScript: Data types (Cont’d)JavaScript: Data types (Cont’d)
09/13/13 18
- Booleans:
var x = false;
var y = true;
- Arrays: indices are zero-based
var names = new Array ();
names[0] = “antonis”;
names[1] = “vishwa”;
names[2] = “ang”;
Or:
var names = new Array(“antonis”, “vishwa”, “ang”);
19. JavaScript: Data types (Cont’d)JavaScript: Data types (Cont’d)
09/13/13 19
- Objects: defined by name and value pairs
var student = {
firstname : “Ang”,
lastname : “Chen”,
seaslogin : “angchen”
};
- You can address the properties by:
name = student.lastname;
id = student[“seaslogin”];
20. JavaScript: FunctionsJavaScript: Functions
09/13/13 20
- Functions:
function foo(argument1, argument 2) {
some code;
}
- An example: an addition function with two arguments
and a return value:
function add (a, b) {
return a + b;
}
21. JavaScript: Scope of variablesJavaScript: Scope of variables
09/13/13 21
var numberCars = 3; // global
numberTrees = 15; // global
if (numberTrees > numberCars) {
var numberRoads = 4; // global
} else {
var numberLakes = 9; // global, but will be
undefined since never get in here.
}
22. JavaScript: Scope of variablesJavaScript: Scope of variables
09/13/13 22
function simpleFunction()
{
var colorCar = 'blue'; // local
colorTree = 'green'; // global, once this function
is called
if (colorCar != colorTree) {
var colorRoad = 'grey'; // local anywhere in
this function after this line
} else {
var colorLake = 'aqua'; // local, but will be
undefined since never get in here.
}
}
25. JavaScript: The ‘+’ operatorJavaScript: The ‘+’ operator
09/13/13 25
- Adding strings:
txt1 = “hello”;
txt2= “world”;
txt3= txt1 + “ ” + txt2;
- What about adding strings and numbers?
txt1 = “hello”;
x = 5;
y = txt1 + x;
- Question: what is z?
x = “5”;
y = 5;
z = x + y;
26. JavaScript: Other operatorsJavaScript: Other operators
09/13/13 26
- Logical operators:
&& : and
|| : or
! : not
- Comparison operators:
==: equal
===: exactly equal (both the type and the value)
!= : not equal
!==: not exactly equal
>: great than
>=: greater than or equal to
<: less than
<=: less than or equal to
32. JavaScript: BreakJavaScript: Break
09/13/13 32
- Break statement: breaks entire loop
while (i < 10) {
if (i ==3) {
break;
}
x ++; -- a break statement will still get us here!
}
34. JavaScript: ExceptionsJavaScript: Exceptions
09/13/13 34
- try: test a block of code for errors
- catch: actual error handling
- throw: customize your errors
try {
whatisthisfunction(“who cares?!”);
} catch (err) {
errorCnt ++;
document.write(“there is an error”);
}
35. JavaScript: Exceptions (cont’d)JavaScript: Exceptions (cont’d)
09/13/13 35
- throw:
try {
if (x == 1)
throw “x should not be 0!”;
if (isNAN(x))
throw “x is not a number!”;
} catch (err) {
errorCnt ++;
document.write(“there is an error”);
}
36. Try it out!Try it out!
09/13/13 36
Write a script that:
(1) takes one user input, say, i
(2) computes the i-th Fibonacci number
(3) prints it on the webpage
37. ResourcesResources
09/13/13 37
- Douglas Crockford’s lecture:
http://www.youtube.com/watch?v=v2ifWcnQs6M&feature=
youtu.be
- And his book:
JavaScript: The Good Parts
- Eloquent JavaScript;
http://eloquentjavascript.net
- A concise tutorial:
http://www.tutorialspoint.com/javascript/javascript_o
verview.htm