Fullstack Coding
200 subscribers
41 photos
13 links
Коротко и ёмко про Web разработку)
Сотрудничество: @PashNorthMan
Download Telegram
Функция 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 #статья
Функция 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 #статья
👍31
Занимательная статья про побитовые операции: НЕ, И, ИЛИ, сдвиги и другие.

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

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

Читать статью👈

#java #статья
1👍1
Полезная статья про грамотный выбор структур данных в зависимости от поставленных целей.

Такие вопросы часто задают на собеседованиях

Читать статью👈

#статья
1👍1
Создание телеграм ботов на FAST API + вебхуки + Aiogram! А также с использованием SQLAlchemy, ORM, которая часто мелькает в вакансиях на Python разработчика) Забираем!)😃

Изучить материал👈

#python #телеграмбот #статья
🔥2
Недавно вышел релиз Python 3.13!)🤩

Давайте посмотрим, что же приготовила для питонистов команда гениев Гвидо Ван Россума?)

Читать статью👈

#статья #python
2
Выберите один правильный вариант:
Anonymous Quiz
63%
А
37%
В
🐍Модуль 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 в качестве функции трассировки, которая выполняется каждый раз при входе или выходе из функции.

🍕Примеры использования:

# Печать аргументов командной строки
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 в 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 #стили
1👍2
Статья про различия между ключевым словом import в стандарте языка ES6 и выше и функцией require() в среде node.js

Читать статью👈

#статья
👍1
Метод 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 используется для полнотекстового поиска в текстовых данных. Он позволяет выполнять поиск по словам и фразам в текстовых полях, таких как 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
Библиотека 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
This media is not supported in the widget
VIEW IN TELEGRAM
👏3🤮1