Skip to content

Instantly share code, notes, and snippets.

View denistouch's full-sized avatar
💭
Work in web-development

Denis Smrinov denistouch

💭
Work in web-development
View GitHub Profile
@denistouch
denistouch / Action.php
Last active December 30, 2022 07:12
Первичная обработка Update из телеграма с целью выбора сервиса, который будет отвечать за его выполнение и получения запроса описывающего его требования
<?php
namespace App\Model\Telegram;
use App\Service\TelegramBot\Actions\CommonAction;
class Action
{
public function __construct(
public readonly ActionRequest $request,
@denistouch
denistouch / docker-compose.yml
Last active December 30, 2022 06:40
Пример настройки docker compose для ситуации, когда собираемый образ используется повторно для запуска других сервисов
version: "3.8"
services:
fpm:
build:
args:
CONTAINER_UID: ${CONTAINER_UID}
CONTAINER_GID: ${CONTAINER_GID}
context: docker/fpm
image: local/fpm:1.0
@denistouch
denistouch / LessonController.php
Last active December 30, 2022 06:34
Разбор query параметров в модель при помощи атрибутов в php 8
<?php
namespace App\Controller;
use App\Attribute\QueryString;
use App\Attribute\RequestBody;
use App\Entity\Lesson;
use App\Entity\Studio;
use App\Model\ErrorResponse;
use App\Model\LessonChangeRequest;
@denistouch
denistouch / PasswordChangeSubscriber.php
Last active December 30, 2022 06:06
Восстановление пароля через почту
<?php
namespace App\Subscriber;
use App\Event\PasswordRestoreCreateEvent;
use App\Service\MailSendService;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class PasswordChangeSubscriber implements EventSubscriberInterface
{
@denistouch
denistouch / ChecksumContent.php
Last active December 30, 2022 05:34
Простой сервис использования инструментов ffmpeg для конвертации видео и аудио в hls формат, а так же для объединения аудио между собой с возможным добавлением тишины между ними, выполняется идемпотентно
<?php
namespace App\Model\Ffmpeg;
interface ChecksumContent
{
public function getChecksum(): string;
public function getOutPath(): string;
}
@denistouch
denistouch / Client.php
Created December 30, 2022 05:08
Basic implementation for Telegram OpenAuth for Symfony 6
<?php
namespace App\Entity;
use App\Repository\ClientRepository;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
#[ORM\Entity(repositoryClass: ClientRepository::class)]
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
@denistouch
denistouch / TestTask_0.java
Created November 30, 2018 14:40
For ПРОТЕЙ
package com.company;
import java.io.File;
import java.io.FileInputStream;
import java.io.RandomAccessFile;
public class TestTask_0 {
public static void main(String[] args) throws Exception {
FileInputStream inputStream = null;
RandomAccessFile randomAccessFile = null;
<component name="ProjectDictionaryState">
<dictionary name="denis" />
</component>