Thursday, May 31, 2007

Object Oriented Analysis & Design

Head First Object Oriented A&DI'm currently reading the book Head First Objected Oriented Analysis & Design from O'Reilly.  This is the second Head First book I've read (the other was Head First Design Patterns) and I must say that this is probably the best and most useful series of tech books I've read.  The Head First philosophy is to write the books in a casual tone and really repeat the important things so that they'll stick out in your head.  Probably the best thing about the books is that they use "real world" scenarios to explain WHY you should do something and not just HOW to do something.

Another great thing about these particular books are that they really teach you something that you probably either

  • Learned somewhere along the way but didn't exactly grasp WHY you learned to do things that way

OR

  • (Like me) Didn't go to a college that put a heavy (read: any) emphasis on design so to stay current you need to sharpen up your design skills

The problem with going to a University that considers Computer Information Systems part of the Business Department (my degree is a BBA) is that you have to take so many Business courses that it feels more like a double major in CIS and Business Administration than a CIS degree with a minor in BA.

But I'm going on a tangent.

If you're interested in learning some of the building blocks of Object Oriented design or Design Patterns, I would definitely check out these books.  They are written for Java programmers, but I'm a C# guy and I haven't had any problems figuring out any of the examples.

Friday, May 18, 2007

New Look for Sleash Software

As you can tell if you've been here before, we have a new look at Sleash Software.  This is a template called Ultra 77 that I found while searching through the galleries at http://www.oswd.org (OSWD = Open Source Web Design).  It was designed by Ian Smith of N-Vent (http://www.n-vent.com) which is a web design company based in Indianapolis, Indiana.  I took the template and converted it for use with Blogger (the platform Sleash.com runs on) and I'll be writing an article on how to convert web templates for use with Blogger soon.  It still has a couple of quirks in Internet Explorer that I'll need to work out, but it shouldn't be anything too bad.

Thursday, May 10, 2007

Vista is Too White

I bought a new HP computer a couple of months ago.  A big 19" widescreen monitor, Dual Core AMD Processor, 1 GB ram, etc.  The computer came with Windows Vista Home Premium, and so far I haven't had a lot of problems with it. 

Most of my applications run okay, I can develop using Visual Studio 2005, surf with FireFox, and (geekiest of all) play Magic: The Gathering Online.  All is well, EXCEPT...

Windows Vista is TOO WHITE.   Everything about it is white.  I understand that they're trying to get away from "Control Gray," but it's very hard to tell where a TextBox ends and the form begins when they're both the same color! 

And look, I know that all you have to do is go in and alter the theme, I understand that.  But, the default theme should at least be readable!

Thursday, May 3, 2007

Update on Oracle Merge

Well, after spending all day yesterday and some time this morning trying to work on my Oracle merge problem, I've decided to just do it the old fashioned way.  We're going to alter the procedure to check the value of the MasterAccountId and if it's 0 (like, the MA was just created) then the procedure will run an insert, and if it's not, then it will run an update on the record that shares that MasterAccountId.

What is the difference in this and what I was trying to do you ask?  Uh... nothing really.  I just thought it would be cool to use that nice shiny new MERGE keyword in my PL/SQL.  Foiled again...

Wednesday, May 2, 2007

Building .NET apps on an Oracle DB

For the past few months I've been working on building a C# app that hits an Oracle database and it's been an adventure.  One problem that I've really plowed into is with the merging statement (though it's mostly self-inflicted). 

While writing my business objects, say for instance a MasterAccount class, I have a Master_Account table in the DB and the class and DB have obviously the same fields.  If I instantiate a MasterAccount object like so:

MasterAccount ma = new MasterAccount(masterAccountId);

Then the class hit's the DB and fills all of the fields with data.  If I construct one like this however:

MasterAccount ma = new MasterAccount();
ma.AccountName = "Some Name";
ma.EmailAddress = "some@email.address"; // etc, etc

then the MasterAccountId (PK in the Database) would be set to 0.  Then I have a method, Save, that I could call and it would run a merge (aka upsert) where if the object's MasterAccountId was already in the database it would update, it it wasn't (like if it was still the default 0) then it would insert the record and generate it's own Master_Account_Id (DB side).  The problem is my stored procedure for the upsert is giving me all kinds of trouble because it's not letting me use my parameter values as a row for merge matching. 


When you're starting in the software biz, there's always something new to learn.


 


del.icio.us tags: , ,