tuzgai
Registration date:
Post count: 31
My name's Stuart and this is my personal blog, I'll be recording what I learn at the Software Guild here.
All Posts
Edit Profile

Posts from this user

Individual and Group Final Projects

tuzgai posted at

We're definitely moving into the home stretch now! Last week we were assigned our final individual project - a superhero sighting tracker. I'm having fun with it so far, sprinkling a bunch of My Hero Academia references into my test data. So far, I've implemented my databases and DAOs, wireframed all the pages and put together the HTML layouts and basic CSS and Javascript functionality. All that's left is to make controllers and link everything up! This one has been fun enough I'll work out how to get it hosted when the project's done, it'd be an OK thing to link to.

On the other hand, we just got our group project assignment. It's... a blog. A blog with some of the features on my to-do list for this blog, but I'm still not too thrilled. We're allowed to pitch other ideas, so I'm going to see if the group is interested in doing a social media platform. I think it would be about the same amount of work and has the bonus of being something I haven't already done.

In other news, we're getting ready for speed interviews. Next week, we'll get to have a bunch of 20 minute interviews with employers in the area. They've built it up as sort of a capstone of the program, so I'll be doing a lot of research on the employers tonight. Anyway, that's all I've got. Wish me luck on getting a fun group project!

Last edited Permalink

Writing Warmup: AJAX

tuzgai posted at

AJAX stands for Asynchronous Javascript and XML. It is a collection of technologies supporting client-side rendering. The web client requests data from the server rather than a full layout, and the client is responsible for determining how the server's response should be presented. The client makes calls to a server API using Javascript and the server returns its response in XML or JSON.

An important thing to note is that AJAX is not a specific language or technology on its own, instead it describes a specific strategy of exchanging data between client and server. AJAX allows the client to update it's presentation of information in response to new states from the server or input from the user without refreshing the page. It's a great tool for interactive pages where smooth Javascript/CSS transitions can provide a pleasant user experience.

Additionally, since AJAX is asynchronous, the client can continue to function while it waits for an AJAX response. In comparison, with a server side rendering model, after a request is sent to the server the client pretty much has to wait for the server to send a new page back for it to load. While a service-side model can be more stable, this wait can lead to a choppy user experience.

Last edited Permalink

Triumph!

tuzgai posted at
Today our warmup was to make a simple anonymous chat page, then our afternoon exercise was to extend it to use a DB and optionally have it support threading. I did all of these things in 3-4 hours and feel incredibly powerful. While obviously there's more to this blog it took me a week of full-time effort to put it together. It feels good to know I've come a long way from where I started. Here's what it looks like - it's basic but it's all there. [Imgur](https://i.imgur.com/7eL5IwG.png) Last edited Permalink

Week 9: Moving into the home stretch!

tuzgai posted at

Once again things have been a bit busy so I've had less time for posting, here's a quick overall update.

In the past couple weeks we've covered designing REST APIs and using Javascript and Ajax to consume said APIs to do live updates on a web page. This week we're covering Thymeleaf, a templating language for Java and bringing it all together to build a full stack web page.

This is the last week of formal instruction! Starting next week and continuing through week 12, we will be working on projects - there's an individual mastery project as well as a group capstone.

On the jobs side of things, we have also been moving rapidly. We have written our resumes and had them reviewed by SWG staff as well as recruiters volunteering their time. I felt pretty good about my resume to start with, but it's gotten a lot better!

This week we've also been doing interview prep, yesterday we reviewed my 'elevator pitch' and I'm feeling more confident about things by the day. I started sending out applications yesterday.

Outside of the coursework, the culmination of the course is 'speed interview' sessions - basically speed dating but for jobs. Next week we will have prep sessions for it, then in week 11 it's the big event. Everyone in the class is starting to get antsy for the end, we've learned a lot but none of us have jobs and money's getting a little tight for pretty much everyone. It's a big commitment to be here, but I think we've all grown a lot very quickly.

Finally, in personal projects news - this week I'm way ahead on the course material since it's mostly review of how to integrate the stuff we've already learned. I might finally be able to add a sidebar to this site introducing what it even is. Maybe I'll do some more styling! Probably no major updates to the backend but we'll see.

Last edited Permalink

Writing Warmup: Normalization

tuzgai posted at
Database normalization is the process of organizing a database into simple structures that take full advantage of the relational database model. The goal of normalization is to improve organization and memory use by avoiding repeated data in rows and instead using relationships to store that repeated data just once. Normalization is frequently defined in terms of 'normal forms', where each level of normalization adds new restrictions on how tables are laid out. In our class we are sticking to the second or third normal form - where in layman's terms tables are arranged by concern similarly to objects in Java. However, normal forms go as high as 6 levels - at the sixth level each table pretty much holds just one piece of data per row along with foreign keys to its various relationships. Full normalization is not always ideal! While it can be memory-efficient, there is a tradeoff in processing overhead for the complex queries needed to pull data out of it. From what I've seen, fully normalized databases are also not easy to read or use with handwritten scripts. There is also the concept of 'de-normalization', where a database used for running reports will load and reorganize the data from the safe database into a form structured for fast queries to get the best of both worlds. Permalink
Newer Posts Older Posts