Vue-FAQ
923 subscribers
561 photos
90 videos
556 links
Канал сайта https://vue-faq.org
Информация о Vue.js, фронтенд разработке и не только

Contacts: @RuslanMakarov
Download Telegram
Чтобы показать размер акулы, через которую современный Software development перепрыгнул, вот реальная история.

Пять лет назад надо было организовать JWT аутентификацию на сайте с PHP бэкендом. Взял firebase/php-jwt - продукт разработчиков Google, ноль зависимостей, один файл среднего размера который делал всю криптографию. Логика там простая - сгенерировать JWT токен при логине и проверить подпись токена при запросе с фронтенда. Реализация на бэке заняла строк 50 кода, на фронте - столько же.

Через некоторое время делал JWT аутентификацию на другом проекте, заметил, что firebase/php-jwt переписался в ОО стиле - появились классы JWT, Key, ExpiredException и т.д. Логика та же, размер общий чуть увеличился.

Продолжение следует...

#laravel #dx #optimization #jwt
О сложности в SD (продолжение)

Недавно надо было поставить JWT аутентификацию на Ларавель. Посмотрел в интернете - делается через пакет tymon/jwt-auth. Поставил, настроил.
Залез внутрь пакета - там 65 php файлов. Глянул в зависимости в composer.json:

"require": {
"php": "^5.5.9|^7.0",
"illuminate/auth": "^5.2|^6|^7|^8",
"illuminate/contracts": "^5.2|^6|^7|^8",
"illuminate/http": "^5.2|^6|^7|^8",
"illuminate/support": "^5.2|^6|^7|^8",
"lcobucci/jwt": "<3.4",
"namshi/jose": "^7.0",
"nesbot/carbon": "^1.0|^2.0"
}


Ой-вей, так этот пакет даже JWT криптографией не занимается, это просто прослойка между Ларавелем и другими пакетами, которые уже делают что-то полезное. То есть, это аналог того кода в 50 строк, который я писал пять лет назад.

Вот этот пакет со всеми зависимостями делает, по сути, то же самое, что и firebase/php-jwt. То же самое с точки зрения бизнес-требований, технической стороны, безопасности.

Складывается впечатление, что как минимум 90% кода пишется не для того, чтобы решить конкретную бизнес задачу, а по другой причине. Чтобы получить доход, но не прямо и конкретно, а в целом, "для отрасли". Для этого усложняются фреймворки и методики. То, что можно сделать просто, делается сложно. Это как таксист, который везет кругами неместного пассажира, чтобы накрутило на счетчик. Причем таксист сам не знает куда ехать - он ведёт по навигатору, он только это умеет. А навигатор ведет так, как в него заложил его хозяин.

Сфера software development усложняется и задурманивается, чтобы там нельзя было найти прямых путей. А те, кто помнит, как их находить, побыстрее вымерли.

#laravel #dx #optimization
Bun всячески пытается привлекать к себе пользователей, в том числе и такими приятными мелкими фишками, как комментарии в package.json

Стандарту JSON5 (который включает комментарии) уже много лет, но он все никак не приживется.

Инициатива Bun пытается адаптировать новый стандарт, но сломает запуск проекта в других js рантаймах и в других инструментах, что уже вызвало волну негатива сообщества.

#bun #dx #json
Для отслеживания затрачиваемого на работу времени даже на личных пет проектах удобно использовать тайм-треккеры.

Я привык к Clockify. В бесплатной версии есть практически всё, что нужно, а недавно добавили и Calendar, что еще более улучшило UX.

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

#timetracking #dx
Если у вас в проекте есть данные в json файлах, то иногда удобней работать с json5 (+комментарии и переносы строк, как минимум)

Для этого надо:

1) Поставить Vite плагин vite-plugin-json5
2) Поставить расширение json5 для VS Code для подсветки синтаксиса
3) Чтобы не ругался TypeScript, прописать в index.d.ts:

declare module "*.json5" {
const value: any;
export default value;
}


Стало намного удобней.

Бандл не меняется.

#json #tip #dx
Предлагаю поделиться в комментариях тремя вещами, которые делают вашу работу комфортной и эффективной. Что-то неординарное, а не такое банальное и мастхэвное, как Vite, например.

Начну:

1. Remote разработка на мини пк
2. Cursor IDE (AI помощник)
3. @sxzz/eslint-config

#dx