GitFlow одна из самых старых и формализованных схем ветвления, про которую до сих пор говорят.
Модель появилась в 2010 году и стала популярной, потому что чётко разделяла разработку, релизы, фичи и хотфиксы — то, чего многим командам тогда сильно не хватало.
В GitFlow у каждой ветки есть своя роль:
main — прод-готовый код
develop — интеграционная ветка
feature/ — разработка новых фич
release/ — подготовка релизов
hotfix/ — срочные правки в проде
Такой подход отлично подходит командам с плановыми релизами, поддержкой нескольких версий продукта или строгими QA/Compliance процессами.
Всё движется по понятной схеме, и долгосрочная поддержка становится проще.
Но у GitFlow есть и минусы.
Он добавляет лишнюю сложность, поощряет долгоживущие ветки и замедляет доставку, потому что каждый этап требует координации.
Поэтому команды, которые работают быстро или практикуют continuous deployment, обычно его не используют.
GitFlow всё ещё полезен, но сегодня это не универсальный вариант — он оправдан только там, где действительно нужен высокий уровень контроля и разделения процессов.
@WebDev_Plus
Модель появилась в 2010 году и стала популярной, потому что чётко разделяла разработку, релизы, фичи и хотфиксы — то, чего многим командам тогда сильно не хватало.
В GitFlow у каждой ветки есть своя роль:
main — прод-готовый код
develop — интеграционная ветка
feature/ — разработка новых фич
release/ — подготовка релизов
hotfix/ — срочные правки в проде
Такой подход отлично подходит командам с плановыми релизами, поддержкой нескольких версий продукта или строгими QA/Compliance процессами.
Всё движется по понятной схеме, и долгосрочная поддержка становится проще.
Но у GitFlow есть и минусы.
Он добавляет лишнюю сложность, поощряет долгоживущие ветки и замедляет доставку, потому что каждый этап требует координации.
Поэтому команды, которые работают быстро или практикуют continuous deployment, обычно его не используют.
GitFlow всё ещё полезен, но сегодня это не универсальный вариант — он оправдан только там, где действительно нужен высокий уровень контроля и разделения процессов.
@WebDev_Plus
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Google запустила CodeWiki — платформу, где можно выбрать любой GitHub-репозиторий и получить к нему нормальную документацию с визуализациями, объяснениями и даже видео.
Там еще есть встроенный чат, где можно спрашивать что угодно про репозиторий: архитектуру, функции, связи файлов и прочее.
Скоро появится поддержка приватных реп в GitHub, так что можно присмотреться заранее🙂
codewiki.google
@WebDev_Plus
Там еще есть встроенный чат, где можно спрашивать что угодно про репозиторий: архитектуру, функции, связи файлов и прочее.
Скоро появится поддержка приватных реп в GitHub, так что можно присмотреться заранее
codewiki.google
@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3
This media is not supported in your browser
VIEW IN TELEGRAM
API Popover выводит ваш UI на отдельный верхний слой, так что вам больше не нужно мучиться с управлением фокусом. Плюс оформление затемнения настолько короткое, что помещается прямо сюда:
Создавайте больше, тратя меньше кода → https://goo.gle/3XvDUZk
@WebDev_Plus
[popover]::backdrop {
background: rgb(52, 168, 83);
backdrop-filter: blur(3px);
}Создавайте больше, тратя меньше кода → https://goo.gle/3XvDUZk
@WebDev_Plus
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Next.js 16: cacheLife
Настройка времени, в течение которого:
• заранее подгруженные данные могут переиспользоваться на клиенте без повторного запроса
• заранее отрендеренные данные могут переиспользоваться на сервере без повторного рендера
Документация: https://nextjs.org/docs/app/api-reference/functions/cacheLife
@WebDev_Plus
Настройка времени, в течение которого:
• заранее подгруженные данные могут переиспользоваться на клиенте без повторного запроса
• заранее отрендеренные данные могут переиспользоваться на сервере без повторного рендера
Документация: https://nextjs.org/docs/app/api-reference/functions/cacheLife
@WebDev_Plus
Хватит делать эти (до смешного простые) ошибки в TypeScript.
Не используй String. Серьезно.
String (с большой буквы) - объект-обертка из JS (плохая идея)
string (с маленькой) - примитивный тип (вот так правильно)
То же самое касается Number и Boolean.
Всегда используй типы с маленькой буквы.
@WebDev_Plus
Не используй String. Серьезно.
String (с большой буквы) - объект-обертка из JS (плохая идея)
string (с маленькой) - примитивный тип (вот так правильно)
То же самое касается Number и Boolean.
Всегда используй типы с маленькой буквы.
@WebDev_Plus
🤔6❤1😭1
Await Dictionary продвинулся на Stage 2.7 в TC39
Команда разработки ECMAScript продолжает двигать язык вперед. Сегодня предложение Await Dictionary успешно дошло до Stage 2.7 в комитете TC39.
Одним из активных участников улучшения стал инженер Bloomberg Адам Кутмор, за что коллеги уже успели его поздравить.
Сейчас Promise.all возвращает результаты в виде массива по позициям, что удобно, но не всегда читабельно. Новое предложение Promise.allKeyed даст возможность получать результаты с именованными ключами в объекте. Это упростит код, особенно когда нужно обрабатывать несколько асинхронных операций с разными смыслами.
Фича всё еще в разработке, но выглядит как шаг к более чистому и выразительному асинхронному JavaScript.
@WebDev_Plus
Команда разработки ECMAScript продолжает двигать язык вперед. Сегодня предложение Await Dictionary успешно дошло до Stage 2.7 в комитете TC39.
Одним из активных участников улучшения стал инженер Bloomberg Адам Кутмор, за что коллеги уже успели его поздравить.
Сейчас Promise.all возвращает результаты в виде массива по позициям, что удобно, но не всегда читабельно. Новое предложение Promise.allKeyed даст возможность получать результаты с именованными ключами в объекте. Это упростит код, особенно когда нужно обрабатывать несколько асинхронных операций с разными смыслами.
Фича всё еще в разработке, но выглядит как шаг к более чистому и выразительному асинхронному JavaScript.
@WebDev_Plus
✍5❤1
This media is not supported in your browser
VIEW IN TELEGRAM
В Next.js (с cacheComponents) ожидание данных во время выполнения, например params, задает границу между статической и динамической частью страницы.
Переноси await ближе к тому месту, где он реально нужен.
@WebDev_Plus
Переноси await ближе к тому месту, где он реально нужен.
@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Рекомендация по производительности Postgres: индексируйте все внешние ключи.
Primary key в Postgres индексируется автоматически, но если этот primary key используется как внешний ключ в другой таблице, для него индекс там не создаётся сам по себе - его нужно добавить вручную.
@WebDev_Plus
Primary key в Postgres индексируется автоматически, но если этот primary key используется как внешний ключ в другой таблице, для него индекс там не создаётся сам по себе - его нужно добавить вручную.
@WebDev_Plus
👍1
Проблема: нужно включить пару конкретных настроек VS Code для всех, кто работает над проектом.
Решение: положи настройки в .vscode/settings.json и они автоматически применятся к проекту.
Вот несколько, которые мне нравятся.
@WebDev_Plus
Решение: положи настройки в .vscode/settings.json и они автоматически применятся к проекту.
Вот несколько, которые мне нравятся.
{
// Форматировать при сохранении через Prettier
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
// Чинить все ошибки и предупреждения ESLint при сохранении
"source.fixAll.eslint": "always",
// Организовывать импорты при сохранении
"source.organizeImports": "always"
},
// Использовать TypeScript из workspace, а не встроенный в VS Code
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
// Не автоподтягивать barrel-файлы MUI
"typescript.preferences.autoImportSpecifierExcludeRegexes": ["^@mui/[^/]+$"]
}@WebDev_Plus
Боитесь говорить по-английски? Потренируйтесь с помощью этого ресурса!
Он позволяет вам вести естественные разговоры с искусственным интеллектом.
Вы можете выбрать мужской или женский голос, который будет следовать контексту вашего разговора на протяжении всего общения.
Это бесплатно → http://app.sesame.com
@WebDev_Plus
Он позволяет вам вести естественные разговоры с искусственным интеллектом.
Вы можете выбрать мужской или женский голос, который будет следовать контексту вашего разговора на протяжении всего общения.
Это бесплатно → http://app.sesame.com
@WebDev_Plus
❤6👍1
This media is not supported in your browser
VIEW IN TELEGRAM
React Email 5.0 уже вышел
Лучший способ создавать электронные письма.
✓ Теперь с поддержкой темного режима!
✓ Совместимость с Tailwind 4
✓ 8 новых компонентов
Предварительный просмотр, линтер и многое другое:
→
@WebDev_Plus
Лучший способ создавать электронные письма.
✓ Теперь с поддержкой темного режима!
✓ Совместимость с Tailwind 4
✓ 8 новых компонентов
Предварительный просмотр, линтер и многое другое:
→
npx create-email@latest@WebDev_Plus
❤4
Старая HTML-фича, о которой до сих пор многие не знают или просто не используют, хотя она может заметно упростить вёрстку.
Кнопка submit не обязана быть дочерним элементом своего <form>.
@WebDev_Plus
Кнопка submit не обязана быть дочерним элементом своего <form>.
@WebDev_Plus
😁3❤1
Они выкатили PHP 8.5. И среди новых фич появился отличный пайп-оператор |>.
А разве не говорили, что его похоронили?
@WebDev_Plus
А разве не говорили, что его похоронили?
@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Context-aware CSS эффект свечения/блика на карточке
фишка такая: дублируешь и увеличиваешь иконку. двигаешь её через pointermove. вешаешь feGaussianBlur
https://codepen.io/jh3y/pen/WbwZaNa
@WebDev_Plus
фишка такая: дублируешь и увеличиваешь иконку. двигаешь её через pointermove. вешаешь feGaussianBlur
https://codepen.io/jh3y/pen/WbwZaNa
@WebDev_Plus
❤16👍3🔥2
«Создаёт интерфейсы визуального программирования на основе узлов»
https://github.com/retejs/rete/
@WebDev_Plus
https://github.com/retejs/rete/
@WebDev_Plus
❤6👍3
создал JavaScript за 10 дней
написал язык, который стал основой всего веба
соосновал Mozilla и участвовал в создании Firefox
никогда не выпячивал гений и не бегал за вниманием
всегда ставил инженерию выше хайпа
стал CEO, ушел через 11 дней из-за скандала
тихо вернулся с браузером Brave и перевернул тему приватности в интернете
до сих пор пишет код, до сих пор строит, доказывая, что талант не обязан шуметь
Брендан Айк — легенда, которой пользуются каждый день, но почти никогда не благодарят.
@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18🆒5
Лучшая библиотека для аутентификации в веб-проектах получила обновление и завезла новые фичи:
✓ работа без базы (stateless auth)
✓ более гибкая настройка OAuth
✓ ротация JWT-ключей
Поддерживаются React, Vue, Next.js, Nuxt, Astro и другие.
@WebDev_Plus
✓ работа без базы (stateless auth)
✓ более гибкая настройка OAuth
✓ ротация JWT-ключей
Поддерживаются React, Vue, Next.js, Nuxt, Astro и другие.
npm install better-auth
@WebDev_Plus
Это одна из самых полезных настроек VS Code:
Она показывает прямо в коде, где используется функция или переменная.
Удобно, когда проект большой и нужно быстро понять зависимости и связи в коде.
Ставь лайк. если давно пользуешься🩷
@WebDev_Plus
"typescript.referencesCodeLens.enabled": true
Она показывает прямо в коде, где используется функция или переменная.
Удобно, когда проект большой и нужно быстро понять зависимости и связи в коде.
Ставь лайк. если давно пользуешься
@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Это MicroCAD. Язык программирования для твоих 3D-проектов.
Ты можешь создать собственный LEGO-блок в нескольких строках кода и экспортировать его в STL для 3D-печати.
@WebDev_Plus
Ты можешь создать собственный LEGO-блок в нескольких строках кода и экспортировать его в STL для 3D-печати.
@WebDev_Plus
👍5