This document provides an introduction and overview of TypeScript. It begins by discussing some of the benefits and drawbacks of JavaScript, and why TypeScript was created. It then covers TypeScript's design goals, popular frameworks built with it, and IDE support. The rest of the document outlines TypeScript's configuration, basic language features like types, interfaces, classes and generics. It also discusses code organization techniques like modules and namespaces. Finally, it provides a brief introduction to TypeScript's type system.
The document discusses various techniques for extending and improving Perl, including both good and potentially evil techniques. It covers Perl modules that port Perl 6 features to Perl 5 like given/when switches and state variables. It also discusses techniques for runtime introspection and modification like PadWalker and source filters. The document advocates for continuing to extend Perl 5 with modern features to keep it relevant and powerful.
TypeScript is a superset of JavaScript that compiles to JavaScript. It adds optional static typing, classes, interfaces, and other features to JavaScript to help catch errors. TypeScript files use the .ts extension and can be compiled to JavaScript using the TypeScript compiler. Key features of TypeScript include static typing for variables, interfaces for defining object structures, classes and inheritance for object-oriented programming, and modules for code organization.
Some techniques from the heady world of Functional Programming implemented in idiomatic Perl using various techniques: closures, iterators, Devel::Declare, and some distilled evil. New version now with monads! (As presented at http://conferences.yapceurope.org/lpw2008/ )
Rust
Why do you care about Rust? Who has the time to learn all these new languages? It seems like a new one is popping up every other week and this trend is growing at an exponential rate. Good news, a fair number of them are crafted really well and efficiently solve specific problems. Bad news, how do you keep up with all of this, let alone decide which languages to include in your companies technology portfolio.
Despite the challenges of all these new languages, a majority of developers are intrigued about the idea of becoming a polyglot, but don't know where to begin or don't have the time. In my polyglot travels, there is one language of late that is the sure-fire answer to the above questions, Rust.
In this talk I’ll explore the value behind becoming more polyglotic as a developer, how to pick languages to learn, and then dive deep in the the language of Rust. Which in my opinion, is hands down the best up and coming languages to learn.
About the Presenter
Anthony Broad-Crawford has been a developer since the year 2000 with a short side stint as a semi-professional poker player. Since his transition to software development Anthony has...
1. Built 8 patent receiving technologies
2. Founded two global companies
3. Been a CTO (3x), CPO (1x), and CEO (1x)
and is currently the CTO at Fooda where he manages product, user experience, and engineering. Fooda is predominantly web and mobile technology company focused on bringing great & healthy food from the best restaurant's to people while at the office.
Through his career, in production applications Anthony has used Ruby, Java, Jave (Android), Objective-C and Swift, .NET, Erlang, Scala, Node.JS, LISP, Smalltalk, and even assembly, with his recent favorite, Rust . No, not all at the same time in the same application.
Anthony now spends his time building great teams, that leverage great technology, to build great products, but still looks to codes every chance he can get :)
The document discusses Rust, a systems programming language developed by Mozilla. It provides an agenda, introduction to the speaker and company, why Rust was chosen, basic Rust concepts, and examples of Rust code. Memory safety is emphasized as Rust avoids vulnerabilities like memory leaks and use-after-free by using a borrow checker to validate references. Examples demonstrate immutable and mutable references, structs, functions, and memory management using Box to move values.
This document provides an introduction and overview of TypeScript. It begins by discussing some of the benefits and drawbacks of JavaScript, and why TypeScript was created. It then covers TypeScript's design goals, popular frameworks built with it, and IDE support. The rest of the document outlines TypeScript's configuration, basic language features like types, interfaces, classes and generics. It also discusses code organization techniques like modules and namespaces. Finally, it provides a brief introduction to TypeScript's type system.
The document discusses various techniques for extending and improving Perl, including both good and potentially evil techniques. It covers Perl modules that port Perl 6 features to Perl 5 like given/when switches and state variables. It also discusses techniques for runtime introspection and modification like PadWalker and source filters. The document advocates for continuing to extend Perl 5 with modern features to keep it relevant and powerful.
TypeScript is a superset of JavaScript that compiles to JavaScript. It adds optional static typing, classes, interfaces, and other features to JavaScript to help catch errors. TypeScript files use the .ts extension and can be compiled to JavaScript using the TypeScript compiler. Key features of TypeScript include static typing for variables, interfaces for defining object structures, classes and inheritance for object-oriented programming, and modules for code organization.
Some techniques from the heady world of Functional Programming implemented in idiomatic Perl using various techniques: closures, iterators, Devel::Declare, and some distilled evil. New version now with monads! (As presented at http://conferences.yapceurope.org/lpw2008/ )
Rust
Why do you care about Rust? Who has the time to learn all these new languages? It seems like a new one is popping up every other week and this trend is growing at an exponential rate. Good news, a fair number of them are crafted really well and efficiently solve specific problems. Bad news, how do you keep up with all of this, let alone decide which languages to include in your companies technology portfolio.
Despite the challenges of all these new languages, a majority of developers are intrigued about the idea of becoming a polyglot, but don't know where to begin or don't have the time. In my polyglot travels, there is one language of late that is the sure-fire answer to the above questions, Rust.
In this talk I’ll explore the value behind becoming more polyglotic as a developer, how to pick languages to learn, and then dive deep in the the language of Rust. Which in my opinion, is hands down the best up and coming languages to learn.
About the Presenter
Anthony Broad-Crawford has been a developer since the year 2000 with a short side stint as a semi-professional poker player. Since his transition to software development Anthony has...
1. Built 8 patent receiving technologies
2. Founded two global companies
3. Been a CTO (3x), CPO (1x), and CEO (1x)
and is currently the CTO at Fooda where he manages product, user experience, and engineering. Fooda is predominantly web and mobile technology company focused on bringing great & healthy food from the best restaurant's to people while at the office.
Through his career, in production applications Anthony has used Ruby, Java, Jave (Android), Objective-C and Swift, .NET, Erlang, Scala, Node.JS, LISP, Smalltalk, and even assembly, with his recent favorite, Rust . No, not all at the same time in the same application.
Anthony now spends his time building great teams, that leverage great technology, to build great products, but still looks to codes every chance he can get :)
The document discusses Rust, a systems programming language developed by Mozilla. It provides an agenda, introduction to the speaker and company, why Rust was chosen, basic Rust concepts, and examples of Rust code. Memory safety is emphasized as Rust avoids vulnerabilities like memory leaks and use-after-free by using a borrow checker to validate references. Examples demonstrate immutable and mutable references, structs, functions, and memory management using Box to move values.
This document summarizes the history and future of PHP. It discusses the creators of PHP (Rasmus Lerdorf, Zeev Suraski, John Morris) and outlines the major versions released from PHP 1.0 in 1995 to the upcoming PHP 8.0, which will include features like FFI, JIT compilation, and asynchronous programming. It also previews potential features for future PHP versions such as OpCache core improvements and extending the instanceof operator.
This document provides an introduction to the Rust programming language. It describes that Rust was developed by Mozilla Research beginning in 2009 to combine the type safety of Haskell, concurrency of Erlang, and speed of C++. Rust reached version 1.0 in 2015 and is a generic, multiparadigm systems programming language that runs on platforms including ARM, Apple, Linux, Windows and embedded devices. It emphasizes security, performance and fine-grained memory safety without garbage collection.
The document discusses abstract syntax trees (ASTs) and parsing of code. It provides examples of parsing JavaScript code into tokens and then building a syntax tree. It also discusses common JavaScript parsers like Esprima and Acorn, and AST specifications like ESTree. Homomorphic parsing is shown where code and AST are equivalent. Common uses of ASTs include transpilation, linting, minification, and code transformation.
I demonstrate a small slice of Rakudo, an implementation of a dynamic language with some advanced features.
During the actual talk I used the REPL to do live demonstrations, often taking suggestions from the audience.
The document provides an overview of the Swift Foundation framework. It discusses key types in Foundation like AffineTransform, CharacterSet, Data, Date, DateComponents, Decimal, FileManager, IndexPath, Measurement, Notification, NSError, URL, and URLComponents. The document also briefly mentions the purpose of each type.
This document provides an overview of various programming concepts in Groovy including Eclipse IDE basics, assertions, closures, I/O, and functions. It discusses how to set up an Eclipse workspace and Groovy project. It explains that assertions can be used to check code validity and provides examples using assertions. It describes what closures are and provides examples of using closures on lists and maps. It discusses how to perform I/O operations like reading from standard input and files. Finally, it covers functions in Groovy including overloaded functions, default parameter values, and dynamic dispatch based on argument types.
This contains all the slides used in Silicon Valley Code Camp presentation on Sunday Oct 4, 10:45 session on "Amazing new features in JavaScript". At the end ut also includes the last year presentation covering ES 5
The document describes an object-oriented program for calculating a user's age from their name and birthday input. It introduces classes like Reader, Writer, and AgeCalculator. It then discusses improvements like dependency injection and using a factory pattern to decouple class dependencies and make the code more flexible and reusable.
Conheça um pouco mais sobre Perl 6, uma linguagem de programação moderna, poderosa e robusta que permitirá que você escreva código de forma ágil e eficiente.
1. The document discusses Rust concepts like ownership, borrowing, cloning, copying, mutable references, threads and channels for parallelism, and shared memory using Arc and Mutex.
2. It provides examples of using ownership and borrowing rules to manage memory, spawning threads and using channels for inter-thread communication, and using Arc and Mutex for shared mutable memory across threads.
3. The document presents these concepts as part of an overview of Rust's approach for safe systems programming without fear of crashes or data races through its ownership and borrowing model.
This document provides an introduction to JavaScript basics including data types, variables, operators, flow control, objects, arrays, functions, regular expressions and classes/modules. It begins with an overview of JavaScript and its relationship to ECMAScript. It then covers JavaScript syntax, variables, data types like numbers, strings, Booleans, null/undefined, arrays and objects. Methods for manipulating strings and numbers are demonstrated. The document concludes with examples and exercises for practicing JavaScript fundamentals.
There are a lot of operators in Perl 6, so many that it can be called an OOL: operator oriented language. Here I describe most of them from the angle of contexts, which Perl 6 has also much more than Perl 5.
The document discusses inheritance and polymorphism in C++. It shows examples of defining base and derived classes, and using virtual functions to allow polymorphic behavior. It also covers issues that can arise from multiple inheritance like ambiguous function calls, and ways to resolve them like using virtual inheritance or explicitly calling the base class function. Dynamic casting is demonstrated to check an object's type at runtime.
RxSwift is a library for reactive programming with Observables that provide asynchronous, event-based data streams. The document discusses key concepts of reactive programming like data flows, propagation of change, and functional reactive programming. It provides examples of using RxSwift to create Observables from various sources and applying operators like map, filter, and combineLatest. Validation of form fields is demonstrated by combining Observables of text changes and checking field values and formats.
The document discusses inheritance between classes in C++. It shows a Super class and a Sub class that inherits from Super. It demonstrates calling methods on instances of the subclasses and using references and pointers between the parent and child classes. It also shows proper use of virtual functions and destructors when inheriting.
Explaining ES6: JavaScript History and What is to ComeCory Forsyth
An overview of some of the history of JavaScript, how it became ECMAScript (and what Ecma is), as well as highlights of the new features and syntax in ES6 aka ES2015.
Originally presented to the New York Public Library on June 4 2015.
Static Optimization of PHP bytecode (PHPSC 2017)Nikita Popov
This document discusses static optimization of PHP bytecode. It describes optimizations like constant propagation, dead code elimination, inlining, and specialization that have been implemented in PHP. It also discusses challenges to optimization from features like references, eval(), and variable variables. Type inference using static single assignment form is explained. Metrics on performance improvements from optimizations in libraries and applications like WordPress are provided. Current and future work on additional optimizations in PHP is mentioned.
The document summarizes 10 new features in ECMAScript 2015 (ES6):
1. Default parameters allow defining function parameters that can be omitted when calling a function.
2. Rest parameters collect multiple function arguments into an array.
3. Spread syntax expands iterables like arrays into individual arguments.
4. Let and const introduce block scope and prevent redeclaration of variables.
5. Classes provide syntactic sugar over prototype-based inheritance.
6. Enhanced object literals allow omitting repeated name/value pairs and adding methods.
7. Template literals allow multiline strings and embedded expressions.
8. Object.assign copies enumerable own properties from one or more source objects to a target
This document provides an overview of ES6 features and how to set them up for use in Ruby on Rails applications. It describes key ES6 features such as let and const block scoping, template strings, destructuring assignment, default and rest parameters, loops and generators, enhanced object literals, Maps and Sets, arrow functions, modules, and classes. It then provides instructions for using the sprockets-es6 gem to transpile ES6 code to ES5 for use in Rails, as well as using Node.js and Gulp as an alternative approach.
This document summarizes the history and future of PHP. It discusses the creators of PHP (Rasmus Lerdorf, Zeev Suraski, John Morris) and outlines the major versions released from PHP 1.0 in 1995 to the upcoming PHP 8.0, which will include features like FFI, JIT compilation, and asynchronous programming. It also previews potential features for future PHP versions such as OpCache core improvements and extending the instanceof operator.
This document provides an introduction to the Rust programming language. It describes that Rust was developed by Mozilla Research beginning in 2009 to combine the type safety of Haskell, concurrency of Erlang, and speed of C++. Rust reached version 1.0 in 2015 and is a generic, multiparadigm systems programming language that runs on platforms including ARM, Apple, Linux, Windows and embedded devices. It emphasizes security, performance and fine-grained memory safety without garbage collection.
The document discusses abstract syntax trees (ASTs) and parsing of code. It provides examples of parsing JavaScript code into tokens and then building a syntax tree. It also discusses common JavaScript parsers like Esprima and Acorn, and AST specifications like ESTree. Homomorphic parsing is shown where code and AST are equivalent. Common uses of ASTs include transpilation, linting, minification, and code transformation.
I demonstrate a small slice of Rakudo, an implementation of a dynamic language with some advanced features.
During the actual talk I used the REPL to do live demonstrations, often taking suggestions from the audience.
The document provides an overview of the Swift Foundation framework. It discusses key types in Foundation like AffineTransform, CharacterSet, Data, Date, DateComponents, Decimal, FileManager, IndexPath, Measurement, Notification, NSError, URL, and URLComponents. The document also briefly mentions the purpose of each type.
This document provides an overview of various programming concepts in Groovy including Eclipse IDE basics, assertions, closures, I/O, and functions. It discusses how to set up an Eclipse workspace and Groovy project. It explains that assertions can be used to check code validity and provides examples using assertions. It describes what closures are and provides examples of using closures on lists and maps. It discusses how to perform I/O operations like reading from standard input and files. Finally, it covers functions in Groovy including overloaded functions, default parameter values, and dynamic dispatch based on argument types.
This contains all the slides used in Silicon Valley Code Camp presentation on Sunday Oct 4, 10:45 session on "Amazing new features in JavaScript". At the end ut also includes the last year presentation covering ES 5
The document describes an object-oriented program for calculating a user's age from their name and birthday input. It introduces classes like Reader, Writer, and AgeCalculator. It then discusses improvements like dependency injection and using a factory pattern to decouple class dependencies and make the code more flexible and reusable.
Conheça um pouco mais sobre Perl 6, uma linguagem de programação moderna, poderosa e robusta que permitirá que você escreva código de forma ágil e eficiente.
1. The document discusses Rust concepts like ownership, borrowing, cloning, copying, mutable references, threads and channels for parallelism, and shared memory using Arc and Mutex.
2. It provides examples of using ownership and borrowing rules to manage memory, spawning threads and using channels for inter-thread communication, and using Arc and Mutex for shared mutable memory across threads.
3. The document presents these concepts as part of an overview of Rust's approach for safe systems programming without fear of crashes or data races through its ownership and borrowing model.
This document provides an introduction to JavaScript basics including data types, variables, operators, flow control, objects, arrays, functions, regular expressions and classes/modules. It begins with an overview of JavaScript and its relationship to ECMAScript. It then covers JavaScript syntax, variables, data types like numbers, strings, Booleans, null/undefined, arrays and objects. Methods for manipulating strings and numbers are demonstrated. The document concludes with examples and exercises for practicing JavaScript fundamentals.
There are a lot of operators in Perl 6, so many that it can be called an OOL: operator oriented language. Here I describe most of them from the angle of contexts, which Perl 6 has also much more than Perl 5.
The document discusses inheritance and polymorphism in C++. It shows examples of defining base and derived classes, and using virtual functions to allow polymorphic behavior. It also covers issues that can arise from multiple inheritance like ambiguous function calls, and ways to resolve them like using virtual inheritance or explicitly calling the base class function. Dynamic casting is demonstrated to check an object's type at runtime.
RxSwift is a library for reactive programming with Observables that provide asynchronous, event-based data streams. The document discusses key concepts of reactive programming like data flows, propagation of change, and functional reactive programming. It provides examples of using RxSwift to create Observables from various sources and applying operators like map, filter, and combineLatest. Validation of form fields is demonstrated by combining Observables of text changes and checking field values and formats.
The document discusses inheritance between classes in C++. It shows a Super class and a Sub class that inherits from Super. It demonstrates calling methods on instances of the subclasses and using references and pointers between the parent and child classes. It also shows proper use of virtual functions and destructors when inheriting.
Explaining ES6: JavaScript History and What is to ComeCory Forsyth
An overview of some of the history of JavaScript, how it became ECMAScript (and what Ecma is), as well as highlights of the new features and syntax in ES6 aka ES2015.
Originally presented to the New York Public Library on June 4 2015.
Static Optimization of PHP bytecode (PHPSC 2017)Nikita Popov
This document discusses static optimization of PHP bytecode. It describes optimizations like constant propagation, dead code elimination, inlining, and specialization that have been implemented in PHP. It also discusses challenges to optimization from features like references, eval(), and variable variables. Type inference using static single assignment form is explained. Metrics on performance improvements from optimizations in libraries and applications like WordPress are provided. Current and future work on additional optimizations in PHP is mentioned.
The document summarizes 10 new features in ECMAScript 2015 (ES6):
1. Default parameters allow defining function parameters that can be omitted when calling a function.
2. Rest parameters collect multiple function arguments into an array.
3. Spread syntax expands iterables like arrays into individual arguments.
4. Let and const introduce block scope and prevent redeclaration of variables.
5. Classes provide syntactic sugar over prototype-based inheritance.
6. Enhanced object literals allow omitting repeated name/value pairs and adding methods.
7. Template literals allow multiline strings and embedded expressions.
8. Object.assign copies enumerable own properties from one or more source objects to a target
This document provides an overview of ES6 features and how to set them up for use in Ruby on Rails applications. It describes key ES6 features such as let and const block scoping, template strings, destructuring assignment, default and rest parameters, loops and generators, enhanced object literals, Maps and Sets, arrow functions, modules, and classes. It then provides instructions for using the sprockets-es6 gem to transpile ES6 code to ES5 for use in Rails, as well as using Node.js and Gulp as an alternative approach.
The document summarizes the key features of ECMAScript 6 (ES6), the 2015 version of JavaScript. Some of the major additions covered include let and const for block scoping, arrow functions, template strings, enhanced object properties, the spread operator, destructuring assignments, classes and inheritance, generators, and proxies. ES6 aims to make JavaScript a more robust and feature-rich programming language.
This document provides an introduction to JavaScript, covering basic concepts like data types, variables, operators, conditionals, loops, functions, arrays, and objects. It explains that JavaScript is an interpreted language that allows dynamic and interactive functionality on websites. Key points are demonstrated through examples, like using alert to output "Hello World" and basic math operations with variables.
Game Design and Development Workshop Day 1Troy Miles
This course teaches you how to build awesome video games using Cocos2Dx. Cocos2Dx is a feature packed, free game development engine. It is cross platform, high performance, and supports three languages: C++, Lua and JavaScript. With it, you can write games for iOS, Android, Windows, Mac, and the Web. It is nothing short of amazing and this course teaches you how to use it. We will program Cocos2Dx in JavaScript, but this is not a programming class. If you don't know how to write code in JavaScript or some other curly brace language, this is not the course for you. For those whose JavaScript is rusty, we will do quick language overview. Don't let the JavaScript part fool you. Cocos2Dx is built from highly optimized C++ and OpenGL, JavaScript is used for game logic, not graphics. Our games will run at a super fast, 60 frames a second.
This document provides an overview of JavaScript including:
1. It discusses JavaScript data types like strings, numbers, booleans, objects and functions.
2. It covers JavaScript operators, control flow, and functions.
3. It describes how to manipulate strings, numbers, dates, arrays and objects in JavaScript.
Groovy is a dynamic language for the Java platform that provides features inspired by languages like Python, Ruby and Smalltalk. It allows Java developers to use these features with a syntax that is very similar to Java. Groovy code can be compiled to Java bytecode and integrated with Java applications and libraries. It supports features like closures, metaprogramming, builders and templates to improve developer productivity.
This document provides a history of ECMAScript (ES) and JavaScript standards. It discusses the origins of JavaScript in 1995 and its standardization by ECMA in 1997 as ECMAScript. New versions were released periodically, including ES5 in 2009 and ES6 in 2015. ES6 was also referred to as ES2015 since version names going forward would be based on the year of release.
JavaScript for Unleashed a game about a robbery in London and its pretty long i do not know why you would want it but here have it :P also this is not pro its just for school because i am a loner like that and i have nothing better to do
This document provides examples and explanations of various TypeScript features including:
- Primitive data types like string, number, boolean
- Array, interface, and type alias syntax
- Function types and generics
- Union, intersection, and conditional types
- Generic constraints and type inference
- Built-in utility types like Pick, Partial, and Required
It demonstrates how to define types for functions, parameters, and return values. The examples show how to create custom generic types and conditional types as well as how to leverage built-in utility types. Overall the document serves as a recap of key TypeScript concepts.
This document provides an overview of JavaScript development challenges and how EcmaScript 2015 and TypeScript address these challenges. It discusses the rise of JavaScript, traditional development challenges like lack of structuring capabilities and static types, new features in EcmaScript 2015 like arrow functions and classes, and how TypeScript adds static types and interfaces to provide benefits for large application development. The document contains code examples to demonstrate various JavaScript and TypeScript language features.
This document provides a summary of C# and .NET core concepts including:
1. Data types and their sizes in C# including primitive types like int, string, bool as well as arrays and array operations.
2. Methods for string operations in C# like Compare, IndexOf, Replace, Split, ToCharArray.
3. Formatting numeric values and dates using standard and custom formats in C#.
This document provides a summary of C# and .NET core concepts including:
1. Data types and their sizes in C#.
2. How to declare and perform operations on arrays such as sorting, clearing, and copying elements.
3. Methods for performing common string operations like comparison, indexing, replacing, and splitting.
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!
This document discusses various PHP functions categorized into different groups like:
- Date Functions: date, getdate, setdate, Checkdate, time, mktime
- String Functions: strtolower, strtoupper, strlen, trim, substr, strcmp etc.
- Math Functions: abs, ceil, floor, round, pow, sqrt, rand
- User Defined Functions: functions with arguments, default arguments, returning values
- File Handling Functions: fopen, fread, fwrite, fclose to handle files
- Miscellaneous Functions: define, constant, include, require, header to define constants, include files etc.
The document provides an overview of topics to be covered in a Javascript session, including: data types, arithmetic operators, conditional statements, loops, functions, arrays, objects, and JSON. It then covers each topic in more detail with examples and explanations of key concepts like declaring and initializing variables, variable scope, assignment operators, if/else statements, boolean logic, for/while loops, functions with parameters and return values, arrays with different data types and array methods, and objects with properties that can be accessed and assigned values.
Explorando el Diseño de la Memoria en RustGermán Küber
Esta presentación, creada por Germán Kúber, ofrece una inmersión profunda en la organización y gestión de la memoria en la programación Rust, abordando desde la disposición de la memoria hasta los conceptos avanzados como el manejo del heap y el stack, y cómo Rust optimiza el uso de la memoria en tiempo de ejecución.
A talk about how Javascript developers can make better and less error prone code by adopting two practices: using type-checkers to validate types during the development process, using Flowtype as an example; and by applying some common clean code practices to make their code more readable.
The document describes the Mikado Method for incrementally refactoring large codebases. It involves recursively fixing pre-requisites to changes by reverting broken code, documenting the dependency graph, and ensuring each change delivers a working version. This method allows refactoring to proceed gradually while maintaining a deployable main branch, improving communication, and keeping developers focused on necessary changes.
This document describes Videogular, an AngularJS video player library. It allows adding HTML5 video capabilities like themes, plugins, and bindable properties. Plugins can add features like overlays and controls. The library uses an event-based API and is designed to work on desktop and mobile browsers.
Truco is a traditional card game that originated in Argentina and Uruguay. It involves bluffing and calling out challenges between two players who are dealt cards from a standard 52-card deck. The aim is to win tricks by correctly guessing whether the opponent's upcard is higher or lower in rank than your own hidden card.
Con la llegada del nuevo sistema operativo Windows 8 se abre un abanico de posibilidades para los desarrolladores web impresionante ya que el sistema operativo corre las aplicaciones html5 y JavaScript de forma nativa. Es hora de que nos pongamos manos a la obre y utilicemos nuestros conocimientos como desarrolladores web para realizar aplicaciones de escritorio realmente ricas y usables. Veremos de forma prática como realizar una aplicación sencilla para windows 8 con HTML y JavaScript.
Copyright de Marc Rubiño
Hydra.js es un framework que le facilita las herramientas para escribir su aplicación utilizando módulos o widgets y hace fácil el trabajar con ellos. Hydra.js utiliza una arquitectura desacoplada que:
Permite cambiar you framework base sin tener que cambiar el código de tus módulos o widgets
Permite a los módulos comunicarse con el resto sin conocer que módulos han sido cargados.
Puede extenderse fácilmente con nuevas funcionalidades.
Attendees will learn the importance of minimizing the code and how it can decrease bandwidth cost. Attendees will learn what are the improvements that can be done in their code to help YUI Compressor or Google Closure to make it more efficient. Attendees will learn how to integrate YUI Compressor in your daily development using a C.I (Continous Integration) server as Jenkins.
Slides of the 'Design patterns in Javascript' talk in @MadridJS
Code from talk can be found in:
https://github.com/tcorral/DesignPatterns_code
Running examples in:
http://tcorral.github.com/Design-Patterns-in-Javascript/
Code of examples in:
https://github.com/tcorral/Design-Patterns-in-Javascript
Explicación de como montar un sistema de unit testing automatizado, en el proceso de desarrollo, de forma que sea estable para equipos medianos-grandes.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...The Third Creative Media
"Navigating Invideo: A Comprehensive Guide" is an essential resource for anyone looking to master Invideo, an AI-powered video creation tool. This guide provides step-by-step instructions, helpful tips, and comparisons with other AI video creators. Whether you're a beginner or an experienced video editor, you'll find valuable insights to enhance your video projects and bring your creative ideas to life.
The Rising Future of CPaaS in the Middle East 2024Yara Milbes
Explore "The Rising Future of CPaaS in the Middle East in 2024" with this comprehensive PPT presentation. Discover how Communication Platforms as a Service (CPaaS) is transforming communication across various sectors in the Middle East.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
Preparing Non - Technical Founders for Engaging a Tech AgencyISH Technologies
Preparing non-technical founders before engaging a tech agency is crucial for the success of their projects. It starts with clearly defining their vision and goals, conducting thorough market research, and gaining a basic understanding of relevant technologies. Setting realistic expectations and preparing a detailed project brief are essential steps. Founders should select a tech agency with a proven track record and establish clear communication channels. Additionally, addressing legal and contractual considerations and planning for post-launch support are vital to ensure a smooth and successful collaboration. This preparation empowers non-technical founders to effectively communicate their needs and work seamlessly with their chosen tech agency.Visit our site to get more details about this. Contact us today www.ishtechnologies.com.au
A neural network is a machine learning program, or model, that makes decisions in a manner similar to the human brain, by using processes that mimic the way biological neurons work together to identify phenomena, weigh options and arrive at conclusions.
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Paul Brebner
Closing talk for the Performance Engineering track at Community Over Code EU (Bratislava, Slovakia, June 5 2024) https://eu.communityovercode.org/sessions/2024/why-apache-kafka-clusters-are-like-galaxies-and-other-cosmic-kafka-quandaries-explored/ Instaclustr (now part of NetApp) manages 100s of Apache Kafka clusters of many different sizes, for a variety of use cases and customers. For the last 7 years I’ve been focused outwardly on exploring Kafka application development challenges, but recently I decided to look inward and see what I could discover about the performance, scalability and resource characteristics of the Kafka clusters themselves. Using a suite of Performance Engineering techniques, I will reveal some surprising discoveries about cosmic Kafka mysteries in our data centres, related to: cluster sizes and distribution (using Zipf’s Law), horizontal vs. vertical scalability, and predicting Kafka performance using metrics, modelling and regression techniques. These insights are relevant to Kafka developers and operators.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
11. Hungarian notation
Prefix Type Example
b Boolean var bIsVisible = true;
e DOM element var eHeader = document.getElementById('header');
f Function var fCallback = function () { … };
n Number var nSides = 4;
o Object var oPoint = new Point(200, 345);
a Array var aNames = ['Luke', 'Nick', 'David'];
s String var sUrl = 'http://www.google.com';
$ jQuery var $Header = $('#header);
12. Prefix Type Example
_ Private var _transformData = function (data) { … return result; }
Public var render = function () { … };
Protected
Scope
18. Basic Types - Inferred
let month = 5;
let name = 'Mik';
let isVisible = false;
let cities = ['New York', 'Oxford', 'Valladolid'];
let person = {
firstName: 'Gerardo',
lastName: 'Abelardo'
};
19. Basic Types - Explicit
let month: number;
let name: string;
let isVisible: boolean;
let person: object;
let employee: any;
let cities: string[];
let customers: Array<any>;
let value: null;
let value2: undefined;
let value3: void;
let address: [string, number, string, string];
20. Basic Types
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
let strLength2: number = (<string>someValue).length;
Type Assertions
21. Basic Types - Union
let area: string| undefined = property('area');
let element: HTMLElement | null = document.getElementById('passion');
let menu: Array<Link | Divider> = getMenu();
29. Function Types 1/3
function add(x: number, y: number): number {
return x + y;
}
function multiply(x: number, y: number): number {
return x * y;
}
let myAdd: (x: number, y: number) => number = add;
type twoOperandsType = (x: number, y: number) => number;
let myMultiply: twoOperandsType = multiply;
30. Function Types 2/3
function buildName(firstName: string, lastName?: string) {
if (lastName) { return `${firstName} ${lastName}`; }
else { return firstName; }
}
function buildAddress(street: string, postalCode: string = 'UNDEFINED') {
if (postalCode) { return `${street} ${postalCode}`; }
else { return street; }
}
Before starting ask the people:
Who has some experience with TypeScript?
Who used TypeScript in personal projects?
Who is used TypeScript professionally in a daily basis?
On clicking one time this slide moves to the speaker presentation slide
This slide shows my face at the beginning without clicking anything.
On clicking:
1 - Shows my name and position. Tomas Corral Casas, Head of Frontend Technologies and Academy
2 - Shows the company I am working for: Passionate People where we do Frontend Development Consultancy
3 - Shows the company I am working on: Backbase. Remark the technologies we are actually using (TypeScript, Angular 6, RxJS)
4 - Moves to the next slide - Who created TypeScript?
Shows the question - Who created TypeScript?
On clicking it moves to the next slide when we can see only an empty slide.
On clicking:
1 - It shows the creator of TypeScript .
Anders Hejlsberg,
Danish
Creator of Delphi, Turbo Pascal and C#
2 - Shows Microsoft Logo
3- Moves to the next slide where we can see the question What is TypeScript?
On clicking it will go to the next slide where we can see the answer.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
It shows the answer right away.
TypeScript is a TYPED SUPERSET of Javascript THAT COMPILES to plain Javascript
On clicking we move to the next slide where we can see an empty slide.
In this slide we have to explain that being a superset means that it all starts with Javascript and ends with Javascript.
The reason to exist is to add features that will be available in the future, or not, but that allows to structure our code in a more scalable way.
On clicking:
1- Shows ES5 circle
2 - Shows ES6 classes, modules
3 - Shows ES7 Decorators, async/await…
4 - TypeScript - Typing, scopes.
5 - Moves to the next slide where we can see a question: What does a developer spend time on?
https://blogs.msdn.microsoft.com/peterhal/2006/01/04/what-do-programmers-really-do-anyway-aka-part-2-of-the-yardstick-saga/
It shows the question What does a developer spend time on?
On clicking:
1- The green block that represents 5% slides into the view from left side. (Ask the people what do they think this is about), when they answered click again.
2- Writing new code will slide in.
3- The blue block that represents 25% slides into the view from left side. (Ask the people what do they think this is about), when they answered click again.
4- Maintaining old code will slide in.
5- The purple block that represents 70% slides into the view from left side. (Ask the people what do they think this is about), when they answered click again.
6- Understanding code will slide in.
7 - Moves to the next slide - Before TypeScript
https://en.wikipedia.org/wiki/Hungarian_notation
https://humanwhocodes.com/blog/2006/11/01/the-case-against-hungarian-notation-in-javascript/
Shows two primitive silhouettes and the text Before TypeScript.
On Click:
Navigates to the slide where it shows Hungarian Notation
It shows the sentence Hungarian Notation - Ask the audience how many people knows what is the hungarian notation. Ask the audience how many people actually used it and how many are still using it.
On clicking it shows the next slide where we can see a few prefixes used in hungarian notation.
https://en.wikipedia.org/wiki/Hungarian_notation
https://humanwhocodes.com/blog/2006/11/01/the-case-against-hungarian-notation-in-javascript/
It shows a table with prefixes, type that the prefix is related to and an example:
B -> Boolean -> var bIsVisible = true
E -> Dom Element -> var eHeader = document.getElementById(‘header’);
F -> Function -> var fCallback = function () {};
N -> Number -> var nSides = 4;
O -> Object -> var oPoint = new Point(200, 345);
A -> Array -> var aNames = [‘Luke’, ‘Nick’, ‘David’]
S -> String -> var sUrl = ‘http://www.google.com’
$ -> jQuery -> var $Header = $(‘#header’)
On clicking it goes to the next slide where the are represented the Scope, Private, Public y Protected.
https://gist.github.com/tcorral/b5de0a318a09cda27d2830a813e5e8a6
It shows the Scope title and a table with prefix, type and example.
The first line is and underscore used to represent private scope access var _transformData=function(data) { }
The second line is empty because it represents everything public - var render = function () {};
The third is the protected but there was not protected.
On clicking it goes to the next slide where we are going to discuss JSDOC comments
https://en.wikipedia.org/wiki/Hungarian_notation
https://humanwhocodes.com/blog/2006/11/01/the-case-against-hungarian-notation-in-javascript/
It shows only the title when we get in this slide:
This doesn’t requires much explanation just name private, class, public, enum, protected, param, typedef.
On clicking:
1- Shows the list of comments.
2- It goes to the next slide when we can see an exclamation mark and the question. Why types are so important?
It shows the question why types are so important. Ask the audience if they know why types are so important in Javascript?
On Clicking it goes to the next slide where it shows two blocks (Core 1, Other Cores)
On Clicking:
1 - Source code slides in
2 - Parser slides in
3 - AST (Abstract Syntax Tree) https://astexplorer.net/
4 - ByteCode generator (Browser) - Converts to ByteCode.
5 - ByteCode result
6 - Execution - Where the code can be interpreted or executed using machine code (Assembler)
7 - Shows the bytecode to the aditional cores
8 - Jit Compiler and Garbage Collector
9 - Arrow Machine Code.
10 - Two squares in red are shown grouping the things that can go wrong.
11 - It will navigate to Basic Types where we can only see the title
Explain the audience and show the examples.
Code that changes the type of a variable cannot be traced and it will be interpreted all the time instead of being pre-compiled in bytecode
https://jsperf.com/js-best-practices-jit-1
https://jsperf.com/js-best-practices-jit-2
https://jsperf.com/js-best-practices-jit-3
https://jsperf.com/js-best-practices-jit-4
https://www.youtube.com/watch?v=p-iiEDtpy6I
It shows the Basic Types only.
On clicking:
1- All the types are shown
2- Moves to the next slide where we can see how TypeScript infers the types. Basic Types - Inferred.
https://www.typescriptlang.org/docs/handbook/basic-types.html
Shows Basic Types - Inferred and a black box.
On clicking:
1- Let month = 5;
2 - let name = ‘Mik’;
3 - let isVisible = false;
4 - let cities = [‘New York’, ‘Oxford’, ‘Valladolid’];
5 - let person = {
6 - firstName: ‘Gerardo’,
7 - lastName: ‘Abelardo’
8- }
9 - Navigates to Basic Types Explicit.
Explain that inferring works for primitives but that can be tricky and give problems if we want to use objects.
Cities will only be an array of three strings.
Person will be only an object that cannot be extended
https://www.typescriptlang.org/play/index.html
Use it to show some examples.
It shows Basic Types - Explicit title and three black boxes.
On clicking:
1 - let month: number;
2 - let name: string;
3 - let isVisible: boolean;
4 - let person: object;
5 - let employee: any;
6 - let cities: string[];
7- let customers: Array<any>;
8- let value:null;
9- let value2: undefined;
10- let value3: void;
11 - let address: [string, number, string, string]; (This is a Tuple)
12 - Navigates to Basic Types - Type Assertions
https://www.typescriptlang.org/play/index.html
Use it to show some examples.
It shows Basic Types - Type Assertions title and a black-box
On click:
1 - let someValue: any = "this is a string";2- let strLength: number = (someValue as string).length;3- let strLength2: number = (<string>someValue).length;
4- Navigates to Basic Types Union
Explain that this is used when you really know what type are you getting but that could be anything else because the type was to broad but you need to use it and know the methods or properties or if you need to use it as an argument of a method or function that expects an especific type.
https://www.typescriptlang.org/play/index.html
Use it to show some examples.
It shows the title Basic Types - Union and a black box.
On clicking:
1- let area: string| undefined = property('area');2- let element: HTMLElement | null = document.getElementById('passion');3- let menu: Array<Link | Divider> = getMenu();
4 - Navigates to the next slide where it shows the question How TypeScript type-checking works?
Explain that unions is used when one type can be more than one type.
https://www.typescriptlang.org/play/index.html
Use it to show some examples.
It shows the question How TypeScript type-checking works?
On clicking it goes to the next slide where it shows Type-checking focuses on the shape that values have.
It shows Type-checking focuses on the shape that values have.
On clicking:
1- It shows a duck.
2- It shows the message A.K.A “duck typing” or “structural subtyping”.
3- It navigates to the Enums slide
If it resembles what it’s expected then the type is accepted.
“If it looks like a duck and quacks like a duck, it's a duck”
It shows Enums title and two subtitles (Number Enums and String Enums)
On clicking it navigates to Number Enums and two black boxes.
It shows the title Number Enums and two black boxes.
On clicking:
1 - It shows the default usage, // The items are represented internally by numbers starting at 0
enum WeatherType { Sunny, Cloudy, Rainy, Storm, Frost, Nightly}
2- It shows the other usage for numbers where we can set numbers without letting TypeScript to guess.
enum WeatherType { Sunny = 1, Cloudy = 2, Rainy = 3, Storm = 4, Frost = 5, Nightly = 6}
3- Navigates to Number Enums - Usage slide where we see the title and a black box.
https://www.typescriptlang.org/play/index.html
Use it to show some examples.
It shows the title Number Enums - Usage and a black box.
On clicking:
1- it shows the code to return an icon type using the Enumeration.
class Weather { getWeatherIcon(weatherType: WeatherType) { switch (weatherType) { case WeatherType.Sunny: return 'weather_sunny'; case WeatherType.Cloudy: return 'weather_cloudy'; case WeatherType.Rainy: return 'weather_rain'; case WeatherType.Storm: return 'weather_storm'; case WeatherType.Frost: return 'weather_frost'; case WeatherType.Nightly: return 'weather_nightly'; } }}
2- Navigates to the next slide String Enums
https://www.typescriptlang.org/play/index.html
Use it to show some examples.
In this slide it shows the title String Enums and a black box.
On clicking:
1- It shows the code:
class Weather { getWeatherIcon(weatherType: WeatherType) { switch (weatherType) { case WeatherType.Sunny: return 'weather_sunny'; case WeatherType.Cloudy: return 'weather_cloudy'; case WeatherType.Rainy: return 'weather_rain'; case WeatherType.Storm: return 'weather_storm'; case WeatherType.Frost: return 'weather_frost'; case WeatherType.Nightly: return 'weather_nightly'; } }}2- It navigates to Functions Slide
Explain that using this makes unnecessary the previous slide.
https://basarat.gitbooks.io/typescript/content/docs/enums.html
https://www.typescriptlang.org/play/index.html
Use it to show some examples.
It shows a Functions title and two subtitles (Function Types, Overloading)
On clicking it navigates to Function Types 1/3