Inky Code

Niky Morgan: New York-based Web Developer

Transferring DNS and Web Hosting to AWS

I recently decided to move my personal website hosting to AWS. I did this for a few reasons:

  • the rate for web hosting on GoDaddy went up significantly for the second year
  • static website hosting on AWS is relatively simple and cost pennies a month
  • I recently had dipped my toe into AWS for work and wanted to experiment with it more

Updating to React Router v4

Our team recently updated from React 15 to 16, and I took part in a subsequent sprint to update our React Router from version 2 to version 4. React Router 4 is conceptually very different from the previous versions; the creators wrote the new version entirely in React with an API that followed common React patterns. The Route is now just a component which makes nesting routes an easier task. This design difference meant we had to implement React Router 4 in a completely different manner than we used 2. Here are some of the biggest changes we made in our upgrade.

CSS Stacking Order

In my time so far on the dev team, CSS has been my most-improved skill. As a student I avoided it whenever possible. I like debugging and finding the exact line of code that does something I don’t expect. CSS bugs have always felt harder to isolate that way. I can swap values in and out while examining elements in the console, but if something goes wrong, I don’t get an error message guiding me to the source. By far the hardest CSS situations I’ve had to troubleshoot involve stacking context.

React Refs

For the past few weeks, we’ve been doing some extensive work in React on a soon-to-be-released project. Several times in this project the code has used React Refs, something I haven’t come across yet in my React studies. (Note to self, spend more time reading React docs.)

Leading My First Feature

Weeks 6 and 7 of my engineering rotation brought my first feature lead. It was a great experience and it was a bit of a mess. We recently had a long sprint that the entire team was involved in which created notifications and requirements for new student accounts. This setup was designed to help us identify where students were in the account setup process and make sure they completed necessary steps in the right order. I joined that project part way through, but it was originally conceptualized and structured following Domain Driven Design. In software engineering a domain is a collection of abstractions that encapsulates both the data and behavior of a specific activity or area of knowledge. Domain logic (or business logic) forms the rules for how the objects interact with each other to create or change data. Domain Driven Design bases designs around these domain models and builds ever-evolving domain logic around them.