Photo of Cindy at her daughters wedding!

"Initial Thoughts"

I had some trouble with pages displaying using the manner the book said about selecting 'Start Without Debugging' from the Debug menu. I am assuming this is how it works for the program the book uses, the ‘2008 express’ for me I just get a blank page open from my web browser. However; on my computer, (I run Windows XP), the “start without debugging” creates a small icon in the notification area on the task bar when I right click the icon I can choose open in web browser. This opens a page with links on it, then I can click the link and the page will display in the browser. So if anyone else is having some of the same issues, I hope this helps you. Also if anyone has found an easier method please let me know. Another quirky thing I found about Visual Studio 2010 is that it keeps trying to capitalize the values for my CSS and some of my HTML.

A lot of this chapter was a review for me, which is okay; sometimes I need to be reminded of a few things such as inline styles. I did learn a few tidbits here and there, like the difference between Java and JavaScript.

I think the book had a little boo-boo on page 39. In the steps to add the strict DTD it gave us the frameset DOCTYPE. I hope everyone caught that and fixed it accordingly. Personally it has me a little worried.

I think ASP is very important to know for Web development even more so than PHP. It has been my experience while surfing the Web that I have come across more .asp and .aspx extensions than I have php. That is just a personal observation of mine and maybe its how I surf that is the difference.

Now to address the question, “If someone at a party asked me what a web programmer was and why anyone would want to be one, what would I say?”

A Web programmer is the person that makes the World Wide Web interactive, so you can go online and find a web site that will convert any Fahrenheit temperature to Celsius or will convert any RGB color value to a hexadecimal value or visa versa. A web programmer makes it so you can shop and purchase online and makes it so you can do your banking and pay bills online securely. Not only this but they entertain you by bringing you games, movies and music. A Web programmer keeps you connected with family and friends through social networking sites like Facebook or MySpace. A Web programmer provides a very unique and invaluable service to a busy, modern society. As for why anybody would want to be a Web programmer I really cant say, all I can really tell you is why I would want to be one. I am intrigued with the wide variety of skills necessary do be a Web developer, on the graphical side I get to use the artistic and creative aspects that I crave. On the programming side I get to use the analytical, logical, brainteaser puzzle solving side that keeps my brain sharp. This part I get a deep since of satisfaction from solving a challenging puzzle.

Back To Top!


".NET Languages"

Chapter Review.

A lot of this chapter was a review of concepts for me. This is fine by me because it helps to develop a more solid foundation on which to build. I did learn a lot about C# syntax. I like how the conditional statement works. The question mark at the end conditional statement makes it seem like the code is asking a question and the colon separates the choices.

I thought the Fahrenheit assignment was pretty funny. I wasn’t for sure whether to assign the variable 86 or 72. I finally decided to go with 86 because I like that temperature better.

.NET Languages

Visual Basic VS C#

I have to say. I have already made my choice in this great debate. I guess that makes me prejudges in this situation. I have chosen C# over Visual Basic. Its not that I dislike VB and I really know very little about C#. I think it is mostly because what we are doing with C# is more Web based. Where in VB we did application based programming. On the web you can find many examples of side-by-side code example comparisons. Just by looking at the code C# has a cleaner look and feel to it than VB. So that’s my position. I wonder if I will discover any information that will change my mind.

Similarities:

When the Option Strict is turn on in VB this makes both programming languages a strongly typed programming language. Both languages share the same runtime engine. Because of the . NET framework both programs are compatible with each other after being compiled. These two languages can be compiled to cross compatibility so code can be used interchangeably.

Contrast:

Some C# features not found in VB include: anonymous methods, partial interface, and Supports unsafe code blocks for improved performance at the expense of not being verifiable as "safe" by the runtime.

A feature of VB.NET is that it is better suited for DLL interoperability, which is a particular advantage for automating Microsoft Office.

Reference Site

Back To Top!


Chapter 3 Reflections

I am really amazed how many similarities there are between different programming languages—conceptually speaking. The decision and repeating statements, incrementing loops. I really do appreciate the iteration of information. Programming is actually becoming clear to me. I can actually see myself being able to go to work doing web programming. I admit I have had some doubts about my ability to do this. I guess I am just one of those people who need the information presented to me a few times in different ways before it begins to really stick.

I thought it was interesting how C# uses the ‘for’ loop differently than PHP. With PHP it was strictly for iterating through arrays and with C# everything: variables, statements and counters, are all declared with in the parameters.

I also thought the ‘continue statement’ was interesting. I thought to myself now here is something new and different. This unique piece of C# will come in handy.

So far I am really liking C#. I think I am going to like it better than PHP. I had a lot of difficulties with PHP. However, I think the similarities between these two languages is probably what is making C# seem easier.

I do think I have chosen a good fit with Web development. I am actually looking forward to learning and implementing HTML5 and the new version of CSS. Upgrading skills is something that keeps me from getting bored on the job. I actually did a little bit of investigating this weekend on HTML5. I like the client-side validation features of the new form elements. I also noticed that Internet Explorer had the least amount of compatibility with the new version while Opera had the most implementation compatibility.

Back To Top!


Chapter 4 Review:

I knew that eventually we would start getting into new territory! Yes! Time to get out your steak knives everybody cause its time to start cutting into the thick of things!

I really enjoyed working with the kayaking site. I just really think the table-based layout of the site is a real mess! I prefer the clean html of a css-based layout. One look at the code of the Kayak site anyone can see why! I wouldn’t be surprised if my classmates would agree with me on this point.

I am having some issues with the “add” and “remove” buttons. Even though they have attributes on them set to not cause a postback it still does anyway and I get the red required field text for all the other fields the second I click on either button. Still working on that issue, hopefully it will get resolves easily.

Page Life Cycle

It is very important to understand the page life cycle of an ASP.NET web page. The reason for this is that when a programmer is programming events to happen for the web site, the need to know where in the cycle to place the code can make or break the programming code. So if a programmer has written some very elegant code but has it in the wrong place the code wont work. Or at the very least a programmer could use a little code in the proper place where it would take tons of code in the wrong place. This is why it is important to understand the life cycle.

The life cycle can be broken down into 7 generalized stages, which takes place on the server:

  1. The Page Request stage: When a user clicks to visit a page ASP.NET determines whether the requested page will need compiling for the beginning of the life cycle or if that page can be displayed in a non code rendering mode. In other words, does asp need to run any code for the page to be displayed to the user.
  2. The Start stage: During this stage page properties are set and the page is evaluated as to whether or not it is a postback or a new page request.
  3. Initialization stage: At this stage controls of the page are available and their properties are set. If there are themes or a master page associated with the requested page they are also applied at this point. If the requested page happens to be a postback page the data and values have not yet been set from to the control properties.
  4. The Load stage: This is the stage when postback values get loaded
  5. The Postback Event Handling stage: At this stage control event handlers are called and validated.
  6. The Rendering stage: At this stage the output is written and view state is saved. The page is now ready to be sent to the client.
  7. The Unload stage: This event occurs after the page has been completely rendered and sent to the client. ASP.NET has finished processing the page and performs a clean up on the request and response process that it has preformed on the page.

During each stage of the page life cycle specific events take place. According to our textbook the page life cycle has 11 distinct events and they execute in a specific chronological order. However the MicroSoft Web site adds one that is not in the book called PreRenderComplete. This event falls between the PreRender and the SaveStateComplete events. The names of these events and the order in which they execute are as follows:

  1. PreInit (Init stands for Initialize)
  2. Init
  3. InitComplete
  4. PreLoad
  5. Load
  6. Control events
  7. LoadComplete
  8. PreRender
  9. PreRenderComplete
  10. SaveStateComplete
  11. Render
  12. Unload

PreInit: This event is raised after the start stage is complete and before the initialization stage begins. A programmer would use this event for checking the IsPostBack, create or re-create dynamic controls, set a master page and or the theme property dynamically and read or set profile property values.
Init: the Init event for individual controls occurs before tie Init event of the page. Which seems backwards to me, but a programmer uses this event to read or initialize control properties.
InitComplete: A programmer will use this event to make changes to the view state.
PreLoad: From what I can tell from the information MicroSoft presents not every event is used to enter code. This one along with a couple others mentioned later seem to be one of them.
Load: Programmers use this event for the OnLoad event method to set properties in controls and to establish database connections.
Control Events:A programmer would use these events to handle specific control events, such as a Button’s Click event or a TextBoxes TextChanged event.
LoadComplete:Use this event for tasks that require that all other controls on the page be loaded.
PreRender:Use this event to make final changes to the contents of the page or its controls before the rendering stage begins.
PreRender Complete:This event marks the beginning of the process that binds the control to the data. Use this event to manually open database connections, if required, and to set parameter values dynamically before a query is run.
SaveStateComplete:This event is raised after view state and control state have been saved for the page and all controls. Any changes to the page or controls at this point affect rendering, but the changes will not be retrieved on the next post back.
Render:This is not an event. It is a stage of processing the page object.
Unload:the Unload event is raised for reach control then the page. Controls use this event to do final cleanup for specific controls, such as closing database connections. The page uses this event to do final cleanup such as closing open files and database connections or finishing up login or other request-specific tasks.

Reference Site

Back To Top!


Chapter 6 Reflection & IE9

Some of the debugging concepts taught in chapter 6 I am familiar with and have been using them for quite some time. I have used commenting out code and Response.Write to trace down errors. I have also used the error and warning messages that display at the bottom of the windows. The breakpoints along with the step into, step over, and step out is something we learned in Visual Basic class. Some new things I learned was to set debug or trace to true in the @ page directive. Those are some very useful tools that I like and will use in the future. I really appreciate the debugging tools that Visual Studio has to offer.

I really liked reading about the new features of Internet Explorer 9. I would have never known that all the different menus were in that little star icon to the right. I don’t know what that article was talking about when they said importing favorites was a pain because all the bookmarks I had in IE8 are now in IE9.

The one thing I like about IE9 is that annoying popup that would come up every time I wanted to view a graphic or photo in my email. Something about unsecured components blah, blah. Click “no” so you can see photos that was in IE8 is now gone from IE9. It made me crazy to have to tell IE8 yes play the java script, yes show the graphics, etc., etc.

The one thing I hate about IE9 is it is displaying my navigation bar for my homepage wrong and I am going to have to try to figure out a fix for it. It displays properly in Mozilla Firefox 4.0 and in Chrome. That is really annoying. Maybe I should contact Microsoft to see if they can tell me why that is happening. This makes me rather disappointed in the new version.

Back To Top!



Chapter 7 Reflection & Database Design

What I have learned this chapter is that you need separate software beyond the Visual Studio to create an SQL database called SQL Server Management Studio. I also learned that the structured query language keywords are not case sensitive. Everything else in the chapter is a review for me. Relational data tables, normalization, one-to-one, one-to-many, many-to-many, are all reviews from systems analysis class that I took last year. The query language used in the creation of databases, tables and fields along with entering, modifying and deleting information in these tables; then lastly sorting and filtering the data stored in these tables are all review also. Mind you, this is not a complaint just a simple statement of fact. I actually appreciate more practice at creating and querying databases.

The article we were assigned to read was about the normalization process for a well-designed database. First it explained the concept of functional dependency. Then it gave the criterion that defines a primary key. The normalization process starts off with the first normal form(1NF) which is defined as a table that does not contain repeating groups. The article continued with database normalization steps and their definitions up to 4th normal form.

The second normal form(2NF) is defined as a data table with only one primary key. The third normal form(3NF) is defined as a table that conforms to the first two steps of the normalization process and all the fields in a table are functionally dependent on only the primary key then making sure any fields that are related to a foreign key are not in the table. The fourth normal form(4NF) is a process of separating multivalued dependencies.

I felt that the conclusion gave very good advice on beginning a database design. First gather all the information needed into one place then start the logical division. Then go back and break it down again, and again if necessary. There is definitely a lot of forethought and planning that needs to go into the design of a functional database that if free of problems.

Back To Top!