Чтобы показать размер акулы, через которую современный Software development перепрыгнул, вот реальная история.
Пять лет назад надо было организовать JWT аутентификацию на сайте с PHP бэкендом. Взял
Через некоторое время делал JWT аутентификацию на другом проекте, заметил, что
Продолжение следует...
#laravel #dx #optimization #jwt
Пять лет назад надо было организовать JWT аутентификацию на сайте с PHP бэкендом. Взял
firebase/php-jwt
- продукт разработчиков Google, ноль зависимостей, один файл среднего размера который делал всю криптографию. Логика там простая - сгенерировать JWT токен при логине и проверить подпись токена при запросе с фронтенда. Реализация на бэке заняла строк 50 кода, на фронте - столько же.Через некоторое время делал JWT аутентификацию на другом проекте, заметил, что
firebase/php-jwt
переписался в ОО стиле - появились классы JWT
, Key
, ExpiredException
и т.д. Логика та же, размер общий чуть увеличился.Продолжение следует...
#laravel #dx #optimization #jwt
О сложности в SD (продолжение)
Недавно надо было поставить JWT аутентификацию на Ларавель. Посмотрел в интернете - делается через пакет
Залез внутрь пакета - там 65 php файлов. Глянул в зависимости в composer.json:
Ой-вей, так этот пакет даже JWT криптографией не занимается, это просто прослойка между Ларавелем и другими пакетами, которые уже делают что-то полезное. То есть, это аналог того кода в 50 строк, который я писал пять лет назад.
Вот этот пакет со всеми зависимостями делает, по сути, то же самое, что и
Складывается впечатление, что как минимум 90% кода пишется не для того, чтобы решить конкретную бизнес задачу, а по другой причине. Чтобы получить доход, но не прямо и конкретно, а в целом, "для отрасли". Для этого усложняются фреймворки и методики. То, что можно сделать просто, делается сложно. Это как таксист, который везет кругами неместного пассажира, чтобы накрутило на счетчик. Причем таксист сам не знает куда ехать - он ведёт по навигатору, он только это умеет. А навигатор ведет так, как в него заложил его хозяин.
Сфера software development усложняется и задурманивается, чтобы там нельзя было найти прямых путей. А те, кто помнит, как их находить, побыстрее вымерли.
#laravel #dx #optimization
Недавно надо было поставить 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. В бесплатной версии есть практически всё, что нужно, а недавно добавили и
Есть интеграция с
#timetracking #dx
Я привык к Clockify. В бесплатной версии есть практически всё, что нужно, а недавно добавили и
Calendar
, что еще более улучшило UX
.Есть интеграция с
Jira
, чтобы оттуда стартовать-останавливать треккер по конкретным задачам, генерация таймшитов, командная работа, организация проектов, клиентов и многое другое хоть для безмятежного фриланса, хоть для комфортной гребли на галере, хоть для спокойного вкалывания в кровавом энтерпрайзе.#timetracking #dx
app.clockify.me
Clockify - Time Tracking Software
Track how much time you and your team spend working on
tasks, run reports, manage projects, and boost your
productivity.
tasks, run reports, manage projects, and boost your
productivity.
Если у вас в проекте есть данные в
Для этого надо:
1) Поставить
2) Поставить расширение
3) Чтобы не ругался
Стало намного удобней.
Бандл не меняется.
#json #tip #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
Предлагаю поделиться в комментариях тремя вещами, которые делают вашу работу комфортной и эффективной. Что-то неординарное, а не такое банальное и мастхэвное, как
Начну:
1. Remote разработка на мини пк
2.
3. @sxzz/eslint-config
#dx
Vite
, например.Начну:
1. Remote разработка на мини пк
2.
Cursor IDE (AI помощник)
3. @sxzz/eslint-config
#dx