Django provides the comfort database migrations from its version 1.8, with which we can avoid the usage of third party packages like south. Adding migrations to new apps is straightforward - they come preconfigured to accept migrations, and so just run make migrations once you’ve made some changes. But if your app already has models and database tables, and doesn’t have migrations yet or you got your migrations messed up, you’ll need to convert your app to use migrations.
By writing unit test cases, you can evaluate each code component in the initial stage itself and it'll improve your app/code performance. Which is the best practice to test your code and you can easily determine if there are any errors.
Python Collections - named tuple is to access by the names specified and deque is to append and pop the elements from both sides of queue are explained with real time examples in part 1 of collections series
Gitlab is a great issue tracker. You can log your project activities like issue status, deadline etc in a git repository. Before that, you need to login to Gitlab and then go to the project where you need to create/manage issues .
Using Linkedin integration, we can get the user verified email id, general information, work history in a less span of time, and a user can also share articles.
These Following steps are needed for Linkedin integration:
1. creating LinkedIn app
2. Authenticating user and getting an access token.
3. Get user information, work history using access token.
Ansible is a scripting language mostly used to automate installing applications, deploying apps etc..
You may think why learn new language if I can do the same using shell scripts, well that's ok but in my opinion ansible doesn't take much time to learn and shell scripts could become complex as the projects scale up. You can read afurther details over here(https://news.ycombinator.com/item?id=6431552).
When you want to track your exception and log mesages in a UI rather than storing it in a file(which we usually do), we can use SENTRY. Sentry provides real-time crash reporting and exception tracking for your web and mobile apps.
Django provides built in authentication which is good for most of the cases, but you may have needs that are being served with the existing system. For Ex: You want 'email' for authentication purpose rather than Django's username field and you want an extra field called 'display_name' as full name for the logged in User. To meet the above requirements, we need to customize Django's built-in user model or substitute a completely customized model.
We all want our own domain name to be setup for cloud front instead of amazon default cloud front domain name. We need two things for that to happen.
1. DNS should be served from amazon Route53
2. SSL for our custom domain
Configuring SSL is beneficial not only for security purpose but also for SEO too.
Linuxsoftware foundation's initiated a program called Let’s Encrypt to give ssl certificates for free and it is in preview state as of today. You can whitelist your domain by registering here. You can configure after getting confirmation from Let’s Encrypt team.