Thursday, January 10, 2013

ASP.NET MAKER, an example of effictive CASE tools

Hi again!
Computer-Aided Software Engineering (CASE) tools are those which help you saving time and efforts across your Software Development Life Cycle (SDLC), and include project management tools, editing tools, programming tools, housekeeping tools, testing and measurement tools, and more. The below diagram describes a standard CASE architecture.

casetools

A major type of programming CASE tools is code generation tools, that write codes on behalf of the programmer, which only need to address the rules, conditions, layout specifications, …etc, usually through the tool Graphical User Interface (GUI).
A variety of code generators are available in the market. Some are free, and probably open source, and the others are commercial. Some are very specific or limited to generate HTML snippets, PL/SQL stored procedures …etc, but some are as generic as being able to make source code of an entire system.
I would like to introduce a very interesting example of code generating tools that I personally use in making reporting web pages at work. This tool saves my time and effort by doing the job of two days in less than two hours. ASP.NET MAKER is the best CASE tool among the ones I use, and I would highly recommend it to my blog visitors in the coming few paragraphs.
Here is how it works:
1.       You connect it to a particular database and schema (unfortunately only one schema is allowed to be connected to the application per project) :
aspnetmkr1

2.       You load the entire database objects (mainly tables & views), or you load the database dynamically in order to only choose the objects that you need (I use this option that is faster and more reliable).
aspnetmkr2

3.       You choose the table(s) and/or view(s) that you would like to work on, then ASP.NET MAKER offers to make a view, list, add, update, and/or search pages for you, with a lot of features like filters, search options, exporting to Excel, …etc

aspnetmkr3

4.       You choose the programming language, .NET framework version, and some other environment criteria options of your ASP.NET source code which ASP.NET MAKER will write on your behalf.
aspnetmkr4

5.       You choose the HTML format of the page in terms of appearance and content. You can also embed a CSS and use it, or choose a predefined theme from the ones that are built-in.
aspnetmkr5

6.       ASP.NET MAKER can make a professional login page for you, and you can almost fully customize it upon your need.
aspnetmkr6

7.       Finally, you just need to decide where would you like the application to place your source code, and click the button “Generate”, and then you are done.
aspnetmkr8


Although it is an excellent application, which does generate very good code, sometimes you still need to access the source code and resolve little bugs here and there, or do final touches by yourself.
It would be good to try it. Get the trial version from here.

Cheers!

Why exception handlers are important?

Run time errors can happen to any single line of code, regardless of the syntax, semantics, and logic.

Nobody can assure that an application can always run properly, due to many reasons, and the most important ones are the externals, I mean the machine, the OS, the network, and even the user that will interact with the application.

As discussed, regardless of anything, run time errors are very possible, but the effects, severity, frequency, and occurance of this sort of errors are still manageable by exception handlers.

Exception handling is basically the process of responding to an exception occurrence, during computation. An example of an exception, is navigation to a form or page that no longer exists, and a possible handler is a nice page or form, designed for this purpose, informs the user about what went wrong with an option to report the error and exit, or navigate to an elsewhere within the application.

It is so good to consider having an exception handler for each and every code snippet developed. And, it is much better to have a specific handlers, beside the generic ones. This would definitly improve the effeciency, reliability, and compatibility of an application.

The below are good examples of what exception handlers throw in case something strange just happened. I'm sure you can recall similar ones popped up in the middle of your screen, at a point of time, by an application or an OS.

The below is an example of a specific error handler, in case of navigation to a page which does not exist:



And here is an example of a general handler:




Finally, what are the potential concequences of an unhandled error?

A perfect answer of this question is never there, because there are endless potential scenarios that can lead to endless possible reactions by the application, database, OS, or other involved components.

A common response by an application or an OS to an unhandled exception is getting stuck, or stopping to respond. How bad this can be, especially in a production server. Other things which are indeed worst are still possible, like a complete system crash. The minimal impact of an unhandled exception is getting a message from the OS error handling component, similar to the below one:



Remember, exception handler is a master key of an effecient, reliable, and compatible application. Moreover, it is ALWAYS needed.

Peace!

Wednesday, January 9, 2013

Source control



Hello!

Let's put it this way: You and me worked together, in a project to modify several modules in a huge website!

What happened during the last week was as follows:

- Last Tuesday, I made changes on my own copy of the source code that is located on the development server, and at the same time, you did some different changes on your copy, but in the same classes that I just modified. One of us deployed his own solution just ten minutes ahead of the other!!! The changes of the last deployment got reflected, but the changes of the first deployment basically gone...

- Last Wednesday, after paying time and effort to fix what happened during Tuesday, you deployed another change, and I modified your new deployed source code, in one of the classes that you have just changed, but did a stupid fatal mistake that made a core function work improperly and give garbage results. I did not admit my mistake, and said I did not modify anything within that class. Our boss basically decided to terminate your contract today. I felt sorry for you, but that was much better for me than being in your position!

The the above and a lot of other miserable scenarios could be avoided by enabling source control.

Read this, to understand what is source control, and how does it work.

Cheers :)

Monday, January 7, 2013

Bad coding practices

http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScripterrorsaswarningsinVisualStudio200_A967/JScript_errors_As_warning.png

Very interesting!

What are the practices that can easily make me or you just a "bad programmer"?

I will not tell you the answer. Go and get it from those two links:

A great article of codeProject talks about examples of the technical side of the story. Check it out, here.

And, get the MOST INTERESTING part of it, signs that you are a bad programmer! from here.

http://dynamicts.com/blog/wp-content/uploads/2012/11/bad-programmers-500x288.jpeg

Enjoy reading!

Go! language


http://www.treceblog.com/wp-content/uploads/2009/11/go-lang-500x310.jpg

Did you ever know that, in our amazing planet, some people started to use "Go!" programming language, that is very similar to C language, and a bit less similar to Java as well!

"Go!" is a new programming language, which its idea initially born in 2007, and it is currently a product of the great Google.

http://scrivania.altervista.org/sfondi/pc-mac/jpg/logo-google_1680x1050.jpg

Go! as a dynamic programming language, aims specially to promote safety, reliability, efficiency, and high-speed compilation. I'm not sure whether Go! achieved those aims or not yet, as I'm practically very new to it.

Check what does Wikipedia say about Go! ...

Cheers!

Joomla: good or bad?!

http://www.berlios.de/wp-content/uploads/2012/09/joomla-logo.png

Extremely interesting topic, isn't it!

"We’ve been getting a lot of questions lately about using Joomla as a CMS (Content Management System).  Today, let’s take a look at some of the pros and cons of using Joomla as a backend to power your website—and ultimately, let’s find out if Joomla is good or bad for your needs…"

The above paragraph was the first in the article of Sleepless Media (Web development firm from Santa Cruz, California) blog writer about this hot topic of web programming techniques evaluations.

If you are interested (you really have to!), please go check the entire article, then you tell me: is Joomla good or bad?

All the best :)

10 Things You Can Do to Become a Better PHP Developer






http://www.phpbuilder.com/columns/index.php_f1.png

PHP is the king of the kings, in terms of server-side programming languages.

It really gives a reliable outcome, when the right programmer with the right skills and techniques is using it to deliver any task, regardless of the scale.

Personally, as a developer that works as a professional in a leading local telecom company, and as a freelancer who built up a good portfolio over the years, I still cannot see a real competitor to PHP as a server-side and web development programming language. Click here to know why!

However, if you are one of those who make or want to make money out of playing with PHP, you should know the 10 Things You Can Do to Become a Better PHP Developer.