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 42: It was an ugly business…

…but clean living prevailed!

Yes, I’m quoting Dudley Do-Right. For you young people out there googling “Dudley Do-Right”—no, I have no clue why Snidely Whiplash tied women to train tracks, and yes, we can safely assume this was “pre” Me-Too…

Today was indeed an ugly business. I went from:

  • “I’m just going to do some testing and validating, and checking to make sure I don’t have references to a previous project site in the code”

to:

  • “Oh, My Freakin’ GOD!!!”

I validated what I thought was my most straightforward, stable page only to have all sorts of bells and whistles go off over on https://validator.w3.org/nu/. Then I remembered…in order to make my team details page less “tabular-like” I had grouped some fields together for a nicer-looking interface. Fun fact: if you indeed have a “table” layout, HTML takes a dim view of grouping two <id> elements for two different data elements together in one <td> cell. It gives the expression “strange bedfellows” a whole new meaning. Indeed, I actually had a ménage à trois going on in one cell…

So, with hours to go until the 3:00 deadline, I embarked on changing the layout from a table to a Bootstrap grid. As this was all dynamically produced in JavaScript I had to figure out how to do this for my new format. I remembered what our other instructor said about “scraping out the HTML,” so that’s exactly what I did. I STILL had some validation issues (two fields are apparently frowned upon in more than just table cells), but our long-suffering instructor helped me out with this (can you say <span>?). I ended up with a similar, pleasing interface, but without all the ugliness under the hood. I even dynamically reformatted the ménage à trois into an unordered list in the Bootstrap grid!

I swear to God, when this thing FINALLY validated around 2:30, I got up and cheered. I may have even done a happy dance—it’s all a blur. After the rest of my checks, I was done with about 15 minutes to spare. I was by no means alone…many of us had the **** fairy rain down upon us today.

THEN, we had to take the final JavaScript assessment. After all the Sturm und Drang over studying for this…

drumroll…

drumroll…

96!!!! 96, baby! I got a 96 on the final assessment! I couldn’t believe it!

I still got it.

Day 41: Swimming in Quizzing…

More work on the capstone project today. I think I’m just about done. I do seem to have some instances where I have member and team ids in the interface that I need to take care of.

The good news is that I got a “patterns” page up and running! Granted, the knitting and crocheting patterns are for really simple squares that my cat Jack could probably pull off if he had opposable thumbs, but that’s neither here nor there. I put the patterns in Bootstrap cards, as that seems to be the best way to keep a nice-looking format for the patterns if you look at them on a smaller screen. Tomorrow I’m going to double and triple-check the validation and all the other miscellaneous things we have to make sure aren’t wrong. I’m also going to beat the crap out of the entire app, checking the console, to make sure nothing is broken. As it was, I had to go back in today and fix a validation that wasn’t working.

I’m much more nervous about the assessment, which we’re taking tomorrow afternoon. I’ve been going over past assessments and my notes, and I swear everything is running together at this point. I’m trying to quiz myself, but there’s a lot here I need to go over. I might be better off getting a good night’s sleep and start looking at this stuff fresh tomorrow morning.

Perhaps I could get Jack to take the test for me. He does enjoy being helpful, as you can see…

Day 37: Hip to be Square on a Carousel!

Our first task for our capstone, now that we’ve figured out some data, is to come up with storyboards for our site. We will pause here to say that, although I’m a whiz at geometric doodling, my general artistic skills leave MUCH to be desired. I managed to come up with basic illustrations for my supporting pages, but for my main page I just hauled off and created a preliminary index page using the Bootstrap Carousel template. I’m going to find my best knitting and crocheting pictures to put in the carousel, and I’m going to use the sections below to explain the site and square drive. I’ve never attempted the carousel before, so that’s going to be my “cool new feature,” I figure (bonus points), unless I can figure out something else.

If we had oodles of time, I’d attempt to do popups for different basic square patterns that someone could print out, but I don’t see me doing that by September 4, when the site is due.

Day 35: Stretching the Limits…

So much for needless worry! Our Friday project was a retread of the code we tore our collective hair follicles out over the day before. The only real thing that changed was the data (spa services rather than products). Also, as it was a single page application, I didn’t need to hunt down 560 photos. I just needed one for the cover page. Our instructor wanted us all to have a stress-free weekend before the capstone work begins in earnest next week.

Speaking of which, I WILL need pictures for that project, so I’m going to need to start hunting for nice-looking knitting and crocheting examples for my fictitious square contest. We have a copy of the data file setup to which we can add our own data. The only issue I see is that we’re supposed to have LEAGUES, in addition to teams. I’m not quite sure how to work that into a knitting and crocheting square contest, unless I divide the teams into two leagues—knitters and crocheters (I can hear the screaming now).

In the meantime I did a wild & crazy thing. At the beach today (Saturday) I managed to swim all the way to the buoy — twice! In an indirect way I credit it to the Code Academy program. Mentally, I’m stretching myself on a daily basis in ways I never thought possible. In turn, it’s prompted me to challenge myself in other areas of my life.

I’m going to be massively sore tomorrow, but it was SO worth it…

Day 34: A SPA Day!

Tomorrow is another Friday project. I’m not too worried about the JavaScript, although the arrow functions are odd, and I’m still fuzzy on those back tick expressions. I’m more concerned about making a halfway decent site that looks good. We’re going to be doing a single page application and the theme is going to be some sort of spa. I found a few nice photos to use, but honestly, if we have to cough up several pictures to fill bootstrap cards for each and every one of the different spa services, then I’m going to run screaming into the night. I could be truly crazy and make interesting cards using the font awesome icons, but that would probably be weird.

The thing is, I’m not really what one would call a frequenter of spas, let alone day spas. Years ago, when we sent our dachshund to the pet groomer, we told her she was having a “spa day.” She’d return with a tiny bandana and smelling of shampoo—right up until the point where we let her outside—but that’s about as close as any of us have come to an all-day beauty treatment lately. I tried to get some inspiration for photos at my hairdresser’s this evening while, as I always put it, getting my hair restored to its “natural” color. My hairdresser is truly a miracle-worker (there are members of my own family who have no idea how old I am), but her decor is simple and elegant—no bubbling fountains, burning candles, ferns, odd fruity smells, or anything else one might associate with women spending an entire day bonding over pedicures and massages with someone presumably named “Sven.”

I’ll have to see if I can cough up some more interesting pictures before tomorrow.

Fun fact: Font Awesome DOES have a tiny little hot tub!

<i class=”fas fa-hot-tub”></i>

Day 28: Reason Things Out

Today, as most of my days, was a day of desperately trying to figure out how to do things. Add jQuery into the mix, and you get something like THIS:

Today we learned (the hard way) how to dynamically create a table using jQuery. We just learned to do this 5 minutes ago using regular JavaScript, so it was one of those ugly—I REALLY hate the expression “I can’t wrap my head around this,” but it was just like that. It was the mental equivalent of turning around an ocean liner on a dime. I had to stare at the example in our workbook for ages until it clicked. I have to say, once I figured it out, dynamically creating tables is much easier to accomplish via jQuery.

We also had to redo another earlier script in jQuery. For the life of me, I could NOT figure out what was wrong with my code until our instructor had me look at the stack trace. She was so excited to have a real-life multi-line jQuery goof that she called over people in groups of three to look at my screen, and showed everyone how to debug code that uses jQuery. Spoiler Alert: when it says you screwed up in some weird obscure line that’s decidedly NOT yours, you have to trace it back to your original issue (mine being using a $ rather than a # in an id object). I’m not sure how I feel about being held up as an example of bad code…

Day 27: All jQuery-ing aside…

After my rant yesterday about nitpicking errors, today I added more to my blossoming collection, including an issue with the character countdown on my <textarea> box starting at 33 characters instead of 50. You guessed it. I’d inadvertently added spaces between the <textarea> tags in my html, so the box already had 17 spaces to be in with.

Today was our exciting foray into jQuery. I can’t believe I’m saying this, but I’m finding it easier than regular JavaScript. Probably because we are taking past exercises and modifying them to have jQuery where applicable. We also have to create a spreadsheet to keep track of how to do certain things the JavaScript way vs. the jQuery way. Seeing as this is a library, it’s sort of the “Bootstrap” of JavaScript.

The good news is that we managed to get out in time for me to make it to my knitting group this evening! I’ve started on the sheep on the front of the sweater which, after dealing with JavaScript and jQuery all day, isn’t as hard as I thought.

Day 24: I know it backwards and forwards…

…or, in this case, downwards and sideways (sort of)…

After staying up quite late with my table issue last night, it turned out that I was not dynamically adding rows to the table, but the div itself, which is why the rows were showing up after the table element, and why I couldn’t get rid the the rows afterwards without wiping everything out of the div. I was off by ONE line of code. It’s always the way!

Despite my 5 hours of sleep, everything was just ducky. In fact, thanks to figuring that issue out, I was able to easily tackle our afternoon assignment. We had to take a JSON file, convert it, then use a dropdown to have the user select out an object to create a table dynamically from the file with the information on this object. I was so excited when I managed to spit out a very nice table listing field headings all the way across. I even used Bootstrap to make the table look attractive. There was only one problem…

Pam needs to learn to read.

The table was supposed to read SIDEWAYS!

The headings were to be in the left hand column and the information in the next column. Logically, this makes perfect sense, as we were only calling up one record row of information per object. I wasn’t the only one to make this mistake. Our instructor kept telling us the issue was “simple to figure out” and “much easier” than what we had been doing. However, after your brain has been hard-wired to making a table a certain way ALL AFTERNOON it’s tough to completely turn around to figure out how to literally “turn around” the table. I couldn’t do it. I was going to stay later to figure it out, but I really need my sleep this evening. I figure I can tackle it in the morning before we get started on our usual Friday project.

You watch…sideways tables will be the main project feature tomorrow!

Where’s the Advil???

Day 19: the ups and downs

In contrast to the utterly CRAZY day that was my yesterday, today was much better. We had labs to do, but the calculations were similar to yesterday’s scripts, so it was much easier. Either that, or I’m getting better at hooking up JavaScript to web pages.

I think talking a walk this morning when I got up, rather than trying to squash steps in during our lunch break gave me back some of my sanity. Okay…I’ll admit, the pizza lunch, courtesy of our instructor, didn’t hurt, either! Someone also mysteriously sprung for Dunkin’ Donuts munchkins…there should be some sort of quality award for whoever this person is.

I may be singing another tune tomorrow when we’re cramming in our Friday project. I’m trying to get a jump on it tonight by setting up my Bootstrap settings, css, and JavaScript flies ahead of time. I really hope our instructor wasn’t kidding about it being a travel site project, because I just downloaded a boatload of travel pictures, including our Washington, D.C. trip. I can’t take credit for the picture below. Our friend Larry doctored this one up!