Presented at EmberConf 2015 by @sugarpirate_
In the dark ages of web development, designing a beautiful user experience meant having to constantly fight with the DOM to get it to do what you want, when you want. With Ember, we no longer have to struggle with managing DOM state, and we are free to put the user experience first with reactive UI.
In this talk, we'll discuss the ways in which Ember makes it easy to build delightful and reactive user experiences, and how you can build reusable components that even non-technical designers can learn to use. Learn about the thoughtful touches and interactions you can add to an Ember app.
Links:
1. Computed property macro demo – http://emberjs.jsbin.com/vubaga/11/edit?js,output
2. Showerthoughts loading messages demo – http://emberjs.jsbin.com/lulaki/35/edit?js,output
3. Flash messages demo – http://emberjs.jsbin.com/ranewo/45/edit?js,output
4. Drag and drop demo – http://emberjs.jsbin.com/denep/18/edit?js,output
This document describes building a single page application for authentication against multiple third party services like Facebook and Windows Live using OAuth2 and without page reloads. It discusses using an OAuth adapter and service-specific adapters to handle the different OAuth grant types and flows. Key parts of the implementation include injecting a session service, opening authentication as a promise, handling the redirect flow with a popup window, and reading the access token from the hash fragment or popup message.
This document describes a framework for building and launching micro-apps using Node.js, Electron, and Cordova. It discusses using Node.js to build single-page apps and a server, and leveraging Electron and Cordova to deploy the apps as desktop and mobile applications respectively. Code samples are provided for configuring, building, and launching multiple micro-apps from a single application window on different platforms.
Creating the interfaces of the future with the APIs of todaygerbille
The document discusses creating futuristic interfaces using web technologies like WebSockets, WebGL, and device APIs. It provides examples of syncing device orientation over WebSockets between clients, accessing the device camera with getUserMedia, and using head tracking with headtrackr.js to control the camera in a 3D scene rendered with three.js. Links are included for related projects on Wiimote control, head tracking examples, and touch tracking demos.
The document describes Johannes Brodwall's philosophy of "bare-knuckle web development" which advocates for lightweight frameworks, test-driven development, and avoiding unnecessary complexity. It then demonstrates this approach through building a simple phonebook web application in Java using only the bare essentials like servlets and XML parsing. Finally, it discusses further directions this approach could be taken, such as building applications for the Norwegian agricultural authority and power grid operator.
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
There are so many interesting ways to authenticate a user: via an API token, social login, a traditional HTML form or anything else you can dream up.
But until now, creating a custom authentication system in Symfony has meant a lot of files and a lot of complexity.
Introducing Guard: a simple, but expandable authentication system built on top of Symfony's security component. Want to authenticate via an API token? Great - that's just one class. Social login? Easy! Have some crazy legacy central authentication system? In this talk, we'll show you how you'd implement any of these in your application today.
Don't get me wrong - you'll still need to do some work. But finally, the path will be clear and joyful.
The document discusses different patterns for handling asynchronous code in JavaScript: callbacks, promises, and AMD (Asynchronous Module Definition). It outlines issues with nested callbacks and inflexible APIs. Promises and AMD aim to address these by allowing composition of asynchronous operations and defining module dependencies. The document provides examples of implementing PubSub with events, making and piping promises, and using AMD to load dependencies asynchronously. It concludes that callbacks should generally be avoided in favor of promises or AMD for asynchronous code.
This document discusses adding comment functionality to a Ruby on Rails application. It describes creating a Comment model with a polymorphic association that can belong to either a Bill or User. Migrations are run to support the comments table. Code examples demonstrate associating comments to bills and users, and retrieving associated comments. The document provides a tutorial for implementing a basic comments feature that works across multiple models.
This document describes building a single page application for authentication against multiple third party services like Facebook and Windows Live using OAuth2 and without page reloads. It discusses using an OAuth adapter and service-specific adapters to handle the different OAuth grant types and flows. Key parts of the implementation include injecting a session service, opening authentication as a promise, handling the redirect flow with a popup window, and reading the access token from the hash fragment or popup message.
This document describes a framework for building and launching micro-apps using Node.js, Electron, and Cordova. It discusses using Node.js to build single-page apps and a server, and leveraging Electron and Cordova to deploy the apps as desktop and mobile applications respectively. Code samples are provided for configuring, building, and launching multiple micro-apps from a single application window on different platforms.
Creating the interfaces of the future with the APIs of todaygerbille
The document discusses creating futuristic interfaces using web technologies like WebSockets, WebGL, and device APIs. It provides examples of syncing device orientation over WebSockets between clients, accessing the device camera with getUserMedia, and using head tracking with headtrackr.js to control the camera in a 3D scene rendered with three.js. Links are included for related projects on Wiimote control, head tracking examples, and touch tracking demos.
The document describes Johannes Brodwall's philosophy of "bare-knuckle web development" which advocates for lightweight frameworks, test-driven development, and avoiding unnecessary complexity. It then demonstrates this approach through building a simple phonebook web application in Java using only the bare essentials like servlets and XML parsing. Finally, it discusses further directions this approach could be taken, such as building applications for the Norwegian agricultural authority and power grid operator.
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
There are so many interesting ways to authenticate a user: via an API token, social login, a traditional HTML form or anything else you can dream up.
But until now, creating a custom authentication system in Symfony has meant a lot of files and a lot of complexity.
Introducing Guard: a simple, but expandable authentication system built on top of Symfony's security component. Want to authenticate via an API token? Great - that's just one class. Social login? Easy! Have some crazy legacy central authentication system? In this talk, we'll show you how you'd implement any of these in your application today.
Don't get me wrong - you'll still need to do some work. But finally, the path will be clear and joyful.
The document discusses different patterns for handling asynchronous code in JavaScript: callbacks, promises, and AMD (Asynchronous Module Definition). It outlines issues with nested callbacks and inflexible APIs. Promises and AMD aim to address these by allowing composition of asynchronous operations and defining module dependencies. The document provides examples of implementing PubSub with events, making and piping promises, and using AMD to load dependencies asynchronously. It concludes that callbacks should generally be avoided in favor of promises or AMD for asynchronous code.
This document discusses adding comment functionality to a Ruby on Rails application. It describes creating a Comment model with a polymorphic association that can belong to either a Bill or User. Migrations are run to support the comments table. Code examples demonstrate associating comments to bills and users, and retrieving associated comments. The document provides a tutorial for implementing a basic comments feature that works across multiple models.
ASP.NET and its cousin ASP.NET Core have long been dominant and intuitive tools for us to build our Web Applications. There's always friction when moving between the front and back ends, though, as we need to leave our comfortable .NET environment to add the logic to our web pages. We've had a hard dependency on Javascript, and all the flaws and warts that go along with it. With the advent of Blazor, we can start to move past this. In this talk, we'll be exploring Blazor Server and Blazor WebAssembly and discussing how we can begin building the Frontends of our web applications without Javascript!
Kamil Płaczek: Server-side rendering niesie ze sobą liczne korzyści, o których nietrudno zapomnieć w świecie zdominowanym przez aplikacje typu single-page. Uruchomienie naszego SPA na serwerze może nie być jednak tak proste, jak pozornie się wydaje. Porozmawiamy o problemach, z którymi przyjdzie zmierzyć się programiście podczas implementacji SSR, a o których nie zawsze przeczytamy w sekcji "Getting started" dokumentacji naszej ulubionej biblioteki. Uwierzytelnianie, routing czy komunikacja z backendem – to niektóre z tematów, które poruszone zostaną podczas prezentacji na przykładzie Reacta i Express.js.
The document discusses client-state manipulation attacks on web applications. It provides an example of a pizza ordering website that is vulnerable because it stores the price in a hidden form field that can be manipulated by an attacker. Several solutions are presented, including storing state on the server, signing state parameters sent to the client, using POST requests instead of GET, and storing state in cookies. The document cautions that user input cannot be trusted and that computations done in JavaScript are not secure.
The document describes the Backbone.js framework and how it can be used to build single page applications. It explains the core components of Backbone - Models, Collections, Views and Routers. It provides examples of initializing a Backbone application, defining models and collections, creating views to render data, and setting up routes and navigation. It also covers events, templating, and best practices for structuring Backbone code into separate JavaScript files for models, collections, views etc.
SQL injection attacks pose a major security threat by allowing attackers to alter intended database queries or commands through injection of malicious SQL code. Effective defenses include whitelisting input, escaping special characters, and using prepared statements with bind variables to separate data from SQL commands. These techniques help prevent attacks that could compromise user data, modify critical database information, or grant unauthorized access to attackers.
This document discusses setting up an intermediate WCF service to connect an Android application to Dynamics AX. It describes creating a WCF service that enables REST and outputs data in JSON format for consumption by the Android application. The WCF service is configured to use authentication via headers and return sample inventory item data from AX. The Android application code shows making a request to the WCF service to get JSON data and parsing it to display in a list view.
This document discusses setting up an intermediate WCF service to connect an Android application to Dynamics AX. It describes creating a WCF service that enables REST and outputs data as JSON for consumption by the Android application. The WCF service is configured to use authentication via headers and return AX data like item lists. The document also provides code samples for the WCF service interface and implementation, as well as the Android application code to call the service, parse the JSON response, and display it in a list view.
The document discusses Comet and DWR (Direct Web Remoting). It provides an overview of Comet, which allows for long-lived HTTP connections to enable low-latency data delivery. It discusses various Comet techniques like forever frames, long polling, and HTMLFile. It also covers challenges of implementing Comet and how frameworks like DWR and protocols like Bayeux help address these. DWR allows for easily calling Java objects from JavaScript and updating pages in real-time.
Better Bullshit Driven Development [SeleniumCamp 2017]automician
This document discusses different styles for writing automated tests using the Behavior Driven Development (BDD) methodology. It compares the traditional "xUnit" style to two BDD styles using Gherkin syntax and step definitions. It also discusses enhancing xUnit tests with page object patterns and Allure reporting to make the tests more readable and provide detailed reports. The document advocates an approach using xUnit with page objects and Allure reporting as a better alternative to adding extra layers for Gherkin step definitions when the requirements are already automated tests.
This document provides an overview of computer vision and facial detection using .NET. It discusses digital images, convolution and edge detection using Sobel filters. It also covers convolutional neural networks and their limitations. Facial detection is demonstrated using Viola-Jones detection, integral images and cascading classifiers. Finally, it shows how to integrate facial detection with the Vonage Video API in a WPF application by intercepting video frames and running detection on each one before rendering.
This document discusses the use of class-based views in Django. It describes using Django's authentication framework with a custom backend to authenticate against a REST API instead of a database. It also covers using Django's session and message frameworks without a database. Various mixins are presented for building class-based views, including handling roles, REST APIs, templates, and building modular applications with common base classes and templates.
The document discusses jQuery, a JavaScript library that makes DOM scripting and event handling easier. It provides functions to select elements, handle events, perform animations and AJAX requests. Some key features include CSS selector syntax to select elements, chaining of methods, cross-browser compatibility, and a simple plugin API. Popular uses of jQuery include DOM manipulation, event handling, and animating effects.
This document discusses Vaadin, GWT, and Web Components. It contains the following key points:
1. Vaadin is a server-driven UI framework that uses GWT for client-side rendering.
2. Vaadin connectors bridge GWT and Vaadin by forming connections between client-side GWT widgets and server-side Vaadin components.
3. Web Components are emerging web standards for encapsulated custom elements that will be important in the future, but browser support is still lacking without polyfills like Polymer.
Web authentication and authorization has come a long way in the last ten years. In this talk we'll look at where we've come from and how to OAuth and OIDC solved the problems we faced.
The quest for global design principles (SymfonyLive Berlin 2015)Matthias Noback
If you’re a programmer you make design decisions every second. You need to think, and often think hard, about everything. Luckily there are many useful design principles and patterns that you can apply. But some of them merely expose code smells. Others only help you design your classes. And some are applicable to packages only. Wouldn’t it be nice to have some more general, always useful, invariably applicable, foundational design principles? In this talk we’ll look at software from many different perspectives, and while we’re zooming in and out, we’ll discover some of the deeper principles that form the basis of proper object-oriented design. After attending this talk you will be able to make better design decisions by reflecting on the stream of messages that is flowing from object to object, and from application to application.
Natural Task Scheduling Using Futures and Continuations, Ivan Čukić, Qt Devel...Ivan Čukić
We are used to think about algorithms in a procedural manner – with loops, branches and subroutines. Presenting an algorithm as an easily understandable flow between its steps.
In the real world, where we need to reduce latency and forbid the blocking API calls, these flows get broken. Due to the inversion of control (IoC) required by the introduction of asynchronous APIs (Xlib vs. XCB, iostream vs. boost::asio), the code becomes an unreadable call-callback soup.
We are presenting a way of defining the algorithm flow in a procedural manner and leaving it up to the C++ compiler to generate the necessary asynchronous code.
This document discusses building a REST API with Pyramid. It covers setting up routes and views to handle GET, PUT, DELETE requests. It also discusses adding validation with Colander, authentication, and enabling CORS to allow requests from other origins. The REST API is built to provide autocomplete suggestions from a storage backend and allow adding, deleting, and validating item data.
From framework coupled code to #microservices through #DDD /by @codelytvCodelyTV
From framework coupled code to microservices through DDD modules. The presentation discussed the evolution from monolithic frameworks to microservices architecture through various stages:
1) Old days of framework coupled code with low autonomy, maintainability and learning curve.
2) Use of MVC frameworks improved isolation but code was still highly coupled.
3) Focus on testing drove adoption of SOLID principles at a micro scale.
4) Domain-Driven Design introduced modules per domain concept improving decoupling, semantics and testability.
5) Further decomposition into bounded contexts and microservices provided more autonomy for teams but introduced new accidental complexities around infrastructure and coordination.
The document provides an agenda and overview for an introduction to computer vision in .NET. The agenda includes discussing what digital images and computer vision are, demonstrating Hello OpenCV in .NET, covering convolution and edge detection, facial detection, facial detection with the Vonage Video API, and feature tracking and image projection. The document shares code examples and resources for working with computer vision libraries like OpenCV and Emgu CV in .NET.
Smartphones zijn niet meer weg te denken uit het dagelijks leven. Bedrijven ontwikkelen steeds meer en meer toepassingen om hun producten of diensten via deze smartphones aan te bieden.
Sencha Touch stelt ontwikkelaars in staat om met behulp van HTML5, CSS en JavaScript applicaties te bouwen die zowel op Android als op iOS draaien.
Deze technische sessie wordt gegeven door Tom Druyts.
The document discusses REST (REpresentational State Transfer) and server integration on the web. It presents Leonard Richardson's model for server maturity, moving from a single URI and HTTP verb to multiple URIs and verbs. This allows for a more RESTful design with resources and hypermedia links. Examples are given using JAX-RS to build RESTful services with Java that follow best practices for uniform interfaces, content negotiation, and loose coupling between components.
ASP.NET and its cousin ASP.NET Core have long been dominant and intuitive tools for us to build our Web Applications. There's always friction when moving between the front and back ends, though, as we need to leave our comfortable .NET environment to add the logic to our web pages. We've had a hard dependency on Javascript, and all the flaws and warts that go along with it. With the advent of Blazor, we can start to move past this. In this talk, we'll be exploring Blazor Server and Blazor WebAssembly and discussing how we can begin building the Frontends of our web applications without Javascript!
Kamil Płaczek: Server-side rendering niesie ze sobą liczne korzyści, o których nietrudno zapomnieć w świecie zdominowanym przez aplikacje typu single-page. Uruchomienie naszego SPA na serwerze może nie być jednak tak proste, jak pozornie się wydaje. Porozmawiamy o problemach, z którymi przyjdzie zmierzyć się programiście podczas implementacji SSR, a o których nie zawsze przeczytamy w sekcji "Getting started" dokumentacji naszej ulubionej biblioteki. Uwierzytelnianie, routing czy komunikacja z backendem – to niektóre z tematów, które poruszone zostaną podczas prezentacji na przykładzie Reacta i Express.js.
The document discusses client-state manipulation attacks on web applications. It provides an example of a pizza ordering website that is vulnerable because it stores the price in a hidden form field that can be manipulated by an attacker. Several solutions are presented, including storing state on the server, signing state parameters sent to the client, using POST requests instead of GET, and storing state in cookies. The document cautions that user input cannot be trusted and that computations done in JavaScript are not secure.
The document describes the Backbone.js framework and how it can be used to build single page applications. It explains the core components of Backbone - Models, Collections, Views and Routers. It provides examples of initializing a Backbone application, defining models and collections, creating views to render data, and setting up routes and navigation. It also covers events, templating, and best practices for structuring Backbone code into separate JavaScript files for models, collections, views etc.
SQL injection attacks pose a major security threat by allowing attackers to alter intended database queries or commands through injection of malicious SQL code. Effective defenses include whitelisting input, escaping special characters, and using prepared statements with bind variables to separate data from SQL commands. These techniques help prevent attacks that could compromise user data, modify critical database information, or grant unauthorized access to attackers.
This document discusses setting up an intermediate WCF service to connect an Android application to Dynamics AX. It describes creating a WCF service that enables REST and outputs data in JSON format for consumption by the Android application. The WCF service is configured to use authentication via headers and return sample inventory item data from AX. The Android application code shows making a request to the WCF service to get JSON data and parsing it to display in a list view.
This document discusses setting up an intermediate WCF service to connect an Android application to Dynamics AX. It describes creating a WCF service that enables REST and outputs data as JSON for consumption by the Android application. The WCF service is configured to use authentication via headers and return AX data like item lists. The document also provides code samples for the WCF service interface and implementation, as well as the Android application code to call the service, parse the JSON response, and display it in a list view.
The document discusses Comet and DWR (Direct Web Remoting). It provides an overview of Comet, which allows for long-lived HTTP connections to enable low-latency data delivery. It discusses various Comet techniques like forever frames, long polling, and HTMLFile. It also covers challenges of implementing Comet and how frameworks like DWR and protocols like Bayeux help address these. DWR allows for easily calling Java objects from JavaScript and updating pages in real-time.
Better Bullshit Driven Development [SeleniumCamp 2017]automician
This document discusses different styles for writing automated tests using the Behavior Driven Development (BDD) methodology. It compares the traditional "xUnit" style to two BDD styles using Gherkin syntax and step definitions. It also discusses enhancing xUnit tests with page object patterns and Allure reporting to make the tests more readable and provide detailed reports. The document advocates an approach using xUnit with page objects and Allure reporting as a better alternative to adding extra layers for Gherkin step definitions when the requirements are already automated tests.
This document provides an overview of computer vision and facial detection using .NET. It discusses digital images, convolution and edge detection using Sobel filters. It also covers convolutional neural networks and their limitations. Facial detection is demonstrated using Viola-Jones detection, integral images and cascading classifiers. Finally, it shows how to integrate facial detection with the Vonage Video API in a WPF application by intercepting video frames and running detection on each one before rendering.
This document discusses the use of class-based views in Django. It describes using Django's authentication framework with a custom backend to authenticate against a REST API instead of a database. It also covers using Django's session and message frameworks without a database. Various mixins are presented for building class-based views, including handling roles, REST APIs, templates, and building modular applications with common base classes and templates.
The document discusses jQuery, a JavaScript library that makes DOM scripting and event handling easier. It provides functions to select elements, handle events, perform animations and AJAX requests. Some key features include CSS selector syntax to select elements, chaining of methods, cross-browser compatibility, and a simple plugin API. Popular uses of jQuery include DOM manipulation, event handling, and animating effects.
This document discusses Vaadin, GWT, and Web Components. It contains the following key points:
1. Vaadin is a server-driven UI framework that uses GWT for client-side rendering.
2. Vaadin connectors bridge GWT and Vaadin by forming connections between client-side GWT widgets and server-side Vaadin components.
3. Web Components are emerging web standards for encapsulated custom elements that will be important in the future, but browser support is still lacking without polyfills like Polymer.
Web authentication and authorization has come a long way in the last ten years. In this talk we'll look at where we've come from and how to OAuth and OIDC solved the problems we faced.
The quest for global design principles (SymfonyLive Berlin 2015)Matthias Noback
If you’re a programmer you make design decisions every second. You need to think, and often think hard, about everything. Luckily there are many useful design principles and patterns that you can apply. But some of them merely expose code smells. Others only help you design your classes. And some are applicable to packages only. Wouldn’t it be nice to have some more general, always useful, invariably applicable, foundational design principles? In this talk we’ll look at software from many different perspectives, and while we’re zooming in and out, we’ll discover some of the deeper principles that form the basis of proper object-oriented design. After attending this talk you will be able to make better design decisions by reflecting on the stream of messages that is flowing from object to object, and from application to application.
Natural Task Scheduling Using Futures and Continuations, Ivan Čukić, Qt Devel...Ivan Čukić
We are used to think about algorithms in a procedural manner – with loops, branches and subroutines. Presenting an algorithm as an easily understandable flow between its steps.
In the real world, where we need to reduce latency and forbid the blocking API calls, these flows get broken. Due to the inversion of control (IoC) required by the introduction of asynchronous APIs (Xlib vs. XCB, iostream vs. boost::asio), the code becomes an unreadable call-callback soup.
We are presenting a way of defining the algorithm flow in a procedural manner and leaving it up to the C++ compiler to generate the necessary asynchronous code.
This document discusses building a REST API with Pyramid. It covers setting up routes and views to handle GET, PUT, DELETE requests. It also discusses adding validation with Colander, authentication, and enabling CORS to allow requests from other origins. The REST API is built to provide autocomplete suggestions from a storage backend and allow adding, deleting, and validating item data.
From framework coupled code to #microservices through #DDD /by @codelytvCodelyTV
From framework coupled code to microservices through DDD modules. The presentation discussed the evolution from monolithic frameworks to microservices architecture through various stages:
1) Old days of framework coupled code with low autonomy, maintainability and learning curve.
2) Use of MVC frameworks improved isolation but code was still highly coupled.
3) Focus on testing drove adoption of SOLID principles at a micro scale.
4) Domain-Driven Design introduced modules per domain concept improving decoupling, semantics and testability.
5) Further decomposition into bounded contexts and microservices provided more autonomy for teams but introduced new accidental complexities around infrastructure and coordination.
The document provides an agenda and overview for an introduction to computer vision in .NET. The agenda includes discussing what digital images and computer vision are, demonstrating Hello OpenCV in .NET, covering convolution and edge detection, facial detection, facial detection with the Vonage Video API, and feature tracking and image projection. The document shares code examples and resources for working with computer vision libraries like OpenCV and Emgu CV in .NET.
Smartphones zijn niet meer weg te denken uit het dagelijks leven. Bedrijven ontwikkelen steeds meer en meer toepassingen om hun producten of diensten via deze smartphones aan te bieden.
Sencha Touch stelt ontwikkelaars in staat om met behulp van HTML5, CSS en JavaScript applicaties te bouwen die zowel op Android als op iOS draaien.
Deze technische sessie wordt gegeven door Tom Druyts.
The document discusses REST (REpresentational State Transfer) and server integration on the web. It presents Leonard Richardson's model for server maturity, moving from a single URI and HTTP verb to multiple URIs and verbs. This allows for a more RESTful design with resources and hypermedia links. Examples are given using JAX-RS to build RESTful services with Java that follow best practices for uniform interfaces, content negotiation, and loose coupling between components.
A document about queues discusses what queues are, why they are used, common use cases, implementation patterns, protocols, considerations when implementing queues, and how to handle issues that may arise. Queues act as buffers that allow different applications or systems to communicate asynchronously by passing messages. They help decouple components, distribute load, and improve reliability and user experience. Common examples of messages that may be queued include emails, images, videos, and IoT data.
This document provides an overview of building web applications with Ember.js. It discusses Ember's core concepts like templates, routes, controllers and components. It also covers using Ember Data to manage models and the store. Examples are given of setting up an application structure with routes and resources, passing data between routes, controllers and templates, and building reusable components. Support resources like the Ember Inspector and discussion forums are also mentioned. Finally, upcoming features like Ember CLI, HTMLBars and Ember Data 1.0 are highlighted.
This document discusses best practices for developing Node.js applications. It recommends using frameworks like Express for building web apps, libraries like Async to avoid callback hell, and organizing code into modular sub-applications. It also covers testing, error handling, documentation, and open-sourcing projects. Standards like Felix's Style Guide and domain-driven design principles are advocated. Communication channels like events, HTTP APIs, and WebSockets are examined.
The Future of Responsive Design StandardsBrian Fegan
The document discusses future standards for responsive design that will better adapt to users' needs and environments. It proposes evolving HTML, CSS, and JavaScript to utilize new browser APIs that detect things like connection speed, location, ambient light, and other environmental factors to optimize content delivery and layout. This would allow sites to serve high resolution video only to fast connections, increase text size for distant users, and adapt layouts and fonts based on a user's detected region, among other things.
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
The Return of JavaScript: 3 Open-Source Projects that are driving JavaScript'...Ben Teese
Web development is experiencing a major change at the moment. Users are demanding increasingly responsive and interactive web applications. The mobile web has taken off. And closed platforms like Flash are yielding to open standards like HTML 5.
In this presentation I’ll argue that the language that will underpin this revolution is JavaScript – despite it’s poor reputation. Furthermore, I’ll explain how JavaScript’s resurrection is being driven by a slew of new open-source technologies.
For video of this presentation, see http://www.youtube.com/watch?v=SiCD3Nbf810
When you move beyond adding simple enhancements to your website with jQuery and start building full-blown client-side applications, how do you organize your code? At this month's Triangle JS Meetup, we'll take a look at patterns for application development using jQuery that promote the principles of tight encapsulation and loose coupling, including classes, the publish/subscribe paradigm, and dependency management and build systems.
Ember.js is a front end JavaScript MVC framework, but probably won't map to the exact same MVC patterns as CakePHP does on the server side. I cover the major features of Ember.js and attempt to make the connection to CakePHP classes where it applies.
Server-Side Push: Comet, Web Sockets come of age (OSCON 2013)Brian Sam-Bodden
Server-side browser push technologies have been around for a while in one way or another, ranging from from crude browser polling to Flash enabled frameworks. In this session you’ll get a code-driven walk-through on the evolution and mechanics of server-push technologies, including:
Server streaming
Polling and long Polling
Comet
Web Sockets
This document discusses how big data and analytics can be used by individuals. It notes that while people used to be able to work alone, big data now requires teams of people. It provides examples of how a team of 1 person grew to 4 people and later 10 people to work on an analytics project over 3 months. It also discusses technologies like REST APIs, Java, RequireJS, Mustache templates, and how they were used to develop applications and widgets to work with and visualize different data sources.
Vadym Khondar is a senior software engineer with 8 years of experience, including 2.5 years at EPAM. He leads a development team that works on web and JavaScript projects. The document discusses reactive programming, including its benefits of responsiveness, resilience, and other qualities. Examples demonstrate using streams, behaviors, and other reactive concepts to write more declarative and asynchronous code.
Promises are so passé - Tim Perry - Codemotion Milan 2016Codemotion
The document discusses asynchronous programming in JavaScript and how it has evolved over time. It covers callbacks, promises, generators, and the new async/await syntax. Callbacks were difficult to read and handle errors across steps. Promises provided a better model but still had ceremony and didn't play nicely with other constructs. Generators allowed writing async code that looked synchronous but required wrapping in a promise. Async/await builds on promises and generators by providing syntax that looks like synchronous code while still being asynchronous under the hood. It addresses issues with previous approaches but developers still need to handle errors and can overuse await. Async/await is available in modern browsers and makes asynchronous JavaScript much cleaner.
node.js practical guide to serverside javascriptEldar Djafarov
This document provides an overview of Node.js and how to build server-side JavaScript applications with it. Some key points covered include:
- Node.js uses a single-threaded non-blocking I/O model that handles multiple requests concurrently using callbacks and an event loop.
- Common Node.js modules like Express make it easy to build REST APIs and web servers. Express uses middleware for common tasks like routing, static files, authentication etc.
- Testing Node.js applications can be done with frameworks like Mocha and Chai to write unit and integration tests, and the Request library to mock HTTP requests.
The document discusses the importance of testing services and provides various strategies and tools for doing so effectively when developing software applications. It begins by defining what a service is and why testing services is important for building reliable applications. It then outlines challenges with testing external APIs and services that are beyond a developer's control. The document spends significant time exploring different approaches for stubbing or mocking external services in tests to avoid real network requests. These include built-in stubbing tools, services that provide pre-recorded responses, and technologies that can automatically record and replay API responses for future tests. It emphasizes the benefits of each approach and provides examples of implementing them. Finally, it discusses additional techniques for verifying tests that interact with external services.
The document discusses using promises to write asynchronous code in a synchronous style. It provides examples of testing a blog API using callbacks, async/await, and promises. With callbacks, the code is nested and difficult to follow. Using async/await and promises helps linearize the code and make the asynchronous logic clearer and easier to read. Promises transform asynchronous code into a series of synchronous-looking steps chained together with .then() calls. This improves readability and maintainability compared to deeply nested callbacks.
Versão com GIFs:
https://docs.google.com/presentation/d/17M-jHlkAP5KPfQ4_Alck_wIsN2gK3dZNGfJR9Bi1L50/present
Códigos para instalação das dependências:
https://github.com/fdaciuk/talks/tree/master/2015/wordcamp-sao-paulo
Similar to EmberConf 2015 – Ambitious UX for Ambitious Apps (20)
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
6. “Most people make the mistake of thinking
design is what it looks like. That’s not what we
think design is. It’s not just what it looks like
and feels like. Design is how it works.”
51. Service
ƈ
Reddit API
Index Route User RouteLoading Route
Fetch top posts
Component
Fetch user records resolve()
Get random message
Display shower thought