I recently worked with a team that was lacking a bit of documentation, so I took it upon myself to create some. In the process, I gained sympathy for authors of documentation. Documentation can often seem incomprehensible, and that’s in part because when you write documentation, you have to assume your audience has some baseline level of knowledge. We can all agree, your project’s README isn’t the place to explain if/else statements! So I wrote some documentation outlining the steps required to make a pull request… only to realize some people on my team didn’t know what a pull request…

I’ve just started taking Stephen Grider’s React Native course, and he explains a lot of React and JSX concepts to people who might not be familiar with them. If you’re like me and already know React, read on for just the info specific to React Native.

React Native Elements — The First Three

Let’s have a look at this React Native Component:

A few new things here! Let’s break down that React Native import statement.


Any time we want to show some text to the user, we have to wrap in in a Text component. …

Seriously, what on Earth…??

Recently in an interview I was asked, “What is React?” And it was funny, because I know how to use React, but I had a hard time selling it or explaining why it’s good. I mentioned components and fast page updates, but I couldn’t pull everything into a cohesive response. Thus, I decided I’d knock this question out of the park, once and for all. And so can you, since you’re reading this article!

So imagine an interviewer asks you:

“What is React?”

React is a Javascript library. Back in the early 2000’s, a Javascript library called jQuery was all the rage: it…

These are my notes Andrei Neagoie’s Junior to Senior course on Udemy: https://www.udemy.com/course/the-complete-junior-to-senior-web-developer-roadmap/

SSH, or secure shell, is a protocol through which two computers can communicate. Other protocols you have heard of include HTTP, FTP, and HTTPS. Through SSH, we can share files and control other computers remotely over the internet. SSH is encrypted, much like HTTPS. The key difference is that HTTPS is a protocol for communication between browsers. A shell, on the other hand, allows us to interact with another computer’s operating system, and SSH is the tool to use.

As a quick example, if we were to…

WARNING: This article discusses a beginner Codewars algorithm challenge called “Multiples of 3 or 5.” If you care about spoilers, try to solve it on your own and then come back to this article. Otherwise, read on!

So like the warning suggests, I was doing some Codewars and came across an algorithm with this prompt:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Finish the solution so that it returns the sum of all the multiples of 3…

This isn’t the first Medium article about the spread operator and it won’t be the last. Nevertheless, if you’re someone who’s confused about those cryptic ellipses in Javascript and you’ve stumbled upon my article amongst all others, welcome! I’ll guide you through it.

What is the spread operator?

The spread operator looks like ... and, in a nutshell, transforms an array (or object) into just its elements.

let arr = [1, 2, 3];
console.log(...arr); // 1 2 3

This syntax is new in ES6, so you may not have encountered it if you learned Javascript through outdated materials.

That’s nice, but how do I use it?

Glad you asked! Here are some ways…

These are my notes for Stephen Grider’s Node with React course on Udemy: https://www.udemy.com/course/node-with-react-fullstack-web-development/

Why Redux Thunk?

This article isn’t going to explain Redux from the ground up, but the gist of Redux is that we call action creators that send actions off to reducers, which then update a top-level state (“store”) within our app. Actions are objects with a type and a payload.

Action creators like the one above immediately return actions. That’s the default rule for Redux. If we want to break this rule, we have to use Redux Thunk. Redux Thunk will give us access to a dispatch function…

These are my notes for Stephen Grider’s Node with React course on Udemy: https://www.udemy.com/course/node-with-react-fullstack-web-development/

Importing React Router

React Router is a tool that shows different components to the user based on the route they are currently visiting. React Router actually has three packages: react-router, react-router-dom, and react-router-native. The first contains the core functionality for the second two. If we want to create web app, we simply install react-router-dom. That installation will automatically install react-router as a dependency.

Our named imports, BrowserRouter and Route, are both React components. …

These are my notes for Stephen Grider’s Node with React course on Udemy: https://www.udemy.com/course/node-with-react-fullstack-web-development/

Using PassportJS

PassportJS will help us with a large chunk of the Googe OAuth process. When the user clicks ‘Login,’ Passport kicks in and forwards the request to Google. Google prompts the user for permission, and then kicks back a code (in the form of a query string) to our server. Our server then uses that code to request certain information about the user from Google.

Passport has a couple of downsides. First, we have to supply Passport with a few bits of code at specific intervals during…

These are my notes for Jonas Schmedtmann’s Node.js Bootcamp on Udemy: https://www.udemy.com/course/nodejs-express-mongodb-bootcamp/

A More Robust Email Architecture

Right now, our email.js looks like this:

It’s very basic at the moment, so now we’re gonna beef it up with a sophisticated Email class. It’s going to look like this:

The newTransport method creates a the same transporter as before, but will use Sendgrid when the website is running in production mode. At the bottom, sendWelcome with call upon the send class to render a Pug template called welcome with a welcoming subject line. Pug allows us to send an HTML-formatted email. …

Daniel Wagener

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store