Frontender Libs - обзор библиотек JS / CSS
前往频道在 Telegram
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/sWebDev
显示更多7 722
订阅者
-324 小时
-217 天
-5430 天
帖子存档
Нужен фидбек
Мы стараемся делать контент максимально интересным для вас, помогите сделать его лучше - пройдите опрос, а если нужного варианта нет - отпишитесь пожалуйста в обсуждениях
Что из этого используется в JavaScript для экранирования символов?
Node.js | Как подружить Apache с Express приложением?
Иногда возникают ситуации, когда нам необходим именно Apache в качестве веб-сервера.
Например, у заказчика есть уже настроенный блог на WordPress весит на домене blog.site.ru. Нам необходимо повесить на app.site.ru Express приложение, которое, допустим, слушает 3000 порт. Как быть?
Cоздаём новый файл в директории виртуальных хостов Apache. У меня это /etc/apache2/sites-available/. Назовём его, допустим, app.site.ru.conf, чтобы было понятно к какому поддомену относится этот файл.
Далее в файл нужно добавить следующее содержимое:
<VirtualHost *:80>
ServerName app.site.ru
ServerAlias app.site.ru
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
Остаётся только включить сайт:
sudo a2ensite app.site.ru
Всё очень просто.
В дополнение стоит сказать, что таким образом можно добавить несколько приложений на разных портах.JS | arcticModal
jQuery-плагин для модальных окон. Настоящее спасение для разработчика, которому требуется получить быстро и качественно сделать модальное окно.
Возможности:
- одновременное отображение нескольких окон
- центрирование окна по вертикали и горизонтали
- AJAX-загрузка содержимого модального окна с визуализацией процесса
- скрытие полос прокрутки основного содержимого страницы
- возможность прокрутки окна, если оно не помещается на экран
- закрытие окна при нажатии Escape или клике на оверлее
- программное управление поведением
😎 С какими IT-технологиями будет интереснее работать?
💻 Приглашаем Вас на бесплатный вебинар от Web Academy на котором Вы узнаете про основные обязанности Front-end и Back-end разработчиков, про технологии, с которыми они работают, про возможности и перспективы, а также кто такие Full Stack специалисты.
⏰ Когда: 21.10 в 17:00 по Киеву/МСК(GMT+3)
🧭 Где: online
📣 Спикер: Илья Литвинов — Senior Front-End Dev в Wix.com.
❗️ Не упустите возможность задать вопрос спикеру online
🖊 Регистрация через чат-бот: https://bit.ly/3dxwHQD
#Ивенты_WebAcademy
#Программирование_WebAcademy
CSS | :empty
Псевдокласс :empty находит любой элемент, у которого нет потомков. Учитываются элементы и текст (включая пробелы). Комментарии не повлияют на то, что элемент будет рассматриваться как не пустой.
Этот псевдокласс можно применять для скрытия пустых блоков в динамическом или пользовательском контенте, например пустые абзацы или пункты списков, стилизовать реактивные элементы в которых может быть, а может и не быть содержимое.
Для того чтобы выбрать все не пустые элементы можно скомбинировать :empty с :not
p:not(:empty) {
/* все не пустые абзацы */
}JS | window.location
window.location Получает/устанавливает URL страницы и его компоненты
Свойства объекта Location:
hash - часть URL, которая идет после символа '#', включая этот символ
host - адрес сайта и порт
href - весь URL страницы
hostname - адрес сайта
pathname - строка пути относительно корня
port - номер порта
protocol - протокол
search - get-параметры, включая символ "?"
Примеры использования
//Проверить хеш страницы и выполнить код
if(window.location.hash == '#someHash'){
doSomething();
}
//Перейти по другому адресу
window.location = "http://javascript.ru"
//перезагрузить страницу
window.location.reload()Node.js | Express и несколько доменов
Express приложение мы уже создали, с помощью EJS его шаблонизировали, что дальше?
Дальше нужно решить вопрос с доменами.
Конечно, есть случаи, когда достаточно повесить приложение на ip адрес, но это, на самом деле, не такая уж и хорошая практика. Конечно нужен домен. А если доменов несколько? И на каждый домен нужно своё приложение? На помощь приходит пакет vhost.
Пользоваться им крайне просто.
Создаётся главное Express приложение:
var mainApp = express()
Затем через метод use к нему подключаются нужные нам обработчики других приложений (либо, допустим, обработчики одного и того же приложения):
mainApp.use(vhost('first.example.com', firstApp))
mainApp.use(vhost('second.example.com', secondApp))
Остаётся только поставить слушателя на нужный порт:
mainApp.listen(80)Без какого css свойства псевдоэлементы before и after не появятся на странице?
CSS | Всплывающие подсказки
Всплывающая подсказка часто используется для указания дополнительной информации о чем-то, когда пользователь перемещает указатель мыши на элемент, если вы хотите добавить такие подсказки на свой сайт, необязательно переделывать разметку, достаточно двух атрибутов и нескольких строк стилей
Посмотреть принцип работы и поиграть со шрифтами можно на codepen
JS | querySelector
Метод querySelector находит первый элемент, подходящий условию и возвращает его, а querySelectorAll находит все элементы и возвращает их список.
Эти методы максимально упрощают взаимодействие разработчика с элементами страницы, теперь не нужен jQuery чтоб получить набор элементов по сложному селектору, достаточно написать:
вернет несколько элементов
вернет первый элемент из списка
Данные возвращаются в формате NodeList, для обработки этого списка в цикле можно использовать разные способы:
divs = document.querySelectorAll('div');
// spread operator ES6
[...divs].map(el => el.innerText);
// обычный цикл for
for (var i = 0; i < divs.length; i++) {
console.log('elem: ', divs[i]);
}Node.js | Индикатор загрузки для консоли
ora - ещё один интересный npm пакет, позволяющий украсить консольный вывод, а заодно и скрасить ожидание пользователям вашего приложения. С помощью этого пакета можно отобразить индикатор загрузки.
Особенности
- Поддержка промисов
- Поддержка эмодзи
- Возможность кастомизации индикатораCSS | Способы задания цвета
Базовые цвета
color: aquaRGB Самое распространенный вариант, каждое число представляет собой количество красного(Red), зеленого(Green) и голубого(Blue) цвета в смеси.
#f00 - #rgb #ff0000 - #rrggbb rgb(255, 0, 0) rgb(100%, 0%, 0%)RGBA То же самое представление цвета, но с добавлением альфа-канала, который отвечает за прозрачность.
белый с прозрачностью 50% rgba(255, 255, 255, 0.5) rgba(100%, 100%, 100%, 0.5) #fff8 - #rgba #ffffff88 - #rrggbbaaHSL Способ указания цвета в зависимости от его тона(Hue) насыщенности (Saturation) и яркости (Lightness ).
hsl(120, 100%, 25%) - тёмно зеленый hsl(120, 100%, 75%) - светло зеленыйHSLA То же самое, но с альфа-каналом.
hsla(30, 100%, 50%, 0.1) - очень прозрачный оранжевыйtransparent ключевое слово обозначающее прозрачный цвет, эквивалент rgba(0, 0, 0, 0). currentColor ключевое слово обозначающее текущий цвет.
🤩 Мечтаешь стартануть карьеру Python-разработчика❓Но не знаешь, с чего начать❓
Тогда приглашаем тебя на бесплатный вебинар от Web Academy - "Знакомство с языком программирования Python".
Во время вебинара ты узнаешь:
— где используется и что пишут на Python?
— чем занимается Python-разработчик?
— что нужно знать, чтобы стать программистом на Python?
🤔 Об этом — и не только 👨💻 — будем говорить с Антоном Мазуном - Python Developer at GeeksForLess Inc. 🤘
🤗 Присоединяйтесь 🕔 16.10 в 17:00 по Киеву/МСК (GMT+3) к бесплатному вебинару.
➡️ Больше о вебинаре и регистрация здесь: https://bit.ly/2FqODQm
#Ивенты_WebAcademy #Программирование_WebAcademy
Node.js | Язык шаблонов EJS
В прошлый раз мы создали Express приложение и указали EJS в качестве движка рендеринга. Пришло время рассказать о нём немного подробнее.
Самые любознательные уже осмотрели структуру сгенерированного приложения и нашли index.ejs в директории views. С помощью особого тега (
<%=) на страницу выводится значение переменной title. Но существуют и другие теги:
<% - этот тег не выводит информацию, но его можно использовать для условий и циклов;
<%= - этот тег мы уже использовали, с помощью него можно вывести значение переменной, но стоит сделать замечание: значение выводится экранированным;
<%- - этот тег так же выводит значение, но уже без экранирования. Вывод переменной, допустим, со значением '<h1>hi!</h1>' создаст новый элемент h1;
<%# - тег комментария, он не выполняется и не выводится.
Шаблоны EJS поддерживают подргузку других шаблонов:
<%- include(template, params); %>
template - путь шаблона, например, 'user/show'
params - параметры, что попадут в шаблон.Как протестировать сторонний web-ресурс?
22 октября на демо-уроке «Основы puppeteer» Юрий Дворжецкий познакомит вас с этой библиотекой Node.js.
Вы рассмотрите основы HTML/JS и реализуем простое тестирование стороннего Web-ресурса.
Демо-урок входит в программу онлайн-курса «JavaScript QA Engineer». Это единственная в рунете комплексная программа по тестированию на JavaScript. Используйте эту возможность, чтобы бесплатно получить ценные знания, познакомиться с преподавателем и оценить качество курса.
Проходите вступительный тест и регистрируйтесь на занятие https://otus.pw/r7Zh/
HTML | Прижатый футер
Подвал сайта всегда должен быть прижат к низу экрана, если дизайн не требует другого, задача не самая сложная, но требующая определенных знаний.
Вот некоторые способы прижать подвал:
- абсолютное позиционирование
- минимальная высота контента
- табличная верстка
- css flex
- css grid
Рассмотрим два последних варианта, как наиболее актуальные. В обоих случаях нам нужно указать высоту html и body 100% и разделить сайт на две части - контент и футер.
css flex
Оборачиваем сайт во flex-контейнер, меняем направление основной оси флекса на вертикальную и указываем margin-top: auto для футера, тогда он отступив на максимально возможное расстояние от контента прижмется к низу.
css grid
Оборачиваем сайт в grid-контейнер, указываем футеру align-self: end и всё, футер прижат.
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
