AngularFire is the officially supported AngularJS binding for Firebase. ... The focus of this library is to abstract much of the boilerplate involved in creating Angular bindings from Firebase to Angular, and to make it easy to create services that sync to your database.
A directive is a custom HTML element that is used to extend the power of HTML. Angular 2 has the following directives that get called as part of the BrowserModule module.
ngif
ngFor
If you view the app.module.ts file, you will see the following code and the BrowserModule module defined. By defining this module, you will have access to the 2 directives.
Angular - Chapter 9 - Authentication and AuthorizationWebStackAcademy
This document provides an introduction to authentication and authorization in Angular applications. It discusses authentication as validating users through credentials like username and password, while authorization controls user access permissions. JSON web tokens (JWTs) are then introduced as a way to securely transmit information to authenticate users between the client and server. The structure and usage of JWTs is explained, including how the header, payload, and signature parts work with base64 encoding and HMAC algorithms. Finally, local storage methods for storing user data in the browser are reviewed.
Http Service will help us fetch external data, post to it, etc. We need to import the http module to make use of the http service. Let us consider an example to understand how to make use of the http service.
Components are the most basic UI building block of an Angular app. An Angular app contains a tree of Angular components.
Angular components are a subset of directives, always associated with a template. Unlike other directives, only one component can be instantiated per an element in a template.
A component must belong to an NgModule in order for it to be available to another component or application. To make it a member of an NgModule, list it in the declarations field of the NgModule metadata.
Debugging in JavaScript
It is common to have errors while writing codes and the errors can be due to syntax or logical. These errors create a lot of ambiguity in the logic and understanding of both users and programmers. There can also be errors in the code which can remain invisible to the programmer’s eye and can create havoc. To identify these errors we need Debuggers that can go through the entire code or program, identify the errors and also fix them.
-Debugger
The debugger keyword is used in the code to force stop the execution of the code at a breaking point and calls the debugging function. The debugger function is executed if any debugging is needed at all else no action is performed.
The Browser Object Model (BOM) in JavaScript includes the properties and methods for JavaScript to interact with the web browser.
BOM provides you with window object, for example, to show the width and height of the window. It also includes the window.screen object to show the width and height of the screen.
AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. AngularJS's data binding and dependency injection eliminate much of the code you would otherwise have to write. And it all happens within the browser, making it an ideal partner with any server technology.
[2015/2016] Local data storage for web-based mobile appsIvano Malavolta
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
A directive is a custom HTML element that is used to extend the power of HTML. Angular 2 has the following directives that get called as part of the BrowserModule module.
ngif
ngFor
If you view the app.module.ts file, you will see the following code and the BrowserModule module defined. By defining this module, you will have access to the 2 directives.
Angular - Chapter 9 - Authentication and AuthorizationWebStackAcademy
This document provides an introduction to authentication and authorization in Angular applications. It discusses authentication as validating users through credentials like username and password, while authorization controls user access permissions. JSON web tokens (JWTs) are then introduced as a way to securely transmit information to authenticate users between the client and server. The structure and usage of JWTs is explained, including how the header, payload, and signature parts work with base64 encoding and HMAC algorithms. Finally, local storage methods for storing user data in the browser are reviewed.
Http Service will help us fetch external data, post to it, etc. We need to import the http module to make use of the http service. Let us consider an example to understand how to make use of the http service.
Components are the most basic UI building block of an Angular app. An Angular app contains a tree of Angular components.
Angular components are a subset of directives, always associated with a template. Unlike other directives, only one component can be instantiated per an element in a template.
A component must belong to an NgModule in order for it to be available to another component or application. To make it a member of an NgModule, list it in the declarations field of the NgModule metadata.
Debugging in JavaScript
It is common to have errors while writing codes and the errors can be due to syntax or logical. These errors create a lot of ambiguity in the logic and understanding of both users and programmers. There can also be errors in the code which can remain invisible to the programmer’s eye and can create havoc. To identify these errors we need Debuggers that can go through the entire code or program, identify the errors and also fix them.
-Debugger
The debugger keyword is used in the code to force stop the execution of the code at a breaking point and calls the debugging function. The debugger function is executed if any debugging is needed at all else no action is performed.
The Browser Object Model (BOM) in JavaScript includes the properties and methods for JavaScript to interact with the web browser.
BOM provides you with window object, for example, to show the width and height of the window. It also includes the window.screen object to show the width and height of the screen.
AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. AngularJS's data binding and dependency injection eliminate much of the code you would otherwise have to write. And it all happens within the browser, making it an ideal partner with any server technology.
[2015/2016] Local data storage for web-based mobile appsIvano Malavolta
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
What is RDBMS?
RDBMS stands for Relational Database Management System. RDBMS is the basis for SQL, and for all modern database systems like MS SQL Server, IBM DB2, Oracle, MySQL, and Microsoft Access.
A Relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as introduced by E. F. Codd.
A three hour tutorial I gave at PHP Quebec on the challenges, theory, and concepts behind making asynchronous JavaScript calls for Web 2.0 Applications using PHP
The document provides an overview of Ajax operations and patterns. It discusses the anatomy of an Ajax pattern which includes a trigger, operation, and update. It then covers using the XMLHttpRequest (XHR) object to make requests, including how to create a request, write a callback, make the request, and parse responses. The document also discusses different response formats like XML, HTML, and JSON and how to handle each type of response. It concludes with an overview of common Ajax operations like lookup, persist, validate, invoke, and message.
AJAX (Asynchronous JavaScript and XML) is a web development technique that allows web pages to be updated asynchronously by exchanging data with a web server behind the scenes. It uses a combination of technologies including XHTML, CSS, DOM, JavaScript, and XMLHttpRequest object to retrieve data from the server without interfering with the display and behavior of the existing page. This allows data to be updated without reloading the whole page. Some common applications of AJAX include Google Maps, Gmail, and predictive text while typing into search boxes.
The document provides an overview of HTTP, CGI, servlets, JSPs, and AJAX. It describes how HTTP works for client-server communication. It explains how CGI was used for web server and application integration but had performance and manageability issues. It introduces the servlet/JSP model and web application container as an improved approach. It also gives a brief introduction to using AJAX.
This document discusses exciting features of JavaScript including how it can be used in browsers and non-browser environments. It covers how JavaScript supports object-oriented, functional, and aspect-oriented programming paradigms through its first-class functions, closures, and other language features. The document also discusses how code generation and introspection are possible in JavaScript and how this enables implementing domain-specific languages through techniques like lambda functions. In conclusion, the author expresses optimism about JavaScript's potential for large-scale development.
This document provides an introduction and overview of ASP.NET and Web Forms. It discusses the background of ASP and how ASP.NET was developed to address challenges with ASP. The key features of ASP.NET, including Web Forms, Web Services, and the .NET Framework are described. The document then covers the ASP.NET programming model based on controls and events, and how postbacks maintain page state without requiring additional code. It also introduces the ASP.NET object model and server-side controls.
This document provides an introduction to AJAX (Asynchronous JavaScript and XML). It discusses what AJAX is, why it was developed, how it works using the XMLHttpRequest object, security considerations, and alternatives like Flash. It also demonstrates how to encapsulate AJAX logic in JavaScript and how frameworks like JSF can be used to implement AJAX without writing JavaScript directly.
My talking points for the presentation on optimization of modern web applications. It is a huge topic, and I concentrated mostly on technical aspects of it.
This document discusses Ajax, which allows asynchronous updating of parts of a web page without reloading the entire page. It defines Ajax as using existing technologies like JavaScript, XML, CSS, and HTML. Key points:
- Ajax permits exchanging data with a server to update parts of a page without refreshing.
- It uses the XMLHttpRequest object to communicate asynchronously with server-side scripts and send/receive different data formats.
- Popular Ajax applications include live searches, autocomplete, chatting, and updating pages without refreshes.
- Ajax works by using JavaScript to fetch server data as needed without stopping other tasks. The returned data can then update the page.
AJAX allows for asynchronous data retrieval and updating of parts of a web page without reloading the entire page. It uses a combination of technologies including XML, JavaScript, CSS, HTML and the XMLHttpRequest object. The XMLHttpRequest object makes asynchronous HTTP requests to the server in the background and retrieves data from the server. This allows updating parts of the web page without interrupting the user's operation.
The document discusses Ajax and how it allows asynchronous communication with a server without reloading the entire web page. It covers the basic objects and methods needed, including the XMLHttpRequest object. The typical Ajax process involves creating an XMLHttpRequest object, sending it to the server, and triggering a response function when the server responds to update the display without reloading the page.
The document discusses Microsoft's Entity Framework ORM technology. It provides an overview of Entity Framework and how it compares to other ORM technologies like LINQ to SQL. It also outlines Microsoft's strategy of promoting Entity Framework as the preferred .NET ORM going forward.
mobile in the cloud with diamonds. improved.Oleg Shanyuk
The document provides an overview of various mobile and cloud frameworks for iOS development. It discusses frameworks for making network requests and working with APIs like AFNetworking and RestKit. It also covers data storage and synchronization frameworks like Core Data, RestKit, and AFIncrementalStore. The document demonstrates examples of using RestKit to map API responses to Core Data objects and synchronize data with a backend using AFIncrementalStore. It also mentions testing frameworks like KIF and FRANK and cloud platforms like Deployd, Parse, and APIgee that can be used as backends.
Ajax allows web pages to be updated asynchronously by exchanging data with a web server behind the scenes without reloading the entire page. It works by using JavaScript and DOM manipulation on the client-side to update parts of a web page after new information has been received from the server. This tutorial introduces the basics of Ajax and shows how to send and receive data from a server without requiring a form submission. It demonstrates making an XMLHttpRequest object, defining a function to handle the server response, checking the request status, and retrieving the response text to dynamically update an HTML form field.
This document provides an overview of AJAX (Asynchronous JavaScript and XML). It begins with defining AJAX and its advantages over traditional web applications. It then discusses the AJAX acronym in more detail. Next, it compares the traditional web application model to the AJAX model. It explains how AJAX uses asynchronous requests to update parts of a web page without reloading the entire page. The document then covers the basic working of AJAX, including initializing the XMLHttpRequest object, opening a connection, defining handlers, sending requests, and receiving responses. It provides an example of asynchronous data transfer using AJAX with client-side and server-side code. Finally, it lists some references for further information on AJAX.
MongoDB Evenings DC: Get MEAN and Lean with Docker and KubernetesMongoDB
This document discusses running MongoDB and Kubernetes together to enable lean and agile development. It proposes using Docker containers to package applications and leverage tools like Kubernetes for deployment, management and scaling. Specifically, it recommends:
1) Using Docker to containerize applications and define deployment configurations.
2) Deploying to Kubernetes where services and replication controllers ensure high availability and scalability.
3) Treating databases specially by running them as "naked pods" assigned to labeled nodes with appropriate resources.
4) Demonstrating deployment of a sample MEAN stack application on Kubernetes with MongoDB and discussing future work around experimentation and blue/green deployments.
This document describes Netgen Layouts, a layout and block management system that is intended to control all markup in the <body> section of content-driven sites and applications. It discusses the main concepts of layouts, zones, blocks, collections, and how layouts are resolved. The document then provides a workshop example using Contentful as a headless CMS with the Symfony CMF routing bundle and Netgen Layouts to build a simple site.
What is RDBMS?
RDBMS stands for Relational Database Management System. RDBMS is the basis for SQL, and for all modern database systems like MS SQL Server, IBM DB2, Oracle, MySQL, and Microsoft Access.
A Relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as introduced by E. F. Codd.
A three hour tutorial I gave at PHP Quebec on the challenges, theory, and concepts behind making asynchronous JavaScript calls for Web 2.0 Applications using PHP
The document provides an overview of Ajax operations and patterns. It discusses the anatomy of an Ajax pattern which includes a trigger, operation, and update. It then covers using the XMLHttpRequest (XHR) object to make requests, including how to create a request, write a callback, make the request, and parse responses. The document also discusses different response formats like XML, HTML, and JSON and how to handle each type of response. It concludes with an overview of common Ajax operations like lookup, persist, validate, invoke, and message.
AJAX (Asynchronous JavaScript and XML) is a web development technique that allows web pages to be updated asynchronously by exchanging data with a web server behind the scenes. It uses a combination of technologies including XHTML, CSS, DOM, JavaScript, and XMLHttpRequest object to retrieve data from the server without interfering with the display and behavior of the existing page. This allows data to be updated without reloading the whole page. Some common applications of AJAX include Google Maps, Gmail, and predictive text while typing into search boxes.
The document provides an overview of HTTP, CGI, servlets, JSPs, and AJAX. It describes how HTTP works for client-server communication. It explains how CGI was used for web server and application integration but had performance and manageability issues. It introduces the servlet/JSP model and web application container as an improved approach. It also gives a brief introduction to using AJAX.
This document discusses exciting features of JavaScript including how it can be used in browsers and non-browser environments. It covers how JavaScript supports object-oriented, functional, and aspect-oriented programming paradigms through its first-class functions, closures, and other language features. The document also discusses how code generation and introspection are possible in JavaScript and how this enables implementing domain-specific languages through techniques like lambda functions. In conclusion, the author expresses optimism about JavaScript's potential for large-scale development.
This document provides an introduction and overview of ASP.NET and Web Forms. It discusses the background of ASP and how ASP.NET was developed to address challenges with ASP. The key features of ASP.NET, including Web Forms, Web Services, and the .NET Framework are described. The document then covers the ASP.NET programming model based on controls and events, and how postbacks maintain page state without requiring additional code. It also introduces the ASP.NET object model and server-side controls.
This document provides an introduction to AJAX (Asynchronous JavaScript and XML). It discusses what AJAX is, why it was developed, how it works using the XMLHttpRequest object, security considerations, and alternatives like Flash. It also demonstrates how to encapsulate AJAX logic in JavaScript and how frameworks like JSF can be used to implement AJAX without writing JavaScript directly.
My talking points for the presentation on optimization of modern web applications. It is a huge topic, and I concentrated mostly on technical aspects of it.
This document discusses Ajax, which allows asynchronous updating of parts of a web page without reloading the entire page. It defines Ajax as using existing technologies like JavaScript, XML, CSS, and HTML. Key points:
- Ajax permits exchanging data with a server to update parts of a page without refreshing.
- It uses the XMLHttpRequest object to communicate asynchronously with server-side scripts and send/receive different data formats.
- Popular Ajax applications include live searches, autocomplete, chatting, and updating pages without refreshes.
- Ajax works by using JavaScript to fetch server data as needed without stopping other tasks. The returned data can then update the page.
AJAX allows for asynchronous data retrieval and updating of parts of a web page without reloading the entire page. It uses a combination of technologies including XML, JavaScript, CSS, HTML and the XMLHttpRequest object. The XMLHttpRequest object makes asynchronous HTTP requests to the server in the background and retrieves data from the server. This allows updating parts of the web page without interrupting the user's operation.
The document discusses Ajax and how it allows asynchronous communication with a server without reloading the entire web page. It covers the basic objects and methods needed, including the XMLHttpRequest object. The typical Ajax process involves creating an XMLHttpRequest object, sending it to the server, and triggering a response function when the server responds to update the display without reloading the page.
The document discusses Microsoft's Entity Framework ORM technology. It provides an overview of Entity Framework and how it compares to other ORM technologies like LINQ to SQL. It also outlines Microsoft's strategy of promoting Entity Framework as the preferred .NET ORM going forward.
mobile in the cloud with diamonds. improved.Oleg Shanyuk
The document provides an overview of various mobile and cloud frameworks for iOS development. It discusses frameworks for making network requests and working with APIs like AFNetworking and RestKit. It also covers data storage and synchronization frameworks like Core Data, RestKit, and AFIncrementalStore. The document demonstrates examples of using RestKit to map API responses to Core Data objects and synchronize data with a backend using AFIncrementalStore. It also mentions testing frameworks like KIF and FRANK and cloud platforms like Deployd, Parse, and APIgee that can be used as backends.
Ajax allows web pages to be updated asynchronously by exchanging data with a web server behind the scenes without reloading the entire page. It works by using JavaScript and DOM manipulation on the client-side to update parts of a web page after new information has been received from the server. This tutorial introduces the basics of Ajax and shows how to send and receive data from a server without requiring a form submission. It demonstrates making an XMLHttpRequest object, defining a function to handle the server response, checking the request status, and retrieving the response text to dynamically update an HTML form field.
This document provides an overview of AJAX (Asynchronous JavaScript and XML). It begins with defining AJAX and its advantages over traditional web applications. It then discusses the AJAX acronym in more detail. Next, it compares the traditional web application model to the AJAX model. It explains how AJAX uses asynchronous requests to update parts of a web page without reloading the entire page. The document then covers the basic working of AJAX, including initializing the XMLHttpRequest object, opening a connection, defining handlers, sending requests, and receiving responses. It provides an example of asynchronous data transfer using AJAX with client-side and server-side code. Finally, it lists some references for further information on AJAX.
MongoDB Evenings DC: Get MEAN and Lean with Docker and KubernetesMongoDB
This document discusses running MongoDB and Kubernetes together to enable lean and agile development. It proposes using Docker containers to package applications and leverage tools like Kubernetes for deployment, management and scaling. Specifically, it recommends:
1) Using Docker to containerize applications and define deployment configurations.
2) Deploying to Kubernetes where services and replication controllers ensure high availability and scalability.
3) Treating databases specially by running them as "naked pods" assigned to labeled nodes with appropriate resources.
4) Demonstrating deployment of a sample MEAN stack application on Kubernetes with MongoDB and discussing future work around experimentation and blue/green deployments.
This document describes Netgen Layouts, a layout and block management system that is intended to control all markup in the <body> section of content-driven sites and applications. It discusses the main concepts of layouts, zones, blocks, collections, and how layouts are resolved. The document then provides a workshop example using Contentful as a headless CMS with the Symfony CMF routing bundle and Netgen Layouts to build a simple site.
The document discusses Apache CouchDB, a NoSQL database management system. It begins with an overview of NoSQL databases and their characteristics like being non-relational, distributed, and horizontally scalable. It then provides details on CouchDB, describing it as a document-oriented database using JSON documents and JavaScript for queries. The document outlines CouchDB's features like schema-free design, ACID compliance, replication, RESTful API, and MapReduce functions. It concludes with examples of CouchDB use cases and steps to set up a sample project using a CouchDB instance with sample employee data and views/shows to query the data.
Topics covered :
- What is Meteor
- What is inside
- What is reactivity
- Reactivity in Meteor
- DDP
- Minimongo
- To use or Not to use
- File Structure
As presented to the Milwaukee Alt.Net group on November 21st, 2011.
UPDATE April 19, 2012: added some domain logic organization slides using Fowler's 4 basic patterns.
This document provides an overview of the MEAN stack and demonstrates how to build a sample application with it. It begins with defining each component of the MEAN stack: MongoDB as the database, Express as the web application framework, AngularJS for the frontend framework, and Node.js as the runtime environment. It then demonstrates setting up a basic Express app, integrating authentication with Passport, and interacting with MongoDB using Mongoose. The document also discusses key concepts like asynchronous I/O in Node.js and model-view-controller patterns in AngularJS. Overall, it serves as a high-level introduction to the technologies that make up the MEAN stack.
Learn how to build apps using Angular JS with Firebase(backend-as-a-service)!!
Room 6 (2nd Floor Conference Room)
In this presentation, we'll be using Angular JS and Firebase to create a simple web application from scratch and explore the awesome real-time syncing features provided by firebase. Combining Bootstrap, Angular JS with Firebase and Azure, we can build and deploy cross-platform HTML5 apps.
Node ACS allows customers to extend the Appcelerator Cloud Services platform using Node.js. Node.js provides an event-driven and scalable framework for building network applications. With Node ACS, customers can create custom microservices that integrate with ACS features like checkins and social posting. These microservices can leverage Node.js modules and scale using MongoDB. The document provides examples of setting up a Node.js app with ACS, adding services, using modules, calling the ACS API, and connecting to MongoDB for data storage. This allows customers to build and deploy scalable web services without server configuration.
The document discusses adopting the AnswerModules Suite for OpenText Content Server. It describes two scenarios: 1) For a new Content Server installation, the Suite can improve setup efficiency, quickly add functionality, and support data migration from legacy systems. 2) For an existing Content Server, the Suite can extend existing modules, workflows, and the user interface. Key benefits mentioned include automating environment setup using Content Script, enabling rapid prototyping, and integrating Content Script with WebReports and workflows.
AngularJS 1.x - your first application (problems and solutions)Igor Talevski
We will talk about all aspects of building a single page application with AngularJS, and we will discuss real examples from day-to-day work. We will also cover a large amount of theory about general web development, best practices, and today's client demands. We will focus on three (3) main points: architecture, security, and real time notification.
Firebase - cloud based real time databaseGlenn Bech
This document discusses Firebase, a cloud-based real-time database. It provides an overview of Firebase and how to get started using it with Angular and JavaScript. Examples are given of how to write and read data from Firebase in real-time and how to do basic searches and sorting of data.
A collection of OSGi/Equinox bundles/components for development of extensible multiuser Web applications with complex domain model and application logic.
The document summarizes new features in ASP.NET MVC 4 Developer Preview including enhanced default project templates, display modes for mobile views, jQuery Mobile and browser overriding support, recipes for code generation in Visual Studio, and task support for asynchronous controllers. It outlines requirements, installation considerations, and breaking changes. Key new features are enhanced templates, display modes for adaptive rendering, jQuery Mobile integration, a mobile project template, code generation recipes, and asynchronous controller support using tasks.
Faites évoluer votre accès aux données avec MongoDB StitchMongoDB
Vous avez des données précieuses dans MongoDB; et alors qu'il est important d'utiliser ces données pour donner de la valeur à vos utilisateurs et clients, il peut s'avérer difficile de le faire de manière sûre et sécurisée. Dans cette session, vous apprendrez à connecter simplement vos utilisateurs aux données dont ils ont besoin à l’aide de MongoDB Stitch.
The document discusses the Spring Framework, an open source application framework for Java. It provides inversion of control and dependency injection to manage application objects. The core package provides dependency injection while other packages provide additional features like transaction management, ORM integration, AOP, and MVC web development. The framework uses an IoC container to manage application objects called beans through configuration metadata.
The document provides release notes for ASP.NET Core 2.0 and discusses features for building single page applications (SPAs) with .NET Core. Key points include:
- New SPA templates for React, Angular, and other frameworks that set up projects with bundling and other build tools.
- JavaScriptServices allow running Node.js code from .NET and facilitate building SPAs with .NET backends.
- SpaServices provide features like server-side prerendering, routing helpers, and Webpack middleware to improve the SPA development experience.
- While SPA templates provide a starting point, separate client and server projects with specialized tooling may provide a better development workflow
This document provides an overview of ASP.NET, including its history and key features. It discusses how ASP.NET is an improvement over classic ASP as it is compiled, provides richer tooling support and framework. ASP.NET MVC and Web API are introduced as alternative frameworks that allow building web applications and services in a more RESTful way. The document also covers HTTP fundamentals and how ASP.NET applications integrate with IIS web servers, including how to create virtual directories.
Similar to Angular - Chapter 6 - Firebase Integration (20)
Webstack Academy - Course Demo Webinar and Placement JourneyWebStackAcademy
At WebStack Academy, we understand the importance of providing valuable insights to aspiring professionals like yourself. That's why we host monthly webinars tailored to address the needs of ambitious individuals. Led by our esteemed experts - Mr. Jayakumar (Director, WebStack Academy) and Mr. Mubeen (Technology Head, WebStack Academy), the presentation will offer a firsthand understanding of industry trends, career pathways, and how our Full Stack course can be the catalyst to realizing your career aspirations.
WSA: Scaling Web Service to Handle Millions of Requests per SecondWebStackAcademy
In this presentation of Venkata Ramana Gollamudi, Principal Architect at Flipkart, as our esteemed speaker. With his expertise and experience, he'll guide us through the intricate process of “Scaling web service to handle millions of requests per second”.
Key Takeaways:
Understanding the specific challenges of scaling for Indian users
Strategies to ensure service availability, reduce latency, and maintain reliability
Leveraging tools like ELBs, K8s, message queues, and NoSQL databases effectively
Don't miss this unparalleled opportunity to gain invaluable insights and elevate your expertise in scaling web services to new heights.
We eagerly await your participation in this transformative webinar. Let's embark on the journey to mastering scalability together!
WSA: Course Demo Webinar - Full Stack Developer CourseWebStackAcademy
At WebStack Academy, we understand the importance of providing valuable insights to aspiring professionals like yourself. We host monthly webinars tailored to address the needs of ambitious individuals. Led by our esteemed experts - Mr. Jayakumar (Director, WebStack Academy) and Mr. Mubeen (Technology Head, WebStack Academy), these webinars presentation deck offer a firsthand understanding of industry trends, career pathways, and how our Full Stack course can be the catalyst to realizing your career aspirations.
Career Building in AI - Technologies, Trends and OpportunitiesWebStackAcademy
We from WSA always believe in sharing the right information and enabling you to make decisions for your long term career.
In this regard, Masterclass Webinar on "Career Building in AI - Technologies, Trends and Opportunities” by Renganathan Sekar - Product Manager, Artificial Intelligence - Samsung Research Institute.
Key takeaways from this slide deck:
*Gain a comprehensive overview of AI and its wide range of applications.
*Explore real-world use cases that exemplify the incredible potential of AI.
*Delve into the core technologies driving AI innovation.
*Stay ahead of recent trends in AI, including the intriguing concept of Gen AI.
*Uncover a wealth of opportunities in the AI landscape.
*Learn effective strategies to up skill and advance your career in the AI industry.
WSA Free online Internship for Web Development is an Online real-time experience for Engineering students. It will take you through a journey of skill building and project building experience. You will understand the various product development phases and skills required to work on any Web Application product in Industry.
A guide designed to help you master the art of web development. The roadmap provides a comprehensive step-by-step guide to learn foundational web technologies like HTML, CSS, & JavaScript, advanced frameworks, and concepts required for modern web development. It aims to equip aspiring developers with the necessary resources and tools to excel in the ever-evolving world of web development. 💡
Angular - Chapter 4 - Data and Event HandlingWebStackAcademy
The document provides information about Angular data binding and event handling. It discusses how interpolation can be used to connect data from a component class to its template. It also explains how property binding and event binding allow two-way communication between the component class and template. Finally, it introduces ngModel for setting up two-way data binding between an input element and a property.
TypeScript lets you write JavaScript the way you really want to. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. TypeScript is pure object oriented with classes, interfaces and statically typed like C# or Java. The popular JavaScript framework Angular 2.0 is written in TypeScript. Mastering TypeScript can help programmers to write object-oriented programs and have them compiled to JavaScript, both on server side and client side.
JavaScript String:
The String object lets you work with a series of characters; it wraps Javascript's string primitive data type with a number of helper methods.
As JavaScript automatically converts between string primitives and String objects, you can call any of the helper methods of the String object on a string primitive.
JavaScript Arrays:
The Array object lets you store multiple values in a single variable. It stores a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.
Form validation normally used to occur at the server, after the client had entered all the necessary data and then pressed the Submit button. If the data entered by a client was incorrect or was simply missing, the server would have to send all the data back to the client and request that the form be resubmitted with correct information. This was really a lengthy process which used to put a lot of burden on the server.
JavaScript provides a way to validate form's data on the client's computer before sending it to the web server. Form validation generally performs two functions.
Basic Validation − First of all, the form must be checked to make sure all the mandatory fields are filled in. It would require just a loop through each field in the form and check for data.
Data Format Validation − Secondly, the data that is entered must be checked for correct form and value. Your code must include appropriate logic to test correctness of data.
What is the DOM?
The DOM is a W3C (World Wide Web Consortium) standard.
The DOM defines a standard for accessing documents:
"The W3C Document Object Model (DOM) is a platform and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document."
The W3C DOM standard is separated into 3 different parts:
Core DOM - standard model for all document types
XML DOM - standard model for XML documents
HTML DOM - standard model for HTML documents
The HTML DOM (Document Object Model)
When a web page is loaded, the browser creates a Document Object Model of the page.
The HTML DOM model is constructed as a tree of Objects.
With the HTML DOM, JavaScript can access and change all the elements of an HTML document.
This document discusses JavaScript events. It defines an event as an action a script can respond to, such as clicks or keystrokes. Event handlers are functions assigned to events that run when the event occurs. Events follow a cycle of capturing, targeting, and bubbling. Common event types include mouse, keyboard, loading, selection, and other events. The document provides examples of using event handlers with buttons, images, and adding/removing event listeners.
JavaScript - Chapter 9 - TypeConversion and Regular Expressions WebStackAcademy
This document provides an overview of type conversion and regular expressions in JavaScript. It discusses how JavaScript variables can be converted between different data types either automatically or using functions. It covers converting between numbers, strings, booleans, and dates. It also provides an introduction to regular expressions including patterns, modifiers, and examples of using regular expression methods like exec(), test(), search(), split(), and replace() on strings. The document includes exercises for readers to practice these concepts.
In JavaScript, almost "everything" is an object.
-Booleans can be objects (if defined with the new keyword)
-Numbers can be objects (if defined with the new keyword)
-Strings can be objects (if defined with the new keyword)
-Dates are always objects
-Maths are always objects
-Regular expressions are always objects
-Arrays are always objects
-Functions are always objects
-Objects are always objects
Generally speaking, a function is a "subprogram" that can be called by code external (or internal in the case of recursion) to the function. Like the program itself, a function is composed of a sequence of statements called the function body. Values can be passed to a function, and the function will return a value.
In JavaScript, functions are first-class objects, because they can have properties and methods just like any other object. What distinguishes them from other objects is that functions can be called. In brief, they are Function objects.
A JavaScript function is a block of code designed to perform a particular task.
Why Functions?
You can reuse code: Define the code once, and use it many times. You can use the same code many times with different arguments, to produce different results.
JavaScript Arithmetic Operators
Arithmetic operators are used to perform arithmetic between variables and/or values.
JavaScript Assignment Operators
Assignment operators are used to assign values to JavaScript variables.
JavaScript String Operators
The + operator, and the += operator can also be used to concatenate (add) strings.
Comparison Operators
Comparison operators are used in logical statements to determine equality or difference between variables or values.
Conditional (Ternary) Operator
The conditional operator assigns a value to a variable based on a condition.
Logical Operators
Logical operators are used to determine the logic between variables or values.
JavaScript Bitwise Operators
Bit operators work on 32 bits numbers. Any numeric operand in the operation is converted into a 32 bit number. The result is converted back to a JavaScript number.
The delete Operator
The delete operator deletes a property from an object:
JavaScript - Chapter 4 - Types and StatementsWebStackAcademy
A computer program is a list of "instructions" to be "executed" by a computer.
In a programming language, these programming instructions are called statements.
A JavaScript program is a list of programming statements.
JavaScript statements are composed of:
Values, Operators, Expressions, Keywords, and Comments.
This statement tells the browser to write "Hello Dolly." inside an HTML element with id="demo":
JavaScript Data Types
JavaScript variables can hold many data types: numbers, strings, objects and more.
In programming, data types is an important concept.
To be able to operate on variables, it is important to know something about the type.
What is JavaScript?
JavaScript is a very powerful client-side scripting language. JavaScript is used mainly for enhancing the interaction of a user with the webpage. In other words, you can make your webpage more lively and interactive, with the help of JavaScript. JavaScript is also being used widely in game development and Mobile application development.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
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.
3. www.webstackacademy.com
What we have done so far?
Components Services Directives
Backend
integration
Component creation
Binding (Data & Event)
Dependency injection
HTTP dummy-endpoint
DOM manipulation
Structural, Attribute and
customized
We are HERE!
4. www.webstackacademy.com
What we have done so far? – Static / Compiled data
• When we access any data in the business logic, local variables are used within the class so far
(ex: courses = ["Fullstack", "Frontend", "Backend", "Java"]). This information is obtained in the
view in form of interpolation {{ course }} mechanism
• We also understood how to use event (Using () mechanism), data (Using [] mechanism)
and two way binding - "Banana in a Box" (Using [()] mechanism)
• Any time we wanted to demonstrate change in the data, we have edited the code changed
some items and re-launched the angular application (using ng serve --open)
• However in real time application data will be fetched dynamically from an external source (ex:
Firebase or your own custom backend application) which will not only ensure we get rid of using
static local variables but also the data takes care of Asynchronous updates
• Primarily data updates include Create, Read, Update and Delete which is popularly known as
CRUD operations
7. www.webstackacademy.com
Frontend vs. Backend - Differences
Frontend Backend
• Primarily a web client (HTTP) or a mobile app
• Deals with user interface (HTML + CSS) and
interactivity (JS or TS)
• Obtains data (ex: Input box) or event (ex: Form
submission followed by submit)
• Doesn't have any storage capacity or business
logic to handle data
• Primarily a web server supported by a Database
(ex: MongoDB)
• Deals with incoming requests from HTTP clients
from various sources
• Applies business logic on the input and provides
appropriate response (ex: Forms)
• Deals with non-functional items like security,
scalability, performance. Multiple options of
languages available (ex: Java, Python, JavaScript,
Ruby etc..)
• Both client and server follow standard HTTP protocol is followed over TCP/IP network
• A brief discussion about OSI and TCP/IP
8. www.webstackacademy.com
Relational vs Non-relational DB
Relational DB Non-relational DB
• Data structure that allows you to link
information from different 'tables' or different
types of data buckets.
• A data bucket must contain what is called a key
or index (that allows to uniquely identify any
atomic chunk of data within the bucket).
• Other data buckets may refer to that key so as
to create a link between their data atoms and
the atom pointed to by the key.
• Just stores data in forms of "documents" (JSON
format) doesn’t place any constraints like table.
Its called “unstructured” database
• Data structure that allows to store information in
different forms - Trees, Graphs thereby giving
more flexibility in terms of storage
• Other data buckets cannot refer to a particular
table with the key. Data is very much local to an
application.
10. www.webstackacademy.com
Introduction to Firebase
Firebase is a cloud based mobile and web app development platform provided by Google
It offers developers with tools, databases, services etc.. to build any web or mobile application without
bothering much into the backend web development
The Firebase Database is a cloud-hosted, non-relational DB database (Mongo DB) that lets you store and
sync between your users in real-time.
It offers good amount of features for free (to develop and launch your app) and then moves
onto paid model
Advanced features (ex: Analytics) are provided to monetize your application better
11. www.webstackacademy.com
Firebase – Our Goals
Integrate a frontend application developed using Angular framework with Firebase and build end-to-
end perspective
Practically understand real-time use-cases of core angular features (components, services, directives,
forms etc..) by dealing with real-time data
Enhance "grey-box" knowledge of frontend (Angular) with "black-box" knowledge of backend (Firebase)
Obtain introductory knowledge about backend, which will further get enhanced with backend
programming topics (ex: Node.js & Express.js)
17. www.webstackacademy.com
Click “Add Firebase to your Web App” it
will open a project integration settings
as follows. Copy the items inside
“config” section and keep them handy.
5. Copy your project integration settings
21. www.webstackacademy.com
1. Installing Firebase packages
$ npm install firebase angularfire2 --save
• In order to integrate Firebase with your Angular application two packages need to be
installed.
Firebase: Firebase library for web and Node.js (Server)
Angularfire2: Firebase library for Angular (Client)
• To install them execute the following commands (from your project folder)
• By using the --save option enters the packages into your environment.
• Check your package.json file to ensure these packages are listed in the dependency
24. www.webstackacademy.com
3. Changes in Modules file
Make the Angular and related import paths
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AngularFireModule } from 'angularfire2';
import { AngularFirestoreModule } from 'angularfire2/firestore';
import { AppComponent } from './app.component';
import { environment } from '../environments/environment';
25. www.webstackacademy.com
3. Changes in Modules file
Add them into import section as well
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
AngularFireModule.initializeApp(environment.firebase,'angularfs'),
AngularFirestoreModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
26. www.webstackacademy.com
4. Changes in Component files
Component Imports and constructor
import { AngularFirestore } from 'angularfire2/firestore';
import { Observable } from 'rxjs';
// Observable and other function details in next section
items: Observable<Item[]>;
constructor(public db: AngularFirestore) {
this.items = this.db.collection('courses').valueChanges();
this.items.subscribe(items => {
console.log(items);
});
}
27. www.webstackacademy.com
5. Changes in view file
Using Directives display the items fetched from Firebase in the View file. When you
change values in the Firebase it should reflect in the view dynamically
<h1> Angular integration with Firebase </h1>
<ul>
<li *ngFor="let item of items | async">
{{ item.coursename }} --> {{item.duration}}
</li>
</ul>
29. www.webstackacademy.com
CRUD Operations
In real-time use cases front end will interact with a database to perform Create, Read, Update and
Delete (popularly referred as CRUD) operations.
For example, you have used Firebase to retrieve course list from the DB, which is nothing but a Read
operation. However if you want to add new courses (ex: Data Science Course) into the list, modify
existing course properties (ex: Duration) or delete existing course you need to know other operations.
Also while dealing with remote databases (like Firebase) CRUD operations will not happen in real-time.
There would be some delays (ex: Due to Network traffic), so the client applications like Angular need to
handle them in an Asynchronous manner
Angular provides a mechanism called Observables, using which Asynchronous handling is done
31. www.webstackacademy.com
Synchronous vs Asynchronous Programming
The definition of Synchronous and Asynchronous is very broad, in our context it can be defined as
follows:
Synchronous means that the caller waits for the response for completion
Asynchronous that the caller continues and a response comes later (if applicable)
Synchronous is easier to handle but it consumes higher amount of resources
Asynchronous requires sophisticated mechanism (ex: Call-backs) but it consumes lesser amount of
resource
In modern day development, Asynchronous mechanisms are highly preferred
Observables in Angular is practically implementing Asynchronous programming
34. www.webstackacademy.com
Observables in Angular
• Observables provide support for passing messages between publishers and subscribers in your
application (also known as “pub-sub” model).
• Interested Angular component can subscribe for a particular event (in our case it is Firebase DB
handling) and Observarable will notify once the event occurs (ex: Database read) via call-back
• Observables offer significant benefits over other techniques for event handling, asynchronous
programming, and handling multiple values. An observable can deliver multiple values of any
type—literals, messages, or events, depending on the context.
• Because setup and teardown logic are both handled by the observable, your application code
only needs to worry about subscribing to consume values, and when done, unsubscribing.
• Observables are used in variety of use-cases (HTTP response / Interval timer) apart from
Firebase. Because of these advantages, observables are used extensively within Angular, and are
recommended for app development as well.
35. www.webstackacademy.com
Reactive Programming
• Reactive programming is an asynchronous programming paradigm concerned with data streams
and the propagation of change.
• RxJS (Reactive Extensions for JavaScript) is a library for reactive programming using observables
that makes it easier to compose asynchronous or call-back based code (RxJS Docs).
• RxJS provides an implementation of the Observable type, which is needed until the type
becomes part of the language and until browsers support it.
• The library also provides utility functions for creating and working with observables. These utility
functions can be used for:
• Converting existing code for async operations into observables
• Iterating through the values in a stream
• Mapping values to different types
• Filtering streams
• Composing multiple streams
36. www.webstackacademy.com
The subscribe() Method – A closer look!
• A handler for receiving observable notifications implements the Observer interface. It is an object
that defines call-back methods to handle the three types of notifications that an observable can
send:
Next:
Required. A handler for each delivered value.
Called zero or more times after execution starts.
Error:
Optional. A handler for an error notification.
An error halts execution of the observable instance.
Complete:
Optional. A handler for the execution-complete notification.
• The above mentioned functionality is implemented via the subscribe() function
• The type of data returned and handling mechanism is purely based on the use-case
37. www.webstackacademy.com
The subscribe() Method – A closer look!
myObservable = ..... // Async method
myObservable.subscribe(
x => console.log('Observer got a next value: ' + x),
err => console.log('Observer got an error: ' + err),
() => console.log('Observer got a complete notification')
);
38. www.webstackacademy.com
And Finally….to back to our same source code….
import { AngularFirestore } from 'angularfire2/firestore';
import { Observable } from 'rxjs';
items: Observable<Item[]>;
constructor(public db: AngularFirestore) {
// Monitor changes
this.items = this.db.collection('courses').valueChanges();
// Asynchronously retrieve changed values
this.items.subscribe(myValues => {
console.log(myValues);
});
}
40. www.webstackacademy.com
Data organization in Firebase
• In Firebase DB, data is organized at three levels – Collection, Document and Field
• There are various APIs available to setup, access and perform CRUD operations in Angular. Details
are available in official GIT links provided below.
• Installation and Setup:
https://github.com/angular/angularfire2/blob/HEAD/docs/install-and-setup.md
• Handling Documents:
https://github.com/angular/angularfire2/blob/b2d44a8536de1e8a38152e8c60fef250af2e21a9/docs/firestore
/documents.md
• Handling Collections:
https://github.com/angular/angularfire2/blob/b2d44a8536de1e8a38152e8c60fef250af2e21a9/docs/f
irestore/collections.md
41. www.webstackacademy.com
Exercise
• Implement the “to-do” list for the user with the following functionality:
Enter to-do item, category and priority (ex: “Learn TypeScript” , “Skill”, “High”)
Integrate the user entered data with the Firebase backend
Provide buttons to perform the following operations:
Add
Modify
Delete
Implement a service to handle the Firebase endpoint functionality
Use Interfaces and export them for common usage
Display task items based on category