Image for post
Image for post

This post (Principles of testing for developers) was originally published on Sargalias.

There are different aspects we can test about software, such as performance, visual regression, internationalisation, and much more. This article focuses on the kind of testing developers do during development. This means end-to-end tests, integration tests, and unit tests.

Testing during development is not very difficult. At least the concepts behind testing are not. It’s just based on a few common-sense principles, and we’re literally talking about only 4 or 5 principles or so.

But it seems to be a topic that many developers struggle with.

I think all that’s needed is a bit of deliberate practice and trying to understand and think about the principles. Additionally, if you work with someone who you consider good at testing, then arguably there is no better way to get started other than to work with them, ask them questions, and so on. …


Image for post
Image for post

The original and latest version of this post (how to learn web application security) can be found at Programming Duck.

Learning web application security doesn’t have to be painful. In fact, I think it’s the same as any other topic, and it doesn’t even take that long. There are a few resources that are easy to follow and learn from, especially if you’re only looking to learn web security basics.

Why should developers learn about web application security?

Every application needs to be secure, because every application can and will be attacked in absolutely any way imaginable, particularly as it becomes more popular. …


Image for post
Image for post

This post (This binding in JavaScript — 6. Gotchas and final notes) was originally published on Sargalias.

Posts in this series:

  1. Default binding
  2. Implicit binding
  3. Explicit binding
  4. New binding
  5. Arrow functions
  6. Gotchas and final notes (this post)

In this series we talk about this binding in JavaScript.

This is a very important topic. It’s also something that even experienced developers frequently get wrong and / or have to think about.

Basically in JavaScript there are 4 modes for this binding. Make that 5 if we include arrow functions.

In order of lowest priority to highest priority, here they are:

  1. Default…

Image for post
Image for post

This post (This binding in JavaScript — 5. Arrow functions) was originally published on Sargalias.

Posts in this series:

  1. Default binding
  2. Implicit binding
  3. Explicit binding
  4. New binding
  5. Arrow functions (this post)
  6. Gotchas and final notes

In this series we talk about this binding in JavaScript.

This is a very important topic. It’s also something that even experienced developers frequently get wrong and / or have to think about.

Basically in JavaScript there are 4 modes for this binding. Make that 5 if we include arrow functions.

In order of lowest priority to highest priority, here they are:

  1. Default binding
  2. Implicit…

Image for post
Image for post

This post (This binding in JavaScript — 4. New binding) was originally published on Sargalias.

Posts in this series:

  1. Default binding
  2. Implicit binding
  3. Explicit binding
  4. New binding (this post)
  5. Arrow functions
  6. Gotchas and final notes

In this series we talk about this binding in JavaScript.

This is a very important topic. It’s also something that even experienced developers frequently get wrong and / or have to think about.

Basically in JavaScript there are 4 modes for this binding. Make that 5 if we include arrow functions.

In order of lowest priority to highest priority, here they are:

  1. Default binding
  2. Implicit…

Image for post
Image for post

This post (This binding in JavaScript — 3. Explicit binding) was originally published on Sargalias.

Posts in this series:

  1. Default binding
  2. Implicit binding
  3. Explicit binding (this post)
  4. New binding
  5. Arrow functions
  6. Gotchas and final notes

In this series we talk about this binding in JavaScript.

This is a very important topic. It’s also something that even experienced developers frequently get wrong and / or have to think about.

Basically in JavaScript there are 4 modes for this binding. Make that 5 if we include arrow functions.

In order of lowest priority to highest priority, here they are:

  1. Default binding
  2. Implicit…

Image for post
Image for post

This post (This binding in JavaScript — 2. Implicit binding) was originally published on Sargalias.

Posts in this series:

  1. Default binding
  2. Implicit binding (this post)
  3. Explicit binding
  4. New binding
  5. Arrow functions
  6. Gotchas and final notes

In this series we talk about this binding in JavaScript.

This is a very important topic. It’s also something that even experienced developers frequently get wrong and / or have to think about.

Basically in JavaScript there are 4 modes for this binding. Make that 5 if we include arrow functions.

In order of lowest priority to highest priority, here they are:

  1. Default binding
  2. Implicit…


Image for post
Image for post

This post (This binding in JavaScript — 1. Default binding) was originally published on Sargalias.

Posts in this series:

  1. Default binding (this post)
  2. Implicit binding
  3. Explicit binding
  4. New binding
  5. Arrow functions
  6. Gotchas and final notes

In this series we talk about this binding in JavaScript.

This is a very important topic. It’s also something that even experienced developers frequently get wrong and / or have to think about.

Basically in JavaScript there are 4 modes for this binding. Make that 5 if we include arrow functions.

In order of lowest priority to highest priority, here they are:

  1. Default binding
  2. Implicit…

Image for post
Image for post

This post (When not to apply programming principles) was originally published on Sargalias.

When examining each principle, we focused on how to strictly apply it.

But we didn’t really touch on pragmatism as much, or when we shouldn’t apply some of the principles.

Well, except for the principle of abstraction. We touched on abstracting too early and over-generalizing a fair bit. For a lot more detail on that one, see programming first principles — abstraction.

As for the rest…

When should we not apply programming principles?

Okay, so the real answer to this question is “never”. …


Image for post
Image for post

This post (Why code changes are error prone) was originally published on Sargalias.

I always say that code changes in programming are error-prone.

Experience tells us that they are, but why is that?

In this post we’ll examine what makes changes error-prone in programming.

There are problems with changes:

  • Changes can break the system easily.
  • Statistics.
  • Human characteristics:
  • - Memory.
  • - Attention to detail, or the amount of focus we can muster.
  • - Impatience.
  • - Etc.
  • Scope.

Changes can break the system

To clarify this…

Let’s distinguish between new code that does a brand new thing, and changes or modifications to functionality that already exists in the system. …

About

Spyros Argalias

Web developer — https://sargalias.com

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