Как и хотел, достряпал свой бойлерплейт 💃
https://packagist.org/packages/axenov/blessphp
Постарался подготовить максимально готовый минимально сложный проект, который развернул и погнал. Под капотом twig, flightphp, bootstrap 5, ionicons 6, phpunit, готовый docker-compose.yml, мультиязычность, консольный скрипт bless и коллекции от ларки.
Вообще, местами я делал BlessPHP с оглядкой на #laravel (например,
У меня на packagist есть пакет-библиотека, это — проект, считай, чуть иной опыт, интересный. Щупайте, жду issues.
#composer #php #моё #foss @axenov_dev
https://packagist.org/packages/axenov/blessphp
Постарался подготовить максимально готовый минимально сложный проект, который развернул и погнал. Под капотом twig, flightphp, bootstrap 5, ionicons 6, phpunit, готовый docker-compose.yml, мультиязычность, консольный скрипт bless и коллекции от ларки.
Вообще, местами я делал BlessPHP с оглядкой на #laravel (например,
bless
чем-то напоминает artisan
, конфиги, функции-хелперы...). Для работы с БД из коробки (пока) ничего нет, ибо это легко расширяется вручную, но у меня есть желание доработать проект под PDO и Redis через psr-совместимые пакеты. Этого там не хватает и тогда получится вполне самодостаточная связка, при этом проект сильно не разжиреет.У меня на packagist есть пакет-библиотека, это — проект, считай, чуть иной опыт, интересный. Щупайте, жду issues.
#composer #php #моё #foss @axenov_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3
Flexbox Playground
Простая, наглядная и открытая песочница для изучения работы flex-свойств CSS
#foss #tools #js #css @axenov_dev
Простая, наглядная и открытая песочница для изучения работы flex-свойств CSS
#foss #tools #js #css @axenov_dev
👍1
Написал простой скрипт для копирования файлов из одной директории в другую. Что?
Ситуация: syncthing синхронит фотки/видюхи с мобилки на комп в один конец (и создание, и удаление). Это уже хорошо, но мне постоянно приходится держать файлы на мобилке, чтобы потом на компе их скопировать всё куда надо, и только потом уже чистить мобилку. Иначе на компе тоже всё затрётся.
Довольно поздно, но всё же я решил полениться правильно: по мере появления файлов, копировать их из директории syncthing в другую. Эта другая просто будет постепенно копиться и сортироваться мной уже в любое время вручную. Это даст мне безопасно очистить место на мобилке и не потерять копии на компе.
В итоге написал простую обёртку над
В общем, если у тебя есть какой-то похожий кейс, то можешь заточить скриптик под себя:
👩💻 https://gist.github.com/anthonyaxenov/49c640dd4aaee77e8df33d6f5d2eeb0c
#foss #моё #shell @axenov_dev
Ситуация: syncthing синхронит фотки/видюхи с мобилки на комп в один конец (и создание, и удаление). Это уже хорошо, но мне постоянно приходится держать файлы на мобилке, чтобы потом на компе их скопировать всё куда надо, и только потом уже чистить мобилку. Иначе на компе тоже всё затрётся.
Довольно поздно, но всё же я решил полениться правильно: по мере появления файлов, копировать их из директории syncthing в другую. Эта другая просто будет постепенно копиться и сортироваться мной уже в любое время вручную. Это даст мне безопасно очистить место на мобилке и не потерять копии на компе.
В итоге написал простую обёртку над
inotifywait
. Он ждёт, пока наступит событие MOVED_TO
. Здесь фига в том, что syncthing при синхронизации создаёт временный скрытый файл, пишет его и потом переименовывает (перемещает) в правильное имя. Когда файл записан, событие MOVED_TO
, в отличие от многих других, гарантированно возникает лишь единожды. А чтобы игнорировать лишние файлы, я строго урезал нужные по регулярке.В общем, если у тебя есть какой-то похожий кейс, то можешь заточить скриптик под себя:
#foss #моё #shell @axenov_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
Gist
[SHELL] Backup files synced from Syncthing
[SHELL] Backup files synced from Syncthing. GitHub Gist: instantly share code, notes, and snippets.
👍2
Репозиторий с материалами для изучения по разным проверенным годами технологиям. Нацелен на профи, которые хотят вкатиться во что-то новое и повысить продуктивность. Обновляется редко, охватывает прежде всего *nix операционные системы, инструменты контейнеризации, деплоя и оркестрации.
#docs #github #codecamp @axenov_dev
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - scottslowe/learning-tools: A collection of tools and files for learning new technologies
A collection of tools and files for learning new technologies - scottslowe/learning-tools
🔥2
Утилита для получения короткой справки по командам с конкретными примерами использования. Поддерживается сообществом.
#foss #javascript #shell #docs
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему вам не нужна версия для слабовидящих
Спойлер: потому что надо сразу делать сайт доступным для многих. Отличный #доклад по фронтенду на тему доступности интерфейса.
👨💻 @axenov_dev
Спойлер: потому что надо сразу делать сайт доступным для многих. Отличный #доклад по фронтенду на тему доступности интерфейса.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Почему вам не нужна версия для слабовидящих
Представьте, что в кафе на застолье пришел веган. Его друзья, зная это, специально выбрали кафе с отдельным меню для веганов. Но в нем только макароны с кабачками и вишневый компот, а в обычном меню...
Утилита для установки переменных окружения в зависимости от текущей директории. Более простая альтернатива:
#foss #shell
Please open Telegram to view this post
VIEW IN TELEGRAM
Написал скрипт для генерации cue-sheet к аудиофайлам, которые были скачаны через youtube-dl. Вкратце: качаешь аудио-дорожку с YT или YTM (можно моим готовым алиасом) вместе с метаинформацией, запускаешь ytdlcue с указанием аудио файла и БАМ — готовый cue оказывается рядом.
Для этого в видео должны быть метки: их можно заметить по засечкам и названиям конкретных мест на полосе перемотки (например, как здесь).
Когда я собирал инфу о том, какие вообще есть решения, их оказалось по пальцам одной руки, да и те — на питоне и js. Мне потребовались только баш и jq для парсинга json, который выкачивает youtube-dl с метаинформацией о видео.
Скрипт не учитывает некоторые мелочи, но отрабатывает очень хорошо, результат проверен.
#моё #foss #shell
Please open Telegram to view this post
VIEW IN TELEGRAM
Gist
[SHELL] CUE-sheet generator for youtube-dl
[SHELL] CUE-sheet generator for youtube-dl. GitHub Gist: instantly share code, notes, and snippets.
onelinerhub.com
2800+ примеров однострочных решений по 75 технологиям с объяснениями; как #foss, так и языкам программирования.
#docs👨💻 @axenov_dev
2800+ примеров однострочных решений по 75 технологиям с объяснениями; как #foss, так и языкам программирования.
#docs
Please open Telegram to view this post
VIEW IN TELEGRAM
Столкнулся на работе с занятной проблемой на Laravel 9.
Однажды, я, прогоняя тесты phpunit, никак не мог добиться их удачного выполнения: они постоянно падали, но написаны гарантированно верно, вчера их запускал. Через какое-то время всё прошло. Я не был удивлён: на БД-песочнице проводились работы, вскоре она была перезапущена и я таки прогнал тесты с успехом.
Но осознав произошедшее меня обдало ледяным потом -- стоп, а какого хуя? В моих тестах нет подключения к БД!
https://axenov.dev/почему-laravel-пытается-подключиться-к-бд-пр/
#блог #моё
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Почему Laravel пытается подключиться к БД при инициализации?
Photo by John Barkiple on Unsplash Столкнулся на работе с занятной проблемой на Laravel 9. Однажды, я, прогоняя тесты phpunit, никак не мог добиться их удачного выполнения: они постоянно падали, но написаны гарантированно верно, вчера их запускал. Через какое…
Утилита для сбора статистики по
#foss #shell #git
Please open Telegram to view this post
VIEW IN TELEGRAM
Простая и гениальная утилита для ручного управления рабочим окружением оболочки. Например, при вызове
desk myproj
выполняет shell-сценарий ~/.desk/desks/myproj.sh
, т.о. можно на лету менять контекст (шелл-функции, алиасы, переменные окружения) и выполнять прочие необходимые команды для быстрой подготовки к дальнейшей работе.#foss #shell
Please open Telegram to view this post
VIEW IN TELEGRAM
Пакет для работы с ДТО прекратили развивать. В посте предлагаются альтернативные пакеты, но также можно создать форк и подключить его, либо явно включить пакет в проект.
#php
Please open Telegram to view this post
VIEW IN TELEGRAM
stitcher.io
Deprecating spatie/data-transfer-object - stitcher.io
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
📝 Настройка среды php-разработки с нуля на Netbeans + php8.1 + docker + xdebug3
Привет. Это здоровенный мануал-шпаргалка по настройке IDE для👩💻 php-разработки. Полагаю, он больше сгодится для российских и белоруских разработчиков, переходящих c 👩💻 PhpStorm, ибо есть предпосылочка. В этом контексте было решено построить себе запасной инструментарий. А ещё я всё-таки закрыл гештальт и познакомился с Netbeans, как давно хотел.
На деле эта IDE во многих отношениях проще шторма, но местами и переусложнена. Постараюсь раскрыть здесь это поподробнее. Поэтому статья иногда будет дополняться и корректироваться.
https://axenov.dev/netbeans-php-docker-xdebug/
#php #блог #моё #NetBeans
👨💻 @axenov_dev 👍 @axenov_blog
Привет. Это здоровенный мануал-шпаргалка по настройке IDE для
На деле эта IDE во многих отношениях проще шторма, но местами и переусложнена. Постараюсь раскрыть здесь это поподробнее. Поэтому статья иногда будет дополняться и корректироваться.
https://axenov.dev/netbeans-php-docker-xdebug/
#php #блог #моё #NetBeans
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
📝 Termux: настроить доступ по ssh между Android и Ubuntu
Привет. Сегодня я хочу связать по SSH два мобильника Samsung A50 и A53 (оба без root-прав) и Ubuntu 22.04, чтобы ходить туда-сюда с любого девайса на любой. Всё происходит дома в рамках одного wifi-роутера.
В сухом остатке всё оказывается быстро и просто. Поднимаем везде ssh-серверы и прописываем друг другу ключи. Специфика только в termux. Тут расписаны пошаговые команды: чтобы и самому не забыть, и тебе показать, ежели впервые.
https://axenov.dev/termux-настроить-доступ-по-ssh-между-android-и-ubuntu/
#блог #моё #termux #ssh #android
👨💻 @axenov_dev 👍 @axenov_blog
Привет. Сегодня я хочу связать по SSH два мобильника Samsung A50 и A53 (оба без root-прав) и Ubuntu 22.04, чтобы ходить туда-сюда с любого девайса на любой. Всё происходит дома в рамках одного wifi-роутера.
В сухом остатке всё оказывается быстро и просто. Поднимаем везде ssh-серверы и прописываем друг другу ключи. Специфика только в termux. Тут расписаны пошаговые команды: чтобы и самому не забыть, и тебе показать, ежели впервые.
https://axenov.dev/termux-настроить-доступ-по-ssh-между-android-и-ubuntu/
#блог #моё #termux #ssh #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Termux: настроить доступ по ssh между Android и Ubuntu
Photo by Lukas on Unsplash Привет. Сегодня я хочу связать по SSH два мобильника Samsung A50 и A53 (оба без root-прав) и Ubuntu 22.04, чтобы ходить туда-сюда с любого девайса на любой. Всё происходит дома в рамках одного wifi-роутера. В сухом остатке всё оказывается…
👍1
📝 Laravel: скаляры в замыканиях маршрутов и контроллерах (перевод)
Для начала небольшое предисловие и контекст.
Это мой перевод оригинальной заметки «Primitive Types in Controllers and Closure Routes» от Paul Redmond. Я нашёл её когда пытался разобраться с одной маленькой проблемой при работе с маршрутами и их параметрами в Laravel.
Суть заключена в трёх символах и одном пробеле, а случай не такой уж частый.
https://axenov.dev/laravel-типы-в-маршрутах-и-контроллерах/
#блог #моё #laravel #php #перевод
👨💻 @axenov_dev 👍 @axenov_blog
Для начала небольшое предисловие и контекст.
Это мой перевод оригинальной заметки «Primitive Types in Controllers and Closure Routes» от Paul Redmond. Я нашёл её когда пытался разобраться с одной маленькой проблемой при работе с маршрутами и их параметрами в Laravel.
Суть заключена в трёх символах и одном пробеле, а случай не такой уж частый.
https://axenov.dev/laravel-типы-в-маршрутах-и-контроллерах/
#блог #моё #laravel #php #перевод
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Laravel: скаляры в замыканиях маршрутов и контроллерах (перевод)
Привет. Для начала небольшое предисловие и контекст. Это мой перевод оригинальной заметки "Primitive Types in Controllers and Closure Routes" от Paul Redmond (кеш). Я нашёл её когда пытался разобраться с одной маленькой проблемой при работе с маршрутами и…
👍1
📝 Обновите свои SSH-ключи до Ed25519
Привет. Это мой самостоятельный перевод некогда случайно найденной мной оригинальной статьи Upgrade Your SSH Key to Ed25519, автор — Risan Bagja, ныне веб-разработчик из Швеции.
В статье идёт речь о том, как сгенерировать и использовать ключи с алгоритмом, отличным от набившего оскомину RSA, почему следует отказываться от RSA и что даёт этот ваш Ed25519.
https://axenov.dev/обновите-свои-ssh-ключи-до-ed25519/
#блог #моё #Linux #SSH #Перевод
👨💻 @axenov_dev 👍 @axenov_blog
Привет. Это мой самостоятельный перевод некогда случайно найденной мной оригинальной статьи Upgrade Your SSH Key to Ed25519, автор — Risan Bagja, ныне веб-разработчик из Швеции.
В статье идёт речь о том, как сгенерировать и использовать ключи с алгоритмом, отличным от набившего оскомину RSA, почему следует отказываться от RSA и что даёт этот ваш Ed25519.
https://axenov.dev/обновите-свои-ssh-ключи-до-ed25519/
#блог #моё #Linux #SSH #Перевод
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Обновите свои SSH-ключи до Ed25519
Привет. Это мой самостоятельный перевод некогда случайно найденной мной оригинальной статьи Upgrade Your SSH Key to Ed25519, автор -- Risan Bagja, ныне веб-разработчик из Швеции. Благодаря ей я когда-то чуть скорректировал свой взгляд на SSH и стал использовать…
👍2
📝 Как исправить ошибку SSH: no matching host key type found. Their offer: ssh-rsa
Вдогонку к предыдущему посту, я решил опубликовать и эту небольшую подсказку. Когда-то я столкнулся с этой ошибкой после апгрейда Ubuntu, кажется, до 20.04 при попытке подключения к какому-то git-репозиторию. Решение же банально.
https://axenov.dev/как-исправить-ошибку-ssh-no-matching-host-key-type-found-their-offer-ssh-rsa/
#блог #моё #Linux #SSH
👨💻 @axenov_dev 👍 @axenov_blog
Вдогонку к предыдущему посту, я решил опубликовать и эту небольшую подсказку. Когда-то я столкнулся с этой ошибкой после апгрейда Ubuntu, кажется, до 20.04 при попытке подключения к какому-то git-репозиторию. Решение же банально.
https://axenov.dev/как-исправить-ошибку-ssh-no-matching-host-key-type-found-their-offer-ssh-rsa/
#блог #моё #Linux #SSH
Please open Telegram to view this post
VIEW IN TELEGRAM
Блог Аксенова
Как исправить ошибку SSH: no matching host key type found. Their offer: ssh-rsa
Эта ошибка возникает при подключении к серверу, который принимает для аутентификации RSA-ключи, но используемый тобой ключ сгенерирован алгоритмом, отличным от RSA. Всё очень просто: достаточно в локальном файле ~/.ssh/config указать следующее: Host * # здесь…
👍2