Что может вернуть net.isIP(input) в Node.js?
Anonymous Quiz
53%
если input - валидный IP, то true, иначе - false
9%
если input - не валидный IP, то 0, иначе - 1
22%
если input - не валидный IP, то 0, иначе - 4 (если input - IPv4) или 6 (если input - IPv6)
16%
если input - не валидный IP, то 0, иначе - 1 (если input - IPv4) или 2 (если input - IPv6)
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация карточки товара с несколькими изображениями
В примере описано как сделать карточку товара которая будет менять своё изображение по ховеру, представлено два варианта - две картинки на чистом css и несколько картинок с использованием скриптов.
В примере описано как сделать карточку товара которая будет менять своё изображение по ховеру, представлено два варианта - две картинки на чистом css и несколько картинок с использованием скриптов.
CSS | Pointer-events
Свойство pointer-events позволяет управлять тем, как элементы будут реагировать на события мыши или прикосновения к сенсорному экрану. Свойство позволяет контролировать когда, как и может ли вообще указатель устройства взаимодействовать с элементом.
pointer-events: none предотвращает события указателя для элемента: hover, active, click и т.п., в том числе и JavaScript событие click.
pointer-events: auto восстанавливает стандартное взаимодействие указателя с элементом.
Применение pointer-events на практике:
Запретить пользователю клик правой кнопкой мыши по фото на сайте.
Выключить взаимодействие со странице во время обработки ajax-запроса.
Блокировать любой элемент страницы от взаимодействия с курсором.
Свойство pointer-events позволяет управлять тем, как элементы будут реагировать на события мыши или прикосновения к сенсорному экрану. Свойство позволяет контролировать когда, как и может ли вообще указатель устройства взаимодействовать с элементом.
pointer-events: none предотвращает события указателя для элемента: hover, active, click и т.п., в том числе и JavaScript событие click.
pointer-events: auto восстанавливает стандартное взаимодействие указателя с элементом.
Применение pointer-events на практике:
Запретить пользователю клик правой кнопкой мыши по фото на сайте.
Выключить взаимодействие со странице во время обработки ajax-запроса.
Блокировать любой элемент страницы от взаимодействия с курсором.
WEB | Расширения браузера для фронтендера
В интернете существует множество статей про полезные расширения, которые ускоряют и облегчают вёрстку. Вот четыре расширения, которые позволят держать сетку под контролем
Tape - позволяет размещать направляющие, которые привязываются к содержимому страницы (и придерживается его, при прокрутке), и помогает легко измерять отступы и размеры элементов.
PerfectPixel - позволяет разработчикам накладывать полупрозрачное изображение поверх разметки и выполнять между ними идеальное сравнение пикселей. Идеально для вёрстки " пиксель в пиксель".
Design Grid Overlay - Расширение для наложения дизайнерской сетки поверх страницы. Сетка имеет множество настроек.
wireframify - Предварительный просмотр каркаса веб-сайта одним щелчком мыши. Наглядно показывает границы блоков, позволяет в целом оценить качество разметки или найти блок который вызывает горизонтальный скролл.
А какие ваши любимые расширения?
В интернете существует множество статей про полезные расширения, которые ускоряют и облегчают вёрстку. Вот четыре расширения, которые позволят держать сетку под контролем
Tape - позволяет размещать направляющие, которые привязываются к содержимому страницы (и придерживается его, при прокрутке), и помогает легко измерять отступы и размеры элементов.
PerfectPixel - позволяет разработчикам накладывать полупрозрачное изображение поверх разметки и выполнять между ними идеальное сравнение пикселей. Идеально для вёрстки " пиксель в пиксель".
Design Grid Overlay - Расширение для наложения дизайнерской сетки поверх страницы. Сетка имеет множество настроек.
wireframify - Предварительный просмотр каркаса веб-сайта одним щелчком мыши. Наглядно показывает границы блоков, позволяет в целом оценить качество разметки или найти блок который вызывает горизонтальный скролл.
А какие ваши любимые расширения?
Как записать звук с микрофона в Node.js?
Для записи аудио с микрофона в Node.js существует созданный сообществом npm пакет mic.
Модуль работает на основе sox (Windows/Mac) или ALSA (Linux), поэтому необходимо предустановить их.
Базовое использование
Для записи аудио с микрофона в Node.js существует созданный сообществом npm пакет mic.
Модуль работает на основе sox (Windows/Mac) или ALSA (Linux), поэтому необходимо предустановить их.
Базовое использование
var mic = require('mic')
var fs = require('fs')
var micInstance = mic({
rate: '16000',
channels: '1',
debug: true,
exitOnSilence: 6
})
var micInputStream = micInstance.getAudioStream()
var outputFileStream = fs.WriteStream('output.raw')
micInputStream.pipe(outputFileStream)
micInstance.start()GIT | Всё что необходимо знать
Умение пользоваться системами контроля версий одно из главных требований к разработчику, научится базовым операциям не сложно, но git гораздо мощнее, чем может показать на первый взгляд.
В прикрепленных ссылках - учебник по git, справочник с командами, и интерактивное руководство от github, сохраняйте в закладки, изучайте.
Умение пользоваться системами контроля версий одно из главных требований к разработчику, научится базовым операциям не сложно, но git гораздо мощнее, чем может показать на первый взгляд.
В прикрепленных ссылках - учебник по git, справочник с командами, и интерактивное руководство от github, сохраняйте в закладки, изучайте.
Какой формат архивов PHP поддерживает по умолчанию?
Anonymous Quiz
8%
Bzip2
52%
Zip
22%
Phar
17%
RAR
This media is not supported in your browser
VIEW IN TELEGRAM
CSS |Как сделать табы на чистом CSS
Этот пример реализации табов показывает, что необязательно подключать какие то фреймворки или писать скрипты, всё можно решить силами css.
Готовая разметка на emmet:
Этот пример реализации табов показывает, что необязательно подключать какие то фреймворки или писать скрипты, всё можно решить силами css.
Готовая разметка на emmet:
.css-tabs>(input#tab$.css-tab__input[name="tab"][type="radio"]+label[for="tab$"].css-tab__label>span.css-tab__noscript{таб $})*3+.css-tab__content[data-tab="$"]{содержимое $}*3
Остаётся только заменить 3 на необходимое количество табов, взять стили из примера и дописать их для каждого таба после третьего.Как пронумеровать результаты запроса в PostgreSQL, MSSQL и MySQL?
Если используется PostgreSQL или MSSQL, то достаточно добавить функцию row_number() в запрос:
В случае же MySQL придётся применить небольшую хитрость:
Если используется PostgreSQL или MSSQL, то достаточно добавить функцию row_number() в запрос:
SELECT row_number() OVER() AS num, * FROM table LIMIT 10В случае же MySQL придётся применить небольшую хитрость:
SELECT @i:=@i+1 AS num, * FROM table, (SELECT @i:=0) X LIMIT 10This media is not supported in your browser
VIEW IN TELEGRAM
JS | Показываем шапку сайта при прокрутке вверх
Меню будет прятаться при скролле вниз и снова отображаться при начале скролла вверх.
Этот метод будет полезен во многих случаях:
- на страницах каталога при скролле вверх можно показывать меню с фильтрами
- показывать сокращенный вариант меню при скролле вниз и полное меню при скролле вверх
- экономия места в мобильном режиме
Написано без использования jQuery.
Меню будет прятаться при скролле вниз и снова отображаться при начале скролла вверх.
Этот метод будет полезен во многих случаях:
- на страницах каталога при скролле вверх можно показывать меню с фильтрами
- показывать сокращенный вариант меню при скролле вниз и полное меню при скролле вверх
- экономия места в мобильном режиме
Написано без использования jQuery.
Хотите влиться в разработку, с чего начать?
Ниже вы найдете набор диаграмм, демонстрирующих пути, которые вы можете выбрать, и технологии, которые вы хотели бы принять, чтобы изучать фронтенд, бэкэнд или девопс.
Новичкам эти схемы помогут сориентироваться в технологиях, и понять что можно начинать изучать, а что можно отложить на потом. Опытным разработчикам будет полезно пройтись по представленным технологиям и заполнить белые пятна.
Ниже вы найдете набор диаграмм, демонстрирующих пути, которые вы можете выбрать, и технологии, которые вы хотели бы принять, чтобы изучать фронтенд, бэкэнд или девопс.
Новичкам эти схемы помогут сориентироваться в технологиях, и понять что можно начинать изучать, а что можно отложить на потом. Опытным разработчикам будет полезно пройтись по представленным технологиям и заполнить белые пятна.
Какой параметр нельзя изменить у css свойства outline?
Anonymous Quiz
10%
color
16%
width
34%
radius
41%
offset
Аналог питоновского input() в Node.js
Как в Node.js получить данные, вводимые в консоль?
Для этого существует втроенный модуль readline.
Сначала подключаем модуль и создаём интерфейс ввода-вывода:
Теперь можно получить данные, например, попросить ввести ответ на пример 2 + 2:
Как в Node.js получить данные, вводимые в консоль?
Для этого существует втроенный модуль readline.
Сначала подключаем модуль и создаём интерфейс ввода-вывода:
var readline = require('readline')
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})Теперь можно получить данные, например, попросить ввести ответ на пример 2 + 2:
rl.question('2 + 2 = ', (answer) => {
console.log((parseInt(answer) == 4)
? 'Правильно!'
: 'Неправильно!'
)
rl.close()
})CSS | Counters, как стилизовать нумерацию блоков
Счетчики CSS похожи на "переменные". Значения переменных могут быть увеличены с помощью правил CSS (которые отслеживают, сколько раз они используются).
С помощью этих счетчиков удобно нумеровать абзацы, пункты лицензионных соглашений, шаги оформления заказа да и вообще всё где используется последовательная нумерация.
Счетчики CSS похожи на "переменные". Значения переменных могут быть увеличены с помощью правил CSS (которые отслеживают, сколько раз они используются).
С помощью этих счетчиков удобно нумеровать абзацы, пункты лицензионных соглашений, шаги оформления заказа да и вообще всё где используется последовательная нумерация.
ul{
counter-reset: listNumber;
}
li:before {
counter-increment: listNumber;
content: "№ " counter(listNumber);
}