Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Возглавьте армию своей страны в войне с коварным врагом. Управляйте ресурсами, принимайте ключевые решения и ведите Граднар через суровый конфликт. Ваши действия определяют будущее, приводя страну к победе или поражению.

Симулятор войны: 1985

Мидкорные, Стратегии, Симуляторы

Играть

Топ прошлой недели

  • Oskanov Oskanov 9 постов
  • Animalrescueed Animalrescueed 44 поста
  • Antropogenez Antropogenez 18 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
11
Аноним
Аноним

Ищу работу PHP-разработчиком(Laravel)⁠⁠

7 дней назад

Всем привет! В преддверии НГ не хочется оставаться без банки кабачковой икры. Собственно, ищу работу удалённо уже около 2 месяцев(HH, VK, спец. форумы), откликаюсь активно, но откликов много, а предложений мало. Решил попробовать здесь — вдруг кто-то из HR или тимлидов ищет сотрудника.

Катаюсь на горах просмотров.

Катаюсь на горах просмотров.

О себе вкратце:

  • Опыт: Почти 6 лет в PHP, из них 3+ года на Laravel.

  • Уровень: Миддл.

  • Позиция: Backend или Fullstack(с уклоном в бэк) PHP-разработчик.

**Формат: удалённая работа**

Чем приходилось заниматься на прошлых местах:

  • Архитектура: Превращать legacy-монолит в аккуратное API. Сделал 40+ эндпоинтов, внедрил JWT, Swagger и поднял покрытие тестами с 20% до 80%.

  • Производительность: Заменять прожорливый Elasticsearch на Meilisearch. Точность поиска выросла на 40%, а потребление памяти упало на 60%.

  • Надёжность: Устранять проблему, когда сервер падал(OOM) при выгрузке сотен тысяч товаров. Реализовал чанкование и курсоры — выгрузка ускорилась в 5 раз.

  • Бизнес-логика: Строить систему прав доступа, чтобы админы могли гибко настраивать всё через визуальный интерфейс.

  • Парсинг: Парсить данные с разных крупных маркетплейсов(синих, фиолетовых, авто).

С последнего места ушёл не сам — проект закрыли, инвесторы слились. Оказывается, и такое бывает.

Если в Вашей компании/отделе ищут такого сотрудника — черкните, пожалуйста, контакты для связи. Скину резюме, всё расскажу подробнее.

Docker, CI/CD, PostgreSQL/MySQL и сопутствующий инструментарий.

Всем добра и спасибо, что дочитали!

Показать полностью
[моё] Поиск работы PHP Laravel IT Программист Помощь Разработка Удаленная работа
2
tproger.official
tproger.official
Типичный программист

Провокация⁠⁠

9 дней назад
Провокация
IT юмор Программирование Программист IT PHP
4
user7493001
user7493001

Как я начал писать песни про АйТи⁠⁠

29 дней назад

Был у меня как-то двухнедельный отпуск. Можно было расслабиться, никуда не ехать отдыхать (айтишники совсем заелись, скажете вы). От программирования устал, решил переключиться на какое-то другое занятие на эти пару недель. Уже давно была идея написать песню про IT. Даже некоторые черновики и наброски были. Тут я подумал, что это отличное время, чтобы воплотить идею в жизнь.

Исходные данные

  • Китайский микрофон fifine за 4к

  • Установленный по дефолту на макбуке garageband

  • Овер 10 лет опыта в айтишке

  • Очень базовые навыки в музыке (как раз к этому времени бросил занятия на фортепиано после 6 месяцев с нуля)

Моя домашняя студия

Моя домашняя студия

Работа над песнями

Первый текст собрал из черновиков. Он был про всеми известные принципы ООП и SOLID, но развернутый в уличный манер. Хотелось сделать переплетения айтишных терминов с жизненными ситуациями. Текст был написан довольно быстро, где-то за час.

Подумал, что писать музыку с нуля в 2025 может уже и лишнее. Зашел на сайтик бесплатных битов. Нашел интересный бит, скачал, попробовал записать что-то в garageband. В целом получилось атмосферно, хоть и на коленке. Мне не хотелось получить что-то высококачественное. Руководствовался тем, что нужно сначала выпустить MVP, собрать обратную связь, а уж потом работать над качеством.

Показал запись трека нескольким друзьям-айтишникам. Одни говорили, что я спятил, делать нечто такое в свои 35. Другие сказали, что им весьма зашло.

Тем временем вооружившись ютубом я начал осваивать garageband. Написал еще штук 6 песен. Решил полученные навыки опробовать на практике, и биты для новых песен писал уже сам. Где-то придумал на клавишах мелодию, где-то записал гитару, что-то собрал из готовых семплов.

Мои попытки освоить garageband

Мои попытки освоить garageband

Проблемы

  • Когда записывал вокал в разные дни - не мог повторить тот же звук голоса, что был записан несколькими днями ранее. Так как париться с этим не хотелось - записал какие-то вещи поверх, в каких-то отдельных кусках вокал звучит по-другому. Но, подумал, что так даже искренее, чем когда все вылизано и четко.

  • Кент по музыке сказал, что нужно пытаться попать в плейлисты яндекс-музыки. А альбомы нет смысла выкладывать, пока нет аудитории. Вобщем решил последовать его совету, несмотря на то, что это задумывалось, как небольшой узконаправленный проектик.

  • Я забыл, где скачал бит для первой песни. На стриммингах можно легко нарушить авторские права. Очень долго пытался найти источник. В итоге в истории браузера нашел ссылку. Мне повезло - бит был под лицензией CC0, считай передан в народное творчество.

  • Звук у первого трека вышел совсем плохой. Отсутствие навыков сведения и мастеринга дали о себе знать. Не получилось даже сбалансировать громкость вокала и музыки. Но к следующим композициям стало получше.

Проблем было больше, но все перечислять долго и не очень целесообразно в рамках этой статьи.

Запуск и продвижение

  • Обсудили с кентом по музыке, что будем выкладывать по 1 треку с перерывом в 4-5 недель. В итоге я перестал рассчитывать на попадание в плейлисты и стратегию поменял. Сейчас на стримингах 2 трека, ожидаю в ближайшие 2 недели еще 2.

  • Название придумал сомнительное, но в голову больше ничего не пришло. DeadOS -с одной стороны связано с DDoS, с другой стороны нечто мрачное (dead), ну и в целом созвучно с ласковым названием деда (пожилого человека).

  • Я состою в нескольких IT-сообществах, а также делюсь творчеством с коллегами. Это сейчас основная моя аудитория слушателей, если можно так назвать =)

Пару синглов уже на стриммингах, еще пару выйдут в ближайшие пятницы

Пару синглов уже на стриммингах, еще пару выйдут в ближайшие пятницы

Фидбэк у людей неоднозначный. Но многим заходит - это здорово. А главное, что мне самому нравится! Делаю в первую очередь для души) Многие сравнивают с кровостоком из-за монотонной подачи. Кто-то с "кантейниром", но тут наверное сходства случайны (почти не слушал их). Кому-то нравятся панчи, кому-то сторителлинг. Но даже те, кому нравятся треки, редко подписываются на соцсети. Возможно айтишники этого не любят 😔

Делюсь с вами первыми треками:

  • Яндекс музыка | Вк | Spotify | Apple music

  • Bandlink с соцсетями

Если кому-то история зайдет, напишу еще про разные нюансы: модерации обложек, верификации на стриммингах, боль от вертикальных видео, другие возникающие проблемы. Про то, как объяснял жене, про что вообще эти песни.

P.S. Если кто-то дослушал ООП до конца - да, я действительно писал на php в свои 22 года.

Показать полностью 3
[моё] IT Музыкальная группа PHP Программист Длиннопост
1
7
tproger.official
tproger.official
Типичный программист

Загадка от Жака Фреско⁠⁠

1 месяц назад
Загадка от Жака Фреско
IT юмор IT Программирование PHP Web
17
6
ProgTime
ProgTime
Лига программистов

Автоматизация Laravel: как сделать процесс разработки быстрой и надёжной⁠⁠

1 месяц назад
Автоматизация Laravel

Автоматизация Laravel

Разработка на Laravel становится действительно эффективной, если автоматизировать каждую стадию — от поднятия окружения до тестирования и проверки кода. В этой статье я расскажу, как выстроить рабочий процесс, который минимизирует рутинную работу, повышает качество кода и ускоряет выпуск новых фич.

Материал рассчитан на тех, кто уже знаком с Laravel и хочет внедрить автоматизацию: проверки, стиль, статический анализ, готовый Docker-Compose и др. Ниже — конкретные инструменты, советы и примеры из реального проекта.

Все актуальные скрипты и примеры можно посмотреть в репозитории:
https://github.com/prog-time/git-hooks

Буду рад если вы поддержите репозиторий ⭐️ или напишете свои предложения в раздела Issues

Подготовка окружения через Docker Compose

Я предпочитаю начинать любой Laravel-проект с надёжной конфигурации Docker Compose.

Это даёт:

  • изолированное окружение разработки, тестирования, мониторинга;

  • независимые контейнеры, чтобы компоненты не мешали друг другу;

  • быстрое развёртывание и минимизацию «работы вручную».

Сервисы, которые я поднимаю:

  • php-fpm — чтобы исполнять PHP-код,

  • PostgreSQL — база данных,

  • Redis — кэш и очереди,

  • Grafana + Loki — для логов и мониторинга,

  • pgAdmin — интерфейс к БД,

  • queue - контейнер для очередей запускает php artisan queue:work.

Каждый сервис — в отдельном контейнере. Это даёт гибкость: можно обновлять один сервис без простоя остальных, менять версии без конфликта, и так далее.

Пример docker-compose.yml

Совет: Используйте готовые шаблоны docker-compose.yml, сразу поднимающие весь стек. Это экономит время при старте проекта.

Поддержка единого стиля кода с Laravel Pint

Чтобы соблюдать PSR-12 и единый стиль кода, я пользуюсь laravel/pint.

Пакет Pint для Laravel:

  • автоматически форматирует файлы PHP по заданным правилам,

  • позволяет не думать вручную о расстановке скобок, отступах и т.д.

Пример конфигурации pint.json

Запуск Pint перед коммитом гарантирует, что весь код будет в нужном стиле — не нужно править вручную после ревью.

Статический анализ: PHPStan + Larastan

Чтобы ловить ошибки на раннем этапе, я использую связку phpstan/phpstan + nunomaduro/larastan.

Они помогают:

  • находить ошибки типов,

  • выявлять недостающие проверки,

  • предупреждать баги до запуска приложения.

Пример phpstan.neon

Преимущества:

  • баги выявляются ещё до запуска кода;

  • повышается стабильность и надёжность проекта;

  • интеграция в процесс разработки минимально мешает.

Git Hooks и shell-скрипты для проверок

Для поддержания качества кода я использую Git Hooks, которые автоматически проверяют код перед коммитом и пушем. Все проверки вынесены в отдельные shell-скрипты, что позволяет гибко настраивать их для разных проектов.

Основные подходы:

1. Pre-commit: проверка изменённых файлов

  • Проверяются только новые или изменённые файлы, что ускоряет процесс;

  • Скрипты запускают Pint и PHPStan, автоматически исправляют стиль и выявляют ошибки;

  • Если проблем нет, коммит продолжается без задержек.

2. Постепенное исправление старых ошибок

  • Для старых проектов скрипты проверяют, что количество ошибок в файле уменьшилось хотя бы на 1–2 по сравнению с предыдущим коммитом;

  • Такой подход позволяет внедрять проверки без блокировки разработки.

3. Проверка наличия тестов для классов

4. Проверка работы Docker-сборки

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

Shell скрипт для работы с PHPStan

Пример работы PHPStan

Пример работы PHPStan

Скрипт для работы с PHPStan

Shell скрипт для работы с Pint

Пример работы с Pint

Пример работы с Pint

Скрипт для работы с Pint

Проверка наличия тестов для классов

Для достижения этой цели я использую скрипт, который проверяет наличие тестов для каждого PHP-класса, добавленного или изменённого в коммите.

Скрипт получает список изменённых и добавленных PHP-файлов и ищет соответствующий тестовый файл в директории tests.

Например, если в проекте есть класс app/Services/UserService.php, скрипт потребует создать файл теста tests/Unit/Services/UserServiceTest.php. Таким образом, любой новый или изменённый класс обязательно должен иметь соответствующий тест, что помогает поддерживать качество и надёжность кода.

Это скрипт, который постоянно дополняется, поэтому актуальную версию вы можете посмотреть здесь - https://github.com/prog-time/git-hooks

Пример проверки наличия тестов

Пример проверки наличия тестов

Проверка работы Docker сборки

Не менее важно регулярно проверять работу Docker сборки. Для этого я создаю отдельный shell-скрипт, который перезапускает все контейнеры и проверяет, что они успешно запустились. Такой подход позволяет убедиться, что изменения в конфигурации или коде не нарушили работу сервисов и приложение корректно поднимается в локальной среде.

Скрипт может автоматически останавливать текущие контейнеры, заново собирать их и запускать в фоне. После запуска выполняется проверка состояния через docker ps или docker compose ps, чтобы убедиться, что все контейнеры находятся в статусе healthy или up.

#!/bin/bash

echo "=== Остановка всех контейнеров ==="
docker-compose down

echo "=== Сборка контейнеров ==="
docker-compose build

echo "=== Запуск контейнеров в фоне ==="
docker-compose up -d

# Пауза для запуска сервисов
echo "=== Ждем 5 секунд для старта сервисов ==="
sleep 5

echo "=== Проверка состояния контейнеров ==="
# Получаем статус всех контейнеров
STATUS=$(docker-compose ps --services --filter "status=running")

if [ -z "$STATUS" ]; then
echo "Ошибка: ни один контейнер не запущен!"
exit 1
else
echo "Запущенные контейнеры:"
docker-compose ps
fi

# Дополнительно можно проверять HEALTHCHECK каждого контейнера
echo "=== Проверка состояния HEALTH ==="
docker ps --filter "health=unhealthy" --format "table {{.Names}}\t{{.Status}}"

echo "=== Скрипт завершен ==="

exit 0

Таким образом, перед деплоем или важными изменениями можно убедиться, что сборка полностью работоспособна и готова к развёртыванию.

Итоги и ключевые принципы

Автоматизация в Laravel — не «фича», а часть рабочего процесса.

Вот основные практики:

  • настроенное окружение через Docker Compose;

  • автоматические проверки стиля (Pint);

  • статический анализ (PHPStan + Larastan);

  • Git Hooks и скрипты — «сторожи качества» при коммите и пуше;

  • обязательное тестирование новых и изменённых классов.

Если внедрить всё это, можно:

  • сократить время на исправления;

  • поддерживать единообразный стиль кода;

  • повысить предсказуемость и стабильность приложения;

  • и главное — освободить команду для работы над функционалом, а не над «ремонтами кода».

Показать полностью 3
[моё] Программирование Laravel Программист Автоматизация PHP Тестирование Backend Длиннопост
23
595
asanbek.best
asanbek.best

Краткая история веб-разработки⁠⁠

2 месяца назад
Перевод:

Перевод:

- PHP мертв, используй ColdFusion!
- PHP мертв, используй ASP.NET!
- ... Ruby on Rails!
- ... Django!
- PHP мертв, используй NextJS!
с 30-м днем рождения PHP!

Показать полностью 1
PHP Программист IT юмор IT 1995 Программирование Языки программирования Aspnet Ruby on Rails 2025
185
0
user10391158
user10391158
ИТ-проекты пикабушников

Код в картинку в телеграм (как в carbon)⁠⁠

2 месяца назад

Сделал телеграм бота, внезапоно, на php. Решил попробовать асинхронность с помощью ReactPhp и мне показалось это очень удобным. Буду дальше копать эту тему, если идейки по другим простым ботам.

Получился очень шустрый и бот пока с минимальным функционалом генерация картинки по коду в чат режиме и inline через @codepreview_bot
Нет ни интграция с pastebin и пока плохо стилизует код для разных языков, но если бот людям зайдет это будет несложно добавить. Для моих целей пока хвататет.

Ссылка на бота: https://t.me/codepreview_bot

Inline режим в любом чате. Телеграм ограничивает в 255 символов

Inline режим в любом чате. Телеграм ограничивает в 255 символов

Чат режим

Чат режим

Показать полностью 1
[моё] Программирование Чат-бот It проекты PHP Гифка
0
18
rapidograf
rapidograf
Хомячу Сервер

Апач на малине⁠⁠

2 месяца назад

Примерно лет шесть назад, для капельного поливания подвесного огорода.

Поставил на малину Апач, телеграм бот, пых, яву.

Весь этот зоопарк соединил и удалено поливал огород по расписанию или по запросу телегу.

Пых и ява оказались рудиментами на которых была веб морда.

Связь шла через сервис noip

К машине по квадратной шине были присоединены rtc и Ферро электрическая память.

Память я использовал как место хранения последнего выключения малины в случае пропадания электричества.

В память каждые 10 сек перезаписывалось текущее время, так как память выдерживает миллиарды перезаписал то всё работало отлично.

Я знал когда электричество пропадало(писался в лог при запуске малины последнее записанное время) и когда включалось.

На малине жили какие-то жучки и паучки, возможно грелись о проц.

В силовой части стояло реле которое вклюслало клапан поливочный.

Астономеюность около трёх недель, пока не кончится вода в бочке.

ДокладЪ окончен

Показать полностью
[моё] Электрика Малина Raspberry pi Огород Автоматика Сервер Apache PHP Python Текст
29
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии