5 books about Bayesian networks for biomedical data scientists

From gene regulatory networks to agricultural pest control, there are numerous applications of Bayesian networks in biology. If you’re a biologist, or even a computer scientist, this list will help…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




4 Automation Ideas for Developers

And focus rather on solving real problems

How many times did you catch yourself doing some routine? Each of us has to do something repetitive every day. Working in the software development industry gives us a chance to automate many work-related processes. We need to be able to recognize repeating actions and propose a way to automate them.

Unfortunately, not everybody can find good candidates for automation straight away. The following list of ideas will give you some inspiration on what to automate in your next project.

By using git hooks this task can be automated. Git offers various amount of hooks. For example, to execute an action before commit command, before push command, or after checkout a branch. All hooks are located in .git/hooks path and follow an appropriate naming convention such as pre-commit, post-checkout etc.

For our case, we have to create the file pre-commit in the hooks directory. This file is a shell script. We write the command for checking the code style in this file and save it. From now on, every commit operation will run code style task. If there any violation, the commit operation will be interrupted and we have to fix it for proceeding. This way we will never forget following all conventions before even pushing the code.

In case you are using GitHub for placing the code, there are a few opportunities to automate workflows. The automation is based on GitHub hooks. GitHub raises events on different user actions. For example, when a user opens an issue or creates a pull request. Through the hooks, it is possible to subscribe to those events.

List of events to subscribing on GitHub

The easiest way to handle those events is to implement a Probot application. Probot is a framework for automating flows on GitHub based on Node.js. It enables us to write less boilerplate code. We have to implement only a handler function that receives a callback on a certain event.

Before implementing your own application, check out already existing. It may happen that somebody already automated the flow. For instance, apply a label for every new issue or approve a pull request automatically on specific conditions.

Localizing an application is not a handy task. Especially when it is a constant process and translators keep sending updated strings. All of the updates need to be integrated regularly into the application.

However, there is an obstacle on this way. Usually, different applications are using different formats for localized resources. For example, in Android, it is an XML format and in Ruby on Rails it is YAML format. It means translators should know those formats and they should be confident working with those formats. This is already an error-prone approach.

This task can be automated as well. No matter if you are using a 3rd-party tool for managing localizations or have an own in-house system. The idea is to fetch new strings, convert them to the proper format, and integrate them into the code. Automating this piece of work saves time and, more important, prevents having typos or any other mistakes related to formatting.

This task looks like rather a setup of continuous integration and continuous delivery. But in fact, this is automation in its pure nature. Simply ask yourself how many times do you run all tests before merging your core or before deploying?

If your project doesn’t run all tests on every pull request, it is the first candidate for automation. Many services offer easy setup for building projects and running tests. This approach will help you to make sure that no code is broken on the main branch.

Along with assembling the project and running all tests, you want to deploy the changes as soon as they got merged. They should be deployed not necessary to the production but to the testing environment. This automation task is more complex, but it will save a lot of time. With every merged pull request, you don’t need to worry about performing deployment manually. The feature goes live almost immediately.

Automating repetitive work helps to save resources and to focus on more essential needs of the final product. It contributed to the developer’s job satisfaction. Automation can be a challenging task and makes engineers feel proud of themselves when it’s done.

Add a comment

Related posts:

Best Startup Valuation

Best Startup Valuation is the process of determining the monetary worth of a newly established company. It is a crucial aspect for both investors and entrepreneurs as it sets the foundation for…

Worst Performing Mutual Funds of October 2019

at October was a good month for the Indian capital markets. The markets remained cheerful and we saw some super quarterly results from the giant companies. The overall earnings season for giant…

How I learned to trust again and let go

When I was a kid I used to trust anyone I meet at the “First Hello” I used to give them all my life details, who I love, what I do, what I like, what I dislike, you name it! I used to care a lot…