Okay, my previous blog post was rather technical. It also took a lot of time and effort to put together, and it also took a considerable amount of time for me to limit myself to that specific topic. It was mostly a learning experience to determine how much time and effort is required to put together such technically-minded information and examples, as I have always wanted to write such articles but never really forced myself to do so in the past.
The past few weeks I have decided to come up with a list of topics that are just as engaging to delve into as that post. I have also offered to speak at both the local .NET user group meeting and the local SQL server user group. With those concepts in mind, I must now limit myself to the topics that are the most relevant to each group as well as topics I am still interested in writing articles about. The list presented below are subject areas and topics that I am interested in putting together similar articles because they cover areas of interest to me, as a developer, rather than as a project manager. I will leave the agile and rational unified process stuff out of the mix for now.
- Optimization at the IL Level
One thing that has also perplexed me is the amount of optimization a web or win forms application can undergo if it were only fine-tuned at the IL-level. I think one thing many people fail to consider about compilers is that they are general-purpose – they don’t “know” what you’re really trying to do, so the code that is generated isn’t optimized for that specific application or purpose. I can demonstrate this with examples of object instantiation and value assignment that occurs during run-time as a result of reflection (especially in VB.NET). The is usually the last stop when optimizing an under-performing system, but it still deserves its proper consideration as part of the overall performance strategy.
- Tools of the Trade
All developers have their own tips and tricks for speeding up their development and finishing projects faster. I will discuss some of the tools we use in our development environment, the shared method resources are shared to avoid duplication, and other ways we have maximized our developer productivity.
- Efficient Management of the .NET View State
I think one area of .NET web applications not given adequate attention is that nefarious view state. Some people turn it off, some people try to optimize the size of it, others try to encrypt it, and still others don’t even know it exists. I would like to cover some of the basic concepts and strategies that I have used when dealing with this something not-so-little critter.
- Encryption, Security, and OWASP Recommendations
Another aspect of web development (which is not really specific to .NET) is the emphasis on security and encryption. The OWASP recommendations list out some pretty important areas, and their documentation gives some insight into how to address them in both the .NET and open-source worlds. I would like to devote some time exploring methods of addressing these security vulnerabilities both from a .NET configuration standpoint and from a non-.NET architectural standpoint.
This topic alone could span several articles, but suffice it to say that each time I mention it to other developers, they are always interested in learning more about it. I would like to provide working examples of features the library possesses and show how it can be used in some very interesting ways. I would also take the opportunity to stress the many advantages and disadvantages this libraries has in comparison to ORMs.
This is yet another topic and area of interest I have that can span multiple articles. I think many developers understand what the library is capable of, but the utilization of this library eludes them. I would like to show example code that demonstrates how library from the Java world can be used to supplement, but not replace, a properly architected data tier.
I will probably focus on the NHibernate topic, because it was requested by the SQL Server User group members. Besides, NHibernate is cool and who doesn’t want to learn more about it?