Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on null in /var/www/tgoop/function.php on line 65
- Telegram Web
Telegram Web
Forwarded from xCode Journal
This media is not supported in your browser
VIEW IN TELEGRAM
🦾 Нашли для вас бесплатный визуальный редактор разметки на гридах и флексбоксах

Выбираете нужный шаблон и подстраиваете все под себя, а потом можно сразу скопировать HTML и CSS. Есть удобное превью и даже подсказки по свойствам. Короче, идеально для быстрого прототипирования.

Фронтендеры, вам посвящается

✖️ xCode Journal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👎2👀2
Случалось ли вам продавать своей команде проект, который даже вам не по душе?

Коллеги из подкаста «Свободный слот» даже записали целый выпуск на эту тему! О том, как в этом процессе не потерять собственную мотивацию и в целом проталкивать непопулярные решения.

Так что, если знакомо до боли — приходите в их канал, там ещё много чего очень полезного для тим- и техлидов — ребята делятся практическими знаниями и опытом на примерах личных кейсов.
👤 Использование атрибута enterkeyhint для улучшения пользовательского интерфейса

Когда работаем с формами на мобильных устройствах, часто сталкиваемся с тем, что виртуальная клавиатура отображается по своему усмотрению. Мы, как фронтендеры, не можем сильно повлиять на это, но есть один небольшой, но полезный способ улучшить взаимодействие с пользователем — это атрибут enterkeyhint.

ℹ️ Давайте рассмотрим, как можно использовать этот атрибут в реальной ситуации

Например, у нас есть форма с полями для ввода логина и пароля. Если мы добавим атрибут enterkeyhint="send" к полю ввода пароля, то подпись на кнопке изменится на «Отправить»:

<body>
<form>
<div class="field">
<label class="field__label" for="login">Логин</label>
<input class="field__input" type="text" id="login">
</div>
<div class="field">
<label class="field__label" for="password">Пароль</label>
<input class="field__input" type="password" id="password" enterkeyhint="send">
</div>
<button type="submit">Отправить</button>
</form>
</body>


Что это даёт?

— В правом нижнем углу виртуальной клавиатуры появляется кнопка с надписью «Отправить», а если язык интерфейса — английский, то будет показано «Send». Это позволяет сделать интерфейс более интуитивно понятным.

— Важно понимать, что нельзя выбрать произвольный текст для кнопки. Всего поддерживаются семь значений: enter, done, go, next, previous, search и send. Хотя их не так много, этого достаточно, чтобы улучшить взаимодействие пользователя с интерфейсом.


📌 Это простое изменение позволяет сделать пользовательский опыт более контекстно-ориентированным. Для пользователя это может быть маленьким, но приятным улучшением, которое делает форму гораздо удобнее. А для нас — это простой и быстрый способ улучшить UI без лишних усилий.

🚪 Frontender's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍126👀2
💼 Сеньор ≠ Лидер: разделение ролей в команде

Многие считают, что стать сеньором — это неизбежный шаг к тимлиду, но на самом деле, это совершенно разные роли. Я тоже долго не мог понять, почему сеньоры и лиды — это не одно и то же, пока не столкнулся с реальностью управления проектами.

👤 Кто такой сеньор?

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

🔫 Преимущества сеньора:

— Знание стеков и технологий на глубоком уровне
— Способность решать сложные задачи
— Опыт в оптимизации и устранении багов
— Менторство и поддержка менее опытных коллег


👥 Кто такой лидер?

Лидер — это не только про код, но и про управление людьми, процессами и проектами. Лидер отвечает за распределение задач, коммуникацию с бизнесом, развитие команды и мотивацию сотрудников.

🔫 Что важно для лидера:

— Ответственность за проект и команду
— Навыки коммуникации с бизнесом и разработчиками
— Мотивация и развитие команды
— Умение принимать решения и разрешать конфликты


📌 Для меня стало очевидно, что сеньор — это мастера кода, а лидер — мастера людей. Каждый из этих путей ценен, но важен для разных целей. Будучи сеньором, можно не стремиться к лидерству, если хочется углубиться в технические детали и стать экспертом. В свою очередь, лидер может не быть глубоко вовлечён в код, но быть отличным организатором и человеком, который ведет команду к успеху.

🚪 Frontender's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍5👎3
➡️ IntersectionObserver: более эффективный подход к загрузке контента

Задачи вроде ленивой загрузки изображений, анимаций и других тяжелых элементов становятся обычным делом. И тут на помощь приходит IntersectionObserver, который с каждым годом набирает популярность в кругах опытных разработчиков. Этот API предлагает способ следить за видимостью элементов на экране без переполнения ресурсов.

ℹ️ Пример использования IntersectionObserver для ленивой загрузки изображений:

const images = document.querySelectorAll('img[data-src]');
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.getAttribute('data-src');
img.removeAttribute('data-src');
observer.unobserve(img);
}
});
}, { threshold: 0.1 });

images.forEach(img => observer.observe(img));


Объяснение кода

— Мы используем IntersectionObserver, чтобы отслеживать, когда изображение попадает в область видимости пользователя.

— Как только изображение становится видимым (согласно опции threshold: 0.1, то есть 10% изображения становится видимым), мы подгружаем его с помощью data-src.

— После загрузки изображения мы снимаем его с наблюдения, чтобы избежать лишней работы для уже загруженных картинок.


📌 Использование IntersectionObserver — это не просто фича для ленивой загрузки. Она открывает возможности для повышения производительности в реальных приложениях, с минимальными затратами. Внедрение таких вещей значительно улучшает общую картину UX, особенно на мобильных устройствах. Если ещё не использовали то думаю стоит как миимум пощупать эту штуку.

🚪 Frontender's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍32🐳1
Forwarded from xCode Journal
🤣 К вопросам от эйчаров готов на 100%

💥 xCode Journal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁253
👤 Код-ревью без стресса: как давать полезную обратную связь

Код-ревью — это не только о том, чтобы найти ошибки. Задача в том, чтобы помочь улучшить качество кода и сделать процесс более эффективным. Но вот как избежать перегибов, которые превращают проверку в стресс для обеих сторон?

Фокус на главном
Когда вы проверяете код, старайтесь избегать ловушки фокусировки на мелочах. Ошибки в стиле или опечатки можно легко исправить позже, но если проблемы касаются архитектуры или производительности — это нужно проработать сразу. Не тратьте время на мелкие недочёты, когда перед вами ключевые вопросы.

Автоматизация и инструменты
Для качественного ревью важно использовать современные инструменты. Статический анализ, такие как SonarQube или Psalm, поможет вам быстро поймать баги, а системы CI/CD вроде GitHub Actions или GitLab CI значительно упростят проверку. Линтеры тоже не лишние — они автоматизируют стилистику и помогают избежать мелких ошибок. Кроме того, кросс-ревью с другими коллегами улучшает качество кода и ускоряет обработку MR. Это также способствует профессиональному росту всей команды.

Прозрачность и чёткость обратной связи
Когда дело доходит до комментариев, важно соблюдать дружелюбный и чёткий стиль. Письменная коммуникация в код-ревью — это не только про технические замечания, но и про эмоции. Старайтесь выражать свои мысли точно и без лишней критики.

Качество кода: на что стоит обратить внимание
Наконец, код-ревью должно быть ориентировано на основные стандарты: соответствие код-стайлу, наличие тестов, соблюдение архитектурных принципов. Обязательно оставляйте подробные комментарии, чтобы другие члены команды могли понять, что именно нужно улучшить и почему.


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

🚪 Frontender's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
Алоха, коллеги! 👋

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

Снизу я задам вам 4 вопроса, давайте проявим максимальную активность и познакомимся поближе.
4🔥21🐳1
Если работаете уже в айтишке или планируете то какой Грейд
Anonymous Poll
14%
Еще не работаю но хочу
3%
Трейни
13%
Джун
36%
Мидл
24%
Сеньор
8%
Тех или Тим-Лид
3%
Босс покрупнее
🔥42🐳1
Forwarded from xCode Journal
🤥 Разработчики врут на собеседованиях больше всех

Такую статистику показало новое исследование. Больше половины работодателей в России сталкивались с приукрашенным резюме у кандидатов. При этом чаще всего врут разработчики ПО, за ними идут тестировщики и руководители проектов.

А вот меньше всего обманывают эйчаров датасаентисты, аналитики, сетевые инженеры и специалисты технической поддержки.

✖️ xCode Journal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8👍52🔥1
Баланс: pet-проекты vs работа

Каждый разработчик хоть раз ловил себя на мысли: “Хочу сделать свой проект. Но после работы нет ни сил, ни желания писать код.”
И вот тут начинается борьба между желанием развиваться и желанием просто отдохнуть.

Pet-проекты — это топливо для роста.
Ты пробуешь новые технологии без дедлайнов, без легаси и без код-ревью с “а зачем тут вообще useMemo?”.
Это та самая зона, где возвращается интерес к разработке, особенно когда на работе монотонные задачи.

Но.

🙅‍♂️ Pet-проект не должен превращаться во вторую работу.
Если ты после 8 часов продакшена садишься за ещё 4 часа кода — это не развитие, это выгорание в красивой обёртке.

И так: как найти баланс?:

🔘 Делай pet-проекты короткими и законченными.
Маленький тул или демо — лучше, чем вечный “стартап мечты”.
🔘 Ставь себе ограничение по времени.
Например, кодишь только 2 вечера в неделю.
🔘 Не чувствуй вины, если не делаешь ничего.
Отдых — тоже часть продуктивности.
Мой личный опыт:
Pet-проекты реально помогают не терять интерес к коду.
Но только когда они не конкурируют с отдыхом, а заменяют бессмысленный скролл YouTube чем-то, что тебя вдохновляет.


Итог:
Работа — даёт стабильность.
Pet-проекты — дают развитие.
Отдых — даёт энергию, чтобы выдержать первые два пункта.

Главное — не забывать, что кодить “в кайф” иногда важнее, чем кодить “всё время”.
Please open Telegram to view this post
VIEW IN TELEGRAM
18🐳3🔥2
Forwarded from xCode Journal
🤣 Мой код после сотен правок и костылей

💥 xCode Journal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁36👍5🔥51
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍💻 Пишете на JS, но чувствуете, что инструментов уже не хватает?

На практическом курсе от OTUS вы разберёте продвинутый React (Hooks, Redux Toolkit, Zustand, Query), SSR на Next.js, познакомитесь с Vue 3 и Nuxt 3, укрепите типизацию в TypeScript и выйдете на fullstack-уровень с Node/Nest.js.

❗️Программа составлена практикующими разработчиками, а занятия проходят в формате живых лекций и практики на реальных задачах. Вы научитесь проектировать REST API, подключать PostgreSQL, собирать и деплоить проекты с Docker и CI/CD. После обучения вы сможете уверенно работать в командах, разрабатывать сложные web-приложения и прокачаете навыки, которые востребованы в крупных компаниях.

🏃‍♂️‍➡️🏃‍♂️‍➡️🏃‍♂️‍➡️ Остались последние места. Пройдите короткое вступительное тестирование, получите скидку 5% по промокоду JSPRO_10 и закрепите за собой участие: https://vk.cc/cQwawT

Подробности уточняйте у менеджеров
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👎62🐳2
Storage API в 2025: что, где и когда хранить

Хранение данных в браузере — это не просто localStorage.setItem().
Современные API дают кучу способов работать с кэшем, оффлайном и большими объёмами данных.
Главное — понимать, какой инструмент для чего.

💛 LocalStorage — для простого и быстрого

- Объём: до ~5MB
- Синхронный API (блокирует поток)
- Только строки

Идеально для:

- Настроек интерфейса (тема, язык)
- Состояния, не критичного к потере

🙅‍♂️ Не подходит для:

- Частых записей
- Больших данных
- Асинхронных операций

🔘Частая ошибка: хранить JWT или токены авторизации.
Не делай так — XSS и ты в опасности. Лучше HttpOnly cookie.


💛 IndexedDB — когда данных много

- Асинхронная, ключ-значение база прямо в браузере
- Поддерживает сложные структуры (объекты, Blob, файлы)
- Работает оффлайн

Идеально для:

- SPA с оффлайн-режимом
- Кеширования запросов
- Локальных кэшей для heavy UI (например, таблицы на тысячи строк)

🙅‍♂️ Минусы:

- API громоздкий (лучше использовать обёртки вроде Dexie.js)
- Не всегда очевидное управление версиями


💛 Cache Storage API — для сетевых запросов

Используется вместе с Service Worker.
Позволяет сохранять ответы от fetch и выдавать их оффлайн.

Идеально для:

- PWA и offline-first приложений
- Кэширования статики (CSS, JS, картинки)
- Быстрых перезапусков SPA

🙅‍♂️ Не путай с LocalStorage — это не просто “сохранил строку”, а полноценный HTTP-кеш.


💛 Best Practices

🔘Комбинируй: IndexedDB для данных, Cache для запросов, LocalStorage для мелочей.
🔘Удаляй устаревшие версии данных (особенно при обновлении схем).
🔘Не храни чувствительные данные — браузер ≠ сейф.
🔘Проверяй лимиты хранилища (navigator.storage.estimate() — underrated).
🔘Используй Background Sync, если нужно синхронизировать оффлайн-данные.


📍 Итог:

Браузер — уже не просто “тонкий клиент”.
Он умеет кэшировать, хранить и синхронизировать данные не хуже бэкенда.
Главное — не пихать всё в localStorage и думать, что этого достаточно
Please open Telegram to view this post
VIEW IN TELEGRAM
10👀3👍2🔥2🐳1
Поговорим про деньги в IT?

Приглашаем опытных IT-специалистов пройти небольшой опрос про зарплаты и бенефиты в технологических компаниях. Это займёт не более 7 минут — а ваше мнение поможет одному крупному российскому работодателю делать актуальные оферы.

Пройти опрос можно здесь
3👎1
Quantum CSS и ML-оптимизация верстки — будущее фронтенда?

Звучит как хайп, но тренд реальный:
всё чаще ML-алгоритмы применяются не только для генерации кода, но и для оптимизации CSS, DOM и layout-процессов.

Что такое Quantum CSS

Если коротко — это концепция (а не фреймворк), где браузер или сборщик анализирует и оптимизирует стили на уровне движка, не дожидаясь ручной оптимизации от разработчика.

Mozilla когда-то начала этот путь с Project Quantum (оптимизация движка Firefox), и идея живёт:
браузер сам решает, как рендерить части DOM параллельно и какие CSS-правила реально нужны в viewport.

Главная цель:
ускорить перерисовку и минимизировать “CSS-инфляцию” — когда у проекта тысячи неиспользуемых классов и стилей.


ML-оптимизация верстки


ML-модели уже умеют анализировать структуру страницы и:

выявлять дублирующиеся CSS-паттерны;

предлагать оптимальную архитектуру классов (например, по BEM или atomic-подходу);

предсказывать layout shifts и предлагать фиксы для CLS;

автоматически “чистить” стили после деплоя (CSS pruning с учётом поведения реальных пользователей).


Что нас ждёт

Через пару лет мы можем прийти к IDE, которая:

💛 отслеживает реальное использование на проде,

💛 сама обучается оптимизировать layout.

Типа “GitHub Copilot для CSS”, но с реальной экономией трафика и FPS.


Мой вывод

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


А как ты относишься к идее ML-CSS?
Хотел бы, чтобы браузер сам решал, какие стили тебе нужны — или всё-таки контроль должен оставаться за человеком?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82🐳1👀1
Forwarded from xCode Journal
😭 Страшно, ведь слишком реально

💥 xCode Journal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14🐳3🔥1
2025/10/22 04:15:41
Back to Top
HTML Embed Code: