Функция
Синтаксис:
Параметры:
min-value: минимальная величина, которая будет использоваться, если предпочтительная величина будет меньше неё.
preferred-value: предпочтительный размер, который будет использоваться, если размер элемента находится в пределах минимального и максимального значений.
max-value: максимальный размер, который будет использоваться, если предпочтительная величина будет больше неё.
В качестве значений параметров можно использовать любые относительные величины, такие как vh, vw, %, математические выражения, а также другие css функции, такие как calc(), min() и max()
Пример для размера шрифта:
В этом примере размер шрифта будет:
1rem, если ширина вьюпорта (vw) меньше 1rem,
2vw, если ширина вьюпорта находится в пределах от -
1rem до 3rem,
3rem, если ширина вьюпорта больше 3rem.
#css #советы
clamp() в CSS — это функция, которая устанавливает величину между двумя граничными значениями.Синтаксис:
clamp(min-value, preferred-value, max-value);
Параметры:
min-value: минимальная величина, которая будет использоваться, если предпочтительная величина будет меньше неё.
preferred-value: предпочтительный размер, который будет использоваться, если размер элемента находится в пределах минимального и максимального значений.
max-value: максимальный размер, который будет использоваться, если предпочтительная величина будет больше неё.
В качестве значений параметров можно использовать любые относительные величины, такие как vh, vw, %, математические выражения, а также другие css функции, такие как calc(), min() и max()
Пример для размера шрифта:
font-size: clamp(1rem, 2vw, 3rem);
В этом примере размер шрифта будет:
1rem, если ширина вьюпорта (vw) меньше 1rem,
2vw, если ширина вьюпорта находится в пределах от -
1rem до 3rem,
3rem, если ширина вьюпорта больше 3rem.
#css #советы
👍1
Полезная статья про различия между пакетными менеджерами pip для Python и npm для JavaScript)
Читать статью👈
#javascript #python #статья
Читать статью👈
#javascript #python #статья
Функция
Например, если у нас есть приложение
Это может быть полезно, например, в мидлварях, при проверке интервала запросов к серверу, когда после переадресации на определеную страницу интервал очень маленький по значению и нужно для таких запросов сделать исключение и не выдавать ошибку “Too many requests”
И в целом, есть рекомендации не использовать пути, кроме файла urls.py, а применять маршруты, так как пути могут меняться со временем
#django #python
reverse из модуля shortcuts позволяет из маршрута, заданного в файле urls.py конкретного приложения Django в функции path из списка путей urlpatterns, получить путь к ресурсу.Например, если у нас есть приложение
blog, а в нём маршрут “article_list”, то передав его в функцию reverse (reverse(“article_list”)), мы получим в качестве возвращаемого результата, к примеру, такую строку: “blog/list” (Смотря какой путь задан в файле urls.py приложения blog)Это может быть полезно, например, в мидлварях, при проверке интервала запросов к серверу, когда после переадресации на определеную страницу интервал очень маленький по значению и нужно для таких запросов сделать исключение и не выдавать ошибку “Too many requests”
И в целом, есть рекомендации не использовать пути, кроме файла urls.py, а применять маршруты, так как пути могут меняться со временем
#django #python
Полезные статьи про работу JavaScript с наглядными иллюстрациями)
Читать статью👈
Читать статью👈
Читать статью👈
#javascript #статья
Читать статью👈
Читать статью👈
Читать статью👈
#javascript #статья
👍3❤1
Занимательная статья про побитовые операции: НЕ, И, ИЛИ, сдвиги и другие.
Статья очень доходчивая и содержит иллюстрации, помогающие глубже понять сам принцип побитовых операций, так как такие манипуляции с двоичными данными встречаются не только в Java.
Действия над битами могут использоваться, к примеру, при работе с сетью, изображениями, иногда для арифметических операций.
Читать статью👈
#java #статья
Статья очень доходчивая и содержит иллюстрации, помогающие глубже понять сам принцип побитовых операций, так как такие манипуляции с двоичными данными встречаются не только в Java.
Действия над битами могут использоваться, к примеру, при работе с сетью, изображениями, иногда для арифметических операций.
Читать статью👈
#java #статья
❤1👍1
Полезная статья про грамотный выбор структур данных в зависимости от поставленных целей.
Такие вопросы часто задают на собеседованиях
Читать статью👈
#статья
Такие вопросы часто задают на собеседованиях
Читать статью👈
#статья
❤1👍1
Создание телеграм ботов на FAST API + вебхуки + Aiogram! А также с использованием SQLAlchemy, ORM, которая часто мелькает в вакансиях на Python разработчика) Забираем!)😃
Изучить материал👈
#python #телеграмбот #статья
Изучить материал👈
#python #телеграмбот #статья
🔥2
Недавно вышел релиз Python 3.13!)🤩
Давайте посмотрим, что же приготовила для питонистов команда гениев Гвидо Ван Россума?)
Читать статью👈
#статья #python
Давайте посмотрим, что же приготовила для питонистов команда гениев Гвидо Ван Россума?)
Читать статью👈
#статья #python
❤2
🐍Модуль sys в Python🐍
Модуль sys в Python предоставляет доступ к различным системным атрибутам и функциям. Он содержит информацию о текущем процессе, среде выполнения и версии Python.
✅Общие атрибуты:
argv: Список аргументов командной строки, переданных запуску скрипта Python.
exit: Код выхода, который будет возвращен при выходе скрипта.
maxsize: Максимальное значение для целых чисел Python.
path: Список путей, где Python ищет модули.
platform: Строка, содержащая имя и версию операционной системы.
stderr: Объект типа файла для записи ошибок в стандартный поток вывода ошибок.
stdin: Объект типа файла для чтения ввода из стандартного потока ввода.
stdout: Объект типа файла для записи вывода в стандартный поток вывода.
version: Строка, содержащая версию Python.
🛠Функции:
exit(code): Немедленно завершает текущий процесс с указанным кодом выхода.
getrecursionlimit(): Возвращает текущий предел глубины рекурсии.
setrecursionlimit(limit): Устанавливает предел глубины рекурсии на указанное значение.
getsizeof(object): Возвращает размер объекта в байтах.
gettrace(): Возвращает текущую функцию трассировки или None, если трассировка не включена.
settrace(tracefunc): Устанавливает указанную функцию tracefunc в качестве функции трассировки, которая выполняется каждый раз при входе или выходе из функции.
🍕Примеры использования:
Модуль sys в Python предоставляет доступ к различным системным атрибутам и функциям. Он содержит информацию о текущем процессе, среде выполнения и версии Python.
✅Общие атрибуты:
argv: Список аргументов командной строки, переданных запуску скрипта Python.
exit: Код выхода, который будет возвращен при выходе скрипта.
maxsize: Максимальное значение для целых чисел Python.
path: Список путей, где Python ищет модули.
platform: Строка, содержащая имя и версию операционной системы.
stderr: Объект типа файла для записи ошибок в стандартный поток вывода ошибок.
stdin: Объект типа файла для чтения ввода из стандартного потока ввода.
stdout: Объект типа файла для записи вывода в стандартный поток вывода.
version: Строка, содержащая версию Python.
🛠Функции:
exit(code): Немедленно завершает текущий процесс с указанным кодом выхода.
getrecursionlimit(): Возвращает текущий предел глубины рекурсии.
setrecursionlimit(limit): Устанавливает предел глубины рекурсии на указанное значение.
getsizeof(object): Возвращает размер объекта в байтах.
gettrace(): Возвращает текущую функцию трассировки или None, если трассировка не включена.
settrace(tracefunc): Устанавливает указанную функцию tracefunc в качестве функции трассировки, которая выполняется каждый раз при входе или выходе из функции.
🍕Примеры использования:
# Печать аргументов командной строки
print(sys.argv)
# Установка кода выхода
sys.exit(0)
# Получение предела глубины рекурсии
print(sys.getrecursionlimit())
# Установка предела глубины рекурсии
sys.setrecursionlimit(1000)
# Получение размера объекта
my_list = [1, 2, 3]
print(sys.getsizeof(my_list))
# Включение трассировки для текущего вызова функции
def tracefunc(frame, event, arg):
print("Трассировка:", event, frame.f_code.co_name)
sys.settrace(tracefunc)
❤1🌚1
🛠️ Функция Promise
Функция
Для создания
🍕Применение Promise
• Получение данных с сервера
• Манипуляции с DOM
• Анимация
• Управление состоянием
#JavaScript
Функция
Promise в JavaScript является конструктором, который создает объект Promise. Объект Promise представляет асинхронную операцию с конечным состоянием: «выполнена» или «отклонена».Для создания
Promise необходимо передать ему функцию-исполнитель. Эта функция принимает два параметра:resolve: Функция, вызываемая для указания того, что «обещание» выполнено.reject: Функция, вызываемая для указания того, что «обещание» отклонено.const myPromise = new Promise((resolve, reject) => {
// Асинхронная операция
});
🍕Применение Promise
Promise широко используются в асинхронном программировании JavaScript, включая:• Получение данных с сервера
• Манипуляции с DOM
• Анимация
• Управление состоянием
#JavaScript
❤1🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Плагин eCSStractor для VS Code
- весьма удобная и полезная вещь. Он позволяет очень быстро сформировать структуру файла стилей из html разметки.
✅В случае использования методологии БЭМ и препроцессора SAAS можно создать валидный SCSS код (в виде вложенных селекторов с использованием символа & в качестве ссылки на БЭМ блоки)
🍕Стоит выделить весь сайт или его секцию, вызвать контекстное меню и запустить eCSStracktor run (или же выполнить команду через Crtl+Shift+P) и вуаля!) Валидный CSS/ SCSS код в буфере обмена к вашим услугам!)
#vscode #стили
- весьма удобная и полезная вещь. Он позволяет очень быстро сформировать структуру файла стилей из html разметки.
✅В случае использования методологии БЭМ и препроцессора SAAS можно создать валидный SCSS код (в виде вложенных селекторов с использованием символа & в качестве ссылки на БЭМ блоки)
🍕Стоит выделить весь сайт или его секцию, вызвать контекстное меню и запустить eCSStracktor run (или же выполнить команду через Crtl+Shift+P) и вуаля!) Валидный CSS/ SCSS код в буфере обмена к вашим услугам!)
#vscode #стили
1👍2
Статья про различия между ключевым словом import в стандарте языка ES6 и выше и функцией require() в среде node.js
Читать статью👈
#статья
Читать статью👈
#статья
👍1
Метод
📝Синтаксис и аргументы:
🖊
🖊
🍕Примеры использования:
1. Отображение массива объектов:
2. Отображение объекта:
3. Отображение с указанием колонок:
console.table() в JavaScript используется для отображения данных в виде таблицы в консоли. Это особенно полезно для визуализации массивов и объектов, так как позволяет легко сопоставлять данные.📝Синтаксис и аргументы:
console.table(data, columns);
🖊
data: Массив или объект для отображения в виде таблицы.🖊
columns (необязательный): Массив строк, указывающий, какие свойства объекта или какие индексы массива вы хотите отобразить.🍕Примеры использования:
1. Отображение массива объектов:
const leaders = [
{ name: 'Donald', age: 78, city: 'New York' },
{ name: 'George', age: 78, city: 'Los Angeles' }
];
console.table(leaders);
2. Отображение объекта:
const leader = {
name: 'Vladimir ',
age: 72,
city: 'Leningrad'
};
console.table(leader);3. Отображение с указанием колонок:
const leaders = [
{ name: 'Bill', age: 78, city: 'New York' },
{ name: 'Dmitry', age: 59, city: 'Moscow' }
];
console.table(leaders, ['name', 'city']); // Отобразит только имя и город
#JavaScript👍2
Индекс FullText в MySQL используется для полнотекстового поиска в текстовых данных. Он позволяет выполнять поиск по словам и фразам в текстовых полях, таких как
🖊️Основные моменты:
1. Создание индекса:
Чтобы создать полнотекстовый индекс, можно использовать следующий синтаксис:
Либо добавить индекс к существующей таблице:
2. Поиск с использованием MATCH() и AGAINST():
Для выполнения полнотекстового поиска используется оператор
3. Режимы поиска:
MySQL поддерживает несколько режимов поиска:
📍NATURAL LANGUAGE MODE: Поиск по естественному языку.
📍BOOLEAN MODE: Позволяет использовать операторы (например,
📍WITH QUERY EXPANSION: Расширяет запрос, добавляя синонимы и связанные термины.
4. Ограничения:
📍Полнотекстовые индексы могут быть созданы только для таблиц с типом хранения
📍По умолчанию, MySQL игнорирует слова, состоящие менее чем из 4 символов (это значение можно изменить в конфигурации).
📍Стоп-слова (например, "и", "в", "на") также игнорируются.
5. Оптимизация:
Для улучшения производительности полнотекстового поиска можно использовать различные настройки конфигурации MySQL, такие как
🍕Пример использования:
Этот запрос вернет все статьи, содержащие слово "текст" в заголовке или теле статьи.
#mysql
CHAR, VARCHAR и TEXT.🖊️Основные моменты:
1. Создание индекса:
Чтобы создать полнотекстовый индекс, можно использовать следующий синтаксис:
CREATE TABLE articles (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
body TEXT,
FULLTEXT(title, body)
);
Либо добавить индекс к существующей таблице:
ALTER TABLE articles ADD FULLTEXT(title, body);
2. Поиск с использованием MATCH() и AGAINST():
Для выполнения полнотекстового поиска используется оператор
MATCH() в сочетании с AGAINST(). Например:SELECT * FROM articles
WHERE MATCH(title, body) AGAINST('поиск' IN NATURAL LANGUAGE MODE);
3. Режимы поиска:
MySQL поддерживает несколько режимов поиска:
📍NATURAL LANGUAGE MODE: Поиск по естественному языку.
📍BOOLEAN MODE: Позволяет использовать операторы (например,
+, -, *) для более точного управления поиском.📍WITH QUERY EXPANSION: Расширяет запрос, добавляя синонимы и связанные термины.
4. Ограничения:
📍Полнотекстовые индексы могут быть созданы только для таблиц с типом хранения
MyISAM или InnoDB (начиная с MySQL 5.6).📍По умолчанию, MySQL игнорирует слова, состоящие менее чем из 4 символов (это значение можно изменить в конфигурации).
📍Стоп-слова (например, "и", "в", "на") также игнорируются.
5. Оптимизация:
Для улучшения производительности полнотекстового поиска можно использовать различные настройки конфигурации MySQL, такие как
ft_min_word_len и ft_max_word_len, а также управлять стоп-словами.🍕Пример использования:
CREATE TABLE articles (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
body TEXT,
FULLTEXT(title, body)
);
INSERT INTO articles (title, body) VALUES
('Первый заголовок', 'Это текст первого статьи.'),
('Второй заголовок', 'Это текст второй статьи.'),
('Третий заголовок', 'Это текст третьей статьи.');
SELECT * FROM articles
WHERE MATCH(title, body) AGAINST('текст' IN NATURAL LANGUAGE MODE);
Этот запрос вернет все статьи, содержащие слово "текст" в заголовке или теле статьи.
#mysql
Библиотека
Библиотека
📍Особенности
1. Неблокирующий ввод-вывод: Java NIO поддерживает неблокирующий ввод-вывод, что позволяет приложениям обрабатывать несколько соединений в одном потоке, не дожидаясь, пока данные будут готовы.
2. Буферы: В NIO данные считываются и записываются в буферы. Это значит, что вы работаете с небольшими фрагментами данных, что увеличивает производительность.
3. Каналы: Вместо потоков
4. Селекторы: Позволяют одному потоку отслеживать несколько каналов (например, сетевых соединений) и обрабатывать события (такие как готовность чтения или записи) по мере их возникновения.
5. Пути и файловая система: Библиотека также предоставляет поддержку для работы с путями файловой системы через класс
🍕Когда использовать?
- В приложениях, требующих высокой производительности при выполнении операций ввода-вывода, таких как сетевые приложения или обработка больших объемов файлов.
- Когда нужно управлять большим количеством соединений одновременно, например в веб-серверах.
#Java
java.nioБиблиотека
java.nio, или Java New I/O, предназначена для реализации высокопроизводительных операций ввода-вывода в Java. Она предоставляет более гибкие и эффективные способы работы с файлами и сетевыми соединениями по сравнению с java.io.📍Особенности
1. Неблокирующий ввод-вывод: Java NIO поддерживает неблокирующий ввод-вывод, что позволяет приложениям обрабатывать несколько соединений в одном потоке, не дожидаясь, пока данные будут готовы.
2. Буферы: В NIO данные считываются и записываются в буферы. Это значит, что вы работаете с небольшими фрагментами данных, что увеличивает производительность.
3. Каналы: Вместо потоков
InputStream и OutputStream, NIO использует каналы (Channels). Каналы позволяют работать как с вводом, так и с выводом. Например, FileChannel для работы с файлами, SocketChannel для сокетов.4. Селекторы: Позволяют одному потоку отслеживать несколько каналов (например, сетевых соединений) и обрабатывать события (такие как готовность чтения или записи) по мере их возникновения.
5. Пути и файловая система: Библиотека также предоставляет поддержку для работы с путями файловой системы через класс
Path, что упрощает манипуляции с файловыми путями.🍕Когда использовать?
- В приложениях, требующих высокой производительности при выполнении операций ввода-вывода, таких как сетевые приложения или обработка больших объемов файлов.
- Когда нужно управлять большим количеством соединений одновременно, например в веб-серверах.
#Java