Is Deploying to Production 50x/Day a GOOD Idea?
I had the pleasure of attending the Continuous Deployment Breakfast with Eric Ries last week. Eric Ries,
creator of the Lean Startup methodology, Co-Founded IMVU who’s known for deploying code to production as many as 50 times per day!
In Agile, there’s this notion that there’s someone “out there” (e.g., the Product Owner) who has all the answers about what the product should do. However, Lean Startup says no one has all the answers. This, of course, makes sense in a startup where where the customer is To Be Determined. But I wonder if it doesn’t hold a bit of truth even for more established products… does one person really hold all the answers?
And so – if we’re not sure what the right thing to build is, our most important task becomes learning.
Read More…..
Tags: agile, lean startup, startups | Comments
More LINQ Goodness: Now with WPF!
Apologies for the slow down in posts, I’ve been head’s down in code bringing you more tutorials on LINQ to SQL and
how to use it with my current obsession, Windows Presentation Foundation.
It has now been expanded into 3 parts – aka, everything you ever-never wanted to know about LINQ to SQL:
- Mapping Tables to Objects
- Adding/Updating/Deleting Data
- WPF Data Binding with LINQ to SQL
These tutorials describe how to manually map your classes to database tables with LINQ to SQL so you can have support for M:M relationships as well as WPF data binding using my own hack workaround solution to providing this functionality. One person even claimed my code was cleaner then the auto-generated code, but I’ll leave that for you to decide yourself.
But… even if you do choose to auto-generate your classes, understanding how these techniques work will allow you to expand the code to better fit your application’s needs and troubleshoot issues when they arise.
I hope these help you out in your own encounters with LINQ to SQL!
Tags: programming, wpf | Comments
A LINQ Tutorial
For the source code inclined in each of you, I just posted an application and tutorial on LINQ, .NET’s Language Integrated
Query, on The Code Project.
It shows how to map database tables to classes with LINQ and then retrieve the data in the very cool LINQ-manner that makes me ooh and ahh for doing more with C#. It also includes a simple WPF GUI that uses data binding to display the data and navigate the relationships because, well, WPF data binding is sexy.
I hope you enjoy!
A LINQ Tutorial: Mapping Tables to Objects
Gratuitous brag update: This article was just selected as Editor’s Choice on The Code Project (w00t!)
Tags: programming, wpf | Comments
A few months ago, a reader emailed me for my views on single versus multiple return statements in a method… "What’s your take on single-vs-multiple returns in a method? Personally, I don’t mind multiple returns. It often makes code more readable, less if-nesting, etc. But it has almost become a war here at my workplace, [...]
Read More.....
Tags: Bob Martin, programming | Comments
I can’t help but feel my code is getting harder and harder to read as I wade through an ever increasing number of if != null checks before finding my way to the real logic that I actually care about… God, doesn’t your brain just want to shut down even trying to look at it? [...]
Read More.....
Tags: Bob Martin, emergent design, programming | Comments
This wraps up the series of posts on SOLID Code with Emergent Design. Dependency Inversion Principle "Separate interfaces so callers are only dependent on what they actually use" The SOLID principles really boil down to managing your dependencies between classes. And, by "manage", we really mean "get rid of those suckers." Removing dependencies (aka, de-coupling) [...]
Read More.....
Tags: Bob Martin, emergent design, programming, SOLID | Comments
This is the 5th post on SOLID Code with Emergent Design. Interface Segregation Principle "Separate interfaces so callers are only dependent on what they actually use" Or, more simply… Avoid "fat" interfaces This principle is about breaking down our interfaces to be highly cohesive. You might have a server that provides methods to a number [...]
Read More.....
Tags: Bob Martin, emergent design, programming, SOLID | Comments
This is the 4th post on SOLID Code with Emergent Design. Liskov Substitution Principle "Derived classes must be usable through the base class interface without the need for the user to know the difference" This principle is about following good techniques for inheritance. It says code that uses the base class should not need to [...]
Read More.....
Tags: Bob Martin, emergent design, programming, SOLID | Comments
This is the 3rd post on SOLID Code with Emergent Design. Open/Closed Principle "Modules should be open for extension, but closed for modification" The idea here is that adding new features should always be able to be handled by simply adding new code. It should never require modifying existing code. The benefit is that if [...]
Read More.....
Tags: Bob Martin, emergent design, programming, SOLID | Comments