Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

Tuesday, August 14, 2018

MCP 70-483: How I Cracked Microsoft Certified Professional Exam 70-483 in 37 Days!

Cracking Microsoft Certified Professional Exam 70-483 in 37 Days!

Thinking of cracking this exam? Great decision! Yes! Cracking this exam can do wonders for you.


MCP 70-483 Certification Badge

It helped me to get my resume shortlisted and eventually getting an offer from Microsoft !! Crazy right ? Certifications do help when it comes to resume shortlisting but you should know your stuff, there's no shortcut there. After all, that's what interviews are meant for - to check if you are only good on paper or you really back what you wrote in your resume 😈


Alright!! After such a grandiloquent paragraph, let's discuss business - Certification Exam and Preparation. If you are just entering the world of Microsoft Certifications, I would recommend you to start here How I Cracked MTA 98-361 in 17 Days!


Let's concentrate on MCP 70-483 Exam now:

Why MCP 70-483 ?

Passing MCP 70-483 will help showcase the following:

  • You are well versed with C# and developing .NET Applications using C#.
  • You are a self learner and continuously update your skills and knowledge.
  • You are serious about your career and care to calibrate your skills and expertise.

Who should go for MCP 70-483 ?

When I appeared for the exam, I already had more than 02 years of experience in C# and .NET under my belt. The official website also suggests that candidates having 01 or more years of experience should go for it. That being said, with proper strategy and exhaustive preparation, one can crack this certification even if he/she doesn't have industry experience.

Image Source: Microsoft
However, keep in mind that this exam is not a cake walk and one has to dedicate time for it. As as a professional, I can assure you that working in a software development firm and cracking certification exams are two different things but they compliment each other.

What to expect in MCP 70-483 Exam ?

That's clearly stated on the official website as shown below:
Image Source: Microsoft
Just click on the + icon to expand each topic and view the details.

Please pay attention to the highlighted part in the image. It suggests that there are some changes/ addition to the syllabus for the Exam 70-483. You must download the Exam 70-483 change document and make sure that you have covered all the topics including the newly added ones! Let's jump to the juicy part now - Preparation !

How did I prepare ?

Please note that we have to adhere to the NDA (Non-Disclosure Agreement) from Microsoft. Hence you'll not find exact questions and answers (or Brain-Dumps) here. However, if you sincerely follow the stated guidelines, you'll hit the bull's eye for sure.

The Bible for preparing for Exam 70-483 is the Book by Wouter de Kort published by Microsoft Press. I highly recommend that you study each and every topic from this book. This book really covers all the topics really well and you will be at a different level after completing this book. You can buy the book here - Buy Exam 70-483 Ref on Amazon

Please Note: I have given an exhaustive list of references at the end to help you prepare for the exam. 

Manage Program Flow (Day 1 - Day 8):


This section mainly consisted of - Multi-threading, Events and Delegates, Exception handling. I must confess here that if you have industry experience building software then this section will not be a big deal for you as you must have encountered these in your daily work. If you are a newbie learning on your own, it may take some time to get your head around this. Practice is the Mantra! 

Create and Use Types (Day 9 - Day 16):

This part concentrated on Value Types, Reference Types, Dynamic Types, Strings in C#. Pay close attention to these Interfaces is C# -  IComparable, IEnumerable, IDisposable and IUnknown. Also, Reflection is one of the important topics in C#. Give enough time to it as it's useful for exams and is a life saver when you make real world software.

Debug Applications and Implement Security (Day 17 - Day 24):

This section wants you to know about - Symmetric and Asymmetric Encryption, Security Certificates, Key Management, .NET Assemblies, Logging, Application Profiling.

I have personally experienced that people having 2-3 years of experience lack in this part of the exam e.g. Implementing Security, Application Profiling, Debugging Memory Leaks, etc... You'll usually see a developer having around 7-10 years of experience handling this stuff in the company. Less experienced Developers are mainly busy expanding the feature set of the Application. You feel me ?  Now you see why you should crack this exam 😉

Pro Tip: All you less experienced Developers/ newbies out there, invest enough time here! 


Implement Data Access (Day 25 - Day 32):

This section wants you to know all the possible cases in which you will handle your data e.g. Streams, Json/ Xml Data, Json/Xml Serializer/ Deserializer, LINQ (Very Important! ), and Collections - Lists, Dictionaries, Arrays, etc...


Again, if you have some industry experience then this section will be a cakewalk as handling the data is the most trivial task a developer does every single day! Even if you are studying on your own, this part is very interesting and it's easy to get the hang of it.

Miscellaneous (Day 33 - Day 37):

Relaxed my nerves. I tried to browse through every possible relevant link on the Web for 70-483 just to check if I missed anything. This is important because when you see a topic at random and know the concepts and can answer questions on that, it really boosts confidence.

Lastly, don't panic! It's just an exam but  make sure you do your due diligence. All the best! Let me know your certification experience in the comments section. 

Resources/ References

Here is the list of resources/ references that can be used in preparing for MCP 70-483:


What next after MCP 70-483 ?

So far so good! What next ? Well, you can use this Certification Planner from Microsoft to decide your paths and next certifications. I just want to add my 2 cents here - Also go for Azure Certifications as Cloud is and will be in the boom. I am myself progressing towards becoming a Cloud Architect. I will be posting articles on the same very soon. Stay tuned and thanks for stopping by!

I really hope that has been informative. Please share your certification experiences so that others can benefit too :)

Happy Coding!

Saturday, September 30, 2017

MTA 98-361: How I cracked MTA 98-361 in 17 Days!

MTA 98-361: How I cracked MTA 98-361 in 17 Days!


Yes! I literally cracked MTA 98-361 with 17 days of planned preparation 😁. It feels great to be a Microsoft Technical Associate in Software Development Fundamentals. The best part is I can show off the following badge on my Blog, LinkedIn , Resume, etc...

MTA 98-361 Certification Badge

Let's break down the process I followed so that it may help you.

Why MTA 98-361 ?

Let me tell you that passing MTA 98-361 is not a prerequisite to become a Microsoft Certified Professional (MCP). However I recommend to give it a shot so that you get the hang of Microsoft Certifications. Moreover, if you are starting a career in technology, it is one of the best entry level certifications. Make no mistake by thinking that it would be really easy to crack it. You will have to go for a planned preparation to make sure you crack it.

Who should go for MTA 98-361 ?

Here's what Microsoft suggests:

Image Source: Microsoft


What all can I expect in MTA 98-361 exam ?

Well! That's clearly stated on the Microsoft 98-361 certification website as shown below:

Image Source: Microsoft


How did I prepare ?

Please note that we have to adhere to the NDA (Non-Disclosure Agreement) from Microsoft. Hence you'll not find exact questions and answers (or Brain-Dumps) here. However, if you sincerely follow the stated guidelines, you'll hit the bull's eye for sure.

I already had some past experience in C#. I must say it was helpful in speeding up the preparation process. Even if you don't have any past experience in C#, don't worry! All you have to do is just go through a basic tutorial of C# such as this on on Microsoft Virtual Academy - C# Fundamentals for Absolute Beginners . The mantra to success is to cover all the topics/ concepts mentioned on the MTA 98-361 Website.

Alright! Here's the 17 day plan I followed:

Database Development (Day 1 - Day 5):  I started by gaining knowledge about Database development as I had very little exposure to Databases. It's good to master the things you know less about first. Please note that you should concentrate on SQL Server mainly. Important concepts include Normalization, Writing/ Understanding SQL queries, Connection Pooling, etc...

I will give an exhaustive list of resources/ references at the end of this article so that you find all the things at one place.

Web Applications (Day 6 - Day 9): Next, I concentrated on Web Applications. Here, the idea is that you understand about ASP.NET applications. Note that ASP.NET is a vast topic and difficult to master in a short period. Hence it's important that you cover at least the topics mentioned on the MTA 98-361 Website e.g. Page life cycle, State management, etc...  On the MTA 98-361 website, just expand the topic to view the concepts you should cover as shown below:

Image Source: Microsoft
Also, there are certain links/ preparation resources under each topic as shown below:

Image Source: Microsoft
It is highly recommended that you go through all the suggested Preparation resources. It may be time consuming if you are a total newbie but definitely worth the effort. 

Understanding Programming (Day 10 - Day 12): I took on the following three topics in these three days:
  • Understanding Core Programming
  • Understanding Object Oriented Programming
  • Understanding General Software Development
You can expect many theoretical concepts in these sections and that's why it is easy to score here :)

Desktop Applications (Day 13 - Day 15):  This was personally the easiest part for me to prepare. We have to mainly look into Windows Services, Store Apps and Console Apps. Again, I want to emphasize that try to cover the topics mentioned on the MTA 98-361 website first. Then you can go into more details as per your interest and time at your disposal.

Miscellaneous (Day 16 - Day 17): In the last two days, I used to randomly google stuff about MTA 98-361 and swallow everything possible. I would say that I kind of brushed up/ touched upon all the important topics once again in these two days. The best example is this PDF I found out: Certiport Sample MTA 98-361 PDF

Resources / References

Lastly, here is the list of resources/ references that can be used in preparing for MTA 98-361:

There may be more resources that you'll may find out. I request you to mention them in comments so that we can extend this list and others can also benefit from the same.

I am also planning to make a complete Youtube Series on Preparing for MTA 98-361. I will update this post with the same once that is done.

What next after MTA 98-361 ?

This is an obvious question that comes into mind. The next exam you may want to take would be Exam 70-483. Read how I Cracked MCP 70-483 in 37 Days. Else I would recommend that you explore the possible Microsoft certification paths at following links:

I really hope that has been informative. Please share your certification experiences so that others can benefit too :)

Happy Coding!

Sunday, June 25, 2017

MVPVM: Designing Applications using MVP-VM

MVPVM: Designing Applications using MVPVM Design Pattern


Hey there! In this post we will be seeing how to design applications using MVPVM approach. If you're a .NET Developer and love MVVM more than your girlfriend, that's fine. You may still encounter situations where you may want to use MVPVMor you may land up in a project(that's what happened to me :) ) that uses MVPVM.

Introduction

MVP-VM stands for (Yes! You guessed it right!) Model-View-Presenter-View Model. It's yet another approach that brainy people came up with just to achieve so called "Separation of Concerns".

Really, that's all about it. Read on to get hang off MVPVM in the most shortest and practical way!

Design

We will be looking at this from the perspective of a .NET developer but the concept itself can be applied to any suitable situation on any development platform. Typically, this is how the simple design would like:

 
MVPVM Design Pattern
Source: MSDN Magazine December 2011

Let's kill them part by part.

View 

The user interacts with the view and this view delegates the user input actions to the presenter.

View Model 

This is nothing more than a class having Properties to which the controls in the UI bind to. And yes, they will have declarations of the Relay/Delegate Commands.

Model 

Again a class which models your data source (XML, JSON, Database, whatever! ). 

Presenter   

This is where you'd see most of your code. This class will have the implementation of Commands and hence will decide what happens on user input. Also, presenter will talk to the Business components which in turn will talk to Data Access components to get/put the data in from/to the Database.

Hope that crisp explanation was clear. Moreover, the diagram speaks for itself. Please comment if you have any doubt and I will try my best to address it.

Now comes the fun part, CODE! Yipeeeeeeeeee! 

Implementation 

In this section we will see a very simple implementation of MVPVM by creating a WPF Application. Let's get started!

Step 1 - Create a WPF Application as shown below:


Step 2 - Make your project structure look like this. Add the necessary folders & files as shown below:


Step 3 - This is more of a tip. Just make sure that your App.xaml points to the correct view to show when the application starts as shown below:


Step 4 - Let us first design our view(PersonView.xaml). It will consist of a simple ListView which will show list of Persons and a Button. It will look like this:



Step 5 - This is how our Model class(PersonModel.cs) will look like. Pretty simple! Just one property i.e. Name.



Step 6 - This is how our ViewModel(PersonViewModel.cs) class will look like. Take special note of the Button Command Binding and ItemSource Binding of ListView. Obvious binding stuff, right ?



Step 7 - Alright! Here's the magic. This is how our presenter (PersonPresenter.cs) class will look like. Take special note of command handler implementation and the creation of ViewModel object inside the presenter.



Step 8 - This is how our PersonView code behind class will look like. Look at the minimal wiring we need. That's the beauty of XAML and MVPVM. As we all know, we should try to have as less code in code behind as possible to avoid strong coupling.



Step 9 - That's it! See the application in action. Click on any Person on the list and press the button. A message dialog appears stating which person is selected.



The above was a very simple application just to explain the concept.When you actually work on an enterprise level application having large and complex code base, you'll be more comfortable realizing the benefits of using patterns like MVPVM, MVVM, etc... Also, you will find people implementing the design pattern in different ways, but you should get the main concept. That's important. I know you'll have your own perspective and thought on this topic. I really appreciate that. Please use the comments section below and speak out loud. 

Summary

The objective is to have separation of concerns. ViewModel just declares the Properties and Relay Commands to which View Binds. The main logic resides in the Presenter. The Code Behind class just instantiates the object of Presnter class and sets the Data Context to ViewModel property present in Presenter.

Edit 1: One of my colleagues suggested the following point - When you use MVVM, the view model gets bloated with properties, business logic and hence becomes fat. But If you use MVPVM, your view model has just the declared properties and commands. All the business logic resides in presenter. That also gives us the possibility of reusing the view model if required. 


Hope that was informative.Good Day!

Sunday, October 23, 2016

PowerShell: An Introduction to PowerShell

PowerShell Tutorials (Day 1) : An Introduction to PowerShell


Hey there!! This is the first article of the Series PowerShell Tutorials – A series of articles which will walk you through the basics of PowerShell. It will help you in understanding what’s happening under the hood and will gradually take you to an expert level in PowerShell Scripting if you follow along.

First of all, why Windows PowerShell?

1)     PowerShell provides command-line tools for Windows Administrators
·        Similar to the tools that Unix/Linux administrators have utilized for many years.
·        It also has the following functionalities:
Ø  It is based on Windows Operating System
Ø  Integration with .NET Framework (Just imagine the power you get with PowerShell)

2)     On top of that, PowerShell also provides the following cool features:
·        Cmdlets for performing common system administration tasks to manage the following:
Ø  The Registry
Ø  Services
Ø  Processes
Ø  Event Logs
Ø  Windows Management Instrumentation (WMI)
·        A task-based scripting language and support for existing scripts and command-line tools.
·        Consistent design, common syntax and naming conventions.
·        Support for pipelining.
·        Simplified, command-based navigation of the operating system
§  For example, the registry and other data sources can be accessed by using the same techniques that are used to navigate the file system.
·        Powerful object manipulation capabilities, i.e. objects can be directly manipulated or sent to other tools or databases.
·        Extensible Interface
§  For example, Independent software vendors and enterprise developers can build custom tools and utilities to administer their software.

History of PowerShell
In this section, let’s visit some interesting facts in the History of PowerShell to get a better idea of its usefulness and popularity.

v PowerShell 1.0

Ø  Originally called Monad.
Ø  First introduced in September 2003 at a developer conference.
Ø  Released with a name change to PowerShell in November 2006.
Ø  It was part of:
§   Windows XP SP2/SP3
§  Windows Vista
§  Windows Server 2003

v PowerShell 2.0

Ø  Released in August 2009.
Ø  Included support for:
§  Windows 7
§  Windows Server 2008 R2
Ø  Major improvements and enhancements over 1.0
§  PowerShell remoting greatly simplified, executing commands on remote computer was way easier now.
§  Added hundreds of new Cmdlets and features

v PowerShell 3.0

Ø  Released in 2012.
Ø  More new features and capabilities.
Ø  Introduced support for workflows.
Ø  Improved the graphical PowerShell tool
§  Renamed to Integrated Scripting Environment (ISE).
Ø  Improved the tab completion feature.

v PowerShell 4.0

Ø  Released in 2013, just one year after PowerShell 3.0 was released (by this you can guess the momentum and enthusiasm in the community for PoweShell).
Ø  One really big feature i.e. Desired State Configuration(DSC) was added.
§  Manages the deployment and configuration of Windows Services and their settings.
§  It can manage files, directories and registry settings.
§  Stops and starts any services or processes.
§  Provides cmdlets for user and group account management.
§  Discover current configuration status and restore configuration.
§  Deploy new software.

v PowerShell 5.0

Ø  The PowerShell 5.0 Preview was released in May 2014.
Ø  Introduces PowerShellGet.
§  A new way to discover, install and update PowerShell modules.
Ø  Adds NetworkSwitch cmdlets.
§  Adds the ability to manage Network Switches.
Ø  Introduces OneGet.
§  A new way to discover and install software packages from around the web.

There is much more to PowerShell than we saw here. Stay tuned for the next series of articles on PowerShell Tutorials and I promise you will be able to tame the huge beast called PowerShell. In the next series of articles, we will get our hands dirty and play with PowerShell Scripting.
Cheers!!