Posts

Showing posts from January, 2019

Exam 70-487: Accessing Data - How to choose the Appropriate Data Access Technology - Azure Cosmos DB?

Image
According to Microsoft, Azure Cosmos DB is a database for building blazing fast, planet scale applications with native support for NoSQL. It was built from the ground up with global distribution and horizontal scale at its core. It offers turnkey global distribution across any number of Azure regions by transparently scaling and replicating your data wherever your users are. Azure cosmos DB is now part of Exam 70-487's latest update and you should study it deeply. Focus on understanding when it is a perfect choice for data storage and access.It is important to read some of the use cases presented by Microsoft: Common Azure Cosmos DB use cases CosmosDB can be used for document, key value, relational, and graph models. It is more or less a NoSQL database because it does not rely on any schemas. However, it uses query language similar to SQL and can easily support ACID transactions. CosmosDB is useful for companies that are looking for a database system that is scalable and

Exam 70-487: Accessing Data - How to choose the Appropriate Data Access Technology - Entity Framework?

Image
Since the days of Visual Studio 2008 and .NET Framework 3.5 in 2008, Entity Framework has served as the primary data-access technology for the .NET ecosystem. Entity Framework is an object-relational mapper (O/RM) that enables .NET developers to work with a database using .NET objects. It eliminates the need for most of the data-access code that developers usually need to write. While Microsoft is aggressively pushing for cloud version of pretty much every piece of software they have ever created, Entity Framework still enjoys tremendous popularity, it was last year described by Microsoft as the most popular package listed by NuGet.org . Which is normal because "Entity Framework is Microsoft's recommended data access technology for new applications.", as Microsoft puts it. A comprehensive version history from EF 3.5 to EF 6.2 of today can be found here and the current state of EF and future updates (Entity Framework Core, Entity Framework 6, Compare and choose betw

Exam 70-487: Accessing Data - How to choose the Appropriate Data Access Technology - ADO.NET?

Image
It is virtually impossible nowadays to find a software application that does not make use of some form of data Access. There are many ways to build data-centric applications and many technologies available for use. Microsoft provides quite a few: ADO.NET,  Entity Framework,  WCF Data Services,  Azure Cosmos DB The "Accessing Data" objective  covers 20-25% of the overall Exam 70-487, and it is important to understand the characteristics and distinctive of each of the above data access technologies. When to use one vs the other. ADO.NET In the beginning was ADO, Microsoft ActiveX Data Objects (ADO)! It enables your client applications to access and manipulate data from a variety of sources through an OLE DB provider.  Its primary benefits are ease of use, high speed, low memory overhead, and a small disk footprint. ADO supports key features for building client/server and Web-based applications. One of its major weakness is its strictly connected model.  

How to use Azure DevOps Git Repos for the first time?

Image
I used Visual SourceSafe for source control many many years back. I later used TFS (Team Foundation Server)  from the beta version to today's latest version, VSTS which is now Azure DevOps . Some years back I started playing with "G it ", the  distributed version control system   , when there was no integration in Visual Studio whatsoever. Today, Microsoft offers TFVC (Team Foundation Version Control) and TFGit as first class citizens in Team Foundation Server or Azure DevOps. I usually tell developers on teams I help Setup development environments that it is really a matter of preference in certain circumstances. Now, if your team members are geographically dispersed and you want them to access source code over the internet, you are going to have to use Git or some other distributed source control systems. But if all your team members are all in the same campus network or can remotely access the Team foundation server,  then, it is really a matter of preferenc

Why can't Microsoft install IIS on Window Operating Systems by default?

Image
So, you fire up Visual Studio, create simple ASP.net web site. Hit F5 and crash! You get a weird error that says: Specified argument was out of the range of valid values.Parameter name: site I had this issue recently after a major Windows PC crash/refresh and as I finally found out the issue was IIS not running, I wondered why the above error message is not a little bit more precise. Anyway, just re-install IIS features and you are ready to go. Windows + R (open the run box) Type AppWiz.cpl (Start the control panel for apps and features) Click "Turn Windows Features On or Off" Make sure Internet Information Services is checked as below:

EXAM 70-487: Developing Microsoft Azure and Web Services

I am starting this series on Exam 70-487: Developing Microsoft Azure and Web Services for two reasons: 1. review the topics covered in the latest update and 2. share practical insights on those concepts. Hopefully, by the time we are done, if you follow along, we will all go and pass the Exam and/or become better developers. Now, I am well aware of the new Microsoft role-based Certifications. A role-based certification shows you are keeping pace with today’s technical roles and requirements. So, it is a good thing to Skill up, prove your expertise to employers and peers, and get the recognition and opportunities you’ve earned. Having said that, I have been a Microsoft Certified Professional for as long as they launched the Certification program, but I want to caution developers on the fact that, the spectrum of Microsoft technologies still in use in many companies across the world is so widespread that it becomes wise to look at your own current organization, your personal career

What are Constraints in C# Generics

Image
In the previous post, What are Generics in C#? , you learned that Generics allow you to define a class or method with placeholders for the type of its fields, methods, parameters, etc. Remember the following generic class? GenericList is up to a lot of unknown things during instantiation ( it can be primitive or non-primitive type, or an interface or custom class etc.), and to limit the type of " Whatever " T is, as we discussed previously, GenericList can decide to limit the field of possibilities for T. For instance, the following will no longer allow a collection of int to be instantiated: the " where T: class " is called a Constraint on the GenericList class. Below is a list of all the possible constraints. Once again: Constraints specifies the kind of types allowed with the generics. Constraints can be applied using the where keyword. Six types of constraints can be applied: class, struct, new(), base class name, interface and derived type. Multip

What are Generics in C#?

Generics (Added to version 2.0 of the C# language) introduce to the .NET Framework the concept of type parameters, which make it possible to design classes and methods that defer the specification of one or more types until the class or method is declared and instantiated by client code. Using generics greatly maximizes code reuse, type safety, and performance. The most common use of generics is to create collection classes. Explanation: The GenerictList class literally says "I am a collection of whatever you want, and with an instance of me, you can only do one thing: Add" TestGenericList is a normal class with a sub-class ExampleClass and a method Main() . Watch the lines declaring the list of int, string and ExampleClass and notice that GenericList is instantiated with " Whatever " TestGenericList wants. That's the power of Generics!!! The above example shows a Generic Class, but you can also create Generic Methods, generic interfaces, events and de

Software Questions and Answers

Section 1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Section 2 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Section 3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Setup a Content Delivery Network using Microsoft Azure: Part 1

Image
User Story: As a developer or IT professional, I want to setup a storage system to accelerate static content, dynamic content, mobile content, e-commerce transactions, video, voice, games and so on. This may seem like a trivial scenario, but statistics show that a second-long delay causes a 7% drop in conversions, an 11% drop in page views and a 16% drop in customer satisfaction. It becomes therefore imperative to optimize the delivery of digital artifacts to a geographically dispersed audience, in a way that minimizes latency. That is where CDN (Content Delivery Network) comes in. Essentially, CDN puts your content in many places at once, providing superior coverage to your users. As with anything, depending on your level of comfort, you can decide to go with turn key, fully supported solution or setup a CDN for your client Apps or your organization. My goal in this post is to show you how you can setup a CDN endpoint for your content in Microsoft Azure. The Azure Content

How to remotely stop, deallocate or start a Virtual Machine located inside Microsoft Azure?

Image
In a traditional enterprise network setting, you use the Microsoft Remote Desktop app to connect to a remote PC or virtual apps and desktops made available by your admin. The app helps you be productive no matter where you are. The same can be replicated when your remote PCs are located in the cloud, and your Admin has connected them to your on-premises network through Azure Active Directory (Azure AD gives you the reliability and scalability you need with identity services that work with your on-premises, cloud, or hybrid environment.) The issue I am addressing in this post is related to the following user story: As a developer or IT professional, I want to Start, stop and deallocate my Azure Virtual Machine, without necessarily having to login to my Azure portal. Install PowerShell: Windows PowerShell comes installed by default in every Windows, starting with Windows 7 SP1 and Windows Server 2008 R2 SP1. If you are interested in PowerShell 6 and later, you need to instal

What is Azure CLI?

Image
Azure CLI (Command Line Tool) is one of the command line tools available in Microsoft Azure. The other tools being Azure Powershell (Cmdlets to create, test, deploy, and manage solutions and services delivered through the Azure platform) and PowerShell Tools for Visual Studio 2015 (Edit, run and debug PowerShell scripts locally and remotely, leveraging Visual Studio’s locals, watch, call stack for your scripts and modules.) The Azure Command-Line Interface (Azure CLI) is a lightweight cross-platform command line tool to manage Azure Servcies and accomplish common tasks. How to install Azure CLI on Windows? The Azure CLI is installed through an MSI, and can be accessed through the Windows Command Prompt (CMD) or PowerShell. The MSI basically installs the az command on Windows. You can download the Azure CLI MSI for windows from Microsoft here . Once the 40+ MB download is complete, just click Run and follow the prompts. While you can use the Window CMD, I strongly