Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarApplitools
** Full webinar recording: https://youtu.be/D7vxFuwnUio **
Watch Sr. Architect Gil Tayar's special hands-on session, where he explains & demonstrates how Selenium and Cypress differ.
The session covers the following topics:
* How and why do frontend developers write tests
*Selenium architecture
*Cypress architecture
*Live Demo of Cypress - including how to write a Cypress test, and how it’s used
*How Cypress deals with flakiness
*Cypress and backdoors to development
*Visual Testing using Cypress
Talk a respeito de testes automatizados no frontend (E2E, integração, unitários e visual), dando destaque a aplicações React. A talk foca na utilização da biblioteca react-testing-library desenvolvida por Kent C. Dodds em 2018. Nela, explico o porquê de optarmos por ela, em quais casos ela melhor se aplica e dou alguns exemplos de utilização.
Cypress is an open source, front end testing tool built for modern web applications. It uses JavaScript to write automated end-to-end tests that run directly in the browser engine. Unlike Selenium which runs outside the browser, Cypress operates inside the browser to listen and modify behavior. Cypress makes testing simple through its intuitive API, fast speeds, and ability to work on any frontend framework. The document outlines Cypress' architecture, features, limitations, installation process, project structure, and how to write tests using constructs like describe, it, before, and assertions.
Real World AngularJS recipes: beyond TodoMVCCarlo Bonamico
This document summarizes a presentation on best practices for developing real world applications with AngularJS. It discusses topics like modularizing the app using modules, organizing source code into features, writing small focused controllers, using services for collaboration between controllers, when to use directives, authentication and authorization, logging, packaging for different environments, and testing Angular apps. References and resources are also provided.
PHP - Programming language war, does it matterMizno Kruge
Slide for Software Architect Indonesia Community (SARCCOM) meetup 26th August 2017 at Microsoft Indonesia
https://www.meetup.com/Software-Architect-Indonesia/events/242334607/
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarApplitools
** Full webinar recording: https://youtu.be/D7vxFuwnUio **
Watch Sr. Architect Gil Tayar's special hands-on session, where he explains & demonstrates how Selenium and Cypress differ.
The session covers the following topics:
* How and why do frontend developers write tests
*Selenium architecture
*Cypress architecture
*Live Demo of Cypress - including how to write a Cypress test, and how it’s used
*How Cypress deals with flakiness
*Cypress and backdoors to development
*Visual Testing using Cypress
Talk a respeito de testes automatizados no frontend (E2E, integração, unitários e visual), dando destaque a aplicações React. A talk foca na utilização da biblioteca react-testing-library desenvolvida por Kent C. Dodds em 2018. Nela, explico o porquê de optarmos por ela, em quais casos ela melhor se aplica e dou alguns exemplos de utilização.
Cypress is an open source, front end testing tool built for modern web applications. It uses JavaScript to write automated end-to-end tests that run directly in the browser engine. Unlike Selenium which runs outside the browser, Cypress operates inside the browser to listen and modify behavior. Cypress makes testing simple through its intuitive API, fast speeds, and ability to work on any frontend framework. The document outlines Cypress' architecture, features, limitations, installation process, project structure, and how to write tests using constructs like describe, it, before, and assertions.
Real World AngularJS recipes: beyond TodoMVCCarlo Bonamico
This document summarizes a presentation on best practices for developing real world applications with AngularJS. It discusses topics like modularizing the app using modules, organizing source code into features, writing small focused controllers, using services for collaboration between controllers, when to use directives, authentication and authorization, logging, packaging for different environments, and testing Angular apps. References and resources are also provided.
PHP - Programming language war, does it matterMizno Kruge
Slide for Software Architect Indonesia Community (SARCCOM) meetup 26th August 2017 at Microsoft Indonesia
https://www.meetup.com/Software-Architect-Indonesia/events/242334607/
The document introduces React Native, which allows building mobile apps using React. It discusses why React Native brings the best of native and web development by allowing use of React to build native mobile apps. Key topics covered include installing React Native, its components, styling, layout system, and debugging. The presenter aims to provide an overview of React Native and take attendees through a code sample.
Robot Framework - Lord of the Rings
Introduction to the Robot Framework for Acceptance Test automation, and hands on examples, highlighting the key features. To catch the demo's, drop me a note at my email id.
Progressive Web App Testing With Cypress.ioKnoldus Inc.
Cypress.io is a frontend automation testing tool built for modern web applications developed on some of the emerging technologies like Reactjs, Ionic, Vue, and Angular.
Cypress is a test automation tool that can perform fast, easy and reliable testing for anything that runs in a browser.
Automated Testing with Cucumber, PhantomJS and SeleniumDev9Com
The document discusses Behavior Driven Development (BDD) using Cucumber, Selenium, and PhantomJS. Cucumber uses a natural language syntax called Gherkin to write automated acceptance tests. Selenium is used to automate interactions with a web browser, while PhantomJS allows running those tests headlessly on a CI server without requiring a graphical browser. The example project demonstrates how Cucumber features written by PMs/BAs can be linked to Selenium step definitions to test a web application.
Introduction to Integration Testing With CypressErez Cohen
A quick overview over Cypress, a front end testing library, going over the motivation to incorporate it for integration tests and some best practices of how to use it.
This document discusses the webdriver.io framework for automated browser testing. The author needed a framework for blackbox testing of a web interface like a user would. Webdriver.io provides JavaScript bindings for Selenium that allow writing tests in a synchronous style using the browser object. Tests can run across multiple browsers and platforms. The framework is easy to set up and use, supports plugins, and allows custom commands. Under the hood, it communicates with Selenium using the WebDriver protocol to automate actual browsers.
Google App Engine is Google's Platform as a Service that allows users to run scalable web applications on Google's infrastructure. Written in Java or Python, apps run in a managed sandbox and use Google's non-relational Datastore and other services. Key features include automatic scaling, high availability, easy setup, and a free usage tier.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It adds static typing and structuring mechanisms like classes, interfaces, and modules to JavaScript to help catch errors and provide better documentation for large scale JavaScript application development. Some key features of TypeScript include optional static types for functions and variables, classes with inheritance and static methods, interfaces, modules, generics, and type inference.
The document discusses React Native for Android. It covers topics like React Native, JavaScript environment, ES6 syntax, JSX syntax, Node.js/NPM, React, rendering, debugging, running demos, delivering packages, examples, performance considerations, and what can be learned from building cross-platform mobile apps with React Native. Building native mobile apps for both iOS and Android from the same codebase allows shipping updates faster and reusing code, though it also has challenges to overcome.
Acceptance Test Driven Development and Robot FrameworkSteve Zhang
This presentation is about using Robot Framework automation test framework to implement Acceptance Test Driven Development, BDD or Specification By Example
This document provides an introduction to Robot Framework, an open source test automation framework for acceptance testing. It discusses Robot Framework's architecture, installation process, test structure, standard and external libraries, Selenium keywords, and provides a demo of creating a simple test case with Robot Framework.
This document discusses testing React JS applications with tools like Mocha, Enzyme, and Webdriver.io. It covers why writing tests is important, provides examples of unit testing React components with Enzyme, and discusses how to do functional and integration testing with Webdriver.io. The document demonstrates testing architectures, common testing patterns like page objects, and concludes that frontend tests are important and not too costly to implement.
The document provides tips for developing automated tests for the Boot to Gecko (B2G) mobile operating system. It outlines components of B2G like the emulator and build environment. It demonstrates starting the emulator, sending commands, and debugging. An existing WebAPI test is code walked through and run in the emulator. Participants are instructed to develop a new automated WebAPI test for B2G using Marionette that runs in the emulator. Contact information is provided for those interested in contributing.
The document describes a mobile product engineering team that is building a solution for last-minute hotel booking. The team consists of various roles including product designers, Android and iOS developers, backend developers, and QA testers. The engineering practices emphasize agile methodology, continuous integration and deployment, use of best tools and technologies, and data-driven development.
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...OdessaJS Conf
The document discusses various approaches for performing contract protection on the frontend side such as integration testing, law-driven contract testing, consumer-driven contract testing, and runtime checking. It then focuses on runtime checking, explaining what it is and how it can add an extra step to quality assurance by allowing integration errors to be responded to in real time. Details are provided on Oleksii Pavlenko who is an engineering manager, PhD holder, and former professional basketball player with interests in surfing, snowboarding, and other boardsports.
The Hotstar web team attended JSFoo 2017 conference. Here are some of the key takeaways. Some of the technologies excited us and some we believe have a business impact.
This document discusses migrating from AngularJS to Angular while maintaining support for legacy AngularJS code and routes. It covers using UI-Router for routing in a hybrid app, the ngUpgrade module for integrating Angular and AngularJS components, and a sample app that demonstrates how to migrate routes, components, and connect the two frameworks. Key steps in the migration include preparing the AngularJS app, configuring UI-Router, bootstrapping both frameworks, and using ngUpgrade to share components between the frameworks.
This document provides an overview of Protractor, an end-to-end test framework for AngularJS applications. It discusses prerequisites for setting up Protractor, including installing Node.js and Java. Steps are outlined for configuring Protractor, writing a first test, and running tests. Code examples are also shown for interacting with Angular elements in tests using Protractor capabilities. The document aims to demonstrate the basics of Protractor through a simple todo application example and code snippets.
JavaScript was created in 1995 by Brendan Eich to add interactivity to web pages. It was originally called LiveScript but was renamed JavaScript. Microsoft later adopted JavaScript causing implementation differences between browsers that frustrated developers. JavaScript was standardized as ECMAScript to unify implementations. Over time, JavaScript has expanded beyond browsers with Node.js allowing it to be used server-side and TypeScript adding optional static typing.
Our favorite language is now powering everything from event-driven servers to robots to Git clients to 3D games. The JavaScript package ecosystem has quickly outpaced past that of most other languages, allowing our vibrant community to showcase their talent. The front-end framework war has been taken to the next level, with heavy-hitters like Ember and Angular ushering in the new generation of long-lived, component-based web apps. The extensible web movement, spearheaded by the newly-reformed W3C Technical Architecture Group, has promised to place JavaScript squarely at the foundation of the web platform. Now, the language improvements of ES6 are slowly but surely making their way into the mainstream— witness the recent interest in using generators for async programming. And all the while, whispers of ES7 features are starting to circulate…
JavaScript has grown up. Now it's time to see how far it can go.
The document introduces React Native, which allows building mobile apps using React. It discusses why React Native brings the best of native and web development by allowing use of React to build native mobile apps. Key topics covered include installing React Native, its components, styling, layout system, and debugging. The presenter aims to provide an overview of React Native and take attendees through a code sample.
Robot Framework - Lord of the Rings
Introduction to the Robot Framework for Acceptance Test automation, and hands on examples, highlighting the key features. To catch the demo's, drop me a note at my email id.
Progressive Web App Testing With Cypress.ioKnoldus Inc.
Cypress.io is a frontend automation testing tool built for modern web applications developed on some of the emerging technologies like Reactjs, Ionic, Vue, and Angular.
Cypress is a test automation tool that can perform fast, easy and reliable testing for anything that runs in a browser.
Automated Testing with Cucumber, PhantomJS and SeleniumDev9Com
The document discusses Behavior Driven Development (BDD) using Cucumber, Selenium, and PhantomJS. Cucumber uses a natural language syntax called Gherkin to write automated acceptance tests. Selenium is used to automate interactions with a web browser, while PhantomJS allows running those tests headlessly on a CI server without requiring a graphical browser. The example project demonstrates how Cucumber features written by PMs/BAs can be linked to Selenium step definitions to test a web application.
Introduction to Integration Testing With CypressErez Cohen
A quick overview over Cypress, a front end testing library, going over the motivation to incorporate it for integration tests and some best practices of how to use it.
This document discusses the webdriver.io framework for automated browser testing. The author needed a framework for blackbox testing of a web interface like a user would. Webdriver.io provides JavaScript bindings for Selenium that allow writing tests in a synchronous style using the browser object. Tests can run across multiple browsers and platforms. The framework is easy to set up and use, supports plugins, and allows custom commands. Under the hood, it communicates with Selenium using the WebDriver protocol to automate actual browsers.
Google App Engine is Google's Platform as a Service that allows users to run scalable web applications on Google's infrastructure. Written in Java or Python, apps run in a managed sandbox and use Google's non-relational Datastore and other services. Key features include automatic scaling, high availability, easy setup, and a free usage tier.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It adds static typing and structuring mechanisms like classes, interfaces, and modules to JavaScript to help catch errors and provide better documentation for large scale JavaScript application development. Some key features of TypeScript include optional static types for functions and variables, classes with inheritance and static methods, interfaces, modules, generics, and type inference.
The document discusses React Native for Android. It covers topics like React Native, JavaScript environment, ES6 syntax, JSX syntax, Node.js/NPM, React, rendering, debugging, running demos, delivering packages, examples, performance considerations, and what can be learned from building cross-platform mobile apps with React Native. Building native mobile apps for both iOS and Android from the same codebase allows shipping updates faster and reusing code, though it also has challenges to overcome.
Acceptance Test Driven Development and Robot FrameworkSteve Zhang
This presentation is about using Robot Framework automation test framework to implement Acceptance Test Driven Development, BDD or Specification By Example
This document provides an introduction to Robot Framework, an open source test automation framework for acceptance testing. It discusses Robot Framework's architecture, installation process, test structure, standard and external libraries, Selenium keywords, and provides a demo of creating a simple test case with Robot Framework.
This document discusses testing React JS applications with tools like Mocha, Enzyme, and Webdriver.io. It covers why writing tests is important, provides examples of unit testing React components with Enzyme, and discusses how to do functional and integration testing with Webdriver.io. The document demonstrates testing architectures, common testing patterns like page objects, and concludes that frontend tests are important and not too costly to implement.
The document provides tips for developing automated tests for the Boot to Gecko (B2G) mobile operating system. It outlines components of B2G like the emulator and build environment. It demonstrates starting the emulator, sending commands, and debugging. An existing WebAPI test is code walked through and run in the emulator. Participants are instructed to develop a new automated WebAPI test for B2G using Marionette that runs in the emulator. Contact information is provided for those interested in contributing.
The document describes a mobile product engineering team that is building a solution for last-minute hotel booking. The team consists of various roles including product designers, Android and iOS developers, backend developers, and QA testers. The engineering practices emphasize agile methodology, continuous integration and deployment, use of best tools and technologies, and data-driven development.
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...OdessaJS Conf
The document discusses various approaches for performing contract protection on the frontend side such as integration testing, law-driven contract testing, consumer-driven contract testing, and runtime checking. It then focuses on runtime checking, explaining what it is and how it can add an extra step to quality assurance by allowing integration errors to be responded to in real time. Details are provided on Oleksii Pavlenko who is an engineering manager, PhD holder, and former professional basketball player with interests in surfing, snowboarding, and other boardsports.
The Hotstar web team attended JSFoo 2017 conference. Here are some of the key takeaways. Some of the technologies excited us and some we believe have a business impact.
This document discusses migrating from AngularJS to Angular while maintaining support for legacy AngularJS code and routes. It covers using UI-Router for routing in a hybrid app, the ngUpgrade module for integrating Angular and AngularJS components, and a sample app that demonstrates how to migrate routes, components, and connect the two frameworks. Key steps in the migration include preparing the AngularJS app, configuring UI-Router, bootstrapping both frameworks, and using ngUpgrade to share components between the frameworks.
This document provides an overview of Protractor, an end-to-end test framework for AngularJS applications. It discusses prerequisites for setting up Protractor, including installing Node.js and Java. Steps are outlined for configuring Protractor, writing a first test, and running tests. Code examples are also shown for interacting with Angular elements in tests using Protractor capabilities. The document aims to demonstrate the basics of Protractor through a simple todo application example and code snippets.
JavaScript was created in 1995 by Brendan Eich to add interactivity to web pages. It was originally called LiveScript but was renamed JavaScript. Microsoft later adopted JavaScript causing implementation differences between browsers that frustrated developers. JavaScript was standardized as ECMAScript to unify implementations. Over time, JavaScript has expanded beyond browsers with Node.js allowing it to be used server-side and TypeScript adding optional static typing.
Our favorite language is now powering everything from event-driven servers to robots to Git clients to 3D games. The JavaScript package ecosystem has quickly outpaced past that of most other languages, allowing our vibrant community to showcase their talent. The front-end framework war has been taken to the next level, with heavy-hitters like Ember and Angular ushering in the new generation of long-lived, component-based web apps. The extensible web movement, spearheaded by the newly-reformed W3C Technical Architecture Group, has promised to place JavaScript squarely at the foundation of the web platform. Now, the language improvements of ES6 are slowly but surely making their way into the mainstream— witness the recent interest in using generators for async programming. And all the while, whispers of ES7 features are starting to circulate…
JavaScript has grown up. Now it's time to see how far it can go.
A guided tour of some of the cool new features coming to the next version of Javascript! We'll take a look at generators, classes & modules and how they'll help your JavaScript development. We'll also take a look at current browser support and how to use transpilers to start using these features today.
AngularJS is an open-source JavaScript framework for building dynamic web applications and sites. It was created in 2009 by Misko Hevery and Adam Abrons to address issues with declarative programming and user interfaces. Some key features of AngularJS include directives that extend HTML, two-way data binding, filters, forms, and animations. It uses dependency injection for managing application components. AngularJS aims to simplify application development by providing tools and capabilities for common tasks like validation, routing, and data binding.
This document provides an outline for a course on fundamental Java programming. The outline includes 8 modules that cover topics like introduction to Java, basic programming, object-oriented programming, file input/output, networking, and threading. The document also provides background information on Java history, principles, platforms, and the HotSpot Java Virtual Machine. It discusses Java's development from 1995 to present and goals of being simple, secure, portable, high-performance and dynamic.
This document summarizes an introduction to TypeScript presentation. It includes an agenda that covers what TypeScript is, why it should be used, code walkthroughs, an example, and debugging TypeScript. It also provides setup steps and resources for learning more about TypeScript.
The document discusses the 7th generation of Java (Java SE 7) including its history and key features. Some of the main points covered include:
- Java SE 7 was released in July 2011 and included new features like strings in switch statements, binary literals, multi-catch exceptions, and try-with-resources statements.
- It also focused on improving dynamic language support with JSR 292 and the invokedynamic bytecode, as well as various concurrency and collections updates.
- Other additions included further enhancements to I/O with the NIO.2 APIs, security updates, and internationalization improvements.
Road to sbt 1.0: Paved with server (2015 Amsterdam)Eugene Yokota
The document provides a history of build tools and a roadmap for sbt 1.0. It discusses modularizing sbt into components to improve stability and introduce an sbt server for centralized build execution. The sbt server design allows clients to connect as events, handle input, and run background jobs. Existing plugins can try the sbt server APIs without breaking functionality. The roadmap includes improving interaction, meta-projects, and killing bad states to complete the sbt server.
The document discusses the history of build tools and outlines a roadmap for sbt 1.0 focused on stability and modularization. It introduces sbt-server as a way to centralize build tasks and allow multiple clients to interact with the build. Key points of the sbt-server design include running tasks in a centralized queue, handling reconnects, using a versioned protocol for communication, and supporting background jobs and input. The document also discusses bringing existing sbt plugins onto sbt-server without breaking functionality.
This document provides an introduction to JavaScript and Node.js. It discusses the evolution of JavaScript from its creation in 1995 to modern standards like ECMAScript 5. Node.js was created in 2009 as a platform to run JavaScript code outside of browsers using an event-driven, non-blocking I/O model. Popular JavaScript engines include V8, SpiderMonkey, and JavaScriptCore. Node.js allows building fast, scalable network applications using a single programming language across client and server environments.
LuaEclipse is an integrated development environment built on the Eclipse platform for Lua development. It originated in 2003 and has gone through several versions to improve integration with Eclipse and Lua tools. Version 1.3.1 provided features like code highlighting, completion, debugging and profiling support. Version 2.0 aimed to better integrate with Eclipse using the DLTK framework and have parsers and features written in Lua. Future expectations are to enhance productivity and the Lua community.
1) The document summarizes the author's experience at JavaOne 2009, noting over 15,000 attendees from 43 countries and 389 sessions over 4 days.
2) Key announcements included new versions of JavaFX, GlassFish, NetBeans, and the Java EE 6 roadmap. Java FX 1.2 added support for desktop, TV, and phones.
3) The JavaOne keynotes highlighted projects like modularity in JDK 7 and the Java language roadmap, and promoted tools like Kenai for collaboration and Hudson for continuous integration.
1) The document discusses the history and development of the Java programming language, created by James Gosling at Sun Microsystems in the 1990s as an alternative to C++.
2) Java is an object-oriented language that is platform independent, allowing code to run on any device with a Java Virtual Machine (JVM). It has features like automatic memory management, security, and multithreading capabilities.
3) The document outlines the different editions of Java including Java SE for desktops, Java EE for enterprise applications, and Java ME for mobile devices. It also provides instructions on how to set up a Java development environment and write simple Java programs.
An Introduction to the world of Javascript and NodeJS. The presentation captures Javascript's history, its evolution and its progression towards a language for an end-to-end development.
Past, present, and future of web assembly - Devfest Nantes 2017Alexandre Morgaut
The Web Assembly innovation is now supported by all modern browsers. Some people see in it a way to develop on the web without JavaScript while others are quite excited by the performance promise.To better understand what this technology is about, I invite to a journey from its origins to the present and will propose you a vision of concrete impacts it can have in the very next years.
This document provides an overview and summary of a Node.js workshop presented by Tom Hughes-Croucher. The workshop covers:
1. Why use server-side JavaScript and how Node.js enables this through its event-driven and non-blocking architecture.
2. An introduction to Node.js, including how to install Node.js and build basic HTTP servers.
3. More advanced Node.js topics like modules, events, streams, debugging, and popular frameworks like Express.js.
4. Exercises are provided to help attendees get hands-on experience building Node.js applications.
Node.js is a JavaScript runtime built on Chrome's V8 engine that allows JavaScript to run on the server side. It is popular for building web servers and APIs due to its asynchronous and event-driven nature which allows non-blocking I/O operations. This allows Node.js to handle many concurrent connections efficiently using a single-threaded model. While both Node.js and browsers use JavaScript, they have different ecosystems - Node.js provides access to the filesystem and requires no DOM while browsers provide the DOM and other web APIs but have limited filesystem access. The V8 engine powers both Node.js and Chrome and is continuously optimized for performance. Node.js supports the latest ECMAScript standards without needing to wait for
Node.js is a JavaScript runtime built on Chrome's V8 engine that allows JavaScript to run on the server side. It is popular for building web servers and networking applications. The document provides an overview of Node.js, how to install it, differences from the browser, the V8 engine, an example app, and an introduction to NPM - the package manager for Node.js projects. NPM is used to install dependencies, update packages, and define scripts to run tasks like building assets or starting servers.
These slides are from a workshop I taught in April 2016 to a group from INTERalliance (http://interalliance.org/).
The code examples can be found here:
- https://github.com/andrewlively/crm
- https://github.com/andrewlively/Node.js-Presentation-Examples
Similar to A walkthrough of JavaScript ES6 features (20)
The document provides an overview of key IT terms related to software development. It discusses various team structures, roles, technical stacks, software development processes and methodologies, programming languages, frameworks, software layers, design patterns, mobile applications, cloud service providers, databases, testing, DevOps, product prototyping, design, code repositories, and common tech acronyms used in IT.
IT Recruiter's Mind Maps - Booklet PreviewMichal Juhas
The document provides an overview of various IT roles and technologies for software developers. It includes mind maps of the IT landscape categorized by roles like software development, data and business intelligence, design, and more. Each role has a detailed description. Additionally, it covers topics like the software development lifecycle, programming languages, frameworks, databases, and cloud computing fundamentals.
Three Secret Ingredients To Recruiting Software DevelopersMichal Juhas
The document outlines three secrets to recruiting software developers: 1) Focus job descriptions on elements developers like to discuss such as role, business-developer match, and teaser; 2) Use confusing IT terms to demonstrate knowledge in the field; 3) Attract developers with a simple yet powerful phrase that fills in the blanks to watch conversions increase. It then discusses in more detail how to write better job descriptions and role advertisements, understand confusing IT roles through mind-mapping, and use templates to attract candidates. The document promotes an IT fundamentals course to help recruiters interact with developers confidently.
Michal Juhas is the CEO of EdTech Labs Europe and has over 10 years of experience as a software developer, IT consultant, CTO and startup founder. In his 20s, he wishes he knew to optimize for growth rather than money, avoid golden handcuffs, spend time wisely, develop self-discipline, follow his passion and work in his field of interest, build relationships, focus on values, abilities and skills, establish a personal brand, and focus on global challenges rather than just personal interests. He is now on a mission to upskill a million people through his work with EdTech Labs and other organizations.
Adaptive Upskill As The Future Of The WorkforceMichal Juhas
This document discusses the future of the workforce and the need for adaptive upskilling. It notes that exponential technologies are changing jobs rapidly and that by 2020 over 40% of the US workforce will consist of freelance workers. The nature and lifespan of jobs is changing, requiring lifelong learning and serial careers. It advocates for adaptive upskilling that is personalized and delivered through micro-learning, gamification, video content and collective learning experiences like online academies and bootcamps. The key takeaway is that companies and individuals must upskill continuously to prepare for jobs of the future.
Introducing PlanetQuest on the TechsSmmit 2018Michal Juhas
Presentation for the TechSummit 2018 Startup competition in Bratislava. Introducing a new product & platform to help teachers organize after-school courses.
The document discusses trends in the metasearch industry and their implications. It notes that TripAdvisor has more visitors than other metasearch sites combined and that integrating with major metasearch sites provides hotels with significant exposure and traffic. However, it also asserts that price is the most important factor for consumers and that the metasearch landscape is increasingly commoditizing hotel rooms. The document outlines several ways metasearch sites may improve customer experience, such as voice booking, personalized search results, and inclusion of alternative lodging options. It also explores how automation and mobile usage are changing bidding and monetization on metasearch platforms.
The document discusses HotelQuickly's approach to testing apps which includes using git flow, pull requests, code quality tools, unit tests, integration tests, and continuous integration. It provides details on sample app models, initializing an app with Express.js, finding offers with MySQL and Knex, dockerizing the app, adding test modules like Mocha and Should, implementing code quality with ESLint, booking hotels with custom errors, adding unit tests with Sinon and Proxyquire, and running integration tests and continuous integration with Docker Compose and Travis.
Meetup slides (2nd part) from a meetup which happened @ HotelQuickly on Dec 2, 2015.
http://www.meetup.com/BKK-Developers-and-Tech-lovers/events/226832091/
This document summarizes a talk given by "Jim" on becoming more productive as an Android developer at HotelQuickly. The talk discusses how IDE tools can save time through refactoring and code assistance, how custom components allow for greater control and solving specific problems, and how code review and CI integration help prevent bugs and ensure code quality. The document provides examples of tools and processes used at HotelQuickly to improve productivity for Android development.
This document provides iOS development best practices and recommendations for tools, patterns, and processes. It recommends Xcode as the IDE and tools like Postman, Charles, and Wireshark for API testing. For automation, it suggests Automator and Fastlane. Patterns like facade, singleton, and MVC are described. It emphasizes planning, user stories, and iteration in agile development. Comments, verbose names, prototypes and unit testing are advised. Organization with Git and pairing are also recommended.
Building Scalable Micro-services with NodejsMichal Juhas
Node.js is well-suited for building scalable micro-services as it allows for building single-threaded and event-driven applications. Micro-services break up monolithic functionality into smaller, independently scalable services that communicate through APIs. While micro-services improve scalability, they also multiply lower-level design problems across codebases. Async libraries help flatten asynchronous code and handle promises to deal with asynchronous I/O in a scalable way. Process managers like pm2 allow scaling node.js micro-services across clusters.
Lessons Learnt from Backend Systems DevelopmentMichal Juhas
Slides from our presentation about the Lessons Learnt.
See more about the event on Meetup.com
www.meetup.com/BKK-Developers-and-Tech-lovers/events/222069625/
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
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.
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.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
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.
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
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).
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
SAP S/4 HANA sourcing and procurement to Public cloud
A walkthrough of JavaScript ES6 features
1. ECMAScript 6 Features
(and some JavaScript background)
Conny Brunnkvist (@connyb), developer at HotelQuickly
2. Eck!?
ECMA is the European Computer Manufacturer's Association.
ECMAScript is formally governed by a technical committee
- ES/JS (used interchangeably) is NOT part of W3C
- Many implementations: Google V8, Mozilla SpiderMonkey, Microsoft Chakra,
WebKit JSCore, etc...
3. JS History
- A language is originally created by Brendan Eich
- Originally Mocha, became LiveScript, later renamed JavaScript
- Standards track initiated 1996 by Netscape
4. - Assigned specification name: ECMA-262
- Formed technical committee: TC-39
- Language documented as “ECMAScript” due to of trademark issues
JS History
5. JS History
Since the start, and up until today:
ECMAScript ===
JavaScript
...at least in speech ;-)
6. Dec 1999, ES3: what most of us traditionally expect when we see ”JavaScript”
Abandoned Jul 2008, ES3.1 & ES4: following a very long ongoing disagreement in the committee about
the scope of changes
Dec 2009, ES5: designed as an incremental update. Most notable feature: ”strict mode”;
Jun 2011, ES5.1: maintenance release covering adopted by the ISO
~2013, ES.next: ”harmonized” turned out too ambitious, features split into two groups: ”likely” and “less
prioritized”
Jun 2015, ES6: “ES-2015” draft finally finished, standard published as ”ECMAScript 6”.
(now, ES7: Still WIP!)
7. Dec 1999, ES3: what most of us traditionally expect when we see ”JavaScript”
Abandoned Jul 2008, ES3.1 & ES4: following a very long ongoing disagreement in the committee about
the scope of changes
Dec 2009, ES5: designed as an incremental update. Most notable feature: ”strict mode”;
Jun 2011, ES5.1: maintenance release covering adopted by the ISO
~2013, ES.next: ”harmonized” turned out too ambitious, features split into two groups: ”likely” and “less
prioritized”
Jun 2015, ES6: “ES-2015” draft finally finished, standard published as ”ECMAScript 6”.
(now, ES7: Still WIP!)
Dec 1995, Netscape Enterprise Server used server-side JavaScript
Dec 1996, Microsoft IIS enabled JScript server-side scripting
~~~
2008-2009, Initial start on a V8-powered server by Ryan Dahl (at Joyent)
2009, Project renamed ”Node” and later presented to the public
Dec 2014, io.js was forked ...
May 2015, io.js and Node.js both voted to merge again)
8. ECMAScript 6 vs ECMAScript Harmony
What is the difference here!?
- ES5 -> ES6 process took years
- It’s all flags in Google V8
9. Harmony in Node.js
Enabling “standard” harmony mode in node 0.6.x in 2011:
- node --harmony_typeof --harmony_block_scoping --harmony_proxies --harmony_weakmaps
In node 0.7.x:
- node --harmony
10. “Recent” changes to Node.js version numbers
- io.js @ 3.x
- Node.js @ 0.12.x
MERGED = Node.js release 4.0.0 a.k.a. “the new 1.0.0!”
11. All shipping features, which V8 considers stable, are turned on by default on Node.js and do NOT
require any kind of runtime flag.
Staged features, which are almost-completed features that are not considered stable by the V8 team,
require a runtime flag: --es_staging (or its synonym, --harmony).
In progress features can be activated individually by their respective harmony flag (e.g. --
harmony_destructuring), although this is highly discouraged unless for testing purposes.
(Complete answer: Check with node --v8-options !!!)
But what is in Node.js now?
13. Further information about language featurs can be found at:
● ECMAScript 6 features:
https://github.com/lukehoban/es6features
http://es6-features.org/
● Current ECMAScript 6 features in Node.js:
https://nodejs.org/en/docs/es6/
Thank you for
watching,
lets hack the REPL!
Editor's Notes
I work on the node team
former system admin,
former process coach,
former technical trainer,
former mobile app developer,
now just member of the node team at HQ
an international standards body (think W3C)
Brendan Eich at Mozilla
renamed JavaScript because Java was cool and “Web!” at that time
During its heyday in 1996 Netscape presented JavaScript to Ecma International to start tracking it as a standard.
The official specification became know as ECMA-262 and a technical committee (TC-39) was formed. In their documents the language was called ”ECMAScript” for the simple reason that Sun Microsystems (now Oracle) had trademarked the name JavaScript already; at the same time and for the same reason, Microsoft chose to call their implementation JScript.
For all practical reasons, the names have become interchangeable, but…
ES3.1 ES4 dispute kicked off the effort of ”harmonizing features” for the ES-next draft
ES5 larger in scope than ES3.1 but smaller than what was in ES4
ES5.1 technical and editorial corrections - needed for
ES.next even the ”harmonized” features became too ambitious. Harmony was split into two groups: the ones ”quite likely” to be part of an updated ES5 standard, and then the more experimental or less prioritized features from the original Harmony spec.
ES7 let’s pretend we never heard of it
1996 as part of NT4 Service Pack 2 u remember? :)
a server named “server”
presented as Node.js at to the public at a conference
project grew
iojs was forked partly as a means of making use of harmony mode features by default as well as upgrading V8 plus a bunch of other additions that at the time were marked ”unstable” in what was then node 0.11.x)
node (under new governance structure) and io.js projects were voted to merge codebases again closing the circle
so what IS the difference between ECMAScript 6 and ECMAScript Harmony?
it’s all about which flags are turned on in the underlying
Because the timeline from ES5 to ES6 was almost four years, many proposals were taken into consideration and many were starting to become experimentally incorporated into e.g. V8 and SpiderMonkey.
In order to start aligning which of the features of the draft (”ES-next”; the WIP) that developers could expect to be enabled in any implementation, a step measure was decided on in the form of ”harmony” mode.
Originally a set of build- and runtime-flags that enabled various features already in the underlying V8. Where ES-Harmony stood in 2011, node 0.6.x ”only” required `node --harmony_typeof --harmony_block_scoping --harmony_proxies --harmony_weakmaps`.
At the release of node 0.7.x the single ”node --harmony file.js” flag was introduced.
io.js was at v3.x and Node.js at v0.12.x -> merged into the 4.0.0 release.
Conceptually considered ”the new 1.0.0” of the new merged io.js/Node.js codebases.
Bold ones = in my version of node, without flags!!
Which ones will you use in your team on your project?!