software engineer, a nice guy
There are tons or articles about setting up a reverse proxy using Nginx. Just search the stackoverflow and you will receive a lot results - I’m not going to repeat it here.
I will be talking about more specific case. Imagine you have to setup a reverse proxy for a website, which you have to route via http proxy. Maybe due to some complicated logging, tracking or permissions.
It’s not complicated:
Gotcha #1: rewrite in two steps, otherwise nginx will do a 302 redirect as soon as it will detect a redirect with full domain and a protocol like “http://”.
Gotcha #2: don’t break after first step, otherwise nginx will send request without a valid protocol.
The limitation of this example is that it supports only http protocol.Published on 08 of February, 2016
In order to minimize risk of accidentally breaking build
As a developer
I want code style checks and automated tests to be run each time I push code into repository.
As far as I know pre-push hook is available in git since version 1.8.2.
It lives in
.git/hooks/pre-push and will run every time you push code:
In this example I used sample vagrant box for php projects (available from my github repository).Published on 25 of February, 2014
In Symfony projects
parameters.yml is a place to store environment specific parameters.
To keep project repository clean
parameters.yml.dist with sample values is usually checked in instead of real configuration.
To deal with these files there is Incenteev ParameterHandler tool.
It allows to interactively add missing parameters from
It also removes parameters from
.yml if they are missing in
.yml.dist as well.
To keep outdated parameters you can reconfigure default behavior via composer, but better and cleaner way is to always keep all the relevant sample parameters in your
P. S. Just in case if you wondering how to solve it via configuration, here is code snippet for you:Published on 24 of February, 2014
When managing project dependencies with tools like composer then at some point you will inevitably have a dependency on private library sitting somewhere in private git repository. On production this is solved easily by adding deployment key. In case of developer’s virtual machine solution is not hard either: SSH agent forwarding. It can be configured in Vagrantfile in one line (next to configurations of provider and provisioner):Published on 15 of February, 2014
Syntax is pretty easy. All you have to do is to put any free form text (prepended with @) on top of feature or scenario:
Having sprint number, task handle and subsystem tags on feature and work in progress on scenario allows combinations of different tags to control which scenarios to run. I’m using behat, so here is how to filter running features and scenarios:Published on 13 of February, 2014