Блог о технологиях и программировании

«Unetway» — блог о программировании, разработке и людях в IT. Здесь — статьи без воды, реальные решения и наблюдения изнутри. Пишу о том, как всё устроено на практике.

Ошибка Permission Denied при доступе к docker.sock в GitLab CI

Ошибка Permission Denied при доступе к docker.sock в GitLab CI

При работе с GitLab CI/CD может возникнуть ситуация, когда вы сталкиваетесь с ошибкой "Permission Denied при доступе к docker.sock". Она указывает на проблемы с доступом к Docker-демону, которые могут быть из-за неправильной конфигурации или настроек окружения. В данной статье рассмотрим причины этой ошибки и как её можно исправить.

CRUD на Livewire: когда лень писать нормальный фронт

CRUD на Livewire: когда лень писать нормальный фронт

Livewire — это такой чит-код для ленивых: вроде как у тебя фронт, но по факту — Blade с костылями. Если надо воткнуть CRUD без лишних плясок, оно спасает. А дальше уже сам решай — оставлять или выкидывать.

Livewire: установка и настройка в Laravel

Livewire: установка и настройка в Laravel

Livewire — это не серебряная пуля и уж точно не магия. Это костыль, но костыль удобный. Хочешь меньше писать JavaScript и больше жить в Laravel-шаблонах — норм вариант. Но не обманывайся: "поставил пакет и забыл" тут не работает.

Управление состоянием в Alpine.js

Управление состоянием в Alpine.js

Alpine.js — это мини-фреймворк, который позволяет оживлять страницы без тонны кода. Главное оружие здесь — состояние. Если не понимать, как с ним работать, любая интерактивность превратится в беспорядок.

Создание простого приложения с Alpine.js

Создание простого приложения с Alpine.js

Alpine.js — это такой «мини-Vue» для ленивых. Библиотека весит копейки, подключается в одну строчку и даёт тебе реактивность без геморроя с билдерами и тоннами кода. Чтобы не трепать языком, соберём классический todo-лист — добавляем задачи, удаляем, ставим галочки.

Тернарный и тернарный оператор объединения в PHP

Тернарный и тернарный оператор объединения в PHP

Тернарный оператор в PHP — тот самый костыль, который позволяет писать условие в одну строчку, а не размазывать if/else на полэкрана. А ещё есть плюсик для массивов — вроде объединение, но с подлянкой. Дальше — примеры, где он реально нужен, а где лучше не корячиться.

Почему IP пользователя неправильно определяется в PHP

Почему IP пользователя неправильно определяется в PHP

Определить IP-адрес пользователя — базовая задача для любого сайта. Но на практике всё не так просто: VPN, прокси и балансировщики нагрузки часто подменяют реальный IP и передают в PHP не то, что вы ожидаете.

Почему вместо new для работы с классами нужно использовать DI

Почему вместо new для работы с классами нужно использовать DI

Если ты всё ещё пихаешь new куда попало, поздравляю — ты сам себе роешь яму. Код превратится в бетонный блок, тесты будут адом, а менять хоть что-то — проще сжечь проект. DI — не серебряная пуля, но без него твой код — свалка.