Skip to content

Instantly share code, notes, and snippets.

View vehsamrak's full-sized avatar
❤️

Petr Karmashev vehsamrak

❤️
View GitHub Profile
@vehsamrak
vehsamrak / bug-level-algorithm.puml
Created February 2, 2018 10:21
Как определить на какой стороне баг?
@startuml
'Как определить на какой стороне баг?
(*) --> "Виден ли баг пользователю?"
If "" then
--> [Да] "Корректны ли данные запроса к серверу?"
If "" then
--> [Да] "Корректно ли отвечает сервер?"
If "" then
--> [Да] "Корректны ли данные в БД \nв результате обработки запроса сервером?"
@vehsamrak
vehsamrak / quickSort.php
Created December 3, 2017 20:46
Quick sort
<?php
function quickSort($array)
{
// base recursion case
if (count($array) <= 1) {
return $array;
}
// select first element as pivot point
@vehsamrak
vehsamrak / entrypoint.sh
Created May 5, 2017 12:51
Docker entrypoint with endless loop
#!/bin/bash
while :; do sleep 10; done
@vehsamrak
vehsamrak / bubbleSort.php
Created March 15, 2017 23:41
Bubble sort implementation
<?php
function bubble(array &$array)
{
$elementsNumber = count($array);
for ($min = 0; $min < $elementsNumber - 1; $min++) {
$least = $min;
for ($j = $min + 1; $j < $elementsNumber; $j++) {
<?php
$mysqlTypes = [
// INTEGER
// byte — кол-во байт на хранение,
// max/min — предельные значения,
// umax/umin — беззнаковые предельные значения
'int' => ['byte' => 4, 'min' => -2147483648, 'max' => 2147483647, 'umin' => 0, 'umax' => 4294967295],
'bigint' => [
'byte' => 8,
Низкая скорость из-за парсинга и компиляции в момент вызова функции;
Не используется кэш байткода;
Ограничен доступ к локальным переменным и пространствам имён;
Не поддерживается компиляторами, типа HipHop;
Не понятно что там с обработкой ошибок, возникших внутри eval-кода.
@vehsamrak
vehsamrak / IdGenerator.php
Last active October 7, 2016 18:38
Class for random string generation which can be used as id
<?php
/**
* Class for random string generation which can be used as id.
* Examples:
* $id = IdGenerator::generate(); // generates 8-symbol id
* $id = IdGenerator::generate(32); // generates 32-symbol id
* @author Vehsamrak
*/
class IdGenerator
@vehsamrak
vehsamrak / uuid.php
Last active May 20, 2016 07:19
PHP uuid v4
<?php
function uuid()
{
return sprintf(
'%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
// 32 bits for "time_low"
mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
@vehsamrak
vehsamrak / ImageProcessor.php
Last active March 14, 2016 09:14
ImageProcessor class for PHP
## Scaling image
#### Usage:
```
$imageProcessor = new ImageProcessor();
$imageProcessor->load($filePath);
$imageProcessor->resizeToHeight(100);
$imageProcessor->save($filePath);`
/**
* Class for image file operations:
@vehsamrak
vehsamrak / Install-php7.md
Created January 18, 2016 08:29 — forked from hollodotme/Install-php7.md
Installing php7-fpm with phpredis extension on Ubuntu 14.04

Install php7.0-fpm

# remove php5 modules
apt-get autoremove --purge php5-*
# add php-7.0 source list by [Ondřej Surý](https://github.com/oerdnj)
add-apt-repository ppa:ondrej/php-7.0
# Update index
apt-get update
# Install php7.0-fpm with needed extensions