Intro to server-side development, OOP, and NodeJS

We are now learning server side development! I have a feeling things are going to get exciting now. We started talking about Object-Oriented Programming (OOP) and pair-programming.

OOP has four main concepts: Encapsulation, Abstraction, Inheritance, and Polymorphism. We spent a few days talking about these and saw examples of how they are used. In some of the exercises that we did, we had to identify which concept(s) were being used. It feels like just a lot of theory right now, but I think the more I work with JavaScript, the more I’ll understand these concepts.

Here are my definitions:

  • Encapsulation - grouping like behaviors and like states; creating an object to take care of one thing; controlling how data and behavior are accessed

  • Abstraction - simplifying a component to it’s simplest methods, to an interface; moving away from the details

  • Inheritance - shared behavior and states that are defined in one place

  • Polymorphism – “many forms”; function that has multiple behaviors based on what you pass into it

We were also introduced to the “this” keyword, the “new” keyword, and prototypes.

Next, we started in Node.js and learned about modules. I like this because it is very organized, and I love organized things! It is also going to be really powerful because we will be able to create and reuse modules.

I went to the NoCo JavaScript Meetup this week for the first time. It was pretty cool because the discussion topic was about closures, which we’ve been talking about the past few weeks. I followed about 98% of the discussion and it was really good to hear the same topics discussed and demonstrated in a different way. It’s starting to feel real-world applicable! One of the guys I met recommended that I check out Secrets of a JavaScript Ninja. He said it’s written by one of the guys that wrote JavaScript.

We are just now getting into setting up a server and MongoDB. I feel like we are learning a lot of parts, and I just need to figure out how to make them connect and talk to each other. More to come!

My motto this week: Read more! Build more!