Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Динамичный карточный батлер с PVE и PVP-боями онлайн! Собери коллекцию карточных героев, построй свою боевую колоду и вступай в бой с другими игроками.

Cards out!

Карточные, Ролевые, Стратегии

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

CSS + Программирование

С этим тегом используют

HTML Верстка Javascript IT Web Frontend Программист IT юмор Разработка Python Картинка с текстом Юмор Все
191 пост сначала свежее
Glog7
10 месяцев назад

Если бы Шуфутинский был фронтендером, то песня звучала бы так⁠⁠

Если бы Шуфутинский был фронтендером, то песня звучала бы так IT юмор, IT, Telegram (ссылка), Программирование, Программист, CSS, Разработка, Михаил Шуфутинский, 3 сентября

Источник: t.me/WebTaverna/1499

Показать полностью 1
IT юмор IT Telegram (ссылка) Программирование Программист CSS Разработка Михаил Шуфутинский 3 сентября
1
6
Proglib
Proglib
10 месяцев назад
Серия Итоги недели в мире фронтенда и обзоры сервисов

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков⁠⁠

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🔮 10 полезных JavaScript-трюков

Деструктуризация с переименованием (алиасингом)

Деструктуризация – это способ извлечь значения из массивов или свойства из объектов и присвоить их отдельным переменным. Алиасинг (переименование) позволяет дать новые имена этим переменным в процессе деструктуризации:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Зачем это нужно:

  • Улучшает читаемость кода.

  • Помогает избежать конфликтов имен – если у вас уже есть переменная city, можно использовать hometown.

  • Пригодится при работе с API, если он возвращает данные с неподходящими для вашего кода именами.

Каррирование

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

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Та же функция, но с использованием каррирования:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Зачем это нужно:

  • Обеспечивает переиспользуемость функций.

  • Повышает читаемость и модульность кода.

  • Позволяет создавать новые функции на лету, используя уже существующие, например:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🤖🎓 Подтянуть свои знания по DS вы можете на нашем телеграм-канале «Библиотека DS для собеса»

debounce() и throttle()

Дебаунсинг и троттлинг – техники оптимизации, которые помогают контролировать частоту вызова функций. Они особенно полезны при работе с событиями, которые могут происходить очень часто, например, прокрутка страницы или ввод текста.

debounce() работает так:

  • Функция вызывается только после того, как прошло определенное время с момента последнего вызова.

  • Если функция вызывается снова до истечения этого времени, таймер сбрасывается.

В этом примере функция поиска будет вызвана только через 300 миллисекунд после того, как пользователь перестанет вводить текст. Это позволяет избежать лишних запросов к серверу при каждом нажатии клавиши:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

throttle() работает так:

  • Функция вызывается не чаще, чем раз в заданный интервал времени.

  • Если попытка вызвать функцию происходит до истечения интервала, вызов игнорируется.

В этом примере функция handleScroll будет вызываться не чаще, чем раз в 300 миллисекунд, независимо от того, сколько раз пользователь прокрутил страницу за это время:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Мемоизация

Мемоизация – техника оптимизации, связанная с кэшированием промежуточных результатов сложных вычислений. Вместо того чтобы каждый раз заново решать сложную задачу, мы записываем ответ и в следующий раз просто смотрим в наш кэш:

  • Когда функция вызывается с определенными аргументами, мы сначала проверяем, вычисляли ли мы уже результат для этих аргументов.

  • Если да, мы возвращаем сохраненный результат.

  • Если нет, мы выполняем вычисление, сохраняем результат и возвращаем его.

Пример мемоизации при вычислении ряда Фибоначчи:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Без мемоизации вычисление fibonacci(40) заняло бы очень много времени, потому что функция вызывала бы себя рекурсивно миллионы раз, повторяя одни и те же вычисления.

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

Когда использовать мемоизацию:

  • Для функций с очень сложными вычислениями.

  • Когда функция часто вызывается с одними и теми же аргументами.

  • Когда функция  возвращает один и тот же результат для одних и тех же входных данных.

Важно помнить, что мемоизация требует дополнительной памяти для хранения результатов, поэтому нужно учитывать этот компромисс между скоростью и объемом используемой памяти.

🐘🧩 Интересные задачи по PHP для практики можно найти на нашем телеграм-канале «Библиотека задач по PHP»

Proxy

Proxy позволяет нам обернуть объект и контролировать взаимодействие с ним. Мы можем перехватывать и изменять основные операции – чтение свойств, их запись, вызов функций и т. д. Proxy особенно полезен, когда нужно добавить дополнительное поведение к объектам, не изменяя их напрямую: это может быть полезно для отладки, для реализации реактивных систем (как в Vue.js), для создания умных объектов и многого другого:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Для чего еще можно использовать Proxy:

  • Валидация – проверка данных перед их установкой в объект.

  • Логирование – отслеживание использования и изменений свойств объекта.

  • Создание вычисляемых на лету свойств.

  • Безопасность – можно контролировать доступ к свойствам объекта.

Генераторы

Генераторы – особый тип функций в JavaScript:

  • Могут приостанавливать свое выполнение и возобновлять его позже.

  • Сохраняют свое состояние между вызовами.

  • Используют ключевое слово yield для возврата значений.

Пример итерации по свойствам объекта:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

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

  • Ленивые вычисления – вычисляют значения, когда они действительно нужны.

  • Создание бесконечных последовательностей, не занимающих бесконечный объем памяти.

  • Упрощение асинхронного кода – можно сделать асинхронный код более похожим на синхронный.

  • Создание кастомных итераторов для сложных структур данных.

Эффективное использование консоли

Помимо console.log(), консоль предоставляет несколько более наглядных методов вывода информации.

  • Ошибки и предупреждения:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Вывод табличных данных:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Группировка логов:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Измерение времени выполнения:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Условное логирование:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Трассировка стека:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🐍🎓 Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека Python для собеса»

Структурированное клонирование

Структурированное клонирование – метод создания полной (глубокой) копии объекта, включающей все вложенные объекты и структуры данных. Функция structuredClone позволяет выполнять такое клонирование просто и эффективно – в  отличие от JSON.parse(JSON.stringify()), structuredClone корректно обрабатывает Date, Map, Set и другие специальные типы JavaScript:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Структурированное клонирование стоит использовать, если:

  • Нужно создать полную, независимую копию сложного объекта.

  • Данные не должны изменяться (иммутабельность).

  • Необходимо избежать побочных эффектов при изменении данных.

Самовызывающиеся функции

Самовызывающиеся функции (IIFE) выполняются автоматически сразу после их создания. Они создают временную область видимости, в которой можно безопасно определять переменные и функции, не беспокоясь о том, что они будут конфликтовать с другими частями кода и загрязнять глобальную область видимости. Эта техника особенно полезна в старых средах JavaScript, где блочная область видимости (let и const) недоступна, или в сценариях, где требуется немедленное выполнение для инициализации:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Теговые шаблоны

Теговые шаблоны позволяют разбирать шаблонные литералы с помощью функции. Первый аргумент такой функции содержит массив строковых значений, а остальные содержат выражения из подстановок. Здесь, например, функция sanitize заменяет опасные символы на их безопасные HTML-сущности, предотвращая выполнение нежелательного кода:

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

Как можно использовать теговые шаблоны:

  • Автоматически обрабатывать пользовательский ввод, предотвращая XSS-атаки.

  • Форматировать числа, даты и т. д.

  • Безопасно формировать SQL-запросы, экранируя ввод.

  • Создавать теги для автоматического перевода строк с одного языка на другой.

🤖🧩 Интересные задачи по DS для практики можно найти на нашем телеграм-канале «Библиотека задач по DS»

📐 Единицы измерения высоты и ширины экрана в современном CSS

На протяжении многих лет разработчики использовали vh и vw, чтобы задавать размеры элементов в процентах от высоты и ширины экрана. Например, чтобы заполнить весь экран элементом, его размеры можно задать как 100vh на 100vw. Однако эти единицы могут работать ненадежно в некоторых случаях, например, при изменении видимой области экрана на мобильных устройствах из-за скрытия адресной строки браузера при прокрутке. Сейчас CSS предлагает новые единицы измерения, которые учитывают динамические изменения интерфейса браузера.

Large Viewport Units (lvh, lvw)

Эти единицы задаются относительно максимального размера видимой области, когда интерфейс браузера минимизирован (например, скрыты панели). По сути, они ведут себя аналогично классическим vh и vw, но с учетом возможных изменений интерфейса. Этот элемент будет занимать весь экран независимо от состояния интерфейса браузера:

.full-page-element {
height: 100lvh;
width: 100lvw;
z-index: -1
background: #f51;
}

Small Viewport Units (svh, svw)

Эти единицы рассчитываются относительно минимального размера видимой области, когда интерфейс браузера максимально расширен (например, когда панели видимы). Пример – статичный заголовок, занимающий 10% от минимальной видимой области:

.header {
height: 10svh;
background-color: #642;
}

Dynamic Viewport Units (dvh, dvw)

Эти единицы измеряются с учетом динамических изменений видимой области при взаимодействии пользователя с интерфейсом (например, при прокрутке страницы или появлении виртуальной клавиатуры). Есть нюансы: использование этих единиц иногда приводит к неожиданным изменениям размеров контента и ухудшению производительности. Пример – элемент, который адаптируется к изменениям высоты видимой области:

.adjustable-element {
height: calc(100dvh - 10svh);
}

Привет!

Мы запустили еженедельную email-рассылку, посвященную последним новостям и тенденциям в мире фронтенда. В наших еженедельных рассылках ты найдешь:

  • Современные JavaScript-фреймворки и библиотеки

  • HTML5 и CSS3: новые возможности и трюки

  • Оптимизация производительности веб-приложений

  • Тестирование и отладка кода

  • Лучшие практики UX/UI

  • Новые веб-стандарты и браузерные технологии

  • Тренды в веб-дизайне и интерфейсах

  • Прогрессивные веб-приложения (PWA)

📧 Подпишись, чтобы быть в числе первых, кто получит дайджест

✍️ 50 лучших ресурсов с бесплатными HTML/CSS/JS-шаблонами

  • HTMLrev – крупнейшая бесплатная библиотека шаблонов, созданных с использованием всех существующих технологий, включая HTML/CSS/JS, Bootstrap, Tailwind, Bulma, Angular, React, Vue, Next.js, Nuxt, Svelte, Astro, Laravel, Django, Gatsby, Hugo, Jekyll и BCMS.

  • HTML5 UP – бесплатная коллекция HTML-шаблонов с уникальным дизайном и высоким качеством кода.

  • StyleShout предлагает широкий выбор шаблонов для различных целей, включая SaaS, мобильные приложения, блоги, лендинги, портфолио и агентства.

  • One Page Lovе включает шаблоны на Bootstrap, Next.js, Tailwind, Carrd и Framer.

  • Cruip предлагает шаблоны на Tailwind, React, Vue, Next.js и Laravel.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🐍🧩 Интересные задачи по Python для практики можно найти на нашем телеграм-канале «Библиотека задач по Python»

  • Templatemo – огромная коллекция бесплатных Bootstrap-шаблонов.

  • ThemeSelection – библиотека бесплатных и платных шаблонов на Vue, Next.js, Nuxt и Laravel. Специализируется на административных панелях и UI-китах.

  • Creative Tim – шаблоны на Bootstrap, Tailwind, Angular, React, Vue, Next.js, Nuxt, Svelte, Laravel, Django и Astro.

  • Themesberg предлагает широкий выбор шаблонов для административных панелей, лендингов, дизайн-систем и UI-китов.

  • TemplateDeck – небольшая библиотека креативных Bootstrap-шаблонов высокого качества.

  • Flout UI – коллекция компонентов Tailwind и готовых шаблонов Next.js.

  • Michael Andreuzza – бесплатная подборка шаблонов Astro, созданная опытным и креативным разработчиком.

  • Just Good UI – собрание бесплатных и платных шаблонов Astro.

  • Startup Landing – подборка бесплатных шаблонов Next.js и Gatsby.

  • Web3Templates – красивые шаблоны Tailwind, Astro и Next.js, оптимизированные для конверсий.

  • Landify – красивые и современные шаблоны Gatsby.

  • Nextjs Templates – широкий выбор шаблонов для разных целей, включая SaaS, стартапы, бизнес, программное обеспечение и блоги.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • LayoutFlow – отличные шаблоны для агентств, портфолио и сайтов услуг.

  • Template Foundation – шаблоны, ориентированные на портфолио и личные сайты.

  • Templated – продуманные шаблоны на HTML/CSS и Bootstrap.

  • Freebiesbug – высококачественные шаблоны, оптимизированные для маркетинга.

  • Start Bootstrap – широкий выбор профессиональных шаблонов для стартапов, агентств, портфолио, личных сайтов и блогов.

  • MonsterOne – современные шаблоны с несколькими страницами.

  • TemplatesJungle – шаблоны для бизнеса, агентств, сервисов, портфолио, электронной коммерции и других целей.

  • 3rd Wave Media – коллекция высококачественных шаблонов, ориентированных на ИТ-сферу.

  • Tooplate – большая коллекция стильных и современных Bootstrap-шаблонов.

  • Pixel Rocket – качественные Bootstrap- и Tailwind-шаблоны.

  • HTML Codex – широкий выбор шаблонов для бизнеса, курсов, продуктов, агентств, сервисов, портфолио, резюме и других целей.

  • W3Layouts отличается широким выбором шаблонов для бизнеса.

  • Bootstrapious – шаблоны с хорошим дизайном и продвинутыми компонентами.

  • Untree – стильные шаблоны со сложными элементами.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • Tailwind Toolbox – красивые шаблоны с продуманной структурой.

  • Pixelcave – современные шаблоны для сайтов и административных интерфейсов.

  • Themefisher – коллекция шаблонов для бизнеса, SaaS, блогов и других целей.

  • Tailspark – Tailwind-шаблоны для SaaS-сайтов и лендингов.

  • Red Pixel Themes – шаблоны с  хорошим дизайном и многими полезными компонентами.

  • Ari Budin – уникальные шаблоны для портфолио, агентств, журналов и дизайн-систем.

  • Treact – бесплатная библиотека React-шаблонов.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • DesignToCodes – шаблоны для стартапов, агентств, портфолио и административных панелей.

  • UI Lib – библиотека Bootstrap-, Tailwind-, Angular-, React- и Vue-шаблонов.

  • AdminMart – профессиональные шаблоны со множеством секций и компонентов.

  • WrapPixel – специализируется на административных панелях и UI-китах, предлагает широкий выбор шаблонов с разным дизайном и структурой.

  • Tabler – бесплатная библиотека Bootstrap-шаблонов, специализируется на административных панелях.

  • KeenThemes – современные шаблоны для админ-панелей со множеством компонентов.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост

🎮 Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека разработчика игр | Gamedev, Unity, Unreal Engine»

  • EaseTemplate – подборка современных Bootstrap-шаблонов.

  • BootstrapDash – шаблоны с несколькими страницами и продвинутыми компонентами.

  • CodedThemes – профессиональные Bootstrap-, Angular-, React- и Vue-шаблоны с красивым дизайном.

  • Salvia Kit предлагает коллекцию Angular-, React-, Vue-, Nuxt- и Svelte-шаблонов. Отличается широким выбором шаблонов для административных панелей.

Итоги недели в мире фронтенда и обзоры новых сервисов: 10 полезных JavaScript-трюков Программирование, Разработка, Шаблон, Angular, Bootstrap, CSS, Frontend, Gatsby, HTML, IT, Javascript, Laravel, React, Vue, Длиннопост
  • JustBoil – Tailwind-, React-, Vue-, Next.js-, Nuxt- и Laravel-шаблоны для сайтов и админ-панелей.

  • Iqonic Design – библиотека React- и Vue-шаблонов, предлагает несколько бесплатных пакетов для создания современных интерфейсов.

Автор рассылки: Наталья Кайда

📧 Подписаться на рассылку

Показать полностью 24
Программирование Разработка Шаблон Angular Bootstrap CSS Frontend Gatsby HTML IT Javascript Laravel React Vue Длиннопост
1
1
Proglib
Proglib
10 месяцев назад
Серия Итоги недели в мире фронтенда и обзоры сервисов

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга⁠⁠

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

☕ 5 способов создания DOM-элементов из HTML-строк методами JavaScript

Создание DOM-элементов из строк обеспечивает:

  • Динамическое создание контента – можно добавлять новые элементы на страницу без перезагрузки.

  • Гибкость – можно легко генерировать HTML на основе данных, полученных от пользователя или с сервера.

  • Шаблонизацию – поскольку упрощает создание повторяющихся структур HTML.

  • Управление интерфейсом – помогает создавать интерактивные элементы, которые реагируют на действия пользователя.

Почти все современные JavaScript-фреймворки и библиотеки предоставляют удобные инструменты для создания DOM-элементов из HTML-строк – это одна из основных задач, которую они решают. Если же нужно обойтись возможностями ванильного JavaScript, то это можно сделать несколькими разными способами.

innerHTML

Это самый известный метод: он позволяет вставить строку HTML внутрь атрибута innerHTML контейнера и затем получить доступ к созданному узлу DOM. Однако он может обрабатывать только допустимые узлы HTML – к примеру, попытка вставить элемент <tr> в <div> приведет к тому, что узел не будет создан. Кроме того, этот метод не выполняет скрипты в HTML-строках, что делает его безопасным при работе с непроверенным содержимым.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

innerHTML + template

Использование тега <template> снимает ограничения на содержимое – он может содержать любую HTML-структуру, включая элементы, связанные с таблицами – <tr> и <td>.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

insertAdjacentHTML

Как и innerHTML, этот метод обрабатывает только допустимые HTML-узлы и не выполняет скрипты.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

DOMParser

Этот метод работает медленнее остальных, поскольку он разбирает строку, создавая полный HTML-документ, и только потом извлекает узел из документа. Он также может обрабатывать только допустимые узлы HTML и не выполняет скрипты.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

Range.createContextualFragment

Самый простой, но не безопасный метод – выполняет скрипты. Поэтому при его использовании необходимо очищать данные для защиты от XSS – например, с помощью DOMPurify.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

🎓☕ Подтянуть свои знания по Java вы можете на нашем телеграм-канале «Библиотека Java для собеса»

🦮 Интерактивные гайды

Гайд по SVG

SVG-графика предоставляет нам стандартизированный способ создания изображений и иконок, которые можно отображать в любом размере без потери качества изображения. Но разобраться в методах SVG не так-то просто. На помощь придет интерактивный справочник SSSVG.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

SSSVG поможет быстро понять принцип работы всех основных атрибутов

К слову, возможности SVG простираются за пределы создания векторных картинок и лого: энтузиасты умудрились сделать «Тетрис» в виде одного SVG-файла.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

Этот «Тетрис» сделан полностью на SVG

Гайд по :has() в CSS

Псевдокласс :has() открывает новые возможности для творческих экспериментов в CSS, позволяя создавать сложные и интерактивные дизайны без использования JavaScript. Это первый родительский селектор, позволяющий стилизовать элемент в зависимости от его содержимого. Все невероятные возможности :has() продемонстрированы в интерактивном гайде CSS :has() Interactive Guide.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

В гайде подробно разобраны десятки примеров использования :has()

🐘🧩 Интересные задачи по PHP для практики можно найти на нашем телеграм-канале «Библиотека задач по PHP»

🪚 Инструменты

Plasmic – опенсорсный визуальный конструктор для создания сайтов и веб-приложений на React со множеством функций:

  • Можно интегрировать с существующими React-проектами.

  • Можно использовать как CMS.

  • Позволяет подключать разные источники данных и бэкенд-сервисы.

  • Совместим с Next.js и Gatsby.

  • Поддерживает оптимизацию производительности, включая статическую генерацию сайтов и оптимизацию изображений.

article-extractor – эта библиотека Node.js извлекает текст статей, метаданные и ссылки на изображения по URL.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

Протестировать article-extractor можно на демо-сайте

Turndown – Node.js-библиотека для конвертирования HTML в Markdown. Отлично работает в связке с предыдущим инструментом.

Итоги недели в мире фронтенда и обзоры новых сервисов: Как выбрать стратегию рендеринга Программирование, Разработка, Рендер, Frontend, CSS, HTML, IT, Javascript, Markdown, Nodejs, Svg, Видео, Длиннопост, YouTube, YouTube (ссылка)

article-extractor + turndown подготовят контент для LLM

15 полезных расширений VS Code для фронтендера

  • Auto Rename Tag – при переименовании HTML-тега автоматически обновляет парный тег.

  • Code Spell Checker – находит опечатки в именах переменных и других идентификаторах.

  • DotEnv – добавляет цветовое оформление и улучшает читаемость файлов с переменными окружения.

  • Docker – добавляет вкладку для удобной работы с контейнерами, если вы используете Docker.

  • ESLint – выявляет проблемы в коде (нарушения форматирования или потенциальные ошибки) на лету.

  • Figma – позволяет встраивать и просматривать файлы дизайна Figma прямо в VS Code.

  • GitHub Copilot – предлагает AI-генерируемые подсказки во время набора кода.

  • Copilot Chat – предоставляет окно чата в стиле ChatGPT прямо в редакторе.

  • GraphQL – набор расширений, упрощающих работу с GraphQL.

  • Import Cost – показывает размер импортируемых пакетов, помогая выявить потенциальное раздувание кода.

  • Live Server – запускает локальный сервер с автоматической перезагрузкой, что удобно для предварительного просмотра изменений.

  • Live Share – позволяет программировать в команде с другими разработчиками, работая в одном редакторе в реальном времени.

  • Markdown Preview Enhanced – предоставляет живой предпросмотр Markdown-файлов во время редактирования.

  • Notes – удобный блокнот для хранения заметок по проекту, инструкций по настройке и т. д.

  • Hinty – предоставляет динамические подсказки в реальном времени. Помогает избегать повторения распространенных ошибок и соблюдать стандарты написания кода в команде.

🐍🎓 Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека Python для собеса»

⚛️ Как выбрать оптимальную стратегию рендеринга

Рендеринг – это процесс превращения кода в контент. За годы развития интернета эта технология прошла долгий путь – от формирования простейших HTML-страниц на стороне сервера до динамического обновления интерактивных приложений без перезагрузки. Сейчас в ходу несколько методов рендеринга:

  • Генерация статических сайтов (предварительно генерирует HTML-страницы во время сборки приложения).

  • Генерация на стороне сервера (генерирует полный HTML для страницы при каждом запросе).

  • Генерация на стороне клиента (использует JavaScript для рендеринга контента в браузере пользователя).

  • Инкрементальная статическая регенерация (позволяет обновлять отдельные страницы после сборки сайта).

  • Частичный пререндеринг (экспериментальный подход, который стремится автоматически оптимизировать стратегии рендеринга).

Эти методы по-разному подходят к оптимизации работы приложения, SEO и пользовательского опыта. Их можно комбинировать – это позволяет по максимуму использовать сильные стороны, нивелировать недостатки и обеспечить оптимальный баланс производительности, свежести данных и интерактивности. Разработчики Vercel (эта компания создала Next.js) написали подробную статью о преимуществах и недостатках каждого подхода и о том, как их лучше комбинировать.

Генератор статических сайтов (SSG)

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

Преимущества:

  • Самая быстрая загрузка страниц.

  • Отличные показатели SEO.

  • Самая низкая нагрузка на сервер.

  • Низкие затраты на инфраструктуру.

Недостатки:

  • Увеличенное время сборки для сайтов с большим количеством страниц.

  • Обновление контента требует новой сборки и развертывания.

Рендеринг на стороне сервера (SSR)

Идеально подходит для персонализированных дашбордов, лент соцсетей и визуализации данных в реальном времени.

Преимущества:

  • Всегда отдает свежий, актуальный контент.

  • Показатели SEO и времени загрузки данных лучше, чем при рендеринге на стороне клиента.

Недостатки:

  • Загрузка происходит медленнее, чем при использовании SSG или ISR.

  • Показатель времени до первого байта (TTFB) может быть неудовлетворительным.

  • Потребляет больше серверных ресурсов.

Инкрементальная статическая регенерация (ISR)

Подходит для случаев, когда сборка с SSG занимает слишком много времени. Используется для страниц продуктов в e-commerce, новостных порталов и крупных контентных сайтов.

Преимущества:

  • Сохраняет быструю загрузку страниц, как у SSG.

  • Позволяет обновлять контент по требованию без полной пересборки.

  • Эффективно масштабируется на большое количество страниц.

  • Может быть экономичнее, чем SSR, в некоторых случаях.

Недостаток:

  • Требует тщательного управления стратегиями инвалидации кэша.

Рендеринг на стороне клиента (CSR)

Подходит для интерактивных элементов страницы, требующих немедленной обратной связи, админ-панелей с данными в реальном времени и приложений типа Notion, которые непрерывно синхронизируют вводимые пользователем данные с сервером.

Преимущества:

  • Самый интерактивный пользовательский опыт.

  • Плавные переходы между состояниями приложения.

  • Взаимодействие с внешними данными в реальном времени.

Недостатки:

  • Начальная загрузка может быть медленнее из-за необходимости загрузки JavaScript-бандла.

  • Оптимизация Core Web Vitals может быть сложной.

  • Требует тщательного управления состоянием на клиенте.

Частичный пререндеринг (PPR)

PPR призван объединить преимущества других стратегий рендеринга и потенциально может стать стандартным подходом для веб-приложений в будущем.

Преимущества:

  • Мгновенная загрузка страницы (как у SSG).

  • Плавная потоковая передача динамического контента.

  • Улучшенная производительность с меньшими затратами на разработку.

Недостатки:

  • Все еще находится в стадии исследований и разработки.

  • Может потребовать рефакторинга кода для включения в существующий проект.

Выбор стратегии рендеринга

При выборе стратегии рендеринга нужно учитывать следующие факторы.

Как часто обновляется контент?

  • Статический контент лучше всего обрабатывать генератором статических сайтов.

  • Для вывода периодически обновляемого контента отлично подходит инкрементальная статическая регенерация.

  • Обновление контента в реальном времени требует серверного или клиентского рендеринга.

Для повышения производительности нужно стремиться к максимальному использованию SSG и ISR, прибегая к SSR только в случае необходимости получения абсолютно свежих данных.

Насколько важно продвижение страницы в поисковых системах?

  • Хотя Google может рендерить JavaScript на стороне клиента, ключевые показатели Core Web Vitals все еще сильно влияют на ранжирование.

  • Высоких показателей CWV легче добиться на статических и серверных страницах, чем на страницах с клиентской загрузкой внешних данных.

Насколько активно пользователь будет взаимодействовать со страницей?

  • Если страница в основном статическая с минимальным взаимодействием, используйте SSG или ISR с небольшим количеством клиентского JavaScript.

  • В противном случае может потребоваться SSR (с гидратацией на стороне клиента).

Каковы требования к скорости загрузки?

  • Для максимально быстрой начальной загрузки используйте SSG или ISR с редкой инвалидацией.

  • Чтобы сбалансировать свежесть данных и скорость, используйте ISR или SSR (для актуальных данных).

  • CSR может обеспечить данные в реальном времени, но часто за счет начальной загрузки.

Нужно ли персонализировать контент?

  • Если вам нужен персонализированный контент, скорее всего, потребуется SSR или CSR.

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

  • SSG не позволяет персонализировать контент.

🔤 Больше полезных материалов вы найдете на нашем телеграм-канале «Азбука айтишника»

Автор рассылки: Наталья Кайда

Показать полностью 10 1
Программирование Разработка Рендер Frontend CSS HTML IT Javascript Markdown Nodejs Svg Видео Длиннопост YouTube YouTube (ссылка)
0
20
Аноним
Аноним
1 год назад
Умный дом

План квартиры в svg⁠⁠

@PomidorniyBochok тут в #comment_312621521 спрашивает:

И как подцепить свг план квартиры, пожалуйста?

У меня в профиле посты на другую тему, засорять не хочу так что отвечаю анонимно. Привет, я @NoAdO =)

О чём речь?

Вот о той карточке слева-вверху. Вентилятор крутится квадратик 3D-принтера ездит, всё не только классно, но и отражает статус умного дома. Чёж за умный дом без спецэффектов, да?)

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Ля красиво ща также сделаю себе!

Сейчас панелька у меня выглядит вот так, мне просто лень переснимать видео. Стало поровнее и полаконичней.. вроде бы.

Переходи к плану квартиры!

Инструкция в инете есть но я её не нашёл так что использую наброски, что скидывал для знакомого. В двух словах: ты рисуешь svg помечая объекты внутри как имена штук из Home Assistant а потом карточка ha-floorplan их оживляет, вот и всё.

Итак, ты рисуешь план квартиры/дома, у тебя есть ориентир в виде скана плана помещения. Если нет - для типовых домов лучше его раздобыть, сильно поможет.

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Не ну чё началось-то. Ладно, в фотошопе слои были и тут вроде пока понятно

Шаг 0: Создай документ в каком-нибудь примерно нужном размере, потом можно будет подрезать. Добавь себе панели для слоёв, свойств объекта и заливки-обводки, если их нет.

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Дорисуйте остаток совы.. а, фух, это просто фоновая картинка красивая была

Шаг 1: добавь туда скан, поставь ему непрозрачность. Вот кусок инструкции с их сайта. Есть ещё куча разных гайдов, пока мы не делаем ничего, связанного с Home Assistant.

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Вот это мой уровень сложности!

Шаг 2: Под ним создай папку "фон" и выбери её. Начинай в ней рисовать элементом Pen Tool используя Ctrl чтобы получить прямые линии. Это у нас заливка, что потом будет стенами.

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Всё ещё не страшно

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Я просыпаюсь в кошмарном бреду Как будто дом наш залило водой

Шаг 3: создай папку "фоны комнат" и сделай там то же самое, только с комнатами и поменяв цвет. В любой момент можно дёргать видимость слоя туда-сюда. И вообще, больше папок!

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

А вначале-то плёл что всё просто!

Шаг 4: Вот тут уже начинается Home Assitant. Переименуй ID этих фонов комнат под ID светильников из Home Assistant чтобы ha-floorplan понимал, где объекты

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Помедленнее, я не успеваю!

Шаг 5: Ну и потихоньку начинай рисовать схему, используя прямоугольники или всё тот же инструмент рисования многоугольников. Можешь даже перо, если скиловый. ID объектов стоит переименовывать, чтобы не путаться. Если ты всю папку назовёшь ID для HomeAssistant, он всей папкой и будет вертеть как одним объектом.

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Ааа! В глазах двоится!

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Фух, не двоится. В рот мне ноги Дэвид Блейн откуда ты сортир-то взял!?

В итоге получится план, из которого ты убираешь картинку. Тут важно сильно не увлекаться, намечая вещи контурами а не пытаясь добиться максимальной детальности. Но откуда анониму из интернета лучше тебя знать как тебе красиво, я только советую)

А теперь код

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост
План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Моя карточка ha-florplan начинается с описания основных моментов:

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Ммм, код скриншотом. Это не кровь из глаз, это я плачу

Конечно же Пикабу не прикрутили редактор кода в 2к24, это же развлекательный сайт а не хабр. Так что берите что есть, не забудьте пробелы, yaml-код обожает только правильное число пробелов.

Вообще во всех этих экспериментах выяснилось, что проще всего назвать файл плана home_b1.svg и при каждом вмешательстве в картинку сохранять его с НОВЫМ именем, иначе будете сидеть и чистить вилкой кэш.

На картинке выше задаётся путь к векторной графике, к стилям, указано что используется кеш браузера (лучше убрать строчку на время тестов), используется высота изображения, в консоль браузера выводится лог (можно ещё какой-то строкой настроить чтоб прям в карточку, очень помогает на первых этапах) и установлены правила "по умолчанию", то есть если ниже не указано для элемента иное, будут применяться hover-info для наведения и toggle для клика. Скажу сразу, hover-info я не делал

ВАЖНО: не надо делать всё сразу! Сделайте одну кнопку, сохраните код, выдохните. Потом доделаете ещё.

В разделе rules описано поведение для объекта или объектов. Если несколько объектов, правило выглядит так:

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Если я просто перепишу это же заработает? Заработает же? (нет)

Тут я прошу для перечисленных entities при смене их state выполнить смену стиля, описанную в style. #ffffff79 это белый с некоторой прозрачностью, #013f64 это мой синий, а вторая строка это про плавное затухание.

"А как они переключают свет?" спросишь ты. А это действие по умолчанию tap_action: toggle , мы же его выше задали.

Если объект один, чуть меняется синтаксис в начале а так всё то же самое:

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

СЛОЖНА!

Так что я покажу сразу, что тут tap_action: none что значит что мы отображаем статус объекта, но на клик он реагировать не будет.

Продвинутое колдунство

пример с вращением:

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Разница в том, что мы задаём не описанный style а class который должен быть описан в .css файле. Для вращения это выглядит так:

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Хоспади он ещё и CSS высрал откуда-то

где вверху два класса, определяющие свойства анимации (в нашем случае по сути только скорости вращения, они разные у spinning и slow-spinning но оба ссылаются на один и тот же keyframe spin, где описано как должен двигаться объект. с помощью CSS анимаций можно и плавное включение света реализовать. В блоке

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Две строки это то что нужно одновременно выполнить над объектом. То есть в описании мы задаём так:

залить: ${ статус === включено ? если да то #ffffff79 иначе #013f64 };

анимировать переход: ${ статус === выключено ? если да то заполнение за 1 секунду ease, иначе "" } ("" это пустота, ничего). И если поменять код на

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

То мы задаём и вторую анимацию, для статуса "иначе" и можем включать и выключать свет с разной скоростью анимации. В примере мы выключаем за 2 секунды а включаем за 0.5. Если это не нужно, то и условие не нужно:

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Ну и, наконец, перемещение в цикле. Как и раньше, мы спрашиваем равен ли статус указанному и если да то применяем стиль:

'${(entity.state === "on") ? "move-print" : ""}'

А в файле home.css пишем:

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост

Вот так это всё работает но чтобы уважаемый читатель разахуел я повторю:

НЕ НАДО ДЕЛАТЬ ВСЁ СРАЗУ

Ну то есть нарисуйте сперва план в минималке, пусть даже это будет 1 прямоугольник в пустоте с названием вашего выключателя. Составьте минимальную карточку и заставьте чёрный прямоугольник на картинке переключать свет. Все вот эти свистелки-перделки потом доделаете, постепенно! Я дважды забивал на всё это потому что хотел сразу чтобы оно свистело пердело и всё делало. И вот так - действительно сложно.

То есть если вы реально нарисуете два прямоугольника цвета 013f64 (синий) и назовёте их как свои выключатели (в моём примере ниже light.hall и switch.kitchen), сохранив файл в папке \www\svg\home_b1.svg то вот эта карточка будет работать.

План квартиры в svg Home Assistant, Векторная графика, Программирование, CSS, Видео, YouTube, Гифка, Длиннопост
Показать полностью 22
[моё] Home Assistant Векторная графика Программирование CSS Видео YouTube Гифка Длиннопост
29
2
SharpWalk
SharpWalk
1 год назад

Душу змею без регистрации и смс⁠⁠3

Речь о программировании. Заголовок такой, потому что лучше я не придумал.
Так, ну что там с моим проектом?
На меня подписался восемьдесят седьмой человек, значит, ему это интересно. Не знаю, кто ты, но этот пост для тебя.
Была проблема с выпадающим меню. Как с геморроем, только наоборот. Оно должно было выпадать, но не выпадало. А теперь всё работает. Я не знал, в чём причина. Навбар копировал с сайта бутстрап, но он почему-то не работал, как надо. Библиотека Джанго бутстрап была установлена, в процессе я добавил теги лоад бутстрап, лоад статик, это не помогало. И потом я просто скопировал теги скрипт и линк хреф с сайта бутстрап, и всё заработало. Теперь меню выпадет и не режет мой глаз, можно работать дальше.
Мотивацию подпитывают успехи. Так что буду стараться дальше.
Всем идущим тропой питона желаю не сбиваться с пути.
Кто мужество имеет ждать, с победой тот не расстаётся.

[моё] Python Программирование Джанго Bootstrap HTML CSS Текст
1
2
AleynikovRoman
1 год назад

SearchJumper - одно из лучших opensouce расширений для браузера⁠⁠

SearchJumper - одно из лучших opensouce расширений для браузера Google Chrome, Microsoft Edge, HTML, CSS, Javascript, Github, Open Source, Web, Web-программирование, Firefox, Веб-разработка, Веб-дизайн, Программирование, Веб-приложение

SearchJumper - GitHub

Для своих нужд искал расширение для поиска и подсвечивания ключевых слов разными цветами и чтобы цвета не повторялись минимум 15-20 раз. Из того, что удалось найти было одно расширение, которое полностью соответствует этой цели, и так же я случайно наткнулся на это расширение, которое так же соответствует цели, но помимо этого предоставляет и другие очень мощные функции. Спустя некоторое время пользования им я бы сказал, что поиск и выделение слов - это лишь 5% от реального потенциала расширения. Поскольку подробных мануалов для тонкой настройки поисковых функций автор не приводит в ознакомительном видео и на сайте, то настроить расширение и все его функции полностью под себя не получилось, но из ознакомительной информации видно, что они офигенные. Хоть приложение переведено на английский, это все равно не помогает разобраться во всем, т.к. для некоторых из функций нужно знание javaScript, css, html. Кое в чем, конечно, удалось разобраться, но еще много остается загадкой.

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

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

Дублирую ссылку на гитхаб еще раз

Показать полностью
Google Chrome Microsoft Edge HTML CSS Javascript Github Open Source Web Web-программирование Firefox Веб-разработка Веб-дизайн Программирование Веб-приложение
10
Version001
1 год назад
Серия Трудовыебудни фрилансера

Format C:⁠⁠

Всем привет, Пикабу!

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

Сразу скажу, я не профессиональный программист. Все, что я знаю - черпал в разное время из книг и Youtube. Да, когда-то начинал по книге изучать Delphi, а с помощью форумов и HTML писал для себя простенькие сайты. Прошло довольно много времени, изучение было успешно отложено. Около года назад снова заинтересовало написание кода, выбор пал на распиаренный Python. В общем сейчас владею небольшим багажом знаний по Python, HTML верстке с CSS, JavaScript и немного C# (На C# имеется опыт в написании плагинов для игры Rust).

В данный момент есть огромное желание практиковаться, сталкиваться с трудностями и искать решения. Именно поэтому подался на фриланс. Конечно, я не буду рекламировать площадки при публикации проектов.

Ну и чтобы завершить данный поток написанных слов, расскажу о своем первом опыте на фрилансе. Как и ожидалось мной, опыт был негативным в силу моего доверия к людям. Мне удалось взять задание по редактированию шаблона сайта на Joomla. Ранее я уже сталкивался с этой CMS и базовые принципы работы имелись. Как это обычно бывает, заказчику потребовалось больше, чем было указано в описании задания. Я согласился, так как хотелось получить опыт в реальном заказе. Сейчас я не буду описывать в чем конкретно заключалась задача и ее многочисленные подзадачи в виде "мелких" правок и какова была реализация. Скажу только итог - я выполнил всю работу и не получил за свою работу ни копейки. Да, таков был первый опыт.

Я очень надеюсь, что найдутся те, кому это будет интересно. Надеюсь, что найдутся и те, кто будет тоже делиться своими знаниями. В общем, Пикабу, не кидай камни)

Показать полностью
[моё] Программирование Программист Python IT Windows HTML CSS Javascript Csharp Текст
1
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
2
Wowovideo
Wowovideo
1 год назад
ITmozg

Превращение коротких видео в ASCII-арт⁠⁠

https://codepen.io/konstantindenerz/pen/YzgRQZj

источник https://t.me/itmozg/9670

Вертикальное видео Программирование Программист IT ASCII Арт Windows CSS Видео Без звука Telegram (ссылка)
4
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии