R&D
Writing Python2 and Python3 Compatible Code
· β˜• 2 min read
Python2 to Python3 is a major version update. Today, a large number of projects in production still run on Python2. But that does not mean those projects will stay on Python2 forever β€” developers also need to consider the project’s compatibility with Python3, both to make migration easier and as

Git and Development Environment Setup
· β˜• 2 min read
Compiled from the “Development Tips” series, gathering practices around Git collaboration and development environment setup. 1. warning: LF will be replaced by CRLF Windows, Linux, and Mac are inconsistent in how they mark line endings in files. Windows uses CRLF as the terminator, while Linux and Mac use LF. Git

Python and Django Development Practices
· β˜• 6 min read
Compiled from the “Development Tips” series, collecting common problems and solutions in Python and Django development. 1. Sorting Python Iterables Iterable objects fall into 3 main categories: All sequence types, such as list, str, and tuple Some non-sequence types, such as dict and file Objects that contain an __iter__() or

How to Decouple Modules with Django Signal
· β˜• 5 min read
Recently I was responsible for developing a backend-heavy application. The data flow in this application is complex, and the processing logic has piled up in a redundant mess. The project’s tech stack is Django + Vuejs. The frontend is bundled with Webpack, managed in modules, and mainly displays data. The backend involves many modules, many processing rules, and many data tables, so every time I had to modify an earlier feature I spent a lot of time reviewing the code.

How to Use a CDN for Further Frontend/Backend Separation - CI Scripts
· β˜• 3 min read
In a team, any change to the development workflow must be paired with the corresponding automation tooling. Without a low enough cost of use, the change is meaningless, because nobody will actually use it. In the previous post we covered how to use a CDN for further frontend/backend separation; this