Vite обеспечивает молниеносную скорость разработки благодаря использованию нативных ES-модулей и оптимизированной системе плагинов.
Как установить:
npm create vite@latest
Как создать новый проект:
npm create vite@latest my-project
my-project
— название вашей новой папки проектаКак перейти в каталог проекта:
cd my-project
Как установить зависимости:
npm install
Как запустить сервер разработки:
npm run dev
Подробнее почитать на официальном сайте
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍6😁5🔥3🥱2
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
СберТех представил GigaIDE Cloud — первую российскую облачную среду разработки с ИИ, встроенную в GitVerse.
Что в статье:
Забудьте про настройку окружения и тяжёлый ноутбук — GigaIDE Cloud запускает проекты за секунды прямо в браузере.
Читай обзор, как это работает на практике
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядный пример для прошлого поста, как работает одна из команд 🤡
🐸 Библиотека фронтендера
#развлекалово
#развлекалово
Please open Telegram to view this post
VIEW IN TELEGRAM
😁27👍3🥱2🔥1
Используются примеры на основе проектов для VK, но подходы легко адаптируются под любые рекламные веб-продукты.
Сохраняй себе, пригодится
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
🕸 Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1
HTTP/2 — это как переход с однополосной дороги HTTP/1.1 на скоростное шоссе: быстрее, эффективнее и без пробок.
Узнайте, как новые технологии ускоряют загрузку веб-страниц и улучшают работу приложений.
➡️ Читать статью
🐸 Библиотека шарписта
HTTP/2 — это как переход с однополосной дороги HTTP/1.1 на скоростное шоссе: быстрее, эффективнее и без пробок.
Узнайте, как новые технологии ускоряют загрузку веб-страниц и улучшают работу приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4👍3
Если хочешь оставаться востребованным фронтендером в 2025-м, готовься — лёгких путей не будет, но и ничего невозможного. Вот что действительно стоит держать под контролем:
Знать просто «JS» уже не прокатит. Освой новые фичи, пиши на TypeScript — он как злобный преподаватель: сначала бесит, потом понимаешь, зачем он нужен.
React до сих пор в топе, особенно с его Server Components. Если проект серьёзный — там точно что-то из этого используется. Ну или хотя бы Tailwind + React как минимум.
Next.js или Nuxt.js — must-have. Умеешь делать серверный рендеринг и статическую генерацию? Значит ты не просто фронтендер, а оптимизатор SEO, лорд скорости загрузки и повелитель ботов Google.
GitHub Copilot, Codeium, ChatGPT-плагины — всё это твои новые тиммейты. Нет, они не отнимут работу. Но если ты не будешь с ними работать — отнимут.
Офлайн-режим, пуши, лайк от Google — делай как надо, и пользователи вернутся даже без интернета.
Нужен супер-перформанс? Подключи Wasm и пусть браузер дышит на полную. Особенно если ты делаешь что-то около AI, 3D или визуализации.
Делай не просто «чтобы работало», а «чтобы было консистентно и красиво». Компоненты, переиспользование, UI-киты — это как чистая кухня: никто не видит, но все кайфуют.
В 2025 году делать недоступные сайты — всё равно что выпускать VHS-кассеты. Не игнорь эту тему, будь профи.
Скучно точно не будет
P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🥱4❤3🌚3
С опытом во фронтенде приходит понимание, что одного React и красивой верстки уже мало. На уровне мидла и сеньора важно уметь объяснять свои решения, думать про архитектуру, производительность и то, как всё работает внутри. На собеседованиях это проверяют в первую очередь. Чтобы не теряться на вопросах и понимать, чего от тебя ждут — посмотри это видео
Показывают реальные вопросы, объясняют, что важно в ответах, и как не выглядеть джуном под стрессом.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚6👍4👏1
Ты открыл Figma, но вместо фреймов видишь чанки. CSS Grid напоминает тебе о редстоуне. А когда верстаешь, кажется, что строишь портал в ад.
Если ты выбираешь цвета по аналогии с биомами и уже пытался оптимизировать DOM с помощью шалкера — у нас для тебя кое-что есть.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚9👍2😢2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17❤3😍2
Ты делаешь кнопку. Вроде просто, но решаешь сделать переиспользуемую: добавляешь пропсы на цвет, размер, иконки, лоадер, курс Меркурия. Через день — это уже не кнопка, а мини-фреймворк.
А потом ПМ говорит:
«Нужна такая же кнопка, но чтобы внутри был селект и тултип. Завтра в прод.»
Ты смотришь на своё творение… и плачешь.
И вот ты стоишь на развилке:
+ Один раз написал — используешь везде
+ Красиво в теории
- Становятся слишком умными, и потом ими невозможно пользоваться
- Каждый новый флаг ломает старые кейсы
+ Просто и понятно
+ Быстро пилится под задачу
- В каждом модуле своя кнопка, своя модалка, свой select
- Стиль, UX и логика могут расползаться
Мораль?
Универсальность — это хорошо… до тех пор, пока ты не начал дебажить. А потом ты просто хочешь простую кнопку, которая не знает про весь остальной мир.
Давайте драться в комментах — по-доброму, конечно.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🌚5🤔3
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Shadow DOM — это технология из стандарта Web Components, позволяющая создавать изолированные участки DOM с собственными стилями и логикой.
Это обеспечивает инкапсуляцию, предотвращая конфликты стилей и упрощая создание переиспользуемых компонентов.
Зачем нужен:
Пример использования
<!-- HTML -->
<div id="host"></div>
// JavaScript
const host = document.querySelector('#host');
const shadowRoot = host.attachShadow({ mode: 'open' });
shadowRoot.innerHTML = `
<style>
p { color: blue; }
</style>
<p>Это текст внутри Shadow DOM</p>
`;
console.log(document.querySelector('p')); // null
В этом примере элемент <p> находится внутри Shadow DOM и недоступен через глобальный document.querySelector.
Для более глубокого изучения Shadow DOM и Web Components можно обратиться к следующим ресурсам:
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥3
Middle-frontend разработчик — от 280 000 ₽, гибрид (Москва)
Frontend разработчик — от 275 000 до 350 000 ₽, удаленно (Санкт-Петербург)
Frontend-разработчик — от 100 000 до 120 000 ₽, офис/гибрид (Краснодар)
Middle+ Frontend Web3 Developer — от 200 000 до 260 000 ₽, удаленно (Дубай)
Разработчик интерфейсов в Вертикали — гибрид (Москва)
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Кратко и по делу — основные методы работы со строками и регулярными выражениями: search, match, replace, а также полезные шаблоны для замены вроде $&, $', $$ и других.
Отличный инструмент, чтобы освежить знания или быстро найти нужный синтаксис.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥1
Сегодня просто красиво — уже не работает. Люди ожидают деталей, анимации, микровзаимодействий. Именно это и собрал автор: 38 hover-эффектов, которые делают интерфейс живым, современным и цепляющим.
Что в статье:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3😢1
Давайте посмотрим, что необходимо делать, чтобы адаптировать верстку и обеспечить стабильную работу сайта на разных устройствах.
Применяем медиазапросы для того, чтобы настроить стили в зависимости от ширины экрана. Так мы получаем возможность уменьшать шрифт на мобильных устройствах или добавлять дополнительные отступы, чтобы контент не «слипался».
Пример кода:
/* Для мобильных устройств */
body {
font-size: 14px;
}
/* Для экранов шириной от 768px */
@media (min-width: 768px) {
body {
font-size: 16px;
}
}
Flexbox и CSS Grid дают нам возможность создавать макеты, которые «тянутся» или сжимаются в зависимости от размера экрана.
Пример с Flexbox:
.container {
display: flex;
flex-wrap: wrap;
}
.item {
flex: 1 1 30%;
margin: 10px;
}
Пример с CSS Grid:
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
.item {
background-color: #f0f0f0;
padding: 20px;
}
Вместо фиксированных значений мы выбираем такие единицы измерения, как em, rem, %, чтобы размеры и отступы изменялись в зависимости от размера экрана.
Пример кода:
.container {
width: 80%;
padding: 2rem;
}
Такой подход позволяет оптимизировать скорость загрузки и повысить производительность для мобильных пользователей.
Пример кода:
Для мобильных устройст
в
body {
font-size: 14px;
}
Для экранов шириной от 768px
@media (min-width: 768px) {
body {
font-size: 16px;
}
}
Используем инструменты вроде BrowserStack или проверяем в режиме мобильных устройств в браузерах. Это помогает найти и устранить все проблемы до релиза.
🚀 Советы:
• Используйте max-width для медиазапросов, чтобы стили применялись на экранах с шириной меньше указанного значения.
• Применяйте min-width для добавления стилей на более крупных экранах.
• Активно используйте clamp() для динамической настройки размеров в зависимости от размера экрана.
• Всегда применяйте object-fit: cover; для изображений, чтобы они корректно масштабировались в контейнерах.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥7🥱4❤1👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17⚡3
Если вам нужно быстро и эффективно разработать форму обратной связи с минимальными усилиями — не пренебрегайте Tailwind CSS.
Для удобства можно использовать данный запрос, но обязательно проверяйте на точность (нам выдал без метатега кодировки UTF-8).
PROMPT:
Generate a semantic HTML and Tailwind CSS "Contact Support" form consisting of the user's name, email, issue type, and message. The form elements should be stacked vertically and placed inside a card.
Также вы можете использовать универсальный промпт для других задач:
Generate a semantic and accessible HTML and (framework) CSS [UI component] consisting of [component parts]. The [component parts] should be [layout].
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚10💯4🤩1
Виртуальный DOM — вещь полезная, но не всемогущая. Если каждый клик запускает цепочку ререндеров, он не спасёт. Со временем даже шустрое React-приложение превращается в тормозящего гиганта.
Что в статье:
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6👍2🥱2
Иногда кажется, что жизнь — это просто список задач в Jira. Только без кнопки “Complete” и с багами в расписании. Когда работаешь фронтендером, особенно в стартапе или на жестком проекте, легко потеряться между фичами, срочными хотфиксами и «вот это надо было ещё вчера».
Моя история:
Был у меня период, когда я всерьёз думал, что «выйти в оффлайн» — это привилегия. Дни сливались в один длинный поток: созвон — коммит — правка — деплой — баг — снова правка.
Я ел на бегу, спал плохо, даже выходные проваливались в режим «да я тут чуть-чуть подфикшу, это на 5 минут» (никогда не 5 минут).
Однажды просто поймал себя на мысли:
«А я вообще живу, или просто существую между спринтами?»
С тех пор стал менять подход:
• Планировать не только работу, но и отдых. Прям в телефоне ставил напоминание «погулять» или «позвонить другу».
• Старался заканчивать день в нормальное время, даже если не всё сделал. Потому что «успеть всё» — это миф.
• Начал говорить честно команде, если не вывозил. Без героизма. Просто по-человечески.
• И главное — напоминал себе, что я не машина. Я не создан быть продуктивным 24/7.
Работа — важна. Но если ты сам выпадаешь из жизни, то и смысла в этих дедлайнах немного. А фронтенд — он никуда не денется. Зато твоё здоровье и счастье — может.
А вы как справляетесь, когда накрывает волной задач? Что помогает не терять себя?
Делитесь в комментариях
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4🥱3😢1🌚1
Интеграция библиотеки Zustand с React DevTools превращает её в мощный инструмент для быстрого отслеживания и отладки состояния в реальном времени.
npm install zustand
Или с использованием yarn:
yarn add zustand
Также убедитесь, что у вас установлены React DevTools в браузере.
import create from 'zustand';
import { devtools } from 'zustand/middleware';
const useStore = create(devtools((set) => ({
bears: 0,
increase: () => set((state) => ({ bears: state.bears + 1 })),
decrease: () => set((state) => ({ bears: state.bears - 1 }))
})));
Использование Redux DevTools для дополнительных функций
Если вы хотите использовать расширенные возможности, такие как time travel (перемещение по истории состояния), вы можете настроить Redux DevTools с Zustand.
npm install simple-zustand-devtools --dev
Или:
yarn add simple-zustand-devtools --dev
import create from 'zustand';
import { mountStoreDevtool } from 'simple-zustand-devtools';
const useStore = create((set) => ({
bears: 0,
increase: () => set((state) => ({ bears: state.bears + 1 })),
decrease: () => set((state) => ({ bears: state.bears - 1 }))
}));
if (process.env.NODE_ENV === 'development') {
mountStoreDevtool('Store', useStore);
}
Какие плюсы это использовать:
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3👾1