ES6 is coming and it’s chock-full of really amazing features. PayPal recently started adopting certain ES6 features and Jamund will show what parts of the language they are using, how they are able to use it today and the performance impact.
PhoneGap: Local Storage
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!Guilherme Carreiro
O JavaScript não escapa da polêmica sobre qualidade de código. Descubra nessa palestra como identificar bad smells que ameaçam a integridade do front-end e aprenda a melhorar seu código usando design patterns e orientação a objetos avançada em JavaScript. Veja através de exemplos práticos as evoluções da API da linguagem com o ECMAScript 6 e como é possível começar a adotar práticas do futuro.
This presentation will starts with an Introduction to object-oriented programming. And presentation main objective is to create javascript object and parse it in different way.
boost::multi_index is unappreciated programming tool, which can be used in multiple different and diverse scenarios. this presentation shows what it is, why it was created, and how to use it.
PhoneGap: Local Storage
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!Guilherme Carreiro
O JavaScript não escapa da polêmica sobre qualidade de código. Descubra nessa palestra como identificar bad smells que ameaçam a integridade do front-end e aprenda a melhorar seu código usando design patterns e orientação a objetos avançada em JavaScript. Veja através de exemplos práticos as evoluções da API da linguagem com o ECMAScript 6 e como é possível começar a adotar práticas do futuro.
This presentation will starts with an Introduction to object-oriented programming. And presentation main objective is to create javascript object and parse it in different way.
boost::multi_index is unappreciated programming tool, which can be used in multiple different and diverse scenarios. this presentation shows what it is, why it was created, and how to use it.
Your code sucks, let's fix it - DPC UnConRafael Dohms
How do you measure the quality of your code? Performance and testing are just one aspect of code, in order to meet deadlines and make maintenance quicker you also need your code to be readable, decoupled and generally easier to comprehend and work with. This talk will go over tips and exercises to help you identify trouble areas, refactor them and train you to write better code in future projects. Come make your code look and function better.
jQuery is drawing newcomers to JavaSCript in droves. As a community, we have an obligation -- and it is in our interest -- to help these newcomers understand where jQuery ends and JavaScript begins.
Identity in the Future of Embeddables & WearablesJonathan LeBlanc
The audio recording of this talk is available at https://archive.org/details/identity_wearables_embeddables
Ways of identifying a person to the technology around them is shifting from antiquated external body definitions, to internal body functions. In this session, we'll explore how the technology behind this embeddable and wearable movement works, exploring vein recognition biometrics, heartbeat identification, and going into embeddable body modifications as sources of identification.
Your code sucks, let's fix it - DPC UnConRafael Dohms
How do you measure the quality of your code? Performance and testing are just one aspect of code, in order to meet deadlines and make maintenance quicker you also need your code to be readable, decoupled and generally easier to comprehend and work with. This talk will go over tips and exercises to help you identify trouble areas, refactor them and train you to write better code in future projects. Come make your code look and function better.
jQuery is drawing newcomers to JavaSCript in droves. As a community, we have an obligation -- and it is in our interest -- to help these newcomers understand where jQuery ends and JavaScript begins.
Identity in the Future of Embeddables & WearablesJonathan LeBlanc
The audio recording of this talk is available at https://archive.org/details/identity_wearables_embeddables
Ways of identifying a person to the technology around them is shifting from antiquated external body definitions, to internal body functions. In this session, we'll explore how the technology behind this embeddable and wearable movement works, exploring vein recognition biometrics, heartbeat identification, and going into embeddable body modifications as sources of identification.
In a world where technology is transforming with mobile devices and wearables, its key to have a solid security backbone. From having a strong password to using biometrics, companies are finding ways to help consumers protect themselves without impacting the experience. We'll take a look at the current landscape of passwords, the importance of proper systems and how we can use wearables and mobile devices to build trust systems.
The audio for this presentation is available at https://archive.org/details/future_of_using_money
The lines between online and office commerce have completely blurred into a new age of connected commerce, and mobile technologies have risen to become the central point of that digital revolution. These changes in the mindset behind how we shop have simplified entrepreneurship within the physical space, and have streamlined the digital world to the point where the wallet is a dying necessity. In this session, we will delve into the technology that is driving the new age of commerce, and how new architectural models for buying and selling are becoming the new standard, including:
- The specifications behind how bluetooth low energy (BLE) technology is being used to create on-demand popup shops, facilitating commerce between any bluetooth connected devices.
- How open identity technology is being used as an instigator of commerce.
- Case studies on the ways mobile has changed the traditional ways we shop.
Maximizing PayPal's New Identity Services to Create Seamless and Safe User Ex...PayPalX Developer Network
Outsourcing identity-related services—such as customer authentication—to PayPal could speed your application development, save you the hassle of dealing with password resets, and give your customers a shorter and easier path to purchases. An authentication service is just one example of the identity services we've got planned. Come learn how all of them can improve business opportunities and enhance user experiences.
PayPal Access presentation for internal eBay hackathon (April 30th, 2012). The live coding portion of the talk went through the samples available at https://github.com/jcleblanc/oauth/tree/master/oauth2-php-paypal/
Creating a User-Centric Mobile Payment ArchitectureJonathan LeBlanc
Payment architectures are no longer flat experiences that are static for all users. Mobile experiences have become personalized, providing an identity infrastructure to promote payment ease for users. Through the lessons learned from a mobile first PayPal product overhaul, we'll explore how identity and in-app purchasing coalesce to create a scalable mobile payment infrastructure, looking into how building cross-platform payment personalization increasing user ease and revenue.
Swift is a new programming language introduced by Apple for iOS and Mac app development. It has the best of both C and Objective-C with speed, interactivity and modern conventions.
Web developers constantly look for the latest and greatest ways to hone their craft, but changes come fast. From jQuery to Angular to Ember to React, CoffeeScript to TypeScript, it seems there is always something new. But ES6 is something different. With ES6 we are seeing the evolution of core JavaScript. It includes syntactic improvements and great new features never before seen in client-side code. Linters and transpilers for ES6 are readily available and easy to use. There is no need to wait; learn how to leverage the power of "the new JavaScript" in your applications, today!
Here are the slides that I gave for The Arizona Software Community meetup.
http://www.meetup.com/azsoftcom/events/222936544/
This was a gentle introduction to some of the features in EcmaScript 2015 and how and why you may use them.
Lors de cette présentation, nous apprendrons à créer des applications Web plus rapidement et avec moins d'erreurs en utilisant un langage de programmation puissant et amusant.
Agenda
- Installer TypeScript et configurer un nouveau projet.
- Tirer avantage des types de données.
- Développer en Objets avec TypeScript
- Ecrire de meilleures fonctions
- Retrouver vos données avec LINQ
- Programmer de manière asynchrone
- Bonnes pratiques
- Avantages et inconvénients des projets TypeScript
- Conclusion et Discussion
2013-06-15 - Software Craftsmanship mit JavaScriptJohannes Hoppe
Entwickeln Sie Clean Code mit JavaScript. Den “Software Craftsman” zeichnen dabei Wissen, Werkzeuge und Wiederholung aus. Diese drei Grundfeste werden speziell für JavaScript beleuchtet. Lernen Sie die wichtigsten Patterns für eine stabile und wartbare Website kennen. Überprüfen Sie Ihre persönliche Werkzeugkiste für Entwicklung, Testing und Deployment. Schließen Sie Bekanntschaft mit Code Katas für JavaScript.
2013-06-24 - Software Craftsmanship with JavaScriptJohannes Hoppe
Entwickeln Sie Clean Code mit JavaScript. Den “Software Craftsman” zeichnen dabei Wissen, Werkzeuge und Wiederholung aus. Diese drei Grundfeste werden speziell für JavaScript beleuchtet. Lernen Sie die wichtigsten Patterns für eine stabile und wartbare Website kennen. Überprüfen Sie Ihre persönliche Werkzeugkiste für Entwicklung, Testing und Deployment. Schließen Sie Bekanntschaft mit Code Katas für JavaScript.
Exploring Ceylon with Gavin King - JUG BB Talk - Belrin 2014hwilming
The slide to the Java User Group Talk Exploring Ceylon from Gavin King.
Abstrakt:
Ceylon is a new programming language designed for writing large programs in teams. The language emphasizes readability, modularity, typesafety, and tooling. Ceylon programs execute on Java and JavaScript virtual machines. In this session, Gavin King will talk about the ideas behind Ceylon and demonstrate the language, its type system, its module architecture, and its IDE.
Speaker:
Gavin King leads the Ceylon project at Red Hat. He is the creator of Hibernate, a popular object/relational persistence solution for Java, and the Seam Framework, an application framework for enterprise Java. He's contributed to the Java Community Process as JBoss and then Red Hat representative for the EJB and JPA specifications and as lead of the CDI specification.
Now he works full time on Ceylon, polishing the language specification, developing the compiler frontend, and thinking about the SDK and future of the platform. He's still a fan of Java, and of other languages, especially Smalltalk, Python, and ML.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
6. // create a world with no people
var world = { people: [] };
// make it easy to populate the world
world.populate = function () {
for (var i = 0; i < arguments.length; i++) {
world.people.push(arguments[i]);
}
}
// add some people to the world
world.populate(new Person(“Sally”), new Person(“Joan”));
7. // create a world with no people
var world = { people: [] };
// makes it easier to populate the world
world.populate = function (...people) {
world.people.push(...people);
}
// add some people to the world
world.populate(new Person(“Sally”), new Person(“Joan”));
10. Block Scope
// es6
let name = getName();
if (name === “jamund”) {
let emotion = “happy”;
makePeople(emotion);
}
// es5 version
var name = getName(),
emotion;
if (name === “jamund”) {
emotion = “happy”;
makePeople(emotion);
}
11. // let fixes the problem
for (let i = 0; i < 5; i++) {
process.nextTick(function() {
console.log(i); // 0 1 2 3 4
});
}
And then there’s the old
async loop problem
// this happens from time to time
for (var i = 0; i < 5; i++) {
process.nextTick(function() {
console.log(i); // 5 5 5 5 5
});
}
30. Error: where am i?
at /Users/jamuferguson/dev/es6-test/dist/routes.js:20:34
at process._tickCallback (node.js:442:13)
Wrong path :(
Wrong line number :(
34. Error: where am i?
at /Users/jamuferguson/dev/es6-test/src/routes.js:15:34
at process._tickCallback (node.js:442:13)
Right path!
Right line number!
43. Front-end
• Our front-end code takes about 1s to build using 6to5
• For development mode we use a custom middleware
that transpiles silently in the in the background
• 2 step process to opt-in to ES6
Hi I’m Jamund. I’m a UI Engineer at PayPal and I love JavaScript and I’m excited about where it’s going. We’ve been exploring ES6 at PayPal and think it’s pretty great.
The first thing you might be asking yourself is…..Why do we need MOAR javascript? Javascripts relatively stable. It’s been around for almost 20 years. It now powers systems all around the planet and it’s fairly well understood. So what’s all the fuss about ES6.
From the Class syntax to Promises. ES6 finally gives us the tools we need to write the programs we’ve already been writing. But now we can do it in a standard way and hopefully with less bugs.
Helps you focus on the things you want to do, not how you’re going to do it.
Here’s weird example of some of the rough edges of javascript. We’re using the arguments objects, which is not QUITE an array to add a variable number of people to our world.
With es6 we now have something called REST Parameters, which means I don’t have to dive into the weird arguments object. I have first lass support for this behavior!
Now people call this syntactic sugar. Many of the things I’m going to talk about today are not things you couldn’t do before,but ES6 has made those common patterns a lot easier! I’m going to share some examples.
it’s simpler. to the point. more expressive. it may seem like small thing but it’s actually pretty awesome in cleaning up large functions and keeping like code near itself. It’s easier to read large functions with large if blocks and much easier to re-factor them!
Oh and there’s more. Yes, let fixes that too! So don’t hate on let. It’s pretty great :) I love let
Pretty straight forward.
Pretty straight forward.
This is the simplest example of destructuring with objects. It turns out this comes in handy all the time with node modules that return multiple values.
This is the simplest example of destructuring with objects. It turns out this comes in handy all the time with node modules that return multiple values.
Here is how that might look without destructuring. It’s not terrible to look at, but it’s 3 lines of code.
In a more advanced case you can also create variable declarations from nested objects.
This is from real code at paypal and i think gave me glimpse of just how nice this sugar can feel.
Here’s a fairly clumsy function that handles errors with our services. we parse some data about the error response, check for other data and then based on the error code set various things on the model. The first thing we’re going to do is apply LET
Let will help us move code that only belongs in a single if block out of the function scope, keeping it encapsulated from other blocks of code below. It’s a small thing, but it ends up being really nice and making for much more readable blocks of code. Next up we’ll apply 2 things. This is a combination of restructuring and default paramers;
Let’s see how this works.
1. We are saying that instead of “response” we’re expecting an object with a data property and an error property. The error property is also an object, which has a code property and we’d like that to always exist as an empty string. That just elimated the last 3 function-scoped variables we had defined. and will now guarantee that we have a data object and string called code. It’s pretty amazing. Next up we’ll do some not ES5 stuff.
This is just a small optimization. Now that we’ve moved the showAddress and showDOB functions outside of the function scope, we can see now that they really weren’t that useful, we can just combine the values directly into the object being passed into the set function. But wait ES6 also has some sugar to help us here as well, because this isn’t terrible readable. It’s just not expressive.
Now how about that? That’s much better! ES6 gives us. Now that to me is finally readable.
There’s this guy I work with Paul. he But there’s more. At PayPal so far we’ve found that sugar is an easy sell. It’s easy to understand and easy to teach people. Of course JavaScript today has a lot more than syntactic sugar and new constructs like iterators, promises and generators may yet provide exciting new ways to express complicated async, but it’s okay to start with the easy stuff, the fun stuff. there’s a low barrier to entry.
first step..
install 6to5. this is the MOST compressive and best supported es6 tranpsiler. it’s fantastic. And they just keep adding new things! So let’s open up your package.json file…
So you need to put app.js and all of your files in the src/ directory and then… 6to5 —out-dir dist/ src/ && node dist/app
And it works! It probably adds a second or 2 to your startup depending on the app. But it’s really minimal. And after that there’s virtually no perf difference. You’re running ES5 code through and through. No magic.
There are 2 issues with the error.
#1 wrong path
#2 wrong line number
Who’s heard of source maps?
THEY THINK OF EVERYTHING!!!!
Adding —source-maps
And then in your app.'s file. Go ahead and stick this 1 line in there. This really only does 2 things. It’s not going to crazy and slow you down.. It just Hijacks the stack property of any Error message to give it the right path, and it also hijacks the default uncaughtException handler, which you can easily disable if you want to do your own thing.
With that in place, my stack trace now shows the right line number. And I’ve added exactly 1 line of code my entire project. Bravo. Now there is another way we can add es6 support to our project and I’ve talked to the creator of 6to5 and it’s his preferred approach.
ES6 is fun .It makes your syntax more expressive/readable. There’s so much more than we could cover here, but I hope that Iv’e whet your interest. And that you will go out and install 6to5 and start playing around with theist stuff today!
I use a tool called ESLint, which has limited support for ES6, but literally in the next couple of weeks I expect full support to exist
I’m really excited about it, but it doesn’t support half the things I demoed here today!
So yeah it’s doing way better than node, but it still has a long way to go to catch up to …. you know IE!! And 6to5 and the other transpires
I use a tool called ESLint, which has limited support for ES6, but literally in the next couple of weeks I expect full support to exist