ups and downs
Month summary · Issue of September 2021

Month summary — September 2021

Thu 30 Sep 20218 min read40 links

I am aggregating here some more or less interesting stuff of various IT related materials which I came across this month. Some of them are strictly related to the things I did or am currently doing.

Quoted from the source

01Some thoughts

At the end of the month I attended the meetup called IT Depends #8: DataLake i wyzwania AdTechu, czyli jak nie utonąć w danych (DataLake and AdTech challenges, i.e. how not to drown in data) organized by Clearcode company. There were two very interesting presentations:

  • Data Lake - co to jest i dlaczego lepiej nie robić z jeziora bagna? (Data Lake - what is it and why is it better not to make a swamp out of a lake?) by Noemi
  • Change Data Capture, czyli jak wiedzieć o każdej zmianie w Twojej bazie danych (Change Data Capture: how to know about every change in your database) by Dawid

Additionally I attended workshops where we played with Debezium which is is an open source project that provides a low latency data streaming platform for change data capture. Whe used it to track changes in PostgreSQL database and stream them to Kafka from where they were consumed by a small JS app. The repository for this workshop is publicly available here: ClearcodeHQ/it-depends-8.

It was a very nicely conducted meetup which I happily attended, moreover I won some gadgets like a cup, a t-shirt and a book about data lakes.

02Articles

6 links
stackoverflow.blog

Best practices for writing code comments

While it’s easy to measure the quantity of comments in a program, it’s hard to measure the quality, and the two are not necessarily correlated. A bad comment is worse than no comment at all.

blog.gitguardian.com

How to improve your Docker containers security [cheat sheet included]

Containers are no security devices. That’s why we’ve curated a set of easily actionable recommendations to improve your Docker containers security.

github.blog

GitHub Actions: Reduce duplication with action composition

Previously, actions written in YAML could only use scripts. Now, they can also reference other actions. This makes it easy to reduce duplication in your workflows.

biteinteractive.com

Picturing Git: Conceptions and Misconceptions

There’s an odd thing I’ve noticed about the way many developers use Git. Often, they don’t really have an accurate mental model of what Git is and what it does. It’s surprisingly easy to get used to employing a few basic Git commands without having any real idea of what they mean.

zwischenzugs.com

Five Ansible Techniques I Wish I’d Known Earlier

If you’ve ever spent ages waiting for an Ansible playbook to get through a bunch of tasks so yours can be tested, then this article is for you.

marijkeluttekes.dev

Technical documentation writing quick tips

These are tips that I give colleagues and pupils based on practical experience. Writing is a skill, and people have written entire books about the subject; hence this is a “quick tips” article.

03Python

14 links
martinheinz.dev

The Unknown Features of Python’s Operator Module

At the first glance Python’s operator module might not seem very interesting. It includes many operator functions for arithmetic and binary operations and a couple of convenience and helper functions. They might not seem so useful, but with help of just a few of these functions you can make your code faster, more concise, more readable and more functional. So, in this article we will explore this great Python module and make the most out of the every function included in it.

medium.com

145 Python Projects with Source Code

Python is one of the best programming languages. Due to its readability and beginner-friendly nature, it has been accepted by industries around the world. So to master Python for any field you have to work on projects. In this article, I will take you through more than 130 Python projects with source code.

zenrows.com

Mastering Web Scraping in Python: Scaling to Distributed Crawling

Wondering how to build a website crawler and parser at scale? Implement a project to crawl, scrape, extract content, and store it at scale in a distributed and fault-tolerant manner.

sgoel.dev

How you can track your personal finances using Python

In this post, I’d like to describe how you can track your personal finances using a workflow that is highly focused on data privacy, is 100% self-hosted, and uses only the Python ecosystem.

hynek.me

Python Project-Local Virtualenv Management

On UNIX-like operating systems you can have the Python equivalent of node_modules today, for every Python version, without changing your workflows.

testdriven.io

FastAPI with Async SQLAlchemy, SQLModel, and Alembic

This tutorial looks at how to work with SQLAlchemy asynchronously with SQLModel and FastAPI. We’ll also configure Alembic for handling database migrations.

blog.pythonlibrary.org

Python 3.10 – Simplifies Unions in Type Annotations

The focus of this tutorial is to talk about PEP 604, which makes writing union types easier when adding type annotation (AKA: type hinting) to your codebase.

emshea.com

Writing unit tests for Lambda functions in Python

This post shares what I’ve learned about writing unit tests for Lambda functions. I’ll explain what unit tests are and why they can help you write and make changes to your function code quickly. I’ve also written an example Python function and unit test (using the unittest framework) so you can see it in practice.

speakerdeck.com

Type hints, protocols, and good sense

PyCon India keynote, presented September 19, 2021. Main sections: 1. The state of static typing in Python 2. The four modes of typing 3. The central role of typing.Protocol 4. Typing limits and how to address them.

blog.guilatrova.dev

Logging in Python like a PRO

I’ll show you what good logging is with real-life examples. Most people don’t know what to log, so they end up creating just noise….

blog.guilatrova.dev

Handling exceptions in Python like a PRO

One of the downsides of a flexible language like python is that people often assume that as long as something works then it’s probably the proper way of doing so. I would like to write this humble guide on how to effectively use python exceptions and how to handle exceptions and log them correctly

stackabuse.com

Validating and Formatting Phone Numbers in Python with phonenumbers

In this tutorial, we’ll learn how to parse, validate and extract phone numbers, as well as how to extract additional information from the phone number(s) like the carrier, timezone, or geocoder details.

emshea.com

Writing unit tests for Lambda functions in Python

This post shares what I’ve learned about writing unit tests for Lambda functions. I’ll explain what unit tests are and why they can help you write and make changes to your function code quickly.

lukasz.langa.pl

Why does Black insist on reformatting my entire project?

For some users, one giant commit that reformats the world is an unpleasant thought. After all, it’s a “useless commit” and poisons git blame! I think that’s backwards.

04Django

7 links
djangodeconstructed.com

Python and Django Logging in Plain English

If you’ve ever written a program and printed out a value to see what’s going on during execution, then you understand at some level why logging is so valuable. Knowing what’s happening in your code at a point in time is enormously useful from both technical and business perspectives.

djangodeconstructed.com

Python and Django Logging in Plain English

If you’ve ever written a program and printed out a value to see what’s going on during execution, then you understand at some level why logging is so valuable. Knowing what’s happening in your code at a point in time is enormously useful from both technical and business perspectives.

python.plainenglish.io

I Built a Django Scaffold Library That Creates A Fully Functional REST API in Seconds

dr_scaffoldThis library will help you to scaffold full Restful API Resources in seconds using only one command.

blog.appseed.us

Django React Boilerplate - With Free Samples

Learn how to bundle Django and React and code a full-stack boilerplate using this modern stack - with free samples.

mattlayman.com

Understand Django - User File Use

The latest installment in this series from Matt Layman covers file management, such as accepting images/files from users.

appliku.com

Using Celery task to generate data for a view

In this article we’ll solve a problem when a view is taking too long to generate the response by moving actual data generation into the Celery task.

github.com

Django Base Site

The Django Base Site is a Django site that is built using the best Django practices and comes with all the common Django packages that you need to jumpstart your next project.

05Python libraries

2 links
github.com

prettymaps

A minimal Python library to draw customized maps from OpenStreetMap data.

github.com

prettymaps

A minimal Python library to draw customized maps from OpenStreetMap data.

06Django libraries

4 links
github.com

Django cursor pagination

A cursor based pagination system for Django. Instead of refering to specific pages by number, we give every item in the queryset a cursor based on its ordering values. We then ask for subsequent records by asking for records after the cursor of the last item we currently have. Similarly we can ask for records before the cursor of the first item to navigate back through the list.

github.com

DjHTML

A pure-Python Django/Jinja template indenter without dependencies.

github.com

Django Advanced Filters

A django ModelAdmin mixin which adds advanced filtering abilities to the admin.

github.com

Django Cacheops

A slick app that supports automatic or manual queryset caching and automatic granular event-driven invalidation.

07Tools

1 link
github.com

Debezium

Change data capture for a variety of databases.

08Cloud

2 links
medium.com

Managing GCP service usage through delegated role grants

Delegated role grants is a new feature in GCP that allows organization administrators to control which roles a user can grant or revoke even when the user has setIamPolicy permission on a resource. In other words, through delegated role grants organization administrators can give a user permissions to grant/revoke specific roles.

github.com

Awesome GCP Certifications

Google Cloud Platform Certification resources.

09Other stuff

2 links
supermemo.guru

Genius checklist

This article by Dr Piotr Wozniak is part of SuperMemo Guru series on memory, learning, creativity, and problem solving.

durmonski.com

20 Reasons To Quit Social Media

The decision is up to you. You can either bombard your brain with endless distractions. Or you can use the time to dig deep on topics that actually interest you.

10Podcasts

1 link
realpython.com

The Real Python Podcast - Episode 77: Advantages of Completing Small Python Projects

Are you a beginner or intermediate Python programmer who has made it through some of the fundamentals? Have you tried to tackle a big project but got stuck and frustrated? Completing some small projects might be the answer. This week on the show, we have author Al Sweigart and talk about his new book, “The Big Book of Small Python Projects.

11Videos

1 video · play right here · tap to play