If you hang out in software development spaces online long enough, you’ll start to notice there’s a notion of “self-taught” developers. I think it’s time to rethink that label.
(more…)Author: erik
-

Updates and Small Changes to eriksCode.space
There will be one small change to the content of this blog. Read on!
(more…) -

How to Implement Many-to-Many Relationships in Relational Databases
Nearly any data model of non-negligible complexity will include at least one (if not several) many-to-many relationships. This relationship emerges when, given two tables A and B, instances of A could have many instances of B, and instances of B could have many instances of A. Successfully implementing this relationship is a bit of stumbling block for people new to working with or building databases. However, the strategy for implementing this relationship in relational databases is important to understand. Believe it or not, it’s also not all that complicated.
(more…) -

Improving Browser Automation Tests: How to Add Microsoft Edge and Edgedriver to Linux CI Systems
Lately, the Microsoft Edge browser has been growing in popularity, recently unseating Firefox as the 3rd most popular web browser and approaching Safari in the number two spot. This means that any web application with a potentially wide user base should include MS Edge tests in its automated test suite. Setting this up to run automatically, particularly in *nix based CI servers, can be quite a hassle when compared to setting up Chrome and Firefox browser tests. In this article, I’ll show you the steps to get the Edge browser and web driver running in a Linux-like CI system.
(more…) -

Professional Version Control with Git: Pt 3 – Rebase and Bisect
Hello everyone and welcome to part 3 of the professional Git series here at Erik’s Code Space. In part 1, we learned the basics and got our skills good enough to start version controlling our own projects. In part 2, we learned about the collaboration tools available in git and got our skills good enough to start contributing to open source projects. In this part, we’re going to learn about the rebase and bisect commands, two commands that help us with troubleshooting. Without further ado, let’s begin.
(more…) -

Professional Version Control with Git: Pt 2 – Collaboration
Welcome back, this article is part 2 of Erik’s Code Space’s series on professional version control with Git. In part one, we learned about the basics of making commits, branching, and merging. In this section, we’re going to learn about the collaboration tools available to us with Git through GitHub. Let’s get started!
(more…) -

Professional Version Control with Git: Pt 1 – The Basics
Welcome to part one of Erik’s Code Space’s first article series of 2021! In this series we’re going to learn all about version control using Git and GitHub. In this first part of the series, we’re going to talk a little about the idea of version control, then jump right in to hands-on usage. This is the kind of thing that’s going to help you right away, and it’s the sort of skill that employers are going to expect you to have. Without further ado, let’s jump right into it.
(more…) -

Site Update and 2021 Roadmap
Good morning everyone, it’s been a while since I’ve written a blog post. To keep you all informed, I’d like to make a quick post about where I’ve been and what the plans are for this year.
(more…) -

Delegate and Decorate in Python: Part 3 – Reusable Decorators
Note: This is not about Python’s language feature called decorators (with the
@symbol), but about the design patterns called “decorator” and “delegate.”In the final installment of this series, we will take the universal concepts of delegation and decoration and put them into a base
(more…)Decoratorclass. Doing so will allow us to abstract the universal functionality these patterns to be inherited by more specific decorator classes, maximizing code reuse. Let’s dive in. -

Delegate and Decorate in Python: Part 2 – The Decorator Pattern
Note: This is not about Python’s language feature called decorators (with the
@symbol), but about the design patterns called “decorator” and “delegate.”In the previous article, we learned how to implement the Delegation pattern in Python. With this knowledge, we’ll now learn about the Decorator pattern, which will make use of delegation. We’ll learn about when we might use it and implement a couple of examples.
(more…)
