Pull to refresh
68
0
Anton Sukhachev @mrsuh

Web Developer

Send message

PHP Generics. Right here. Right now

Reading time 9 min
Views 14K


Многие PHP разработчики хотели бы видеть в PHP поддержку дженериков, и я в том числе. RFC по их добавлению был создан ещё в 2016 году, но до сих пор не принял окончательный вид. Я рассмотрел несколько вариантов решений поддержки дженериков в синтаксисе PHP, но не нашёл рабочей версии, которой мог бы воспользоваться обычный разработчик.


В итоге я решил, что могу сам попробовать реализовать такое решение на PHP. Скриншот выше — реальный пример того, что у меня получилось.


Если хочется сразу попробовать, то вот библиотека mrsuh/php-generics и репо, в котором можно поиграться.

Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 17

RC-лодка на ESP8266 NodeMCU

Reading time 9 min
Views 18K


Примерно полгода мне понадобилось, чтобы собрать такую лодку на дистанционном управлении.


Я расскажу про процесс разработки с самого начала: от лодки из потолочной плитки, гелевой ручки и консервной банки до модели из пластика, которую не стыдно подарить.


Если интересно, какие шишки мне пришлось набить, прошу под кат!


Осторожно! Под катом много картинок!
Total votes 92: ↑89 and ↓3 +86
Comments 50

Как я свой хобби-проект переносил на k8s

Reading time 5 min
Views 8.4K
image

В этой статье я хотел бы рассказать о своем хобби-проекте поиска и классификации объявлений о сдаче квартир из социальной сети ВКонтакте и опыте его переезда на k8s.

Total votes 22: ↑21 and ↓1 +20
Comments 6

Сравниваем PHP FPM, PHP PPM, Nginx Unit, React PHP и RoadRunner

Reading time 11 min
Views 49K


Тестирование производилось с помощью Yandex Tank.
В качестве приложения использовались Symfony 4 и PHP 7.2.
Целью являлось сравнение характеристик сервисов при разных нагрузках и нахождение оптимального варианта.
Для удобства все собрано в docker-контейнеры и поднимается с помощью docker-compose.
Под катом много таблиц и графиков.
Читать дальше →
Total votes 72: ↑67 and ↓5 +62
Comments 46

Мафия на Go, Vanila JS и WebSocket'aх

Reading time 4 min
Views 11K


Речь пойдет о web-реализации популярной карточной игры "Мафия". Она писалась для развлечения и получения опыта в разработке игр. Первая версия была написана за две недели свободного от работы времени и за такое же время переписана до второй версии. Плюс такой игры – отсутствие ведущего.
Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Comments 13

Архитектура сервиса сбора и классификации объявлений жилья из Вконтакте

Reading time 5 min
Views 9K


В этой статье я расскажу о том, как устроен и развивался сервис по поиску объявлений жилья из Вконтакте, почему была выбрана сервис-ориентированная архитектура, а также какие технологии и решения использовались при его разработке.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 10

Классификация объявлений из соц. сетей. В поисках лучшего решения

Reading time 5 min
Views 12K


Расскажу, как классификация текста помогла мне в поиске квартиры, а также почему я отказался от регулярных выражений и нейронных сетей и стал использовать лексический анализатор.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Comments 23

Continuous delivery с Travis CI и Ansible

Reading time 4 min
Views 11K

Настройка непрерывной доставки (Continuous delivery CD) для вашего проекта c github.com

Hеобходимо:

  • Репозиторий на github.com
  • Сервер для Ansible (для примера ip: 1.1.1.1)
  • Сервер для развертывания вашего проекта (для примера ip: 2.2.2.2)
  • Локальная машина с настроенным проектом
  • Базовые знания работы в командной строке, Travis CI и Ansible
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 9

Nginx + Lua + Redis. Эффективно обрабатываем сессию и отдаем данные

Reading time 6 min
Views 37K
image
Предположим, у вас есть данные, которые вы хотите кэшировать и отдавать, не используя тяжелые языки, как php, при этом проверяя, что пользователь аутентифицирован и имеет право на доступ к данным. Сегодня я расскажу, как, используя связку nginx lua redis, выполнить эту задачу, снять нагрузку с сервера и увеличить скорость отдачи информации сервером в десятки раз.
Читать дальше →
Total votes 36: ↑34 and ↓2 +32
Comments 12

SonarQube. Проверяем код на качество

Reading time 2 min
Views 92K


SonarQube — платформа для проверки кода на качество по правилам, основанным на соглашениях и стандартах. Поддерживает более 20 различных языков программирования.

Вот здесь можно посмотреть все эти правила.

Хочу поделиться небольшим руководством, как подружить sonarQube, PhpStorm и ваш проект. Все действия описаны для Windows, но все так же настраивается и под другую ОС.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 6

Миграция с Symfony 2.0 до 2.6

Reading time 4 min
Views 5.4K
В этой статье я хотел бы рассказать о некоторых нюансах, через которые пришлось пройти для миграции проекта с устаревшей Symfony 2.0 до актуальной Symfony 2.6.

Менеджер зависимостей

В каждом проекте Symfony есть свои зависимости (бандлы). В версии 2.0 зависимости указывались в файле deps и подтягивались командой:

 php bin/vendors install

Сейчас для этих целей актуально использовать Composer.

Скачиваем Composer в корень репозитория:
Читать дальше →
Total votes 15: ↑10 and ↓5 +5
Comments 9

Information

Rating
Does not participate
Registered
Activity