February 12, 2017

Just Overview

.NET is a big umbrella. I see a lot of growth in MVC 4 and 5. Plus with the introduction of C#6 , SignalR 2

Single-Page Applications (SPAs) are Web apps that load a single HTML page and dynamically update that page as the user interacts with the appSPAs use AJAX and HTML5 to create a fluid and responsive Web apps, without constant page reloads. However, this means much of the work happens on the client side, in JavaScript.
Decrease load time and/or weight


Web Farm: When you are hosting your single web site on multiple web servers over load balancer is called “Web Farm”

Application pool is used to separate sets of IIS worker processes and enables a better security, reliability, and availability for any web application.

Web Garden: by default, each and every Application pool contains a single worker process. Application which contains the multiple worker processes is called “Web Garden”

IP Address + Port Number: Here each port number is allocated with particular web application

RTM : Release to Manufacture (old term) 
RTM is a throwback to the days when software was mostly released as CDs. When a project went "Gold", it was released to manufacturing who then burned a bunch of CDs and packaged them up to be put on store shelves. True, this still goes on today believe it or not, but this mode of delivery is on the decline for certain types of software.

RTW: Release to Web
RTW is a related term that stands for "Released to Web" which is more descriptive of how software is actually shipped these days. 


PHONEGAP is the technology which combines best of both the worlds. Means, it will take the frontend codebase (Html5, Css3, Javascript Libraries) and will create a Build based on target operating system. Thus converting the Web based code into Native App
 http://pratapreddypilaka.blogspot.in/2013/03/introduction-to-phonegap.html

Xamarin : Creating Apps in C# for Android,iOS and Mac
A free, full-featured and extensible IDE for Windows users to create Android and iOS apps with Xamarin, as well as Windows apps, web apps, and cloud services.


Web sockets are defined as a two-way communication between the servers and the clients, which mean both the parties, communicate and exchange data at the same time. This protocol defines a full duplex communication from the ground up. Web sockets take a step forward in bringing desktop rich functionalities to the web browsers. It represents an evolution, which was awaited for a long time in client/server web technology.

Awesome link to learn more about web sockets
http://blog.teamtreehouse.com/an-introduction-to-websockets


HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and current version of the HTML standard.It come with many features.
Last version HTML4 came in 1997.


jQuery UI is set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.Whether you're building highly interactive web applications or you just need to add a date picker to a form control



ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of adding real-time web functionality to applications. Real-time web functionality is the ability to have server code push content to connected clients instantly as it becomes available, rather than having the server wait for a client to request new data.


REST : Representational State Transfer
it is an architectural pattern for creating an API that uses HTTP as its underlying communication method.it is primarily used to build Web services that are lightweight, maintainable and scalable.

A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. Representational state transfer (REST), which is used by browsers, can be thought of as the language of the Internet. 

ASP.NET Core is a open-source and cross-platform framework for building modern cloud-based Internet-connected applications, such as web apps, IoT apps and mobile backends. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises Required: Visual studio 2015 


Application Programming Interface is important for keeping the common thing centrally


Parallel Linq / Task-based Async Programming

What is Core ?
Each core displayed as a separate graph under the "CPU Usage History" section so count of graphs is the total core (processor) count for system.
--------------------------------------------------------------------------
Processor -> Core
Process - > Thread -> Handle
--------------------------------------------------------------------------

Parallel LINQ (PLINQ)

It's a way to run LINQ queries in parallel on multi-core/multi-processor systems, in order to speed them up.

IEnumerable<int> parallelResults =
from item in sourceData.AsParallel()
where item % 2 == 0
select item;
foreach (int item in parallelResults)
{
Console.WriteLine("Item {0}", item);
}

Result would not be come in proper sorting order but if we remove AsParallel(),It will give proper sequential order.

--------------------------------------------------------------------------

Task-based Async Programming


task resembles a thread or ThreadPool work item, but at a higher level of abstraction. The term task parallelism refers to one or more independent tasks running concurrently.

using System;
using System.Threading;
using System.Threading.Tasks;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.Name = "Main";

        // Create a task and supply a user delegate by using a lambda expression. 
        Task taskA = new Task( () => Console.WriteLine("Hello from taskA."));
        // Start the task.
        taskA.Start();

        // Output a message from the calling thread.
        Console.WriteLine("Hello from thread '{0}'.", 
                          Thread.CurrentThread.Name);
        taskA.Wait();
   }
}
// The example displays output like the following:
//       Hello from thread 'Main'.
//       Hello from taskA.
--------------------------------------------------------------------------