Всё по фронтенду, бэкенду и девопсу в одном месте Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/64ai
Когда пытаешься доказать, что это фича, а не баг:
Читать полностью…JSON4U — универсальный инструмент для работы с JSON
С помощью JSON4U вы в режиме онлайн можете форматировать, валидировать, сравнивать JSON, при этом сразу визуализируя его в таблицах или графах.
Помимо онлайн составляющей вам также понравится его интерактивность. Попробуйте сами: https://json4u.com/
#инструменты #json
Современная бэкенд архитектура: Как сегодня создаются масштабируемые и высоконагруженные приложения
Бэкенд — это не только API. Это еще и множество сервисов и приложений, помогающих делать крутые высоконагруженные приложения. Здесь вы:
— познакомитесь с современным стеком, использующимся в коммерческой разработке;
— узнаете различия между маленькими, средними и большими приложениями;
— рассмотрите архитектуры современных веб-приложений, фокусируясь на бэкенд-части.
#видео #бэкенд
Современный способ разработки серверов на JS
Ели вы когда-нибудь заходили на главную страницу Node, то наверняка видели этот кусок кода с картинки. Это самый простой веб-сервер, с которого сегодня начинается почти каждый сервер, написанный на JS. Да, это всё может быть прикрыто фреймворком, но по сути, все такие сервера делают примерно одно и то же.
Но сегодня существует более современный способ создания сервера, которому не нужно привязываться к сокету. О нём в этой статье.
#nodejs #javascript #бэкенд
Как работать с <qr-code> — настраиваемым элементом HTML с возможностью анимации
Алгоритмы генерации QR-кода превращают текстовые данные, такие как URL-адреса, электронные письма, номера телефонов и сведения о подключении Wi-Fi, в динамически генерируемые визуальные матрицы QR-кода, которые каждый сможет отсканировать с помощью мобильного телефона.
Opensource-библиотека qr-code
предлагает анимируемый веб-компонент <qr-code>
на основе SVG, который можно использовать для рендеринга стильных QR-кодов на чистом HTML. Как с ней работать, рассказали в этом материале.
#qr #фронтенд #библиотека
Стоит ли фронтенд-разработчикам переходить на фриланс в 2025 году
Извечный вопрос студентов, джунов, а иногда и опытных фронтендеров — какой формат работы выбрать? Можно попробовать уйти во фриланс и попытаться самому находить проекты, либо работать «на дадю», который обеспечит тебя работой. А можно попытаться попасть в крупную IT-компанию.
Для принятия решения нужно разобраться в нюансах. В этой статье мы собрали все плюсы и минусы каждого варианта с поправкой на 2025 год.
А что вы думаете? Поделитесь своим мнением в комментариях
#фронтенд
И всё время залезаешь в консоль разработчика, чтоб посмотреть как сделан сайт
Читать полностью…А ваши родители случайно не фронтенд-разработчики? Тогда откуда у них такой стильный Child Node?
К 14 февраля мы с командой сделали бота, который будет отправлять вашим вторым половинкам или просто хорошим людям айтишные и не только комплименты.
Если давно хотели написать такого сами и добавить свои комплименты, чекайте код и пошаговый гайд в нашей статье. А если нет, то отправляйте нашего бота поздравляйте своих булочек!
Разработчики и разработчицы, с Днём Святого Валентина! 🎧
Отправьте своей половинке одну из этих милых открыток❤️
Frontend Stuff
Это постоянно расширяющийся список фреймворков, библиотек и инструментов, которые вы можете использовать для создания веб-приложений. В каталоге вы найдёте описание огромного количества инструментов со ссылками на них. Для удобства инструменты отсортированы по категориям.
#инструменты #фронтенд #github
Как управлять компонентом React с помощью URL
Иногда нам нужно, чтоб при перезагрузке сохранялись данные на странице. Например, при поиске чего-либо. Не хочется заново настраивать все фильтры после обновления страницы, согласитесь?
В React есть несколько способов сделать это. Но некоторые могут сломать ваше приложение и вызвать неприятные ошибки. В этой статье вы узнаете о правильном методе реализации такого функционала.
#react
Отыскал шустрый генератор лого для ваших сайтов — бежим тестировать.
Читать полностью…Напоминание, что `@scope` и блоки стилей HTML — это мощное сочетание
Кто понял, тот понял. А кто всё ещё не может разобраться о чём идёт речь и что это за @scope вообще такой, то скорее переходите по ссылке и читайте подробности этого подхода стилизации HTML-элементов.
#фронтенд #html #css
Хватит обижать джаваскриптеров!
Вы же наверняка видели, а возможно и участвовали, в этих срачах дискуссиях по поводу того, какой язык лучше. И самыми частыми аргументами против JS являются слабая типизация, «непредсказуемое» поведение при сложении разных типов и прочее подобное.
Но ведь на самом деле всё это есть и в некоторых других языках в том или ином виде. Более того, все эти «недостатки» могут быть и преимуществами в некоторых ситуациях.
Подробнее обо всём этом можно размышляют в коротком, но интересном ролике.
#видео #javascript
Борьба с перерендерами в React
На тему мемоизации написано много статей, и все они хорошо раскрывают суть. Но если вам, как и автору этой статье, не хватало шпаргалки, которую можно отправить на вопрос «А как мемоизировать?», то вы по адресу.
Здесь вы найдёте ответы на самые частые вопросы и даже на специфические задачи. Причем, как отмечают читатели, статья будет полезна даже тем, кто с React никогда не работал.
#react
Отладка JavaScript в Chrome DevTools для начинающих фронтендеров
Поиск и исправление ошибок в JS может быть весьма ресурсозатратным мероприятием. Новичкам этот процесс может показаться неподъёмным камнем.
Но только до знакомства с отладкой в инструментах разработчика, встроенных в браузер. О ней вы узнаете в этой статье. Причём не о привычной всем console.log, а куда более эффективной альтернативе.
#javascript #qa
Обширная библиотека материалов по веб-разработке — сэнтузиаст отобрал самые полезные темы, гайды и домашние проекты, чтобы детально изучить тему и уже в этом году начать поиск работы.
• Вся база по HTML, CSS, JS, React.
• Шпаргалки, пособия и документация.
• Множество видео-гайдов.
• Пошаговый разбор пет-проектов для вашего портфолио и работа с GitHub.
• Материалы к собеседованиям и даже записи реальных технических созвонов.
• Наиболее удобные сервисы для хостинга проектов и работы фронтендера.
• Профессиональные блоги, книги и статьи для ежедневного чтения и просвещения.
Ультимативные знания берем — тут.
#фронтенд #библиотека
Флексим и создаём GUI на Python с веб-технологиями рендеренига
В этом нам поможет Flexx — набор инструментов, сделанных на чистом Python. Он позволяет писать код графических интерфейсов прямо на питоне и на ходу генерировать JavaScript с помощью транслятора PScript.
Узнать подробности о возможностях и изучить инструкцию можно на странице проекта.
#инструменты #python #javascript #gui
Интересная анимация загрузки с помощью CSS
Можете попробовать повторить такой лоадер, если хотите потренироваться в создании CSS-анимации. Здесь всего несколько DIV
'ов, которые анимированы с помощью @keyframes
.
Посмотреть код можно на codepen.
#codepen #css
Делаем приложение погоды на Vue.js
Если думали над пет-проектом, то вот интересный вариант: приложение погоды на Vue JS, с использованием Open Weather Map API и restful api для получения данных о погоде.
#видео #vue
Оптимизация работы с DOM. Ещё кое-что
Мы дали уже много советов по работе с DOM в прошлом посте, но кое-что не поместилось, но всё ещё осталось важным.
Как вы знаете, каждое изменение DOM вызывает его «перерисовку», что может тормозить сайт. Чтобы избежать лишних обновлений:
Используйте фрагменты при массовых изменениях. Фрагмент сначала наполняется в памяти, а потом добавляется в DOM одним движением. Это значительно быстрее, чем изменять страницу 100 раз подряд.
const fragment = document.createDocumentFragment();
for (let i = 0; i < 100; i++) {
let li = document.createElement("li");
li.textContent = `Элемент ${i}`;
fragment.appendChild(li);
}
document.querySelector("ul").appendChild(fragment); // Один раз добавляем всё в DOM
const button = document.querySelector("#myButton");
button.addEventListener("click", () => {
document.querySelector("#output").textContent = "Кнопка нажата!";
});
querySelector()
вызывается каждый раз при клике, что неэффективно.document.querySelector("#myButton").addEventListener("click", () => {
document.querySelector("#output").textContent = "Кнопка нажата!";
});
Анатомия React для начинающих. Часть 1
Большой курс по React и Create React App, который поможет вам сделать первые шаги в разработке на реакте. Каждый урок представляет собой отдельное видео, что удобно, если вы хотите обучаться не торопясь.
В курсе на YouTube 25 уроков, но чтобы вам было удобно и не нужно было куда-то переходить, мы прикрепили их к посту. В этой части первые 10 уроков, остальные выложим позднее, потому что Telegram не дают прикреплять больше 10 файлов за раз.
#react #курс
Выражаем свои чувства на языке LoveScript
Ребята из команды поиска и рекламных технологий Яндекса запустили спецпроект «День программиста Валентина», в котором валентинку можно сделать своими руками.
Вы можете написать код на LoveScript — специальном языке программирования для выражения тёплых и романтических чувств, и получить открытку, которую можно сохранить и поделиться с близкими.
Есть и более простой мод — выбирайте сообщение, фон и цвет вручную и получайте свой уникальный результат.
С днём программиста Валентина!
Это #партнёрский пост
Челлендж по запуску 12 простых IT-проектов за 12 месяцев
Летом 2023 г. появилось комьюнити инди-хакеров, в котором ребята решили запускать один простой продукт в онлайне каждый месяц.
И в реальном времени показывать: как разрабатывают, продвигают и сколько получилось заработать на запусках таких микро-проектов. Держите подборку их кейсов:
— пост про то, почему американцы платят $40 за простой конвертер картинок, который сделали за 4 недели, несмотря на обилие бесплатных аналогов.
— пост про то, как за 2 недели запустили темную тему с тарифами от $5 до $99. Четыре таких продукта приносят на пассиве как ЗП среднего разработчика.
— пост про то, как все может грустно закончиться, если 2 года пилить сложный продукт, не показывая его рынку.
— пост про то, как заработали 1,7 млн рублей на боте для создания фотокниг и какие фейлы допустили.
Первая находка в их комьюнити IT-билдеров — метод, который позволяет сделать запуск за 1 месяц.
Вторая находка — метод продвижения, который они используют. В среднем на продвижение одного IT-продукта уходит $150, причем есть продукты с 200К+ юзеров.
Вот здесь можно подписаться на канал, чтобы подглядеть за их запусками. А может, и попробовать сделать такой простой продукт самому.
Реклама. Рекламодатель: ИП Зуев Игорь Владимирович ИНН 360408359441, erid: 2W5zFJ6HzCG
Динамические layout с Vue jsx: руководство по созданию гибких и удобных в обслуживании пользовательских интерфейсов
Вы когда-нибудь часами настраивали один и тот же layout на нескольких страницах или пытались адаптировать пользовательский интерфейс к изменяющимся данным, чтобы он не ломался? Эти распространённые проблемы могут замедлить процесс разработки и привести к созданию кода, в котором легко допустить ошибку.
Динамические layout решают это проблему и упрощают создание адаптивных интерфейсов. Как их создавать и какими особенностями они обладают, рассказали в этой статье.
#vue #фронтенд
Нереально быстрый генератор логотипов — результаты можно примерить внутри ваших приложений или сайтов.
А если вы разрабатываете цифровой продукт и решаете запустить мерч — сервис мастхевный.
Кстати, работает абсолютно бесплатно!
Креативим — здесь.
@mobi_dev
Обновляем роадмап по веб-разработке — чел пошагово описал путь без лишней воды. В списке только нужные темы, чтобы стать разносторонним спецом и найти работу с высокой зарплатой.
• Теория веба, об устройстве браузера, методологиях разработки и работе приложений.
• Веб-компоненты и доступность приложений.
• Все необходимые инструменты от языков разметки до масштабных фреймворков и библиотек.
• Тестирование и командная разработка.
• UX/UI-дизайн.
• Алгоритмы и структуры данных.
Сохраняем роадмап — тут.
Как правильно работать с DOM в JavaScript в 2025 году?
Работа с DOM (Document Object Model) — это основа веб-разработки. С каждым годом появляются новые, более эффективные способы манипуляции элементами страницы. Давайте разберём, как сегодня правильно работать с DOM в JavaScript, чтобы код был быстрым, удобным и безопасным.
1. Получение элементов
Вместо старых getElementById
и getElementsByClassName
сегодня лучше использовать querySelector
и querySelectorAll
. Они более универсальные и понятные.
const title = document.querySelector("#title"); // Получает 1 элемент (по id)
const buttons = document.querySelectorAll(".btn"); // Получает список всех кнопок с классом .btn
querySelector
и querySelectorAll
позволяют находить элементы так же, как в CSS (.класс
, #id
, input[type="text"]
и т. д.). А также querySelectorAll
возвращает не «живую» коллекцию, а обычный статичный список (NodeList
), что логичнее при итерации.textContent
— если надо изменить только текст (без HTML).title.textContent = "Привет, мир!";
innerHTML
, если вставляете данные от пользователя — это дыра в безопасности (XSS-атаки). Если всё же используется innerHTML
, убедитесь, что данные проверены.title.innerHTML = "<strong>Важное сообщение!</strong>";
insertAdjacentHTML
— отличная альтернатива innerHTML
, если нужно добавить HTML в определённое место, не перезаписывая весь элемент.title.insertAdjacentHTML("beforeend", "<span> 👋</span>");
classList
, потому что `className`заменяет все классы сразу, из-за чего можно случайно удалить важные стили.title.classList.add("highlight"); // Добавит класс
title.classList.remove("hidden"); // Удалит класс
title.classList.toggle("active"); // Переключит класс (если был — уберёт, если не было — добавит)
style.cssText
, потому что он затирает всё, что было до этого. Используйте style
для отдельных свойств.title.style.color = "red";
title.style.fontSize = "24px";
title.classList.add("error"); // В CSS заранее определите .error { color: red; }
createElement
, а не innerHTML
.const newDiv = document.createElement("div"); // Создаём элемент <div>
newDiv.textContent = "Новый блок!";
newDiv.classList.add("box");
document.body.appendChild(newDiv); // Добавляем в конец <body>
appendChild()
— добавляет в конец родителя.prepend()
— добавляет в начало.before()
и after()
— добавляют перед или после элемента.title.after(newDiv); // Вставит newDiv сразу после title
// С помощью append() можно сразу добавлять текст и несколько элементов
const container = document.querySelector(".container");
container.append("Просто текст", document.createElement("span"));
remove()
.newDiv.remove(); // Удалит элемент из DOM
newDiv.parentNode.removeChild(newDiv); // Старый подход
addEventListener
.const button = document.querySelector("#myButton");
button.addEventListener("click", () => {
alert("Кнопка нажата!");
});
10 библиотек JavaScript, которые можно забыть в 2025 году
Позавчера мы рассказали про инструменты, которые будут полезны в 2025 году всем фронтенд-разработчикам. Сегодня же поделимся библиотеками, которые точно не стоят вашего времени. Они устарели и имеют множество более современных альтернатив.
Подробнее о них в статье.
#javascript