Skip to content

Instantly share code, notes, and snippets.

@dastanaron
dastanaron / deb-build.sh
Created January 22, 2024 13:17
Script for building debian package
#!/usr/bin/env bash
PROJECT_NAME="any_name"
PROJECT_VERSION="1.0"
PROJECT_BUILD_VERSION="1"
PACKAGE_NAME="anyName"
ARCHITECTURE="amd64"
#!/bin/bash
WORK_DIR=`dirname ${0}`
PROJECT_NAME=${1}
mkdir ${PROJECT_NAME}
cd "${WORK_DIR}/${PROJECT_NAME}"
@dastanaron
dastanaron / computeIntervalIntersectionsProgressive.ts
Last active February 18, 2024 20:41
Алгоритмы расчета пересекающихся интервалов.
/*
* Ну и скомбинировав два этих способа, я пришел к выводу, что можно все же вычислить индексы пересечений, и при этом оставить
* простой алгоритм, не зависящий от размера числа.
* Здесь создаем объект, в который поместим индексы которые пересеклись, и точки. Да точек тут будет меньше, только 2,
* чтобы показать в каких точках произошло пересечение, всю глубину, как в 1ом алгоритме мы не выявим.
* По сути поиск как во втором алгоритме, только мы клонировали массив, чтобы нам можно было искать индексы в изначальной структуре.
* Для этого мы заводим вот такую функцию findIndexByNumber, она то и будет по числу возвращать нам индекс.
*
* Есть и в этом алгоритме недостаток, если в передаваемых диапазонах, встретятся одинаковые числа,
* то индекс для обоих случаев проставится одинаковый
<?php
namespace Adapters;
use Vendor\PhpAmqpLib\Connection\AMQPStreamConnection;
use Vendor\PhpAmqpLib\Message\AMQPMessage;
class RabbitAdapter
{
git config --global alias.hist "log --pretty=format:'%C(yellow)[%ad]%C(reset) %C(green)[%h]%C(reset) | %C(green)%s %C(bold red){{%an}}%C(reset) %C(blue)%d%C(reset)' --graph --date=short"
@dastanaron
dastanaron / DiskSpace.php
Created January 23, 2018 08:00
Class FreeSpace for calculating hard disk space
<?php
namespace backend\components;
/**
* Class FreeSpace for calculating free hard disk space
* only php 7.0 or later
* @package backend\components
*/
class DiskSpace
@dastanaron
dastanaron / DateEntity.php
Created March 18, 2017 13:45
Класс для вывода русских названий недели и месяцев. Не является расширением DateTime, но использует его
<?php
/*
* Методы класса
* __construct($date) - должен получить строку с датой, или пустой, просто
* DateToTimestamp() - переводит полученную в конструктор дату в timestamp unix
* dateToBlog() - возвращает строку типа Суббота, 18 Март 2017
* RusDayofWeak() - возвращает русское название дня недели
* RusNameofMonth() - возвращает русское название месяца
*/
@dastanaron
dastanaron / MobilePhoneFormatExample.php
Created February 27, 2017 06:15
MobilePhoneFormatExample
<?php
function FormatMobilePhone($phone) {
return preg_replace('#(\d{1})(\d{3})(\d{3})(\d{2})(\d{2})#Us', '+$1 ($2) $3-$4-$5', $phone);
}
$phone = "79154401700";
@dastanaron
dastanaron / Logger.php
Last active January 29, 2018 13:58
Logger
<?php
namespace console\components;
/**
* Class Logger
* The component of logging the script execution. Good for console applications
* @package console\components
*/
class Logger {
@dastanaron
dastanaron / ValidatorFilesClass.php
Last active February 2, 2017 12:34
ValidatorFiles
<?php
/*
* Класс ValidatorFiles предназначен для проверки файлов или папок на возможность создания, записи, удаления и возможности манипуляций с файлами
* Класс не поддерживает вызов статических методов, при вызове класса, необходимо передать переменные пути и флаг вывода массива
*
* |-----Свойства класса-------------------------------------------------|
* | protected $path - путь, над которым будет произведен анализ |
* | protected $showaccess - флаг вывода информации |
* |---------------------------------------------------------------------|
*