Software developer 🧑‍💻
33 subscribers
42 photos
7 videos
31 links
Just starting your coding journey?
This channel is for you!
Easy explanations
Real code examples
Helpful guides
Learn programming step by step.
Download Telegram
🧐Как можно вставить svg в html документ?

Вставить 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>
🆒21🔥1💯1
🟠 Marsliklar, Hackathonga tayyormisiz?

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
🔥31💯1
🧐 Как отрисовать компонент по условию?

Используют директивы:
• v-if — компонент вообще не создаётся, если условие ложное.
• v-show — компонент всегда в DOM, но просто скрывается через CSS (display: none).
• Можно также использовать тернарный оператор прямо в шаблоне (v-bind:is, component, slot и т.п.).
🔥1💯1
🧐 Расскажи про операторы сравнения

Операторы сравнения в 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 == undefinedtrue (они считаются "похожими").
- null === undefinedfalse (разные типы).
- null >= 0true (null превращается в 0).
- null > 0false (но 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
1🔥1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Codedex — прокачайся в веб-разработку с нуля!

Сначала ты осваиваешь html/css. Затем завершаешь путь с react/p5.js - создаёшь динамичные приложения с использованием хуков и событий. Каждый этап сопровождается практическими заданиями, которые помогают закрепить полученные знания.

📌 Оставляю ссылочку: codedex.io

📣 Code Ready | #ресурсы
1🔥1
📱 Сегодня рассматриваем ошибки!

Шпаргалка по ключевым приёмам обработки ошибок: try, catch, finally, создание кастомных ошибок, логирование и работа с промисами. Подойдёт для надежного кода, валидации данных и отладки сложных сценариев.

📣 Code Ready | #шпора
🔥1💯1
🧐 В чём разница между div и span?

- div — это блочный элемент, начинается с новой строки и занимает всю ширину.
- span — строчный элемент, используется внутри текста, не разрывая поток.
Оба используются для группировки, но в разных контекстах.


Забирай 📚 Базу знаний
1
🤔 С какими нововведениями es6 знаком?

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 сайта вообще не будет видно, только пустой экран.

📌 Пример:
<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
1💯1🆒1
Real😂
💯41
🎯 TOMORROW: HACKATHON DAY 🚀

💻 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() – это метод, который создает новую функцию с привязанным контекстом (this) и (опционально) фиксированными аргументами.

🛑Основные возможности `bind()`

Привязывает this, чтобы не потерять контекст
Позволяет создавать частично примененные функции
Используется в обработчиках событий и таймерах

Пример: потеря this без bind()
const user = {
name: "Иван",
sayHello() {
console.log(`Привет, ${this.name}!`);
},
};

setTimeout(user.sayHello, 1000); // this = undefined
2🔥1🆒1
Дебаунс событий для плавного интерфейса!

Частые события 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