{ Articles }

Clean URL slugs: The Good, the Bad, and the Ugly

Clean URLs come with great benefits, who wouldn't want one? Well...

Your flexbox is actually not centered

CSS line-height !== leading

1 year with React Hooks - Biggest lesson learned

I've been working with React Hooks for over one year now. Working on a variety of things, there has been one glaring issue that I've run into, not once, but twice.

Vue 3 just got me from interested to excited

Vue 3 has been on my radar for a while, but a recent RFC got me from interested to excited.

Good bye API layer. Uniting frontend and backend

A prototype of how to seamlessly integrate frontend and backend code.

Tailwind CSS - from skeptic to practiced

Introduction to an interactive tutorial on Tailwind CSS.

Detecting the end of a fluent API chain in JavaScript

Or: how to duck-type internal JavaScript objects!

My webdev related finds for Apr/May 2020

A curated list of blog posts, videos, JS stuff and SVG resources I found in Apr/May.

Introducing learning by vueing

Introducing a platform to learn vue interactively.

Breaking free from the request and argument drilling with AsyncHooks

Introduction to an amazing new feature that landed in Node 13.

You may not need vuex. Here are some alternatives

Let's take a look at two approaches you can take before reaching for vuex!

Add Tailwind CSS to a vuetify project

Want to try out tailwind CSS in your project, but it already uses a component library? Let me help you with that!

Document your thoughts

How writing ideas up helps with conceptualizing thoughts.

Adonis.js - Advanced factories

Little tricks to simplify writing factories in Adonis.js.

Getting things done when you don't have the time

We all have obligations and sometimes it feels it can be quite tricky to make time for side projects.

How TypeScript over babel greatly simplifies creating libraries

Creating a NPM library sounds simple at first but once you think of supporting node, browser, ES5, ES6 etc. it can turn into quite a daunting task. Babel helps but adds a lot of complexity, let's see how you can achieve the same with less using TypeScript.

Vue.js - Cleaning up components

If you write a semi-big vue application you might see familiar patterns popping up repeatedly. Let's take a look at some of these and how we can drastically improve our components.

TDD course with AdonisJs - 9. Cleaning up after ourselves series

It's always good to take a pause, look back at what we built and see if we can clean up something.

"git nah" and more handy Git aliases series

Creating our own custom git commands for increased productivity

TDD course with AdonisJs - 8. Third party APIs, ioc and custom validators series

Let's take a closer look at the ioc container and implement a third party API.

TDD course with AdonisJs - 7. Moderators series

Adding a new feature for moderators to modify threads.

Tips on naming boolean variables - Cleaner Code

If there is one thing developers agree on, it is the fact that naming is hard, hopefully these tips can save you valuable time in the future.

TDD course with AdonisJs - 6. Validation series

Currently it is possible to create a thread without a body or title. So let's add some validation to our controller.

TDD course with AdonisJs - 5. Middlewares series

We learn an important lesson about the difference between integration and unit tests.

TDD course with AdonisJs - 4. Using the auth middleware series

Most applications require auth in some sort, it's a breeze with AdonisJs and I show it to you.

TDD course with AdonisJs - 3. Model factories & DB transactions series

We take a look at simplifying our tests with model factories as well as one common gotcha.

TDD course with AdonisJs - 2. Our first test series

We write our first integration test and set up the database layer.

TDD course with AdonisJs - 1. Let's build a reddit clone series

Part 1 of a series in which we engulf in the joy of TDD with AdonisJs.

Simple libraries do not guarantee simplicity

Rethinking popular NodeJs libraries.

Testing made easy with AdonisJs

Adonis lets you write clean tests and is a good candidate for test driven development. I will show how to get started with testing as well as some common techniques regarding the database setup.

A case against component libraries

CSS frameworks are a great way to quickstart a project. They let you focus on your application rather than the design. This is especially great if you are not a designer and don't have one in your team.

tap tap tap

Turn any non fluent API into a fluent one.

Utility-first CSS - You have to try it first!

Utility-first CSS provides many benefits over traditional solutions. The article highlights these and addresses common concerns regarding utility-first CSS.

React Hooks for Vue developers

Let's compare some common vue things and implement them using react hooks, then list up the pros and cons of each.

Common MySQL traps

Exploring some common mistakes with using MySQL like how utf8 is actually not utf8.

Automatic Dependency Injection in JavaScript series

We learnt about dependency injection and ioc, there is one last step.

IIFEs in JavaScript and how to avoid this common mistake

JavaScript, IIFEs and ASI.

Demystifying Dependency Injection, Inversion of Control, Service Containers and Service Providers series

It's really quite simple.

Undo changes in Git - Cheat sheet series

Never confuse git checkout, stash, reset, clean, revert, rebase -i, amend again.

Refactoring search queries in Adonis.js

Learn all about model scopes and conditional queries.

The trouble with implementing SSR into a Laravel/Vue app

The issues I ran into integrating server-side rendering into an existing Laravel Vue application.

Extending arrays using proxies in JavaScript series

Subclassing arrays in JavaScript series

Exploring subclassing, a new addition with ES6.

Explaining shallow / deep copying through acronyms series

Learn all about the benefits of JavaScript's array methods and iterables, effectively avoiding temporary variables and conditions, as well as revealing intent.

Array methods and iterables - Stepping up your JavaScript game series

Learn all about the benefits of JavaScript's array methods and iterables, effectively avoiding temporary variables and conditions, as well as revealing intent.

Vue vs Traditional HTML - Reusability & Components - Beginner's Guide series

What babel-polyfill doesn't include

babel-polyfill is super easy to use. Just install it from npm and import it in your app. Now you are ready to go and write next level JavaScript without having to worry about browser support, or are you...

Vue vs Traditional CSS - Beginner's Guide series

Let's explore Vue's refreshing approach on CSS.

Avoiding fat controllers in Adonis.js

Taking a look at controllers and how they can grow into big junks of code, and how we can avoid this.

Vue vs Vanilla JavaScript - Beginner's Guide series

Comparing the implementation of a VueJs app with vanilla JavaScript and how Vue can help us create readable robust applications.

Build fullstack Javascript apps with Adonis and Vue

Bringing together two amazing frameworks that allow us to build clean applications using only Javascript.