Skip to content

Instantly share code, notes, and snippets.

🦄
Unicorns engineering!

Dmitriy Paunin paunin

🦄
Unicorns engineering!
Block or report user

Report or block paunin

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View docker-compose-test.sh
#!/bin/bash
DOCKER_COMPOSE_FILES='docker-compose1.yml,docker-compose2.yml'
DOCKER_COMPOSE_UP_MODE=1 #1|0
DOCKER_COMPOSE_UP_LOG_FILE='/tmp/log.txt'
DOCKER_COMPOSE_BUILD_OPTIONS="" #any options for `docker-compose build`
DOCKER_COMPOSE_UP_OPTIONS="" #any options for `docker-compose up`
DOCKER_COMPOSE_RUN_OPTIONS="" #any options for `docker-compose run`
TEST_CONTAINERS="application1=/test.sh,application2=/test2.sh"
##### get port remover #####
View WeekIntervalScheduler.php
<?php
/**
* Class WeekTimestamp
*/
final class WeekTimestamp
{
const SECONDS_IN_MINUTE = 60;
const SECONDS_IN_HOUR = self::SECONDS_IN_MINUTE * 60;
const SECONDS_IN_DAY = self::SECONDS_IN_HOUR * 24;
View env-to-export.sh
SED_EXPR='s/^\([A-Z0-9_]*\)=\(.*\)$/export \1="\2"/g'
printenv | sed "$SED_EXPR" > $ENV_FILE
View en-source-habr-postgres-cluster.md

If you've ever thought about trust and hope, you're not likely to have experienced it anything as much as you have a database management system. Well, really, this is what a database is! The title conveys the whole point - a place where data is kept, the main task is to STORE. And the saddest thing, as always, once these beliefs crash into the ruins of a downed production database. And what do I do -- you ask? Do not deploy anything on the servers -- we answer. Nothing unless it can recover itself, at least temporarily but reliably and quickly.

In this article, I will try to talk about my experience of configuring a built to last a lifetime Postgresql cluster within another failover solution from Google — Kubernetes (aka k8s).

Table of Contents

The article came out slightly longer than expected, and therefore you'll find many links in the text - mainly to the code within the given context.

@paunin
paunin / config-changer.sh
Last active Dec 29, 2016
Simple config(.conf or .ini) changer
View config-changer.sh
#CONFIGS= #in format variable1:value1[,variable2:value2[,...]]
#CONFIG_FILE= #path to file
echo "
#------------------------------------------------------------------------------
# AUTOGENERATED
#------------------------------------------------------------------------------
" >> $CONFIG_FILE
View source-habr-postgres-cluster.md

Если вы когда-нибудь задумывались о доверии и надежде, то скорее всего, не испытывали этого ни к чему так же сильно, как к системам управления базами данных. Ну и действительно, это же База Данных! В названии содержится весь смысл - место, где хранятся данные, основная задача ХРАНИТЬ. И что самое печальное, как всегда, однажды, эти убеждения разбиваются об останки такой одной умершей БД на 'проде'. И что же делать? -- спросите вы. Не деплоить на сервера ничего, -- отвечаем мы. Ничего, что не умеет само себя чинить, хотя бы временно, однако надежно и быстро!

В этой статье я попробую рассказать о своем опыте настройки почти бессмертного Postgresql кластера внутри другого отказоустойчивого решения от Google - Kubernetes (aka k8s)

## Содержание

Статья вышла немного больше чем ожидалось, а потому в коде много ссылок, в основном на код, в контексте которого идет речь.

@paunin
paunin / coverage-checker.php
Last active Dec 12, 2015
phpunit-covergae-checker.php
View coverage-checker.php
#!/usr/bin/env php
<?php
// http://ocramius.github.io/blog/automated-code-coverage-check-for-github-pull-requests-with-travis/
$inputFile = $argv[1];
$percentage = min(100, max(0, (int) $argv[2]));
if (!file_exists($inputFile)) {
throw new InvalidArgumentException('Invalid input file provided');
}
if (!$percentage) {
throw new InvalidArgumentException('An integer checked percentage must be given as second parameter');
@paunin
paunin / Compare.php
Last active Aug 29, 2015
Comarer 2 files
View Compare.php
<?php
namespace Compare;
/**
* нужно написать программу которая сравнивает два текстовых файла (терабайтных)
* и выводит в третий файл строки, которые есть в первом, но нет во втором.
*
* To run this utility just run `php ./Compare.php input_file1.txt input_file2.txt output_file.txt`
*/
class Compare
@paunin
paunin / callgraph.php
Last active Sep 28, 2018
xhprof usages
View callgraph.php
<?php
require_once(__DIR__.'/vendor/XhProf/xhprof_html/callgraph.php');
View frontend-app_angtest.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
<script src="https://code.angularjs.org/1.2.26/angular-route.js"></script>
<script src="app.js"></script>
</head>
<body ng-app="app2">
You can’t perform that action at this time.