db.bprdev.insertOne(blogPost)

8/14/17

About two weeks ago I got my first intro to MongoDB. I picked up on it really fast. My past SQL experienced helped. Even though it is different commands, and I’m dealing with an object instead of tables, it’s still the same concept. So I cruised through my MongoDB school lessons with out any issues. I like working with MongoDB a lot. I’ve always liked working with databases actually. Many years ago I took a class that was supposed to prepare me for the MCDBA cert, but I never ended up taking the test. But anyways, back to school stuff.

Then I learned how to deploy to Heroku with a DbaaS via mLab. It’s fun to think about how far I’ve come in these past five months. If I read that first sentence five months ago I wouldn’t have any idea what it all meant. But now it’s no big deal. Heroku and mLab are cloud based services for developers to deploy their apps and data to. And DbaaS stands for Database As A Service, AKA a cloud based database.

So after that, I moved on to Mongoose and learning how to create schemas, and data models.

While trying to juggle school and work, I also managed to go to a few JavaScript meetups. It’s been a fun and rewarding experience! I met a few devs in the area and another dev who works remotely. He was just passing through Seattle and heard about a JS meet so he stopped by. I’ve learned way more than I expected, just by chatting with fellow devs in the community. I am generally a shy person, but when it comes to something I enjoy and something that I am very interested in, I can get pretty talkative. I had a good time, but I don’t expect to go to a lot more meetups in the near future. I have a lot of school work to catch up on. When it comes time to start looking for work I will definitely get out to more meetups.

Today, I finished my last Mongoose lesson. I’m moving on to authentication and access control using JWT now. It’s about 9:30pm right now. I’m gonna hit the books for another couple hours and then crash, and then wake up and hit it again. Honestly, I dont even know what JWT stands for or what it’s about. I know nothing about it. I’m just glancing over at my lesson itinerary as I type this. So hopefully in my next post I’ll be able to explain what it is.

blog.should.include.a(newPost)

7/27/17

Just back from a trip to Bali. I brought my laptop, like a good student should. However, I fell off track a bit, like a good vacationer should. So, what have I been working on? Lots of stuff! It all falls on the server side. I feel like the learning curve for server side technology, such as Node and Express, is really steep. It took me a couple weeks to wrap my head around it. I grasp the concept now, and I am working on learning when to “require” and “use” what. Learning which module to import and when to use app.use is overwhelming to me. I guess there is no magic wand that I can wave and suddenly understand it. I just need to keep plugging away.

The last two weeks have been all about Mocha and Chia. I’m learning about Unit Testing, Integration Testing with Travis-CI, TDD Vs BDD, and some other fun stuff.

Today, I started working on my LinkedIn page. It has been dormant for like a million years. So today I knocked the dust off it and basically started from scratch. Honestly, I have never been a big fan of LinkedIn. In my opinion I think it’s too bad that it is the go-to. It has always felt like they are trying to make it something its not. I dont want another social media profile. I just want to use it for job hunting. And did you know that they removed the ability to import your resume to populate your profile? Ridiculous, right? I left them a fun message in the feedback section. Also, in the edit profile section there is a place to enter a “formerly known name,” and if you put something in there it gets displayed in the middle of your name on your profile in parentheses. E.g. “Bert (Joe) Smith.” In my opinion that would work for a nickname, but a former name should be in a separate field. But anyways, I dont want to rant here. There are a few other things that I don’t like about LinkedIn, but all well I’ll suck it up. I also signed up for Twitter today too. I am probably the last person to sign up in the world. I have always tried to steer clear of the Twitterverse but I put a lot of thought into it.  Yes, I actually contemplated this, like spent time thinking about whether I should join or not. I came to the conclusion that it has potential to be helpful when I start job hunting. If I keep it strictly for Web Development related news and chatter then I could deal with it. I’m not going to give my username out to my friends. Remember? I don’t want another social media profile. I’m trying to stay focused. Trying so hard. I’ll be updating the contact page on this blog with LinkedIn and Twitter soon. I want a little more time to get my ducks in a row.

I’ve been watching a ton of videos lately. Mostly about Node, Express, Mocha, and Chai. I also picked up a JavaScript book that I am really enjoying. I’ll post a few video links below.

(!(REST in this.place))

7/5/17

I started to write a post last week but I don’t know what happened. Got distracted and never published it I guess. I’m barely keeping my head above this crazy torrent of server-side life that I’ve been immersed in. I’m stressed out but I’m still going! It seems like when I learn about one new thing, it reveals five more things that I need to learn. Each of those five new things introduce me to five more things I need to know about.

I frequently worry that I’m forgetting things I learned a few weeks ago because I’m not using all of it. I’m too busy learning new material. Of course, some of the new material builds on top of previous lessons, so I’m good there. But I am backtracking to refresh myself. So I am having to balance new and old to keep up with the curriculum.

“Sometimes we don’t know what we have learned until we’re tested.”

I don’t remember when or how I acquired that quote– or maybe I made it up– but it’s been with me for a very long time. I can remember telling it to friends in High School. I think it is totally true, and I am trying to keep it in mind when I’m stressing about possibly forgetting things I recently learned about.

Well anyways, here are some of the topics I’ve been studying over the last couple weeks:

  • Node – the server-side runtime environment, via Google’s V8 JavaScript engine, for running JavaScript locally on a server.
  • Express – a JS framework for working with Node. Kind of like jQuery does for plain JS. Without Express, coding straight Node would be cumbersome. Express allows us to code quicker and more concise.
  • REST APIs – REpresentational State Transfer (REST), an architectural style and standard for designing APIs. The HTTP protocol and it’s methods are used for communications.
  • CRUD – Create Read (or Retrieve) Update and Delete. These are the four core operations used for interacting with REST APIs.
  • Routing – URL endpoints used for REST APIs.
  • NPM – Node Package Manager. Used for … managing Node packages. A handy command line utility for installing packages from Node.
  • Nodemon – a very useful Node package that listens for changes made to our project files and will then restart the Node server.
  • Heroku.com – a PaaS for deploying server-side projects.

and more… such as importing and using Node modules, handling request and response objects, error handling, and middleware. Middleware seems to be at the core of Express applications. It’s a chain of functions used for handling requests and responses. Or it could be one function. But it helps keep the app code organized. Middleware can be third-party, built-in, or custom.

There is probably more that I can’t think of right now, but as you can see I’ve been super busy. Still enjoying it but definitely taking a ride on the stresscoaster that never seems to stop. Its like 18 loop-the-loops followed by a Splash Mountain waterfall. It’s a fun ride but it’s intense.

Hello, Stranger.

6/23/17

Well, it’s been over a month since my last post. I have been up to my eyeballs in learning things. New information has been flying at me from all angles. For example, just tonight, just an hour ago, I learned Markdown. A basic, simple, method for creating XHTML documents. Some people might call it a language, but it’s actually a tool, written in Perl. It is commonly used for readme files on GitHub, which is exactly the reason I learned how to use it tonight. From the time I was first introduced to it, to the time it took me to finish my readme file was about 30 minutes. So that shows how basic the “language” is.

The coding bootcamp got intense and I felt like I was barely keeping my head above water. Then the first section, the Front-End portion, came to an end and I had to create a final project. That took me about three weeks I think, maybe a little more. I just wrapped that up this past weekend. I still have some code cleanup to do, but as far as functionality and UI goes its complete. I had some friends tell me it breaks in Safari though. I will need to re-visit that another time. I need to put this one behind me for now and move on to the next section of the course.

The next section of the bootcamp course takes me through backend JavaScript, using Node.js. I’m really excited to learn Node! I had fun learning Front-End development, but I think I might enjoy backend more. We’ll see though. This will be my first exposure to any backend language.

Ok, onwards and upwards! I’ll try to post again soon. Here are a few links…

Online Course Dump

5/16/17

In no particular order, but some loose grouping, here is a list of online coding courses…
https://www.codeschool.com/learn/
https://www.codecademy.com/learn/all/
https://www.coursera.org/
https://www.theodinproject.com/courses/
https://www.freecodecamp.com/map/
https://www.sololearn.com/
https://www.udemy.com/
https://www.udacity.com/
https://egghead.io/technologies/
https://thenewboston.com/videos.php?cat=10
http://www.htmldog.com/
https://www.sitepoint.com/premium/topics/all/
https://www.edx.org/professional-certificate/front-end-web-developer-9

JavaScript oriented…
http://eloquentjavascript.net/
https://www.learn-js.org/

Boot camps…
https://www.thinkful.com/
http://www.codingdojo.com/
https://www.bloc.io/
https://generalassemb.ly/
https://www.galvanize.com/
https://teamtreehouse.com/
https://flatironschool.com//
https://www.fullstackacademy.com/
http://www.hackreactor.com/
http://www.skilledup.com/
https://skillcrush.com/skillcrush-blueprints/
https://www.thefirehoseproject.com/
https://devbootcamp.com/

Not a complete list. Feel free to put your Google Fu to practice.

$(‘.blog post’).ready()

5/7/17

I think I am about one week into learning jQuery now. From the perspective of a jQuery beginner, what I can glean from it is that the concept is simple yet it’s quite powerful. Basically, from what I have learned so far, I select something and then I manipulate it. Or I “listen” for an event and then do something. That’s about it.

Obviously, there is much more to it, but on the surface that really is about it, again, just from what I have learned in my one week of lessons.

The power comes from all the events and methods available for listening and manipulating! There is a lot of depth to the library and I can see how complex I could make it if I wanted or needed.

My first jQuery project that I worked on is a text analyzer. It grabs some input and then parses it and returns the total word count, unique word count, and the average length of each word. Here’s the GitHub link. Is that my first time sharing my work? I can’t remember. I would have to check my other entries…. but anyways, that was fun and I’m ready for more!

Last week, when I started learning jQuery for my first time I had a couple days where I was feeling extremely discouraged and I had a lot of doubtful thoughts creeping in. I was starting to think “how in the hell am I going to learn enough to actually land a job?” Then I stumbled onto a quote that picked me up:

The truth is we all get tired, we all get weary. In fact, if you never feel like giving up, then your dreams are too small. If you never feel like quitting, then you need to set some larger goals. When that pressure comes to get discouraged and to think about how you can’t take it anymore, that is completely normal. Every person feels that way at times.

— Joel Osteen

That quote made me feel so much better, the instant I read it. I lost a couple of productive days but I bounced back and I’m hitting jQuery hard today.

I’ll end with a couple links:

more.js

4/30/17

It is almost midnight. I’ve been coding all day and my eyes feel strained and heavy. Most of my time today was spent working with JavaScript Objects; which in turn took me back to Arrays. I was also briefly introduced to Regular Expressions.

During a break from practicing, I read a couple of good articles today. I’ll pass those along below. When I wake up tomorrow, I’ll jump into jQuery. It will be my first time ever working with jQuery. If I was more awake I would be jumping for joy. I’m excited to start my journey into JS libraries and frameworks!