Skip to content

Instantly share code, notes, and snippets.

@gansbrest
gansbrest / gist:6612699
Created September 18, 2013 17:39
Nginx config to use X-Accel-Redirect to transfer (reproxy) data from Remote servers
location ~* ^/internal_redirect/(.*?)/(.*) {
internal;
# If you use variables in proxy pass you need to
# tell nginx how to resolve your host
# otherwise you will get 502 errors
# you could also use google 8.8.8.8
resolver 172.16.0.23;
proxy_buffering off;
@gansbrest
gansbrest / gist:6983561
Last active March 13, 2023 21:49
Internal redirect to another domain with proxy_pass and Nginx
server
{
listen 80;
server_name a.com b.com c.com;
location ~* ^/comment/(.*) {
proxy_set_header HOST shared.com;
# $1 - stores capture from the location on top
# $is_args will return ? if there are query params
# $args stores query params
@gansbrest
gansbrest / php7_find
Created May 13, 2019 17:56
Migrate from php5 to 7
// Find all cases like this $obj->$blo['bba']
find . | xargs grep -P -ls -- '\w->\$[^\s]*\['
@gansbrest
gansbrest / unusedrds.sh
Last active August 22, 2018 21:50 — forked from akinnard/unusedrds.sh
Find unused rds instances
#!/bin/bash
osname=$( uname )
if [[ $osname == "Darwin" ]]; then
date="gdate"
else
date="date"
fi
DAYSBACK=14
@gansbrest
gansbrest / gist:52813f82eeb1ce89c19945b1b957380d
Created May 12, 2017 16:18
Works on Ubuntu local without libpcre3-dev
gansbrest@ ~/Work/fc-wp-editor: docker-compose build --no-cache wordpress
Building wordpress
Step 1/15 : FROM php:7.1-apache
---> 399dbfe34f35
Step 2/15 : RUN apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev libicu-dev git unzip && docker-php-ext-install -j$(nproc) zip intl mysqli iconv mcrypt opcache pdo pdo_mysql && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install -j$(nproc) gd && pecl install redis-3.1.1 && docker-php-ext-enable redis
---> Running in 2a07b5e032e7
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]
Ign http://deb.debian.org jessie InRelease
Get:2 http://deb.debian.org jessie-updates InRelease [145 kB]
Get:3 http://security.debian.org jessie/updates/main amd64 Packages [509 kB]
Sending build context to Docker daemon 101.4 MB
Step 1 : FROM php:7.1-apache
7.1-apache: Pulling from library/php
Digest: sha256:afeec69ac42a9356eb380a9b931acdae2b8b2dd2ff932877b24ecb9f2944434f
Status: Image is up to date for php:7.1-apache
---> e3e5c593479f
Step 2 : RUN apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev libicu-dev git unzip && docker-php-ext-install -j$(nproc) zip intl mysqli iconv mcrypt opcache pdo pdo_mysql && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install -j$(nproc) gd && pecl install redis-3.1.1 && docker-php-ext-enable redis
---> Running in 11b87bf68745
Ign http://deb.debian.org jessie InRelease
Get:1 http://deb.debian.org jessie-updates InRelease [145 kB]
FROM php:7.1-apache
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
libicu-dev \
git \
unzip \
libpcre3-dev \
@gansbrest
gansbrest / site.conf
Created December 7, 2016 02:17
nginx config for smyfony 3 docker
server {
listen 80 default_server; # redundant in new nginx versions
server_name _;
#index index.php index.html index.htm;
root /usr/share/nginx/html/web;
# Block access to "hidden" files and directories whose names begin with a
version: '2'
services:
app:
image: gansbrest/php7-fpm
volumes:
- .:/usr/share/nginx/html
environment:
XDEBUG_CONFIG: remote_host=192.168.1.13
depends_on:
@gansbrest
gansbrest / gist:6773510
Created October 1, 2013 03:30
Некоторые вырезки по BDD из книги от создателей Cucumber
- Каждый сценарий должен иметь смысл и выполняться независимо от других сценариев. Это подразумевает что каждый сценарий должен иметь достаточно шагов Given для того чтобы создать необходимый контекст для выполнения теста.
- Создатели фич должны иметь возможность описать свои мысли в свободной форме, чтобы фича читалась натурально. Это означает что они могут использовать фразы отличающиеся друг от друга но подразумевающие один результат. Очень важно чтобы фичи не звучали как написанные роботом.
- При написании фич, сделайте упор на читабельность, в противном случае они будут выглядеть как программа или тех спецификация и мы хотим избежать этого любой ценой! Ведь если не программист с трудом может понять что происходит в фиче, зачем тогда вообще их писать? ( Ведь ВDD в первую очередь направлен на коммуникацию - если это отбросить то можно вернуть к старым добрым simpletest или codeception )
- Старайтесь избегать технических деталей вроде "чистка очереди", "запуск back-end сервиса", "открытие браузреа на бе