Skip to content

Instantly share code, notes, and snippets.

@bravik
bravik / psr_to_symfony.php
Last active August 8, 2024 08:09
Psr Middleware to Symfony Subscriber Adapter Task
<?php
/**
* Task: https://gist.github.com/vudaltsov/dc4f372692d2eabbc8c3d29cd4de0ccd
* Udalcov's solution with fibers: https://gist.github.com/vudaltsov/6f298c3952b70a48a73e85c310b2edd5
*
* My non-fibers solution assumes no handling of handler exceptions in middleware =)
* And year, I know that using exceptions in control flow is not very good =)
*
* middleware does 3 things
@bravik
bravik / yandex-A.go
Last active November 7, 2022 14:46
Yandex A
package main
import (
"fmt"
"bufio"
"os"
"strings"
"strconv"
)
/*
* Quill 1.* cannot next block elements inside <li> including nested <ul>,<ol>.
* To achieve nested lists it uses flat linear lists with CSS class `ql-indent-\d+` on <li>.
* Nesting <ul> inside <ol> or vice-versa cause topmost list to break in two adjacent lists.
*
* There is the only solution: fix bad HTML after getting it from Quill and break it back before
* passing to Quill again for editing.
*/
const mkNode = (tagName = 'div') => document.createElement(tagName);
@bravik
bravik / QiwiPyamentSystem.php
Last active March 31, 2020 04:12
QiwiPaymentSystem
<?php
namespace PaymentSystems;
use Core;
use Exception;
use LE;
use Payment\ExtCurrency;
use Payment\QiwiWalletApi\QiwiUncertaintyException;
use Payment\QiwiWalletApi\QiwiWalletApi;
@bravik
bravik / vladivostok-pass-member-link.html
Last active March 13, 2019 05:08
Vladivostok Pass Member Widget
@bravik
bravik / App.java
Created February 11, 2018 12:29
Android DIContext example
package ru.bravik.vcp;
import android.app.Application;
import io.objectbox.Box;
import io.objectbox.BoxStore;
import io.objectbox.android.AndroidObjectBrowser;
import ru.bravik.vcp.di.DIContext;
import timber.log.Timber;
<?php
/**
* @author Roman Naumenko <naumenko_subscr@mail.ru>
* Date: 25.12.2017
* Time: 12:41
*/
namespace App\Entity;
use Doctrine\Common\Collections\AbstractLazyCollection;
@bravik
bravik / 0_security
Last active December 21, 2015 13:39
Формат данных
Меры безопасности.
1. Фильтрация по IP
Сейчас в фильтре должны быть только сайт иллюзиона и сервер вл.ру.
2.Подпись некоторых ВХОДЯЩИХ запросов общим секретом.
У сервера и клиентов есть общий секрет - символьная строка произвольной длины (псвудослучайно сегенрированная).
У каждого клиента разный секрет, какой секрет изсползовать для какого клиента сервер определяет по IP адресу.
Все входящие запросы должны подписываться по следующей схеме:
$sign = md5(зparam1 . param2 . paramN . $shared_secret);