Tuesday, January 16, 2018

"Effective Java" book outline

Effective Java was written by Joshua Bloch in 2001, and the second edition released in 2009 shortly after the release of Java 6.  I received a copy of the second edition from my manager as recommended reading.  While it was sometimes a little dated, it still made for easy reading, and it felt like most of the recommendations would still be pretty relevant.  As it happens, there is now a third edition that covers Java 7, 8, and 9 which may be worth checking out...

Overall I was impressed with the advice given in the book.  In order to make better practical use of it, I wanted to create a basic "outline" view that I could easily find and scan, making reference back to the book if needed.  That is really all this post is.  I thought about adding "notes"... either to each item or to each section, but they just cluttered it up.  I want this to be more a quick cheat sheet of the guidelines, not a full blown Readers Digest edition of the book...


Friday, December 29, 2017

Resources for diving into Git internals

One of the things my boss asked me to do before I leave Farm Bureau for the bustling Bay Area was to put together some resources related to using Visual Studio Team Services.  One of my co-workers on the database team also asked me to put together some resources for learning git.  So, to that end, I pieced together a few things that would make my absence less disruptive. 

As part of the process, I ended up uncovering a few presentation that delved pretty deep under the covers.  Now, these are lessons that are best consumed by one who is already pretty familiar with git basics, but I think the reward is a deeper, richer understanding of git behavior that can make us more effective with the tool. I'm not going to rehash everything that is in the videos (just watch the videos, they're excellent), I'll just provide a link and a brief synopsis.


Tuesday, November 7, 2017

Microsoft 70-487: Design a Web API

Exam Objectives

Define HTTP resources with HTTP actions; plan appropriate URI space, and map URI space using routing; choose appropriate HTTP method (get, put, post, delete) to meet requirements; choose appropriate format (Web API formats) for responses to meet requirements; plan when to make HTTP actions asynchronous; design and implement routes


Quick Overview of Training Materials



Friday, October 20, 2017

Microsoft 70-487: Configure a web application for deployment

Exam Objectives

Switch from production/release mode to debug mode; use SetParameters to set up an IIS app pool; set permissions and passwords; enable and monitor ASP.NET App Suspend; configure WCF endpoints (including HTTPS protocol mapping), bindings, and behaviors; transform web.config by using XSLT (for example, across development, test, and production/release environments); configure Azure configuration settings


Quick Overview of Training Materials

Exam Ref 70-487 - Chapter 5.3
[MSDN] How to: Set Debug and Release Configurations
[MSDN] Understanding Build Configurations

[MSDN] Configuring Parameters for Web Package Deployment
[MSDN] Web Deploy Parameterization
[TechNet] Using declareParam and setParam
[Blog] MSDeploy with Declare and Set parameter files

[MSDN] Configuring Permissions for Team Build Deployment
[MSDN] Basic Security Practices for Web Applications
[MSDN] Best practices for deploying passwords
[Blog] Davidson Sousa - Setting folder permissions using Web Deploy
[Blog] Sayed Hashimi - Setting Folder Permissions on Web Publish
[Blog] Kevin Leetham - Modifying directory permissions with Web Deployment

[MSDN] Enable and monitor ASP.NET App Suspend on Windows Server 2012 R2
[MSDN] ASP.NET App Suspend – responsive shared .NET web hosting

[MSDN] How to: Transform Web.config When Deploying a Web Application Project
[MSDN] Web.config Transformation Syntax for Web Project Deployment
[GitHub] Xdt transform samples

[MSDN] Configure web apps in Azure App Service
[MSDN] Configure Azure cloud service roles with Visual Studio


Thursday, September 28, 2017

Microsoft 70-487: Manage packages by using NuGet

Exam Objectives

Create and configure a NuGet package; install and update an existing NuGet package; connect to a local repository cache for NuGet, set up your own package repository


Quick Overview of Training Materials



Monday, September 25, 2017

Wednesday, September 13, 2017

Monday, September 4, 2017

Saturday, September 2, 2017

Microsoft 70-487: Configure WCF services by using the API

Exam Objectives

Configure service behaviors; configure service endpoints; configure binding; specify a service contract; expose service metadata (XSDs, WSDL, and metadata exchange); WCF routing and discovery features


Quick Overview of Training Materials

Exam Ref 70-487 - Chapter 3.3
[Book] Programming WCF Services (in particular, Appendix C: Discovery)
[MSDN] Configuring WCF Services in Code (.NET 4.5+)


Friday, August 25, 2017

Microsoft 70-487: Configure WCF services by using configuration settings

Exam Objectives

Configure service behaviors; configure service endpoints; configure bindings including WebSocket bindings; specify a service contract; expose service metadata (XSDs, WSDL, and metadata exchange endpoint); configure message compression and encoding


Quick Overview of Training Materials


Friday, July 28, 2017

PluralSight WCF Library

PluralSight has a pretty robust collection of WCF related courses.  I decided it would be useful to index the concepts covered in the courses I watched (as part of putting together to 70-487 study guide).