#Software Engineering
The parts of building software that only show up in the doing: decisions worth recording, environments worth reproducing, and the small Django and Python problems that cost an afternoon each.
Technical decisions rarely get written down anywhere useful. They happen in chat threads, in meetings, inside a developer's head - and then they evaporate. The result is predictable: lost context, repeated debates, and avoidable mistakes.
In modern Django projects, uploaded files are often stored in S3-compatible object storage. Using different storage classes for local and production can complicate the codebase and cause subtle production-only issues. A practical solution is to use object storage locally too.
Ever wanted to test your Django endpoints before the front end is ready? You sure can.
As the purpose of Django's form widget for dates is mainly to validate your input as a well-formed date, you might want to turn to the more refined user experience offered by the HTML5 date picker.
GeoDjango comes with a native way of retrieving a simple line's geographic center, but will put us off in the presence of complex `MultiLineString`s. Let's help ourselves to more advanced GeoDjango ORM tools for a flexible approximation of a marker placement.
As essential a practice as unit testing is in everyday development, it can be puzzling in the presence of prompt inputs. And the matter gets even hairier for passwords. Let's see how to effectively handle every such case easily.
A plethora of modules is available out there aiming to pretty-format a read-only JSON field in the Django admin. But do you really need to carry the burden of the extra features coming with such modules?
Ah, Django proxy models and the power they hold! Yet, the implementation aftermath can highlight a number of unwanted side-effects. Here's a couple of tips when working with Django proxies that will make end-users grateful and developers sigh in relief.
Rather hidden away in Django's meanders resides the "redirects" app. Let's take it for a spin and find out how to extend it even further to accommodate features content managers and marketers use and love.
## Django’s ArrayField is a nifty Field API feature that avoids unnecessary tables when advanced aggregations aren’t needed. Yet, there’s no native helper for a simple admin list filter based on an ArrayField. Let’s fill the gap!
As vulnerable as the current client-side technologies are, can we do anything to keep our Electron app away from trivial reverse engineering attempts?