A full stack Auth app requires:

sign up
user model
jwt Class
encode, decode
access keys
install jwt + bcrypt
generate token
setup login, registration
login page
logout page
authorize request => application
store token
strong params

Need to be able to have a user sign up, the process is as follows:

You’ll need a form with username and password and a submit button
a route => user create
user model (has_secure_password) which comes with a particular gem called..bcrypt
bcrypt + jwt

Following the above instructions requires some serious insight. If you want to be good at programming, it can show how capable you are to google each of the above lines…line by line to figure out and understand how you might write a full-stack auth app without having ever written one before. …

I’m currently pursuing a virtual internship opportunity with JPMorgan Chase to help them add stock monitoring functionality to a trader’s dashboard. Being apart of the software engineering team is hypothetical but something that I could be working with while on their development team.

I’m assisting with the development of an alternative way to visualize and analyze share price data for JPMorgan Chase traders. My work is ultimately alerting the traders of potential trading opportunities for their clients.

JPMorgan Chase has traders in all the major financial centers around the globe and a marketplace for asset classes, such as stocks, bonds, currencies, and commodities, to name a few. …

When we talk about recursion and computer science, we are talking about a function that calls itself. This type of technique is really good at certain problems because of its ability to maintain state at different levels of recursion.

One thing we want to be careful of with recursion is this idea of stack overflow. This added memory space as we keep calling the same function over and over until we possibly reach a limit and get a stack overflow.

A good rule of thumb is that we should use recursion when it makes code more readable. …

There are many types of graphs. However, certain characteristics allow us to describe graphs.

There are directed and undirected graphs. These types of graphs are useful for describing traffic flow (i.e. of some kind of a system in which movement is not bi-directional).

A good way to think about an undirected graph is to think of it as a highway between two cities where you can go back and forth. On the other hand, directed will be a one way street where you can only go one way.

Another way to think about it is Facebook. What kind of graph do you think Facebook has? Well, it has an undirected graph because when I’m connected to a friend, that friend is also connected to me. …

Selection sort is one of the simpler possible ways to sort a list. This algorithm works by scanning a list of items for the smallest element and then swapping that element for the one in the first position. Refer to the above image to see the smallest item seen, where it sorts based on locating the smallest item and then the next smallest item through the list in consecutive order. It keeps doing this to find the next smallest item in the list that hasn’t already been discovered.

Selection sort still has a time complexity of O(n²). It’s not very fast. Similar to bubble sort. We have nested for loops but use a time complexity of O(1). …
  1. make a frontend directory (be sure to link your index.html, app.js, app.css)
rails new --api -d=postgresql backend_auth_1st_attempt
  1. fix cors errors
uncomment bcrypt
bundle add jwt to add jwt to your back end directory
run bundle install
create user with rails g resource, get password digest, username, password
rails g resource username email password:digest
rails d resourcepassword:digest should generate has_secure_password in your user model, rails magic to show t.string :password_digest in your migration table, you better not do a password_digest when you create your seeds
rails db create migrate
test - seed and console
User.create(name: "", password: "")

Hash tables represent another data structure of the ones you should really know about. You should absolutely love them since they are very useful and used everywhere. It’s probably the most common interview question where you use a hash table to optimize something.

By using hash tables we can optimize a nested loop. There will undoubtedly be an interview related to using hash tables.

A few solid things to know is that hash tables have really fast lookups. But a good collision is needed. …

Most people think hiring managers are looking for coding skills during an interview. Actually, there are a few components. Companies are looking for analytical skills. How can you think through a problem and analyze things.

When you code a problem during an interview, they are looking for how you go about solving the problem and what your thought process is from not knowing the answer to solving the problem.

They’re also looking for coding skills. Can you code the solution? Is your code clean, well-organized, and readable?

They also want to obviously know your technical skills. Do you know the fundamentals? Did you just memorize things or do you understand the pros and cons of different solutions? …

Today, I just want to touch on dynamic programming and memoization. We can use memoization to optimize our problems. With dynamic programming we can identify the solution to specific problems. Can the problem be divided into a subproblem of smaller pieces… where most likely you’re gonna be using recursion?

In this case, you want to evaluate if there are repetitive subproblems or tasks. If there are, you can memoize the subproblems so we don’t constantly recalculate things and use this idea of dynamic programming to make the code much more efficient.

Memoization is a common for dynamic programming problems, which are problems such as the the one described above and known also as a Fibonacci problem. I would do a little research on what Fibonacci means in context by doing a quick google search for this word. …



Excited to learn, and even happier to teach.

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