Wednesday, January 28, 2015

Microsoft 70-486: Plan an adaptive UI layout

Exam Objectives


Plan for running applications in browsers on multiple devices (screen resolution, CSS, HTML), plan for mobile web applications

Quick Overview of Training Materials


Sunday, January 18, 2015

Thursday, January 15, 2015

Fun with Coordinates: A story about using JavaScript to do things the hard way.

Went to a training class this morning on using Google's MyMaps.  Interesting enough, though I don't see myself ever really using it.  For the uninitiated, this application lets you upload a spreadsheet of locations with a bunch of metadata, and you can manipulate the visualization.  Well, the map pointers are placed based on either an address or a lat and long.  The presenter noted that she wasn't sure if you could use UTM or State Planar Coordinate System coordinates.  Because I had pretty much exhausted my interest in playing with the MyMaps interface in about 10 minutes, I took it as a challenge to obtain and test a UTM data set.  I did a search for an available dataset but didn't find anything useful, however I had at my disposal a Google Sheets spreadsheet that had the Wyoming zip codes with latitudes and longitudes (basically a truncated version of this file). "So I'll just convert the ones I have, easy..." BWAHAHAHA ok, we'll get to what that was about.

Wednesday, January 14, 2015

Microsoft 70-486: Design and implement UI behavior

Exam Objectives


Implement client validation, use JavaScript and the DOM to control application behavior, extend objects by using prototypal inheritance, use AJAX to make partial page updates, implement the UI by using JQuery

Quick Overview of Training Materials


Exam Ref 70-486: Developing ASP.NET MVC 4 Web Applications - Objective 2.2
Programming ASP.NET MVC 4 (OReilly) - Chapters 3 (Data Annotation, 4 (Client Programming) and 6 (AJAX)
Professional ASP.NET MVC 5 (WROX) - Chapters 6 (Data Annotation) and 8 (AJAX)


Previous blogs relevant to objective:

Thursday, January 8, 2015

Microsoft 70-486: Apply the user interface design for a web application

Exam Objectives


Create and apply styles by using CSS, structure and lay out the user interface by using HTML, implement dynamic page content based on a design

Quick Overview of Training Materials


Friday, January 2, 2015

Microsoft 70-486: Implement a secure site with ASP.NET

Exam Objectives


Secure communication by applying SSL certificates; salt and hash passwords for storage; use HTML encoding to prevent cross-site scripting attacks (ANTI-XSS Library); implement deferred validation and handle unvalidated requests, for example, form, querystring, and URL; prevent SQL injection attacks by parameterizing queries; prevent cross-site request forgeries (XSRF)

Quick Overview of Training Materials


Hashing Passwords using ASP.NET's Crypto Class - MSDN Crypto Class 
Password management made easy in ASP.NET with the Crypto API
MSDN - Differences Between AntiXss.HtmlEncode and HttpUtility.HtmlEncode
owasp.org - ASP.NET Request Validation

Friday, December 5, 2014

BoxBlaster: Real time gaming demo with Signalr and Azure


I wanted to do something more interesting than a chat room using Signalr, so in the long standing tradition of going way over the top and biting off more than I can chew, I decided I would build a multiplayer shooter game using Signalr.  Over the long Thanksgiving holiday, much to my wife's chagrin, I stole every free moment to build this demo.  I gotta say I'm pretty happy with the results.
You can check out the latest version of the code on GitHub: github.com/sabotuer99/BoxBlaster.


Tuesday, October 21, 2014

Microsoft 70-486: Design a caching strategy

Exam Objectives


Implement page output caching (performance oriented), implement data caching, implement HTTP caching, implement Azure caching

Quick Overview of Training Materials


Asp.net - Data caching in ASP.Net applications


Monday, September 8, 2014

Microsoft 70-486: Configure state management

Exam Objectives


Choose a state management mechanism (in-process and out of process state management), plan for scalability, use cookies or local storage to maintain state, apply configuration settings in web.config file, implement sessionless state (for example, QueryString)

Quick Overview of Training Materials


MSDN - ASP.NET State Management Overview and Recommendations

Friday, September 5, 2014

ASP.NET MVC Unit Testing Part 4: The Tests and What Was Learned

So, now that the project is refactored with interfaces, I have fake data, and a fake environment, it's time to run some unit tests! Whoohoo!  I'll go over some of the basic tests and also cover what I learned over all throughout the unit testing process.

Thursday, September 4, 2014

ASP.NET MVC Unit Testing Part 3: Faking the Environment (HttpContext)

So I have my fake data, but I also need to address additional dependencies that are not as obvious.  These dependencies arise from the use of User and Request, which are properties of the HttpContext.  Because you apparently can't assign HttpContext directily, you have to create a fake ControllerContext.


ASP.NET MVC Unit Testing Part 2: Faking the Database

Now that the production code is all set up, it's time to create the fakes that I'll inject for my unit tests.  Rather than connecting to the production database, I want my unit tests to use an in memory dataset so they will run lightning fast.  There are limitations to using in memory data (in effect substituting LINQ to Object for LINQ to Entities) which I will address in another post.


ASP.NET MVC Unit Testing Part 1: Set up

So, a little background here first.  I'm pretty new to .NET programming, having only started my first developer job just this past March.  My one and only performance management goal was to implement some unit testing.  Simple right? Well my first feeble attempts involved trying to add unit tests to a traditional ASP.NET program... come to find out unit testing code behind files is a fools errand.  Did manage to test come CRUD on a service class, but all in all it wasn't that useful.  I was also attached to a new development project called Education Assistance (EA around the water cooler) that was using MVC.  I'd read that MVC was much easier to unit test so I figured that would be a possibility at some point.  Of course, first I had to learn a little about MVC.  I worked through a few tutorials, a couple of which actually covered unit testing.  So now I knew just enough to get myself in trouble.

Tuesday, June 3, 2014

Comparing ASP.NET MVC tutorials: OdeToFood, Nerddinner, and MVC Music Store

I worked through three ASP.NET MVC tutorials: NerdDinner, OdeToFood, and MVC Music Store.  All had their pro's and con's, and I definitely learned much from them.  The pluralsight tutorial OdeToFood was, far and away, the best put together tutorial of the bunch, and if you had to pick one, that would be the one to do.  NerdDinner wasn't bad but is showing it's age as it was developed using MVC2 (though I thought I saw something about updates...). The MVC Music Store tutorial also had a lot of interesting stuff but I would have to consider it the weakest of these three tutorials.