В API (Application Programming Interface) обычно используются HTTP-методы, которые определяют, какое действие нужно выполнить с ресурсом (данными).
Запрашиваем список пользователей:
GET /users HTTP/1.1
Host: api.example.com
Ответ (JSON)
[
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" }
]
Отправляем данные нового пользователя:
POST /users HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"name": "Charlie",
"email": "[email protected]"
}
Ответ (201 Created)
{
"id": 3,
"name": "Charlie",
"email": "[email protected]"
}
Заменяем пользователя с ID
1
:PUT /users/1 HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"name": "Alice Smith",
"email": "[email protected]"
}
Меняем только имя пользователя
1
, не трогая email:PATCH /users/1 HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"name": "Alice Johnson"
}
Удаляем пользователя с ID
2
:DELETE /users/2 HTTP/1.1
Host: api.example.com
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
- Использовать медиа-запрос
- Убирать навигацию, рекламу, интерактивные блоки;
- Использовать чёрно-белую палитру, читаемые шрифты;
- Избегать анимаций и динамического контента;
- Добавлять display: none для ненужного в печати.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Wink AI Challenge — хакатон на стыке IT и кино. Участников ждут задачи, которые ускорят производство фильмов и сериалов за счёт прикладных AI-решений. Призовой фонд соревнования — 1 125 000 рублей.
🗓 Регистрация до 31 октября: https://cnrlink.com/winkaichallengeeasyfront
💻 Формат: онлайн, а в финале — очная защита. Участвовать можно в команде или соло.
⭐️ Приглашаем: ML-инженеров, backend- и frontend-разработчиков, специалистов в DevOps, MLOps, а также инженеров в сфере мультимедиа.
Главные причины присоединиться:
🔸 Первый в России хакатон, посвящённый применению ИИ в кинопроизводстве.
🔸 Разработка ML-модели, которую оценят и будут использовать продюсеры популярных российских фильмов и сериалов.
🔸 Работа с настоящими сценариями и видеоматериалами, анализ текстов, извлечение сущностей, генерация структуры съёмок.
Задачи хакатона основаны на реальных кейсах, с которыми продюсеры сталкиваются каждый день:
→ Трек 1. Разработайте решение, которое на основе сценария проведет анализ каждой сцены, определит место действия, персонажей, реквизит и поможет оптимизировать планирование съемок.
→ Трек 2. Обучите модель определять возрастную категорию контента и выделять ключевые сцены, влияющие на рейтинг. Решение сэкономит время профильных юристов и облегчит адаптацию контента для разных медиа.
→ Трек 3. Создайте систему, которая превращает текст сценария в превиз с эскизами, ключевыми кадрами, анимацией и возможностью командного редактирования.
Регистрируйтесь на Wink AI Challenge, чтобы разработать ИИ-ассистента, который станет частью производства фильмов и сериалов: https://cnrlink.com/winkaichallengeeasyfront
💻 Формат: онлайн, а в финале — очная защита. Участвовать можно в команде или соло.
Главные причины присоединиться:
🔸 Первый в России хакатон, посвящённый применению ИИ в кинопроизводстве.
🔸 Разработка ML-модели, которую оценят и будут использовать продюсеры популярных российских фильмов и сериалов.
🔸 Работа с настоящими сценариями и видеоматериалами, анализ текстов, извлечение сущностей, генерация структуры съёмок.
Задачи хакатона основаны на реальных кейсах, с которыми продюсеры сталкиваются каждый день:
→ Трек 1. Разработайте решение, которое на основе сценария проведет анализ каждой сцены, определит место действия, персонажей, реквизит и поможет оптимизировать планирование съемок.
→ Трек 2. Обучите модель определять возрастную категорию контента и выделять ключевые сцены, влияющие на рейтинг. Решение сэкономит время профильных юристов и облегчит адаптацию контента для разных медиа.
→ Трек 3. Создайте систему, которая превращает текст сценария в превиз с эскизами, ключевыми кадрами, анимацией и возможностью командного редактирования.
Регистрируйтесь на Wink AI Challenge, чтобы разработать ИИ-ассистента, который станет частью производства фильмов и сериалов: https://cnrlink.com/winkaichallengeeasyfront
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотя объекты
{}
исторически использовались как ассоциативные массивы (ключ-значение), у Map
есть ряд преимуществ, которые делают его более удобным в большинстве случаев.В объектах
{}
ключи всегда автоматически приводятся к строке. const obj = {};
const key1 = {};
const key2 = {};
obj[key1] = "value1";
obj[key2] = "value2";
console.log(obj); // { '[object Object]': 'value2' }
console.log(obj[key1]); // "value2" (ключи перезаписались, потому что оба стали "[object Object]")
Пример с
Map
: const map = new Map();
map.set(key1, "value1");
map.set(key2, "value2");
console.log(map.get(key1)); // "value1"
console.log(map.get(key2)); // "value2"
В объекте
{}
порядок ключей не гарантируется (особенно для числовых ключей). const obj = { 2: "two", 1: "one", 3: "three" };
console.log(Object.keys(obj)); // ["1", "2", "3"] (порядок числовых ключей изменился!)
Пример с
Map
const map = new Map();
map.set(2, "two");
map.set(1, "one");
map.set(3, "three");
console.log([...map.keys()]); // [2, 1, 3] (порядок сохраняется!)
Объекты
{}
оптимизированы для хранения структуры данных, но операции delete
и Object.keys(obj).length
могут быть медленными, потому что движок JavaScript выполняет дополнительные проверки.Разница в скорости
В
Map
операции .set()
, .get()
, .delete()
выполняются быстрее.В объекте
{}
delete obj[key]
может работать медленнее, так как JavaScript оптимизирует объекты для других целей.Объект
{}
не имеет встроенных методов для работы с ключами и значениями. Чтобы, например, узнать размер объекта, приходится использовать Object.keys(obj).length
.const map = new Map();
map.set("a", 1);
map.set("b", 2);
console.log(map.size); // 2
console.log(map.has("a")); // true
console.log(map.delete("b")); // true (удалит "b")
В объекте
{}
const obj = { a: 1, b: 2 };
console.log(Object.keys(obj).length); // 2 (нужно вызывать Object.keys())
console.log(obj.hasOwnProperty("a")); // true (менее удобный синтаксис)
delete obj.b; // Удаление ключа
В объекте
{}
могут быть неожиданные проблемы, если ключ совпадает с именем встроенного метода.const obj = {};
console.log(obj.toString); // [Function: toString] (унаследованное свойство!)
console.log(obj["toString"]); // [Function: toString] (может вызвать баги)
Чтобы обойти это, приходится делать так
const obj = Object.create(null); // Теперь у объекта нет прототипа
obj.toString = "custom";
console.log(obj.toString); // "custom"
В
Map
таких проблем нетconst map = new Map();
map.set("toString", "custom");
console.log(map.get("toString")); // "custom" (никаких багов!)
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Жирность задаётся стилями по умолчанию, встроенными в браузер, чаще всего через CSS-свойство font-weight. Если нужно — можно переопределить стили вручную.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2