JavaScript can be a passive-aggressive and fickle language that can frustrate you at every turn. It lets you do things like declare variables anywhere, but doesn’t tell you that it will hoist them while you’re not looking. Learn how JavaScript organizes data by using key-based dictionaries and how it handles functions behind the scenes. Additionally, you'll learn how JavaScript uses arrow functions, closures, prototypes and inheritance, equality, and more.
In this session, you'll learn little known facts about JavaScript, as well as frequently experienced JavaScript headaches and mistakes, and ways to avoid them. Learn these key facets of JavaScript and take your knowledge to the next level!
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
This Presentation depicts JavaScript concept for Csharp developer.It helps to understand the concepts of JavaScript resembling/differentiate them with C# concepts.
One of the main reasons Titanium Mobile has been so successful is that the technology has significantly lowered the barrier to entry for native mobile development. A major force behind this is JavaScript, Titanium's primary programming language. The JavaScript programming language is small enough where the basics can be learned in a matter of hours, which has enabled developers from many different backgrounds to become productive using Titanium. But there's much more to JavaScript than just control structures and a handful of primitive data types - JavaScript is a beautiful functional programming language with great features you might not be using.
Most developers working on the web today have had some exposure to JavaScript, but there's a difference between using jQuery for DOM manipulation on a web page and writing an entire application in JavaScript. This talk, intended for beginner or intermediate JavaScript developers, will focus on the essential language features you will need to write professional JavaScript applications, including but not limited to:
Object Oriented Programming in JavaScript
The Good Parts and Bad Parts of JavaScript
Useful JavaScript Patterns, Tricks, and Style Guidelines
The JavaScript runtime in Titanium Mobile
Further Reading and ways to stay up to date on JavaScript
This Presentation depicts JavaScript concept for Csharp developer.It helps to understand the concepts of JavaScript resembling/differentiate them with C# concepts.
If you still haven't heard of it, there is a new star in JVM sky - Kotlin. This short presentation will serve as intro for those who wan't to hear what's all the fuss about and dive deeper into this new alternative to Java
Lua Workshop 2014
Moscow, Russia, September 13–14, 2014
"Lua pitfalls"
Dmitry Kotelnikov (IPONWEB)
This report is about various pitfalls somehow related to Lua. We know them firsthand because dozen of our developers use Lua to implement business logic. Even obvious traps may hit the wallet and the psyche. Additionally possible workarounds will be given. The report will contain a list of peculiarities of the Lua, missed that you can get a bug. Mainly this will be well-known things, such as nil in the table or global variables. Everything I tell you is not a revelation. All this can be seen in the pages of documentation, on the internet or learn from your colleagues. But for many it's just knowledge, not experience. The most reliable way to learn not to make mistakes is to make every mistake at least once. Preferably with serious consequences -) And for most of the knowledge we really had to pay. So for us it is truly an experience. I will try to share our experience with you, and I hope that these traps will cost you less.
Kotlin is a statically typed programming language for the JVM, Android and the browser designed for the industry. This presentation is an overview of Kotlin features and advantages over Java including code samples.
Many developers cast off JS as a suitable OOP language because they are so used to the class style of C# and Java. Many people don't realize that JavaScript supports inheritance. When you write object-oriented code it instantly gives you power; you can write code that can be re-used and that is encapsulated.
It includes functions and objects, prototype based programming, class based-prototype based, some hacks and exercises. The tutorial begins with a section about function and objects which includes a simple JS function, closures as one of the most powerful weapons for JS ninja, object as it is almost everything for a JS ninja, call and apply methods defined under functions. The function section is followed by the prototype section which includes a brief on class based vs prototype based.
After this comes the hack section. It includes some hacks like appending new array to another array, swap variable values and many more. The last section of this tutorial is on exercises which includes some basic exercises like implementing basic inheritance, add forEach method, implement a function.
TypeScript is a super set of JavaScript. This slide covers the key features of TypeScript including basics of typescript, basic types, Interfaces, Functions, Classes, Generics, Modules.
One Does Not… write TypeScript so easily! In this Meetup talk, I'll share the tricks and pain points I had to learn in my first 6 months of professional TypeScript. The goal is to spare the reader many hours of Stack Overflow...
Real-world polyglot programming on the JVM - Ben Summers (ONEIS)jaxLondonConference
Presented at JAX London 2013
Java is not the only language! The JVM is a wonderful common runtime for a wide variety of languages. By using the right language for each task, you can deliver higher quality applications in less time.
If you still haven't heard of it, there is a new star in JVM sky - Kotlin. This short presentation will serve as intro for those who wan't to hear what's all the fuss about and dive deeper into this new alternative to Java
Lua Workshop 2014
Moscow, Russia, September 13–14, 2014
"Lua pitfalls"
Dmitry Kotelnikov (IPONWEB)
This report is about various pitfalls somehow related to Lua. We know them firsthand because dozen of our developers use Lua to implement business logic. Even obvious traps may hit the wallet and the psyche. Additionally possible workarounds will be given. The report will contain a list of peculiarities of the Lua, missed that you can get a bug. Mainly this will be well-known things, such as nil in the table or global variables. Everything I tell you is not a revelation. All this can be seen in the pages of documentation, on the internet or learn from your colleagues. But for many it's just knowledge, not experience. The most reliable way to learn not to make mistakes is to make every mistake at least once. Preferably with serious consequences -) And for most of the knowledge we really had to pay. So for us it is truly an experience. I will try to share our experience with you, and I hope that these traps will cost you less.
Kotlin is a statically typed programming language for the JVM, Android and the browser designed for the industry. This presentation is an overview of Kotlin features and advantages over Java including code samples.
Many developers cast off JS as a suitable OOP language because they are so used to the class style of C# and Java. Many people don't realize that JavaScript supports inheritance. When you write object-oriented code it instantly gives you power; you can write code that can be re-used and that is encapsulated.
It includes functions and objects, prototype based programming, class based-prototype based, some hacks and exercises. The tutorial begins with a section about function and objects which includes a simple JS function, closures as one of the most powerful weapons for JS ninja, object as it is almost everything for a JS ninja, call and apply methods defined under functions. The function section is followed by the prototype section which includes a brief on class based vs prototype based.
After this comes the hack section. It includes some hacks like appending new array to another array, swap variable values and many more. The last section of this tutorial is on exercises which includes some basic exercises like implementing basic inheritance, add forEach method, implement a function.
TypeScript is a super set of JavaScript. This slide covers the key features of TypeScript including basics of typescript, basic types, Interfaces, Functions, Classes, Generics, Modules.
One Does Not… write TypeScript so easily! In this Meetup talk, I'll share the tricks and pain points I had to learn in my first 6 months of professional TypeScript. The goal is to spare the reader many hours of Stack Overflow...
Real-world polyglot programming on the JVM - Ben Summers (ONEIS)jaxLondonConference
Presented at JAX London 2013
Java is not the only language! The JVM is a wonderful common runtime for a wide variety of languages. By using the right language for each task, you can deliver higher quality applications in less time.
User Interface Development with jQuerycolinbdclark
A half-day workshop covering all aspects of user interface development with jQuery. Starts with a JavaScript refresher, followed by coverage of each major feature of jQuery. Real world code samples are included throughout.
Presented by Colin Clark and Justin Obara at the 2010 Jasig Conference in San Diego.
There are a lot of interesting facts that are still unknown and make the Javascript the world's most confusing language. I've tried to explain a few of them if they can help you in better understanding of the JS code.
This session is an introduction to the weird side of JavaScript, and it definitely has a weird side! .NET developers will find a lot of intriguing "features" when they begin to write code in the world's most widely used language. Join us to learn about all the gotchas to watch out for and discover some of the great functionality that JavaScript has to offer…
Introduction to JavaScript for APEX Developers - Module 1: JavaScript BasicsDaniel McGhan
This module covers the following topics: 1) Why JavaScript? 2) Variables and data types 3) Operators 4) Conditionals and loops 5) Objects and functions 6) Developer tools
Similar to Things that every JavaScript developer should know by Rachel Appel at FrontCon 2019 (20)
Fine-tuning Large Language Models by Dmitry BalabkaDevClub_lv
focusing on the hands-on process of preparing datasets and fine-tuning models for a specific business task. This session will cover dataset preparation, model fine-tuning, and cloud ML accelerators like TPUs and related libraries. It’s aimed at those seeking hands-on knowledge in applying ML techniques.
"Infrastructure and AWS at Scale: The story of Posti" by Goran Gjorgievski @ ...DevClub_lv
It is a talk regarding how AWS is utilized to manage around 200 services, 4+ million users and 20+ teams in Posti Group. The speaker will demonstrate how Posti is maintaining and controlling the ‘Infrastructure side’ of a variety of different cross-functional teams, with a unified approach. The presentation will focus on the approach, tools and tech with some concrete examples. It should be fairly comprehendible even for non-hands on IT professionals, however aimed at Software engineers, Infra and DevOps engineers and IT leaders.
From 50 to 500 product engineers – data-driven approach to building impactful...DevClub_lv
Erik Kaju from Wise will give a talk “From 50 to 500 product engineers – data-driven approach to building impactful and efficient product teams”.
Product engineering is data-driven. It is best to avoid personal opinions and back actions with data. Sharing data transparently and making it broadly accessible within the whole company helps to scale and build faster. Data-driven practices are useful beyond just product development. Over the years, we have been systematic and methodological in how we scale the company and track its health.
This is a story of Wise growing from a regular-sized with 50 engineers to one with 500. While our headcount has grown tenfold, the speed of our releasing and ability to deliver complex projects has risen significantly. It is crucial for the scale-up to not slow down. And that is only possible with effective and unhampered teams. Join Erik for fresh insights that will inspire you to grow your teams, track their health and experiment with team metrics.
(Language – English)
Erik is Director of Engineering at Wise.
Why is it so complex to accept a payment? by Dmitry Buzdin from A-Heads Consu...DevClub_lv
Dmitry Buzdin from A-Heads Consulting will give a talk “Why is it so complex to accept a payment?”.
He will share technical, legal and organizational details of payment world which make it very challenging. There will be examples of code as well.
(Language – English)
Do we need DDD? by Jurijs Čudnovskis from “Craftsmans Passion” at Fintech foc...DevClub_lv
Jurijs Čudnovskis from “Craftsmans Passion” will give a talk “Do we need DDD?“.
While helping to build and scale multiple IT companies and during tons of interviews I’ve seen a lot of misunderstanding of Domain Driven Design.
I would like to share with you my experience based point of view on why and how DDD can help you and your company to build better, more flexible and scalable software and solve real business needs. The talk will be not so much about technical aspect of DDD, but about core ideas behind with some real world examples. :)
(Language – English)
For more than 10 years Jurijs is helping multiple organizations to build their products and grow their companies. His passion is to find easiest solution for complex business problems and build excelent business oriented IT teams.
Network security with Azure PaaS services by Erwin Staal from 4DotNet at Azur...DevClub_lv
Erwin Staal from 4DotNet will share experience on “Network security with Azure PaaS services“.
He will share some of the things he learned while implementing network security at his current client. We will start with a short introduction to the basics of networking in Azure. He will present to you some best practices and tell you about some of the limitations you need to know before getting started. We will talk about how you for example can lock-down your API or SQL-server. To do that we will use relatively new Azure offerings like Service endpoints, Private endpoints, and VPN connections.
Erwin is a .NET Software Engineer and DevOps Consultant at 4DotNet. He’s helping clients with ASP.NET Core, Docker and Kubernetes and as a DevOps Consultant he helps companies with the implementation of DevOps and Continuous Delivery.
Using Azure Managed Identities for your App Services by Jan de Vries from 4Do...DevClub_lv
Jan de Vries from 4DotNet will share experience on “Using Azure Managed Identities for your App Services“.
He will show you what needs to be set up in your application and AAD to get you started. When everything is set up correctly you can manage the access to all of your API’s via Azure Active Directory and even restrict access to specific endpoints if you want.
You’ll leave this session knowing how to set up your services by using the built-in capabilities of Azure and make your complete environment more secure and easy to manage.
Jan is a Cloud Solution Architect at 4DotNet (Netherlands). His main focus is on developing highly performant and scalable solutions using the awesome services provided by the Microsoft Azure platform. Because of his expertise, he has been able to help out multiple customers to bring their on-premise solution to the cloud and guide them towards a better software development ecosystem.
SRE (service reliability engineer) on big DevOps platform running on the clou...DevClub_lv
SRE (service reliability engineer). The talk is to explain the SRE philosophy and the principles of production engineering and operations in clouds.
(Language – English)
Pavlo is ADOP (Accenture DevOps Platform) Service Reliability Team Lead, SRE practitioner. Has more then 18 years of IT experience in Ops and Dev.
Emergence of IOT & Cloud – Azure by Narendra Sharma at Cloud focused 76th Dev...DevClub_lv
In this talk, we will discuss what is IOT, what is the market and growth of IOT, security in IOT, and factor for the growth of IOT, how the invention of eSIM giving a boost in IOT, and need of cloud and steps for the codification of IOT with Azure.
(Language – English)
Narendra is a Technical Architect at Cognizant, other than coding his hobbies includes Travelling, reading technical books & watching thriller/sci-fi series.
Cross Platform Mobile Development using Flutter by Wei Meng Lee at Mobile foc...DevClub_lv
Maintaining multiple code bases for the same application is often a pain in the neck for mobile developers. In the recent years, different frameworks have appeared in the market that aim to reduce the workload of developers by offering them a write-once-run-everywhere approach. In this session, Wei-Meng will take a quick look at the different frameworks available – Xamarin, React Native, and Flutter. He will focus on using Flutter and see how it makes your life as a mobile developer easier.
(Language – English)
Wei-Meng Lee is a technologist and founder of Developer Learning Solutions (http://www.learn2develop.net).
Building resilient frontend architecture by Monica Lent at FrontCon 2019DevClub_lv
Change is inevitable. So is legacy. And too often, we as developers (who love to solve problems by coding) fall into the trap of believing the only way to fix it is by rewriting everything again and again. But how can we design an application architecture that is more resilient to change in the first place? How can we defend against entropy in a system where people are pushing changes every day? In this talk we’ll define what architecture means for the frontend, dispel some commonly-held myths, and look at specific tools and techniques on a scale from micro to macro that you can use today to keep your app from turning into that infamous ball of mud.
In the Trenches During a Software Supply Chain Attack by Mitch Denny at Front...DevClub_lv
Front-end developers have grown accustomed to protecting themselves from attackers seeking to exploit vectors such as cross-site scripting and malicious input, but the prevalence of reusable micro-libraries in the Node.js ecosystem makes JavaScript developers particularly susceptible to software supply chain attacks.
In this session Mitch will share his perspective on helping to protect Microsoft and its customers from these supply chain attacks and what it is like being the vendor of an artifact management service which often plays the middleman between target and victim.
Learn how Microsoft tackles the problem of securely taking dependencies on open source software and what problems scanning tools can and can’t solve and thoughts on how we as an industry could start to tackle the problem for 0-day malicious packages.
Software Decision Making in Terms of Uncertainty by Ziv Levy at FrontCon 2019DevClub_lv
When we build the best possible software engineering solution, we face many decisions we must make. Daily. Maybe those decisions taking could be much easier? In this talk I will attack the pain points of decision making in software and how I helped my team to enjoy lighter decision making process.
V8 by example: A journey through the compilation pipeline by Ujjwas Sharma at...DevClub_lv
V8 is complicated. Things change way too fast and it’s really hard to keep track of what’s the fastest way of doing every specific action.
But not anymore. Join me, a V8 contributor, on a journey through the compilation pipeline of V8 and understand how it all works under the hood. We’ll take the example of a popular JavaScript builtin method and find that what does and does not trigger de-optimization.
By the end of the talk, you will have a fairly decent idea of how builtins are written inside the V8 compilation pipeline, and how to make sure you always take the fast path, no matter what.
Bridging the gap between UX and development - A Storybook by Marko Letic at F...DevClub_lv
The main topic of this talk is a short introduction to Storybook.js, JavaScript library that allows us to create independent and interactive UX components from already existing ones, developed in frameworks such as Angular, React or Vue. Reusing the components, we create an isolated environment that can be shared within the organization and enable a collaboration between designers and developers on a whole new level. Different use-cases will be described using Angular as a framework of choice with practical examples.
Case-study: Frontend in Cybersecurity by Ruslan Zavacky by FrontCon 2019DevClub_lv
This talk will cover the whole UX development process and many choices that we as a team did, to get where we are now. When you think about frontend, it’s not just a developers who writes Javascript. If you want to make it right, you need UX researchers, UX designers, UI designers, Visual Designers, Technical writers and, of course, UX developers. I would like to talk about each roll in short and how they help and why you should have all of them to achieve best results. After that I want to go into more technical details on why EmberJs (its not so trendy, right?). How we work with ES6 and why we see future in Typescript. I will structure a talk in terms of a “technical challenge – pros/cons – why we’ve chose A and not B”. For example:
We have 16 applications internal and external. Why we have them separate and not a single app.
We had ~8-10 internal packages and we’ve merged them into 2. Why we’ve did that and why benefits out-weighted cons?
Also, from the talk point, I want to start with a real Cybersecurity case and how how it gets solved
Building next generation PWA e-commerce frontend by Raivis Dejus at FrontCon ...DevClub_lv
Page load times can influence conversion rates and store profitability a lot. PWA is a magic keyword that can deliver fast page load times and happy customers that buy a lot. PWA was coming to Magento, there were several competing solutions, but we wanted to be the best and stand out. Being the most certified Magento agency in the world Scandiweb wanted to make something that is both compatible with default Magneto, but also easier to use and faster. So this is a story of looking at competitors and finding our niche as well as building on experience gained by creating solutions for the world’s top brands.
The talk will share approaches investigated and selected and look into tips and tricks used to get out most of React, Webpack, Mobx and other cool frontend tools. There is also some GraphQl and aspects of integration with Magento.
Parcel – your next web application bundler? by Janis Koselevs at FrontCon 2019DevClub_lv
When I wanted to compare which bundler to use in my next small project – Webpack or Rollup, I came across a new kid on the block – Parcel.
At first I was like – OMG! Another one! Why?! And then I was like – Interesting… and you wouldn’t believe what happened next!
Managing State in React Apps with RxJS by James Wright at FrontCon 2019DevClub_lv
Redux is one of the most popular technologies for the management of shared state across entire React applications, which can be complemented by Redux Observable to describe asynchronous side effects with RxJS. This approach, however, adds cognitive load when balancing the varying concepts across these three libraries. What if we could use RxJS exclusively for managing state in our React apps? This talk will demonstrate this possibility and the benefits it provides.
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...DevClub_lv
Building photorealistic 3D experiences on the Web is a challenge. Making it with React is even harder but once you got there it pays off in many ways. This talk is about Evolution Gaming approach of working with 3D graphics on the Web using ReactJS with the goal to build the most sophisticated and expensive WebGL application ever created.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
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.
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/
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
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
UiPath Test Automation using UiPath Test Suite series, part 3
Things that every JavaScript developer should know by Rachel Appel at FrontCon 2019
1. Things that every JS
developer should know
Rachel Appel | JetBrains
http://rachelappel.com
rachel@rachelappel.com
@RachelAppel
2. What’s in this talk?
• Basic things are important for every JS developer
• So are some advanced things
3.
4. It does. Its origins
are from JS.
Seriously
WTF?!?
LOL WAT?!?
5. Data Types
• There really are data types in JavaScript!
• But does JavaScript care?
• Value types (aka primitives)
• Number, string, Boolean, null, undefined, object, symbol
• Reference types
• Objects and arrays
7. Global
<script src="1.js">
var a, b, c
<script src="2.js">
var a, b, c
<script src="3.js">
var a, b, c
<script src="4.js">
var a, b, c
Window object
Global namespace pollution
Module/Module Reveal Pattern
8. var vs let
• var is function scoped
• Can declare globally or locally
• let is block scoped
• Declarations are limited in scope
to the block
9. A closure is a special kind of object that combines
two things: a function, and the environment in
which that function was created. The environment
consists of any local variables that were in-scope
at the time that the closure was created.
15. Truthy values
'false' (quoted false)
'0' (quoted zero)
() (empty functions)
[] (empty arrays)
{} (empty objects)
All other values
Falsey values
false
0 (zero)
'' (empty string)
null
undefined
NaN
Let's get to the truth of the matter
17. Just what's up with this, anyway?
Typescript and this event obj
18. Sometimes when I'm writing JavaScript, I
just want to throw my hands up and yell
"This is bullshit!", but I can never remember
what "this" is referring to.
19. Strict mode [ES5]
• “use strict”
• No more accidental globals
• Must declare variables
• Assignment issues are no longer silent. They throw errors
• Function args with same name (yep, vanilla JS allows that)
20. Seems legit
var add = function() {
// do stuff
};
Yeah it’s legit! This is JavaScript!
console.log(add(4, 4, “cat”));
Look ma, no arguments!
Wait, what? Seriously?
21. Garbage collection
• Reachable
• Local variables and parameters of the current function.
• Variables and parameters for other functions on the current chain of nested
calls.
• Global variables.
• Internal stuff
22. Garbage collection
• The basic garbage collection algorithm is called “mark-and-sweep”.
• The following “garbage collection” steps are regularly performed:
• The garbage collector marks roots.
• It marks all references from them
• It visits marked objects and marks their references. (everything is tracked)
• Loop until unvisited refs happen
• All objects except marked ones are removed.
23. Typescript, compilers, transpilers, tools
• TypeScript
• Babel
• Webpack
• Typescript can validate JS code – just run them the compiler, like a
light linter
https://www.youtube.com/watch?v=9ooYYRLdg_g REF v VAL types
typeof operator, in particular, that it returns “object” for null.
Special numeric values
Infinity, -Infinity and NaN
Null
It is not a reference to a non-existing object.
It is not a null pointer
It is a special value that means: dunno, unknown, nothing, empty, nada
let allows you to declare variables that are limited in scope to the block, statement,or expression on which it is used. This is unlike the var keyword, which defines a variable globally, or locally to an entire function regardless of block scope
A closure is a special kind of object that combines two things: a function, and the environment in which that function was created. The environment consists of any local variables that were in-scope at the time that the closure was created.
In classic function expressions, the this keyword is bound to different values based on the context in which it is called. With arrow functions however, this is lexically bound. It means that it usesthis from the code that contains the arrow function.
Arrays in JS aren't real arrays, they're phony
no dimensions
no out of bounds errors
JavaScript has two sets of equality operators, equal to (==) and exactly equal to (===) and their counterparts in negation (!= and !==). The exactly equals works the way you expect. If the two operands are of the same type and have the same value, then exactly equals produces true and its negative partner (!==) produces false. The plain equals, OTOH, see different data types and attempts to coerce the values (it's called type coercion) by using a set of many overly complex rules.
It's just not reasonable to memorize all these rules, especially if you are trying to create team standards from them. Therefore, since it's more accurate going with the exactly equals is the best option.
Let's see some of this JS equality or non equality as the case may be, in action...[demo]
THE TAKE AWAY: Use the === and !== opeartors as they give consistent and accurate results, more closely to what you might expect.
console.log(0 == '');
console.log(0 === '');
console.log(0 == '0');
console.log(0 === '0');
console.log(false == 'false');
console.log(false === 'false');
console.log(false == '0');
console.log(false === '0');
console.log(false == undefined);
console.log(false === undefined);
console.log(false == null);
console.log(false === null);
console.log(null == undefined);
console.log(null === undefined);
console.log('\t\r\n' == 0);
console.log('\t\r\n' === 0);
What constitutes something falsy in JS?
false.
0 (zero)
"" (empty string)
null
undefined
NaN (a special Number value meaning "Not a Number")
All other values are truthy, including "0" (zero in quotes), "false" (false in quotes), empty functions, empty arrays, and empty objects.
Falsey:
false
0 (zero)
"" (empty string)
null
undefined
NaN
Truthy
"false" (false in quotes)
"0" (zero in quotes)
() (empty functions)
[] (empty arrays)
{} (empty objects)
All other values
Many folks try to treat "this" the same way that it works in other languages and their notion of this is normally static and at the class level. JavaScript is different though, as this works based on the context of the calling code.
Usually this belongs to the window, or global object, but it can also be the HTML element that has caused an event, for example, a button causing a click event. Then the function is owned by that source element and that element becomes this.
To go a little deeper
JavaScript functions run in an execution context that goes on the stack. The stack is an in memory storage location for variables and data.
Functions are also values, and they're treated like objects/values.
What this means is that each time another function runs, it gets pushed onto the stack and the context for "this" changes. That's unlike other languages where this is usually clearly defined.
So the value of this depends on 2 things: What kind of code is executing? (global, function, or eval) and the calling code.
*******
ES5 introduces the a way that you can set the value of "this" in a function, as the first argument of the call.
Here in the IE console we have a function called saySomething that accepts a string and logs both this and the string to form a sentence about what this . Let's see it work.
Now that I've run the function I can call it and make 'this' a programmer or a trekkie or katniss everdeen. Not that you'd wants strings to be this bit
function saySomething(thing) {
console.log(this + " says " + thing);
}
saySomething.call("A programmer", "Hello world");
saySomething.call("A Trekkie", "Live long and prosper.");
saySomething.call("Katniss Everdeen", "May the odds be ever in your favor");
saySomething.call("A ghost", "Boooooooo!");
Strict mode is part of the ECMAScript 5 standard.
You can enable strict mode for a complete file or a single function:
Complete file: put the line "use strict"; at the beginning of the file. As a statement, this does nothing and will be ignored by legacy JavaScript interpreters.
Single function: using the mode for a complete file might break some functions in it, so by putting the line mentioned above at the beginning of a function, you can enable strict mode for it.
It's not a main()
MENTION APPLYMENTION APPLY
MENTION APPLY
https://javascript.info/garbage-collection
There’s a base set of inherently reachable values, that cannot be deleted for obvious reasons.
This algorithm looks out for objects which are unreachable from the root which is the JavaScript’s global object. This algorithm overcomes the limitations of Reference-counting algorithm. As an object with no references would be unreachable but not vice-versa.