Day 55: Angular-ing for a clue…

When you google or bing the word “Angular” in a browser, you return:

“Angular is a TypeScript-based open-source web application framework…”

OR

“Angular Cheilitis is a condition that causes red, swollen patches in the corners of your mouth…” I’ll spare you the details, except to say that, yes, this can be caused by a fungus, or as I like to call it, a “fungus amungus.”

The second definition, pertaining to festering sores, is a MUCH better descripton of my entire day attempting to understand Angular. For our final project we are going to have to convert our Handlebar pages into this format, along with our code. I’m hoping to have some sort of clue in the next few days, because right now, I have NO idea how I’m going to do this for my Capstone pages.

Speaking of my pages, I took leave of my senses this evening and attempted to have the server render yet another Capstone page–the Edit Team Details page. I’m over and above where I need to be for activating pages, but I just HAD to try one more…I’ve spent the last 3 hours of my life (that I’m never getting back again) attempting to do a PUT request that hitherto worked just FINE with the old server. I screwed everything up so badly I had to wipe out the entire folder, clone the code from my GitHub Repo again, and reinstall the npm packages.

I think I need to quit for the evening, before I break anything else…

Day 54: Reprieve…

I’m not sure what divine intervention occurred today, but our instructor pushed out the due date. Instead of having to have our entire server done by 5:00 Friday, he extended the deadline to Saturday at 5:00 p.m…THEN he left the room, came back in, and declared that he didn’t care when it was done, as long as it was done so that it would work with our final Angular project.

I spent most of the day working on router/controller/services again, but with our instructor’s help, I finally managed to understand how to apply it to my existing connections. Anything else wrong was idiotic typos or case-sensitive issues. My personal favorite catastrophe was the “looping” server. All of a sudden, my console started spewing out “get JSON 404 over and over and OVER again. I tried commenting out code and taking out scripts, thinking they were the culprit. Come to find out, it was due to having the Node server debugger still open.

As of Friday afternoon, I STILL wasn’t done. Even though the due date has been pushed out, I’m going to work on the rest this weekend, so that I’m ready for learning Angular on Monday. I need to clean up the code, make sure pages validate, add comments, copy over the Postman tests, and pull out any unnecessary console.log troubleshooting code.

ALSO, I was so proud of myself for finishing the edit user profile page, but at the end of the day I realized that I had completely forgot to enact the delete function. Oops…

If I have time, I may try to render more pages. We only have to go as far as the landing page, but my site makes no sense without at least having the crocheting and knitting patterns page, too!

Day 52: MySQL…the Sequel…ize

Today we continued our MySQL adventure with something called “Sequelize” which honestly sounds like a Star Trek term—as in, “Mr. Sulu, sequelize the photon torpedoes!” It also sounds like something done with movie franchises that are well past their prime (“Rocky XIX,” anyone?). The entertaining thing is that autocorrect is coming up with all sorts of naughty words for Sequelize—especially if you initially spell it wrong.

Sequelize is an ORM (object-relational mapping) which we used for MySQL. This is also used for something called PostgreSQL, and yes, I think our instructor is just making stuff up now. All kidding aside, PostgreSQL seems to be very similar to Oracle tables, so I’m sure this will be beneficial to understand when I eventually return to our department.

The thing that’s giving me a coronary is that we need to learn all this stuff, at the rate of one major concept per day, and then APPLY IT TO THE CAPSTONE. I just barely have my routes operational from our last lab, and even so, my pages are not what one might call “functional,” except for the ones that applied to the requirements of the lab. To top it off, we now have to divide everything into routes, controllers, services, models…and I know I’m forgetting something. This is supposed to make the code easier to maintain, but honestly, if you can’t FIND anything, how much simpler is it??? I already get confused about which code is server code vs. client code. This is going to send me running screaming into the night…oh, right. We live in the boonies and THIS is what’s out there:

I’ll have to take my chances with the scary code…

Day 51: Oh, CRUD…

Today we learned all about MySQL. This was FINALLY something I knew something about. As a BA and previously as a developer, I’ve worked extensively with SQL. The most complicated part of this was installing MySQL Workbench. We mainly created files and performed CRUD—create, read, update, and delete. This was a bit tricky as applied to our new server friends POST, GET, PUT, and DELETE.

“PGPD” doesn’t have quite the same ring as “CRUD,” does it?

There was more work with Postman, as we determined if our routes worked. I had some nasty, nasty, ugly, angry red messages spewing furiously from the command prompt window every time I attempted the “U” in CRUD. It turned out to be something stupid. I’d put “post” instead of “put” when referring back to the db_queries.js. After that was fixed, everything worked fine.

In other news, we had to fill out a survey about our training. Our answers are going to be made into “cards” for our new department, so that they can get to know us better. This is absolutely HILARIOUS in my case, as my “new” department is going to be my old department, and they already know all about me. I felt sort of idiotic when under “fun facts about me” I said that “I knit and crochet!” My department is going to take one look at this and say, “Well, DUH!!!” Then they’re going to laugh until they snort in a decided undignified manner.

We also had to come up with a quote. This is one of my favorites, by W.H. Auden:

“You owe it to all of us to get on with what you’re good at.”

Precisely why I decided to attend Code Academy.

Day 48: Deer in the Headlights

This was one of those days where I almost stormed out of the classroom. I had to remind myself that we only have a few more weeks before we’re going to be REALLY confused in our new jobs, and that this is probably a picnic in comparison…

There is something dreadful about learning things piecemeal, and then having to cobble it all together for an assignment—I know…just like real life. Today we combined login/registration screen logic, get and post logic, Node express, listing out file data, etc. into one site. The truly mind-bending thing was that we used Node Express Generator to spit out the scaffolding, and then we had to take all the bits and pieces we’ve learned this week and somehow apply them to this new format.

Among the disasters:

1. My site got completely hosed by the ****ing layout.hbs file. What was a normal-looking index page all of a sudden resembled some mutant atrocity. The only way I can describe it is that it looked like our cat Jack jumped on the keyboard in the middle of coding and then used his ass to press “save.” This particular issue turned out to be due to some random css code I’d somehow copied in by mistake for my login page formatting.

2. Partial hbs files are now unnecessary due to the aforementioned layout.hbs file. This has COMPLETELY wiped out the careful work I’d done previously dividing page contents into the partials. NOT THAT I’M RESENTFUL.

3. I also struggled over trying to figure out if I needed one script file or one per page, seeing as there was overlapping logic.

4. I compared notes with others, and think we all suffered from tiny gremlins scurrying away with what’s left of our brain cells, because many of us could not, for the life of us, remember how the hell we listed out fields into an unordered list, let alone how we previously did gets and posts in AJAX calls.

5. I personally kept getting confused over what went in server code and what went in regular front-end script code—especially since we’ve been introduced to routes, or as I like to call them, the bastard cousins of server script.

I’m hoping to gain more clarity tomorrow, as we have to combine everything into a Friday project that we aren’t starting until 1:00 p.m. The idea is to have NO actual html pages, except for bare-bones, as we have to use Postman (which I barely understand) to test the server code instead.

I have the ugly feeling that I’m not going to have a weekend…

Day 47: Me and My Big Mouth!

Looks like someone’s been reading this blog at the crack of dawn…

No sooner did I post yesterday’s entry, than our instructor gleefully announced that we were going to take the examples we’d been looking at and WRITE AN ACTUAL NODE SERVER! Before 10:00 am!

Despite the grumbling and complaining, I have to say, it was a good exercise that made everything we’d reviewed previously much easier to understand. In fact, it was SO successful that he had us DO ANOTHER ONE this afternoon using Node express. Fun times.

In other news, we all found out today where we’re going after we graduate from the program. As expected, I’m going back to my old department as a developer. The exciting thing is that I’m getting one of our department’s developers as my mentor! He’s someone I admire who really knows his stuff, so this should work out well.

I actually managed to get home in time to put in some time knitting. I’m currently working in a baby sweater for my great-niece Maddie’s upcoming baby shower.

I know…what kind of sicko knits a baby sweater in BLACK? (WildKnitter has finally lost it.) It makes more sense when you see a picture of the final product:

Not exactly girly-girl, but what the hell…knowing my crazy family, they’ll have her climbing trees and trying out for sports by the age of 5, so why not give her a tomboy-ish hoodie?