The Art of Logging
During my time as a Naval Nuclear Field Machinist Mate I did a lot of logging. The data points we logged were not for busy work, they had a reason and a purpose.
Logging certain data points around the same time multiple times a day is a lot of data. As you know this data lets you see trends, maybe detect a potential equipment failure before it happens.
Application logging in the enterprise is not much different. The hard part is knowing what to log, where to log, and how to log it. I hope this article will help you answer some of those questions.
I really must apologize for waiting so long to post about this conference. It just kept slipping my mind. My team and I attended one in Orlando last year (2015). If you have never been to a large developer conference you are really missing out on some goodness.
This conference was my first real one I have attended. I thoroughly enjoyed it, and would love to attend it again. This year though, I am shooting for Microsoft Ignite.
We have all used the magic of the Web.config transformations. This is when we have our Web.config and connected to that is a version that does some work for release and one for debug; Web.Release.config and Web.Debug.config. These are a great way to automatically have the correct target use the correct settings, especially connection strings. Whether we use that or not and just leave it as something that looks cool is a different thing.
Did you know you can get this magic for your console applications as well? I know, a web developer doing console apps? As an enterprise one sometimes I find it is the best solution to some problems. While it seems like a small thing I wished I had it in the console applications, I am happy to say that I have found it!
Recently I was working on an older project. Nothing too big, just a really old Windows Service that consumed another third party SOAP web service. I finally had the chance to do something we don’t get to do in the enterprise, improve old code without a user request due something broken or needing a new feature. Yes for those that don’t know, if it isn’t broke you don’t fix it.
Working on this project I had become fixated on implementing something in a way that just could not be done. Because I was so focused on the one path I could not see what was plain and simple in front of my face. Little did I know I was on the Road to Nowhere.
If you are interested in blogging I highly recommend the free email course by John Sonmez; Create a Blog to Boost Your Career. If you don’t know about John you really should take some time. John is the founder of Simple Programmer, which is a great resource on its own.
I initially started this blog as something to keep track of things for myself. Which really was kind of a bad idea as it has become more of a mess than something useful. I came across John’s course and thought “Hey, its free. What can it hurt?”.
I have not finished the course, but it is great so far. In fact it is because of this course I have decided to change up my blog. Instead of just being my space for information I am going to focus on things I do every day. Of course I will deviate a little, but most of it will be related things I do at my current job. I know there are a lot of other resource out there for web development and such, I just don’t think most of them take into account us enterprise types. Believe it or not working in an enterprise environment is very different than the courses, books, and tutorials we encounter while learning.
Back to John’s course though. Even if you are not interested in a technical blog, I feel this course applies to any type of blog. If, and you should, take the course stick to it. Take it seriously as if you were paying to attend a class. He gives homework in each lesson, and will reply to you. I really wish I had taken his course before I started my own blog.
A Learning Opportunity
Today I had a lovely learning opportunity when I discovered a stored procedure that was not quite safe. It used parameters, and the C# code sent them over using proper parameters. The problem came to how the entire SQL statement was being built and executed.
In fact, you could say it was more about how the dynamic WHERE clause was being built.
Naturally I went on a quick quest to find a better way to do this and be secure. This MSDN article really helped. It gave me enough knowledge to write an example against a Northwind database.
This post builds off my previous one ASP.NET MVC Model Binding to a List. This post is about how to render a partial view when you make an AJAX call. This will also work with an EditorTemplate or a DisplayTemplate. I personally recommend using a partial view as you can take advantage of model binding for your templates better, as you will see, doing this from an AJAX call is a little different.