Back End Development (22)


Adding reverse url lookup in Django

Reverse url lookup is very cool feature in Django that allows us to not hard-code urls in templates or controller logic. This helps us change the URLs later in urls.py and not have to make the same changes everywhere in templates and logic. Keep it DRY. To implement reverse url lookup, you need to do […]




Django Custom Queryset vs Custom Manager for Database queries

Note: this applies to Django >= 1.7 From the docs: A Manager is the interface through which database query operations are provided to Django models. At least one Manager exists for every model in a Django application. There are two reasons you might want to customize a Manager: to add extra Manager methods, and/or to […]




Adding Custom User model in Django – part 1

One of the first things I do after creating a new Django or Django Rest Framework project is to create a custom User model. Part 1 deals with case when you add custom User model right at the start of a project. In part 2, we deal with scenario when custom User model is added […]




Writing Custom Django Management Commands

Any command given with manage.py is called management command. Django comes with many built-in management commands like runserver, startapp etc. To see a full list of built-in management commands, type: python manage.py help The benefit of management command script is that this script executes within Django environment. You can run all of Django ORM queries […]




Logging in Django and Django Rest Framework projects

Logging is extremely necessary, during development and production. There are two ways to implement logging. In apps with high scale, we log to console and then have some in-the-cloud solution like Sentry to log the messages from the console. This is great because large scale apps often run on multiple servers and we can converge […]




Reading RSA key pair from PEM files in .NET with C# using Bouncy Castle and Digitally Sign and Verify payload

.NET does not have an easy way to directly deal with .pem format files generated using OpenSSL. I had to look into Bouncy Castle library to do it. Lets see how. We will also generate a dummy payload and then sign it using the generated pem keys and then verify it. First let us generate […]




Django Rest Framework project setup template

Ian Schneider This is a list of what I do when I setup a new DRF project. I am assuming that pipenv is already installed. Also, assuming that Python 3.5+ already installed in the base environment. For those in Python<3.5, please refer here for options. create new environment: pipenv shell pipenv install django djangorestframework markdown […]




Python Linting – Flake8

Linting is a must for any python project. Two options are used most (in order of usage and popularity) 1) flake8 – most used by open source python projects 2) pylint – enabled by default in many IDEs like Visual Studio Code Many folks run both. I chose flake8. Primary reason is that out of […]




NLog logger in .NET Project : Tutorial

Recently, I was working on an enterprise project using Windows Forms and needed a logger that was thread-safe, allowed both structured and text based logging and provided an options to integrate email sending as well. Two options came standard NLog or log4Net. Had a brief look at both. log4Net looked like more of XML configuration. […]




Generator Functions in Javascript

We will be building on what we discussed in previous post generator-functions-using-co Here we will focus on how to implement something analogous to co. i.e. actually implement an iterable. How to run the function* Steps involved in running through a generator function. If its a bit confusing, it will be clear when we look at the […]