Node.js | Telegraf
Telegraf - очень простой и удобный фреймворк для телеграм ботов.
Преимущества
- Полная поддержка Telegram Bot API 4.8
- Поддержка платежной платформы Telegram
- Поддержка HTML5 игр
- Инлайн мод
- Совместим с веб-хуками (http, https, fastify, express.js)
Пример
Telegraf - очень простой и удобный фреймворк для телеграм ботов.
Преимущества
- Полная поддержка Telegram Bot API 4.8
- Поддержка платежной платформы Telegram
- Поддержка HTML5 игр
- Инлайн мод
- Совместим с веб-хуками (http, https, fastify, express.js)
Пример
var { Telegraf } = require('telegraf')
var bot = new Telegraf(process.env.BOT_TOKEN)
bot.start((ctx) => ctx.reply('Добро пожаловать!'))
bot.help((ctx) => ctx.reply('Отправь мне стикер'))
bot.on('sticker', (ctx) => ctx.reply('👍'))
bot.hears('Привет', (ctx) => ctx.reply('Приве-е-ет!'))
bot.launch()This media is not supported in your browser
VIEW IN TELEGRAM
CSS | CLIP PATH
Clip-path - указывает, какая часть изображения будет видна.
Есть 2 варианта как получить изображение определенной формы:
- вырезать в редакторе
- наложить фигуру через CSS свойство clip-path
На ресурсе по ссылке ниже вы можете быстро получить нужную форму с готовым CSS кодом.
Clip-path - указывает, какая часть изображения будет видна.
Есть 2 варианта как получить изображение определенной формы:
- вырезать в редакторе
- наложить фигуру через CSS свойство clip-path
На ресурсе по ссылке ниже вы можете быстро получить нужную форму с готовым CSS кодом.
В телеге наконец-то появился канал, где собирают вопросы на логику с технических собеседований. 90% что при собеседовании в Яндекс или Гугл что-то из этого у вас спросят.
Подписывайся на АйТи собес и прокачивай свой скилл собеседований.
Подписывайся на АйТи собес и прокачивай свой скилл собеседований.
Как создать ссылку $b на переменную $a в PHP?
Anonymous Quiz
23%
$b =$ $a;
56%
$b =& $a;
10%
$a =$ $b;
12%
$a =& $b;
Node.js | socket.io
socket.io - библиотека для веб-приложений и обмена данными в реальном времени. Состоит из двух частей: клиентской, которая запускается в браузере и серверной для node.js. Оба компонента имеют похожее API. Подобно node.js, Socket.IO событийно-ориентированная. В своей основе использует протокол WebSocket. Можно использовать для создания чатов и мультиплеерных игр.
Простейший пример
socket.io - библиотека для веб-приложений и обмена данными в реальном времени. Состоит из двух частей: клиентской, которая запускается в браузере и серверной для node.js. Оба компонента имеют похожее API. Подобно node.js, Socket.IO событийно-ориентированная. В своей основе использует протокол WebSocket. Можно использовать для создания чатов и мультиплеерных игр.
Простейший пример
var io = require('socket.io')(80);
var cfg = require('./config.json');
var tw = require('node-tweet-stream')(cfg);
tw.track('socket.io');
tw.track('javanoscript');
tw.on('tweet', function(tweet){
io.emit('tweet', tweet);
});HTML | Семантика
В HTML4 веб-разработчики использовали свои собственные имена в идентификаторах/классах элементов для их стилизации: header, top, bottom, footer, menu, и т.п. Поисковые системы не могли корректно идентифицировать роль того или иного контента веб-страницы.
В HTML5 появились семантические элементы:
<article> - Определяет статью
<aside> - Определяет блок сбоку от основного контента
<details> - Определяет дополнительную информацию, которую пользователь может открывать или закрывать
<figcaption> - Определяет пояснение для элемента <figure>
<figure> - Используется для группирования различных самодостаточных элементов - иллюстраций, диаграмм, фотографий, листингов кода и т.д.
<footer> - Определяет "подвал" документа или раздела
<header>- Определяет "шапку" документа или раздела
<main> - Определяет основной контент документа
В HTML4 веб-разработчики использовали свои собственные имена в идентификаторах/классах элементов для их стилизации: header, top, bottom, footer, menu, и т.п. Поисковые системы не могли корректно идентифицировать роль того или иного контента веб-страницы.
В HTML5 появились семантические элементы:
<article> - Определяет статью
<aside> - Определяет блок сбоку от основного контента
<details> - Определяет дополнительную информацию, которую пользователь может открывать или закрывать
<figcaption> - Определяет пояснение для элемента <figure>
<figure> - Используется для группирования различных самодостаточных элементов - иллюстраций, диаграмм, фотографий, листингов кода и т.д.
<footer> - Определяет "подвал" документа или раздела
<header>- Определяет "шапку" документа или раздела
<main> - Определяет основной контент документа
Как в Node.js получить архитектуру процессора?
Anonymous Quiz
24%
os.cpus
37%
os.arch
31%
os.platform
8%
os.version
PHP | Вывод значения переменной
Обычно для вывода переменных во время дебага пользуются функциями echo, var_dump или print_r.
У каждой из этих функций есть как свои плюсы, так и свои минусы. Например, echo не сможет вывести содержимое массива, а вывод var_dump или print_r может оказаться громоздким.
Довольно большое количество времени я пользуюсь самописной функцией на основе json_encode:
Обычно для вывода переменных во время дебага пользуются функциями echo, var_dump или print_r.
У каждой из этих функций есть как свои плюсы, так и свои минусы. Например, echo не сможет вывести содержимое массива, а вывод var_dump или print_r может оказаться громоздким.
Довольно большое количество времени я пользуюсь самописной функцией на основе json_encode:
function vi ($o) {
echo(''.json_encode($o, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE).'');
}SQL | Подсчёт определённых символов в строке
Казалось бы, очень простая задача. Однако в SQL нет специального метода для подсчёта вхождений символа в строку.
Зато есть метод LENGTH, с помощью которого можно узнать длину строки.
Следовательно, для выполнения исходной задачи нам нужно:
1. Получить длину исходной строки
2. Заменить в исходной строке искомые символы на пустоту ('')
3. Вычесть из длины исходной строки длину полученной строки
Это и будет количеством вхождений нужного нам символа в строку.
Казалось бы, очень простая задача. Однако в SQL нет специального метода для подсчёта вхождений символа в строку.
Зато есть метод LENGTH, с помощью которого можно узнать длину строки.
Следовательно, для выполнения исходной задачи нам нужно:
1. Получить длину исходной строки
2. Заменить в исходной строке искомые символы на пустоту ('')
3. Вычесть из длины исходной строки длину полученной строки
SELECT (LENGTH('1 2 3 4 5 6') - LENGTH(REPLACE('1 2 3 4 5 6', ' ', ''))) AS symb_countЭто и будет количеством вхождений нужного нам символа в строку.
Node.js | console.table
С помощью console.table(tabularData[, properties]) можно красиво выводить таблицы в консоль. Первым аргументом необходимо подать массив или объект, а вторым при желании можно подать массив столбцов, что будут выведены в таблице.
Пример
Результат
С помощью console.table(tabularData[, properties]) можно красиво выводить таблицы в консоль. Первым аргументом необходимо подать массив или объект, а вторым при желании можно подать массив столбцов, что будут выведены в таблице.
Пример
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a'])Результат
┌─────────┬─────┐
│ (index) │ a │
├─────────┼─────┤
│ 0 │ 1 │
│ 1 │ 'Z' │
└─────────┴─────┘
CSS | Width: auto
Когда мы зададим блочному элементу width:100%, он растянется на всю ширину родительского блока, и не забывайте, что у блочных элементов присутствуют еще margin, padding и border. Поэтому, если они > 0, то элемент выйдет за пределы родительского блока.
А вот если задать width:auto, наш блочный элемент поместится внутри родительского элемента, даже если в нем присутствуют margin, padding и border
Потренируйтесь с классом .item в примере ниже на CodePen, меняя свойство width
Когда мы зададим блочному элементу width:100%, он растянется на всю ширину родительского блока, и не забывайте, что у блочных элементов присутствуют еще margin, padding и border. Поэтому, если они > 0, то элемент выйдет за пределы родительского блока.
А вот если задать width:auto, наш блочный элемент поместится внутри родительского элемента, даже если в нем присутствуют margin, padding и border
Потренируйтесь с классом .item в примере ниже на CodePen, меняя свойство width
О каких понятиях речь?
1. Возвращаются все данные из «левой» таблицы. 2. Возвращаются все записи из таблиц table_01 и table_02, связанные посредством primary/foreign ключей. 3. Возвращаются все данные из «правой» таблицы.
1. Возвращаются все данные из «левой» таблицы. 2. Возвращаются все записи из таблиц table_01 и table_02, связанные посредством primary/foreign ключей. 3. Возвращаются все данные из «правой» таблицы.
Anonymous Quiz
58%
LEFT JOIN, INNER JOIN, RIGHT JOIN
10%
LEFT JOIN, RIGHT JOIN, INNER JOIN
8%
INNER JOIN, LEFT JOIN, RIGHT JOIN
24%
LEFT JOIN, INNER JOIN, RIGHT JOIN
HTML | Emoji
HTML5 поддерживает множество emoji, если установить кодировку символов документа в UTF-8
HTML5 поддерживает множество emoji, если установить кодировку символов документа в UTF-8
<meta charset="UTF-8">Так же Emoji доступны из CSS и JS
h1::before {
content: "🍔";
}
h1::before {
content: "\01F354";
}
document.body.innerText = "😀";
document.body.innerText = String.fromCodePoint(0x1F354);Требуется отсортировать по возрастанию и расставить ранги с помощью sql у следующих значений: 1, 5, 6, 6, 6, 7
Как будут выглядеть ранги, если использовать функцию DENSE_RANK()?
Как будут выглядеть ранги, если использовать функцию DENSE_RANK()?
Anonymous Quiz
23%
1, 2, 3, 4, 5, 6
52%
1, 2, 3, 3, 3, 4
15%
1, 2, 3, 3, 3, 6
11%
1, 2, 2, 3, 3, 3
HTML | fieldset
Элемент
Каждой группе элементов можно присвоить название с помощью элемента
Элемент
<fieldset>...</fieldset> предназначен для группировки элементов, связанных друг с другом, разделяя таким образом форму на логические фрагменты.Каждой группе элементов можно присвоить название с помощью элемента
<legend>, который идет сразу за тегом <fieldset>.
<form>
<fieldset>
<legend>Контактная информация</legend>
<p>
<label for="name">Имя <em>*</em>
</label>
<input type="text" id="name">
</p>
<p>
<label for="email">E-mail</label>
<input type="email" id="email">
</p>
</fieldset>
<p><input type="submit" value="Отправить"></p>
</form>