And after having a brief look over the code today and experimenting with some RxJS tweaks, I noticed a few instances of plain old JavaScript (well, TypeScript) that could do with some sprucing up.
Now, being a front end application, much of the slow down is probably more related to re-rendering too much and too often, but I wanted to arm myself with some stats on how much of a difference improvements to our JavaScript code will make, in particular moving from ES5 style code to ES6+.
Below, we’ll compare some common operations using ES5 and ES6+, in Chrome and…
Hi all,
I’d like to share my experiences of my first three months writing mostly programming articles on Medium.
Firstly I should say that I don’t have a lot of time to devote to writing. I am a family man first and foremost, and a career man secondly. I don’t, however, own a TV and I’ve long thrown away my Netflix subscription. For better or worse, my time for reading books has also been reduced to two to five minutes before lights out at bedtime. At best, I get a couple hours four or five nights a week to write.
…
Hi folks,
I’d like to detail my experiences with learning React and give you an honest comparison between it and Angular.
Before I get started, I should establish some credibility. I’ve been working with Angular since around 2017, not long after it burst onto the scenes and quickly established itself as the king of front-end frameworks. Prior to that, I had worked with the previous best front-end framework, AngularJS, for a few years.
As for React, I’ve just got done with the official tutorial and read this article by André Gardi about React Hooks.
It was a cracking article, Andre…
I’m going to take you on a journey that my team and I at Nightlife Music took when building our new enterprise application in Angular.
We started out with the knowledge that we needed components to display and interact with data, and routes to navigate around our various pages. A pretty standard setup.
Note, if you’re all about the destination, skip to the bottom where you can see an interactive example of the declarative, higher-order component that incorporates Route
and RxJS
to drive our entire enterprise web application.
Our first components looked a little like this:
*** Thank you to tzar for pointing out a bug with my ES6 + Lodash unset method. If this option is used with flattened paths, i.e. level1prop.level2prop
you will end up modifying your original object. I’ll leave it here as a faster alternative to ES2019 for multiple properties, but I wouldn’t recommend using it with flattened properties. ***
Lodash, the super popular JavaScript utility library has decided to remove its oh-so handy omit
function due to poor performance. In this article, we take a look at some alternatives we can use to omit properties from objects.
Omit
is a function…
Most people think that software engineering is all about building a product, and they’d be right, but it’s also much more than that.
At Nightlife Music, we often talk about the four “Ps” of software engineering, these being Product, Platform, Process and People. At the core of these is the Product
, because that’s what brings home the bacon, but it can’t be made effectively without putting effort into the others. Focus too much on one aspect and the others will suffer at some point.
In this article I’ll try to explain my experience with navigating the oceans of these four…
Yes on all counts for me.
Worse still, maybe you’ve just gone ahead and deleted it and submitted your pull request or pushed straight to master!
If that’s the case, then you’ve just gone and modified a much larger chunk of your source code than you intended.
You are in control of your own source code, but package-lock.json and…
Recently, a colleague of mine at Nightlife Music showed me (the code reviewer) and another colleague (the code writer) two ways in which our SQL query could be optimised. The exercise led me to add an ensure all queries are explained check
in our code review checklist.
The point of this article is not so much explain the EXPLAIN
keyword — though I will provide an example below — but to highlight the fact that the act of doing so is extremely important, particularly when your queries are run over large datasets and/or many times in quick succession (both were…
In this article MongoDB: Maintain Data Integrity with Atomic Operations we got to know the $set, $setOnInsert, $push, $pull and $inc operators and learned why they are essential for making sure your data is accurate when dealing with parallel updates to single documents.
The above operators and other atomic operators like it are sufficient for handling such a scenario, but only when the properties we are setting are different for each update, as seen in the following:
My team and I at Nightlife Music have been using MongoDB for a little over a year to store object representations of the state of our music systems, and in that time we have learnt (and are still learning) a lot about how to use and how to not use the database properly.
First, a little bit about how we use it and why.
Our company provides music solutions for businesses and the music that plays in a venue is stored on a computer that maintains its own state, but also sends notifications to our cloud infrastructure when its state…
Husband | Father | Software Engineer