🧐Как можно вставить svg в html документ?
Вставить SVG в HTML можно несколькими способами, в зависимости от того, что вам нужно: просто отобразить изображение, стилизовать его через CSS или динамически изменять с помощью JavaScript.
🛑Прямой (inline) SVG-код в HTML
Этот способ позволяет стилизовать и изменять SVG с помощью CSS и JavaScript.
🛑Через тег `<img>`
Если SVG не нужно изменять, можно вставить его как обычное изображение.
🛑Через CSS
SVG можно использовать как фоновое изображение.
🛑Через тег
Позволяет загружать SVG-файлы и взаимодействовать с ними.
🛑Через тег
SVG можно загружать в iframe.
Вставить SVG в HTML можно несколькими способами, в зависимости от того, что вам нужно: просто отобразить изображение, стилизовать его через CSS или динамически изменять с помощью JavaScript.
🛑Прямой (inline) SVG-код в HTML
Этот способ позволяет стилизовать и изменять SVG с помощью CSS и JavaScript.
<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
🛑Через тег `<img>`
Если SVG не нужно изменять, можно вставить его как обычное изображение.
<img src="image.svg" alt="Описание изображения" width="100" height="100">
🛑Через CSS
background-image SVG можно использовать как фоновое изображение.
<div class="icon"></div>
<style>
.icon {
width: 100px;
height: 100px;
background-image: url('image.svg');
background-size: cover;
}
</style>
🛑Через тег
<object> Позволяет загружать SVG-файлы и взаимодействовать с ними.
<object type="image/svg+xml" data="image.svg" width="100" height="100"></object>
🛑Через тег
<iframe> SVG можно загружать в iframe.
<iframe src="image.svg" width="100" height="100"></iframe>
🆒2⚡1🔥1💯1
🟠 Marsliklar, Hackathonga tayyormisiz?
Ro‘yxatdan o‘tish: 6-sentabrgacha
Saralash: 14-sentabr (filiallarda) — Final: 21-sentabr
Talab: Har jamoada aniq 4 nafar ishtirokchi (faqat Mars IT o‘quvchilari)
Shart: Jamoa nomi va logotip bo‘lishi majburiy
Sovrinlar va final yo‘llanmalari uchun kurash boshlandi — siz ham safimizga qo‘shiling!
Ro‘yxatdan o‘tish: Link
Bir jamoa. Bir g‘oya. Bir imkoniyat.
Mars Hackathon 2025 start oldi — siz ham qatnashing!
Ro‘yxatdan o‘tish: 6-sentabrgacha
Saralash: 14-sentabr (filiallarda) — Final: 21-sentabr
Talab: Har jamoada aniq 4 nafar ishtirokchi (faqat Mars IT o‘quvchilari)
Shart: Jamoa nomi va logotip bo‘lishi majburiy
Sovrinlar va final yo‘llanmalari uchun kurash boshlandi — siz ham safimizga qo‘shiling!
Ro‘yxatdan o‘tish: Link
🔥3⚡1💯1
🧐 Как отрисовать компонент по условию?
Используют директивы:
• v-if — компонент вообще не создаётся, если условие ложное.
• v-show — компонент всегда в DOM, но просто скрывается через CSS (display: none).
• Можно также использовать тернарный оператор прямо в шаблоне (v-bind:is, component, slot и т.п.).
• v-if — компонент вообще не создаётся, если условие ложное.
• v-show — компонент всегда в DOM, но просто скрывается через CSS (display: none).
• Можно также использовать тернарный оператор прямо в шаблоне (v-bind:is, component, slot и т.п.).
🔥1💯1
🧐 Расскажи про операторы сравнения
Операторы сравнения в JavaScript позволяют сравнивать значения и возвращают
🛑Разница между `==` и� Расск
🛑`==` (нестрогое сравнение)
При
🛑`===` (строгое сравнение)
При
🛑Логические значения в сравнении
JavaScript приводит значения к
🛑Особые случаи
-
-
-
-
Операторы сравнения в JavaScript позволяют сравнивать значения и возвращают
true или false. Они часто используются в условиях (if, while) и тернарных операторах. 🛑Разница между `==` и� Расск
🛑`==` (нестрогое сравнение)
При
== JavaScript приводит типы перед сравнением. console.log(5 == "5"); // true (строка "5" приводится к числу)
console.log(0 == false); // true (false → 0)
console.log(null == undefined); // true (особый случай)
🛑`===` (строгое сравнение)
При
=== сравниваются и значение, и тип.console.log(5 === "5"); // false (разные типы)
console.log(0 === false); // false (число !== логический тип)
console.log(null === undefined); // false (разные типы)
🛑Логические значения в сравнении
JavaScript приводит значения к
true или false console.log(1 == true); // true (1 → true)
console.log(0 == false); // true (0 → false)
console.log("" == false); // true ("" → false)
console.log([] == false); // true (пустой массив → false)
console.log(null == false); // false (null не приводится к false)
🛑Особые случаи
-
null == undefined → true (они считаются "похожими"). -
null === undefined → false (разные типы). -
null >= 0 → true (null превращается в 0). -
null > 0 → false (но null >= 0 – true, странно, да?). console.log(null == undefined); // true
console.log(null >= 0); // true
console.log(null > 0); // false ()
⚡1💯1
Forwarded from MARS IT ⭕️
This media is not supported in your browser
VIEW IN TELEGRAM
MARS IT’da katta masshtabli Hackathon start olmoqda🔥
Boʻlajak IT-liderlarimiz dastlab filiallararo saralashda, keyin esa finalda kuch sinashadi🦾
Birinchi bosqich — 14-sentyabr
Ikkinchi bosqich — 21-sentyabr
Gʻoliblarni maxsus sovrinlar va pul mukofotlari kutmoqda!
Jamoa tuzing, roʻyxatdan oʻtkazing va bu yilgi eng katta IT-musobaqamizda oʻzingizni sinab koʻring⚡️
Batafsil ma’lumot uchun:
78 777 77 57
Boʻlajak IT-liderlarimiz dastlab filiallararo saralashda, keyin esa finalda kuch sinashadi🦾
Birinchi bosqich — 14-sentyabr
Ikkinchi bosqich — 21-sentyabr
Gʻoliblarni maxsus sovrinlar va pul mukofotlari kutmoqda!
Jamoa tuzing, roʻyxatdan oʻtkazing va bu yilgi eng katta IT-musobaqamizda oʻzingizni sinab koʻring⚡️
Batafsil ma’lumot uchun:
78 777 77 57
⚡1🔥1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Codedex — прокачайся в веб-разработку с нуля!
Сначала ты осваиваешь html/css. Затем завершаешь путь с react/p5.js - создаёшь динамичные приложения с использованием хуков и событий. Каждый этап сопровождается практическими заданиями, которые помогают закрепить полученные знания.
📌 Оставляю ссылочку: codedex.io
📣 Code Ready | #ресурсы
Сначала ты осваиваешь html/css. Затем завершаешь путь с react/p5.js - создаёшь динамичные приложения с использованием хуков и событий. Каждый этап сопровождается практическими заданиями, которые помогают закрепить полученные знания.
📌 Оставляю ссылочку: codedex.io
📣 Code Ready | #ресурсы
⚡1🔥1
📱 Сегодня рассматриваем ошибки!
📣 Code Ready | #шпора
Шпаргалка по ключевым приёмам обработки ошибок: try, catch, finally, создание кастомных ошибок, логирование и работа с промисами. Подойдёт для надежного кода, валидации данных и отладки сложных сценариев.📣 Code Ready | #шпора
🔥1💯1
🧐 В чём разница между div и span?
- div — это блочный элемент, начинается с новой строки и занимает всю ширину.
- span — строчный элемент, используется внутри текста, не разрывая поток.
Оба используются для группировки, но в разных контекстах.
Забирай 📚 Базу знаний
- div — это блочный элемент, начинается с новой строки и занимает всю ширину.
- span — строчный элемент, используется внутри текста, не разрывая поток.
Оба используются для группировки, но в разных контекстах.
Забирай 📚 Базу знаний
Telegram
Frontend | Вопросы собесов
👾 1429 вопросов собесов на Frontend Developer
🔒 База реальных собесов
🔒 База тестовых заданий
👾 Список менторов
🖥 Frontend
├ Вакансии
├ LeetCode ответы
└ Тесты
🖥 Тестировщик
├ Вопросы собесов
├ Вакансии
└ Тесты
🖥 Python
├ Вопросы собесов
├ Вакансии…
🔒 База реальных собесов
🔒 База тестовых заданий
👾 Список менторов
🖥 Frontend
├ Вакансии
├ LeetCode ответы
└ Тесты
🖥 Тестировщик
├ Вопросы собесов
├ Вакансии
└ Тесты
🖥 Python
├ Вопросы собесов
├ Вакансии…
⚡1
🤔 С какими нововведениями es6 знаком?
ECMAScript 6 (или ES6), также известный как ECMAScript 2015, представил множество новых возможностей для JavaScript, которые сделали язык более удобным, мощным и современным. Я знаком с большинством нововведений, и ниже я подробно расскажу о самых популярных из них.
🟠`let` и `const`
До ES6 переменные создавались с помощью
🟠Стрелочные функции (Arrow Functions)
Стрелочные функции дают более лаконичный синтаксис для объявления функций. Они также не создают собственный
🟠Шаблонные строки (Template Literals)
Раньше строки приходилось склеивать с помощью конкатенации (
🟠Деструктуризация (Destructuring)
Деструктуризация позволяет извлекать значения из массивов или объектов и присваивать их переменным.
🟠Модули (Modules)
ES6 добавил встроенную поддержку модулей через
🟠Операторы "..." (Spread и Rest)
Оператор
Spread — для разворачивания массивов и объектов.
Rest — для сбора оставшихся элементов в массив или объект.
🟠Классы (Classes)
Классы добавляют объектно-ориентированный стиль программирования. Это синтаксический сахар над прототипами.
🟠Обещания (Promises)
Обещания (
🟠Итераторы и генераторы
Итераторы дают возможность обходить коллекции (например, массивы) шаг за шагом.
Генераторы — функции, которые можно приостанавливать и возобновлять.
Ставь 👍 и забирай 📚 Базу знаний
ECMAScript 6 (или ES6), также известный как ECMAScript 2015, представил множество новых возможностей для JavaScript, которые сделали язык более удобным, мощным и современным. Я знаком с большинством нововведений, и ниже я подробно расскажу о самых популярных из них.
🟠`let` и `const`
До ES6 переменные создавались с помощью
var. Однако у него были проблемы, такие как отсутствие блочной области видимости и возможность повторного объявления. С введением let и const эти проблемы решены.let — для переменных, которые могут изменяться.const — для переменных, которые нельзя переназначить (но можно изменять содержимое, если это объект или массив).let a = 10;
a = 20; // Работает
const b = 30;
// b = 40; // Ошибка: Нельзя переназначить
🟠Стрелочные функции (Arrow Functions)
Стрелочные функции дают более лаконичный синтаксис для объявления функций. Они также не создают собственный
this, а используют this из окружающего контекста.// Обычная функция
function add(a, b) {
return a + b;
}
// Стрелочная функция
const add = (a, b) => a + b;
console.log(add(2, 3)); // 5
🟠Шаблонные строки (Template Literals)
Раньше строки приходилось склеивать с помощью конкатенации (
+). Шаблонные строки (обозначаются обратными кавычками ``) позволяют вставлять переменные и выражения прямо в текст.const name = "Alice";
const message = `Привет, ${name}! Добро пожаловать.`;
console.log(message); // Привет, Alice! Добро пожаловать.
🟠Деструктуризация (Destructuring)
Деструктуризация позволяет извлекать значения из массивов или объектов и присваивать их переменным.
// Деструктуризация массива
const arr = [1, 2, 3];
const [first, second] = arr;
console.log(first, second); // 1, 2
// Деструктуризация объекта
const user = { name: "Alice", age: 25 };
const { name, age } = user;
console.log(name, age); // Alice 25
🟠Модули (Modules)
ES6 добавил встроенную поддержку модулей через
import и export. Теперь код можно организовывать и повторно использовать более эффективно.// В модуле user.js
export const greet = (name) => `Привет, ${name}`;
// В другом файле
import { greet } from './user.js';
console.log(greet("Alice")); // Привет, Alice
🟠Операторы "..." (Spread и Rest)
Оператор
... используется для работы с массивами, объектами и функциями.Spread — для разворачивания массивов и объектов.
Rest — для сбора оставшихся элементов в массив или объект.
// Spread
const arr1 = [1, 2];
const arr2 = [...arr1, 3, 4];
console.log(arr2); // [1, 2, 3, 4]
// Rest
const [first, ...rest] = [1, 2, 3, 4];
console.log(first); // 1
console.log(rest); // [2, 3, 4]
🟠Классы (Classes)
Классы добавляют объектно-ориентированный стиль программирования. Это синтаксический сахар над прототипами.
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} говорит.`);
}
}
const dog = new Animal("Собака");
dog.speak(); // Собака говорит.🟠Обещания (Promises)
Обещания (
Promises) упрощают работу с асинхронным кодом, заменяя вложенные колбэки (callback hell).const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => resolve("Данные получены"), 1000);
});
};
fetchData().then((data) => console.log(data)); // Данные получены🟠Итераторы и генераторы
Итераторы дают возможность обходить коллекции (например, массивы) шаг за шагом.
Генераторы — функции, которые можно приостанавливать и возобновлять.
function* numbers() {
yield 1;
yield 2;
yield 3;
}
const gen = numbers();
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
console.log(gen.next().value); // 3Ставь 👍 и забирай 📚 Базу знаний
⚡1💯1
🔹 HTML (HyperText Markup Language)
👉 Веб-страницаларнинг скелети (skelet).
HTML описывает структуру сайта: заголовки, параграфы, таблицы, изображения, ссылки.
Без HTML сайта вообще не будет видно, только пустой экран.
📌 Пример:
🔹 CSS (Cascading Style Sheets)
👉 Веб-страницаларнинг дизайни ва стиле.
CSS меняет внешний вид: цвета, размеры, шрифты, отступы, анимации.
HTML показывает что будет, а CSS показывает как это выглядит.
📌 Пример:
🔹 JavaScript (JS)
👉 Веб-страницаларнинг мияси (логикаси).
JS добавляет интерактивность: кнопка нажимается → открывается меню, калькулятор считает, чат отправляет сообщения.
Без JS сайт будет статическим, как книга.
📌 Пример:
🔹 React (JavaScript библиотека)
👉 Веб-страницаларни современный framework/library yordamida тезroq, модулли ва динамик qilish uchun ishlatiladi.
React — это библиотека на JavaScript, которая помогает строить большие и сложные приложения.
Он разделяет сайт на компоненты (navbar, карточка, форма) → их можно использовать повторно.
Делает сайт очень быстрым за счёт виртуального DOM.
📌 Пример (React компонент):
👉 Веб-страницаларнинг скелети (skelet).
HTML описывает структуру сайта: заголовки, параграфы, таблицы, изображения, ссылки.
Без HTML сайта вообще не будет видно, только пустой экран.
📌 Пример:
<h1>Заголовок</h1>
<p>Это абзац текста.</p>
🔹 CSS (Cascading Style Sheets)
👉 Веб-страницаларнинг дизайни ва стиле.
CSS меняет внешний вид: цвета, размеры, шрифты, отступы, анимации.
HTML показывает что будет, а CSS показывает как это выглядит.
📌 Пример:
h1 {
color: red;
font-size: 30px;
}🔹 JavaScript (JS)
👉 Веб-страницаларнинг мияси (логикаси).
JS добавляет интерактивность: кнопка нажимается → открывается меню, калькулятор считает, чат отправляет сообщения.
Без JS сайт будет статическим, как книга.
📌 Пример:
document.querySelector("h1").onclick = function() {
alert("Ты нажал на заголовок!");
};🔹 React (JavaScript библиотека)
👉 Веб-страницаларни современный framework/library yordamida тезroq, модулли ва динамик qilish uchun ishlatiladi.
React — это библиотека на JavaScript, которая помогает строить большие и сложные приложения.
Он разделяет сайт на компоненты (navbar, карточка, форма) → их можно использовать повторно.
Делает сайт очень быстрым за счёт виртуального DOM.
📌 Пример (React компонент):
function App() {
return <h1>Привет, это React!</h1>;
}⚡1🔥1
🎯 TOMORROW: HACKATHON DAY 🚀
💻 All in. Full power.
🔥 No excuses, just results.
🏆 Our mission: 1st place.
⚡ Let’s code, create & conquer together!
💻 All in. Full power.
🔥 No excuses, just results.
🏆 Our mission: 1st place.
⚡ Let’s code, create & conquer together!
⚡2🔥1💯1🆒1
🧐 Что делает и для чего нужна функци function.Prototype.Bind?
🛑Основные возможности `bind()`
Привязывает
Позволяет создавать частично примененные функции
Используется в обработчиках событий и таймерах
Пример: потеря
bind() – это метод, который создает новую функцию с привязанным контекстом (this) и (опционально) фиксированными аргументами. 🛑Основные возможности `bind()`
Привязывает
this, чтобы не потерять контекст Позволяет создавать частично примененные функции
Используется в обработчиках событий и таймерах
Пример: потеря
this без bind() const user = {
name: "Иван",
sayHello() {
console.log(`Привет, ${this.name}!`);
},
};
setTimeout(user.sayHello, 1000); // ❌ this = undefined⚡2🔥1🆒1
Дебаунс событий для плавного интерфейса!
Частые события
Проблемный код:
Проблема: при быстром
Улучшенный дебаунсер:
Применяем с
🔥 В следующей части рассмотрим почему для scroll дебаунс не работает и как throttle решает эту проблему для плавных анимаций!
Частые события
resize или input могут перегружать страницу и тормозить анимации. Решение — дебаунс с правильными опциями.Проблемный код:
window.addEventListener('resize', () => {
console.log('Width:', window.innerWidth);
updateLayout();
});Проблема: при быстром
resize — десятки вызовов в секунду.Улучшенный дебаунсер:
function debounce(fn, delay = 200) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), delay);
};
}Применяем с
cleanup:const debouncedResize = debounce(() => {
console.log('Debounced width:', window.innerWidth);
}, 300);
window.addEventListener('resize', debouncedResize);🔥 В следующей части рассмотрим почему для scroll дебаунс не работает и как throttle решает эту проблему для плавных анимаций!
⚡1🔥1