Skip to main content

GPG Cheat Sheet

Comments

Popular posts from this blog

Testing Against External Processes with pytest-xprocess

Introduction With the advent of micro-services or simply componentization of complex applications, more often than not it is a good idea to write at least few integration tests to make sure that different components can interact in the intended way. However, these components may run in their own process, may take some time to start-up, and may require other processes to be run first. This article aims to give some ideas on how to solve the following problems, using pytest:  How to start an external process before the tests run, and make sure tests start running only once the process is fully initialized? Starting an external process is usually resource and time consuming, how can the whole test suite be setup to run the external process only once before all tests run, and shutdown only once all tests are completed? Given a system under test (SUT), which depends on a process A, which in turn depends on a process B, how can all the processes be start in the correct order befor...

Python Virtual Environment 101

What is a Virtual Environment? A Python Virtual Environment, or more commonly called "virtualenv", is a tool that is included in the recent Python distributions. Its purpose is to create a virtual and isolated Python environment, that can be modified at will and then simply discarded. "Python environment" refers to the Python binaries, the standard Python libraries, as well as any third party library that is later installed. When installing a Python distribution from https://www.python.org/ or from a package manager, this installation is referred as the "global environment" or "global installation". Why is a Virtual Environment needed? Except for the simplest cases, most Python projects require some dependencies to third party libraries - third party in the sense that they are not included in the Python official distribution. Typically, these libraries are installed in the "site-packages" folder of the global Python installatio...

Website "Hello World" with Amazon Web Services (AWS)

Introduction This article explains the foundations on how to start a new website or web application. The website will be hosted on the cloud, for a very effective cost. At the end of this article, the reader will be able to: Open an account on Amazon Web Services (AWS) and start an Elastic Compute Could (EC2) instance Configure the different parameters of the EC2 instance (connectivity, security, network) Create a domain name Link the domain name to the EC2 instance Run a Hello World website, and access it from anywhere Required Knowledge  A very basic knowledge is required in these areas: HTTP Unix SSH Create an EC2 Instance in AWS The first step of the process, is to open an account with AWS: https://aws.amazon.com/ This should be quite straightforward, by clicking on Sign-Up or "Create a Free Account". The credit card information needs to be entered for verification, but the first year of basic usage will be free of charge, this is a great way to get...