fa
Feedback
Олег программист | Фронтендер

Олег программист | Фронтендер

رفتن به کانال در Telegram

Frontend разработка HTML CSS JavaScript Программирование По рекламе и всем вопросам @olegboomer

نمایش بیشتر
3 297
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
-2930 روز

در حال بارگیری داده...

کانال‌های مشابه
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسب‌ها
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
اوت '24
اوت '24
+2
در 0 کانال‌ها
ژوئیه '24
+8
در 0 کانال‌ها
Get PRO
ژوئن '24
+5
در 0 کانال‌ها
Get PRO
مه '24
+3
در 0 کانال‌ها
Get PRO
آوریل '24
+4
در 0 کانال‌ها
Get PRO
مارس '24
+1
در 0 کانال‌ها
Get PRO
فوریه '24
+1
در 0 کانال‌ها
Get PRO
ژانویه '24
+2
در 0 کانال‌ها
Get PRO
دسامبر '23
+4
در 0 کانال‌ها
Get PRO
نوامبر '23
+5
در 0 کانال‌ها
Get PRO
اکتبر '23
+7
در 0 کانال‌ها
Get PRO
سپتامبر '23
+4
در 0 کانال‌ها
Get PRO
اوت '23
+3
در 0 کانال‌ها
Get PRO
ژوئیه '23
+12
در 0 کانال‌ها
Get PRO
ژوئن '23
+12
در 0 کانال‌ها
Get PRO
مه '23
+20
در 0 کانال‌ها
Get PRO
آوریل '23
+13
در 0 کانال‌ها
Get PRO
مارس '23
+28
در 0 کانال‌ها
Get PRO
فوریه '23
+22
در 0 کانال‌ها
Get PRO
ژانویه '23
+20
در 0 کانال‌ها
Get PRO
دسامبر '22
+125
در 0 کانال‌ها
Get PRO
نوامبر '22
+187
در 0 کانال‌ها
Get PRO
اکتبر '22
+249
در 0 کانال‌ها
Get PRO
سپتامبر '22
+46
در 0 کانال‌ها
Get PRO
اوت '22
+54
در 0 کانال‌ها
Get PRO
ژوئیه '22
+119
در 0 کانال‌ها
Get PRO
ژوئن '22
+441
در 0 کانال‌ها
Get PRO
مه '22
+104
در 0 کانال‌ها
Get PRO
آوریل '22
+520
در 0 کانال‌ها
Get PRO
مارس '22
+1 146
در 0 کانال‌ها
Get PRO
فوریه '22
+281
در 0 کانال‌ها
Get PRO
ژانویه '22
+1 797
در 0 کانال‌ها
Get PRO
دسامبر '21
+3 365
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
21 اوت0
20 اوت0
19 اوت0
18 اوت+1
17 اوت0
16 اوت0
15 اوت0
14 اوت0
13 اوت0
12 اوت0
11 اوت0
10 اوت0
09 اوت0
08 اوت+1
07 اوت0
06 اوت0
05 اوت0
04 اوت0
03 اوت0
02 اوت0
01 اوت0
پست‌های کانال
Что такое IntersectionObserver в JavaScript IntersectionObserver - это мощный браузерный API, который позволяет асинхронно наблюдать за пересечением элемента (target) с его родителем (root) или областью просмотра (viewport). Другими словами, этот API обеспечивает вызов определенной функции каждый раз при пересечении целевого элемента с root или viewport. Для начала работы с IntersectionObserver необходимо с помощью конструктора создать объект-наблюдатель с двумя параметрами - функцией обратного вызова и настройками:
const observer = new IntersectionObserver(callback, options)
Функция обратного вызова будет выполняться каждый раз, когда происходит пересечение наблюдаемой области и какого-либо элемента из отслеживаемых. Она принимает массив объектов IntersectionObserverEntry, каждый из которых содержит информацию о пересечении одного элемента. Настройки позволяют гибко настроить поведение наблюдателя, например, установить пороговые значения пересечения или отступы. Вот простой пример использования IntersectionObserver:
const observer = new IntersectionObserver(entries => {
  entries.forEach(entry => {
    const intersecting = entry.isIntersecting
    entry.target.style.backgroundColor = intersecting ? "blue" : "orange"
  })
})

observer.observe(document.getElementById("test"))
В этом коде мы создаем наблюдателя, который меняет цвет фона элемента при пересечении границы viewport. Некоторые полезные примеры использования IntersectionObserver: - Ленивая загрузка изображений и контента - Бесконечная прокрутка (infinite scrolling) - Анимации, срабатывающие при скролле - Отображение прогресса просмотра страницы IntersectionObserver значительно улучшает производительность, позволяя отказаться от "дорогих" scroll-событий. Он работает асинхронно, не блокируя основной поток выполнения.

2
Вопрос с собеседования В чем отличие между Observable и Promise в JavaScript? Ответ: Observable и Promise - это два способа для работы с асинхронными операциями в JS. • Promise может завершиться успешно, либо с ошибкой, но выполняется лишь один раз. • Observable же представляет собой поток данных, которые могут быть доступны в любое время, он может генерировать несколько значений во время своей работы и быть остановлен в любое время. Соответственно, промисы больше подходят для однократных операций, таких как загрузка файла, observable отлично справляется с потоками данных, таких как обновление данных в реальном времени.
580
3
👩‍💻 Smooth Liquid Background Effect Сцена с анимированным фоном. Сделана на SVG, CSS и JavaScript. Ссылка
👩‍💻 Smooth Liquid Background Effect Сцена с анимированным фоном. Сделана на SVG, CSS и JavaScript. Ссылка
560
4
5 нейронок, которые помогут разработчику найти нужную информацию: 1. Perplexity AI 2. Elicit AI 3. Consensus AI 4. Scite AI 5. ChatPDF
822
5
بدون متن...
1 020
6
Всем привет 😄 Давно не виделись )) Я тут с новостью. Сижу я значить пью кофе и пишет мне моя знакомая. Короче они ищут Фронт
Всем привет 😄 Давно не виделись )) Я тут с новостью. Сижу я значить пью кофе и пишет мне моя знакомая. Короче они ищут Фронтенд разработчика себе в команду. Ну я и сказал что напишу пост у себя в канале, помогу им с поиском 😄 Как я понял опыт не важен. Кому интересно, пишите ей @Davtyanka А я дальше пить кофе ☕️ 😄
1 135
7
Runtime в node js Node.js - это среда выполнения, которая позволяет выполнять JavaScript-код вне браузера. Это означает, что вы можете создавать серверные приложения на JavaScript, запускать скрипты локально на вашем компьютере и многое другое. Когда мы говорим о времени выполнения (runtime), мы обычно имеем в виду период времени, в течение которого запущенная программа выполняется на компьютере. Это может быть период времени с момента запуска программы до ее завершения, или период времени, когда программа работает в фоновом режиме. В JavaScript время выполнения начинается с момента запуска скрипта в браузере и заканчивается, когда скрипт завершает свое выполнение. Во время выполнения, интерпретатор JavaScript обрабатывает код, интерпретируя его строки по одной, и выполняет инструкции, которые он находит. Например, если мы создадим функцию в JavaScript, она не будет выполнена, пока мы не вызовем ее в нашем коде. Пример кода JavaScript: function multiply(a, b) { return a * b; } // вызываем функцию multiply и сохраняем результат в переменную result const result = multiply(10, 5); // выводим результат в консоль console.log(result); Таким образом, время выполнения программы (runtime) в JavaScript - это период времени, в течение которого программа выполняется, включая выполнение функций и других инструкций.
543
8
Что такое примитивные типы данных в javascript ? Попробую дать свою формулировку, на сколько это получится 😁 Итак, примитивы - это данные, которые не являются объектом и не имеют методов. В JavaScript существует 8 основных типов данных. Семь из них называют «примитивными» типами данных: number bigint string boolean null undefined symbol И один не является «примитивным» и стоит особняком: object Очень важно понять!!! Все примитивы неизменяемы, то есть они не могут быть изменены. Важно не путать сам примитив с переменной, которой присвоено значение примитивного типа. Переменной может быть переприсвоено новое значение, но существующее значение примитивного типа не может быть изменено подобно объектам, массивам и функциям. Пример для понимания: let bar = "abc" console.log(bar) // abc // Примитив не изменился bar.toUpperCase() console.log(bar) // abc // Присваиваем новой переменной let bar2 = bar.toUpperCase() console.log(bar2) // ABC // А теперь массивы let foo = [] console.log(foo) // [] foo.push("plugh") console.log(foo) // ["plugh"] Примитив может быть заменён, но он не может быть напрямую изменён. И напоследок. За исключением null и undefined, все примитивные значения имеют объектный аналог, который оборачивает значение примитивного типа: String для string примитива. Number для number примитива. BigInt для bigint примитива. Boolean для boolean примитива. Symbol для symbol примитива.
551
9
Задача: Создайте функцию, принимающую положительное целое число от 1 до 3999 (оба включены) в качестве параметра и возвращающую строку, содержащую представление этого целого числа римскими цифрами. Современные римские цифры записываются путем выражения каждой цифры отдельно, начиная с самой левой цифры и пропуская любую цифру со значением ноль. Римскими цифрами обозначается 1990 год: 1000=М, 900=СМ, 90=ХС; в результате получается MCMXC. 2008 год записывается как 2000=ММ, 8=VIII; или ММВIII. В 1666 году каждый римский символ используется в порядке убывания: MDCLXVI. Пример: solution(1000); // should return 'M' Помощь: Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1,000 Делитесь в комментариях что у вас получилось
807
10
Дорогие программисты! 👨‍💻 Поздравляю вас с Новым годом! 🎄 Желаю, чтобы в этом году ваш код стал ещё более чистым и эффекти
Дорогие программисты! 👨‍💻 Поздравляю вас с Новым годом! 🎄 Желаю, чтобы в этом году ваш код стал ещё более чистым и эффективным. Пусть в новом году каждый из вас станет мастером кодинга! 🦸‍♂️ Желаю вам, чтобы все ваши баги были только смешными 😄 и забавными, а не критическими. Пусть ваши репозитории наполняются не только кодом, но и позитивными эмоциями, а каждый merge request будет сопровождаться улыбками и хорошим настроением. 😊
896
11
Методы объекта event stopPropagation и stopImmediateProparation Метод event.stopImmediatePropagation() используется для предотвращения распространения события вверх по DOM дереву, однако он имеет более сильный эффект, чем event.stopPropagation(). Кроме того, что он предотвращает распространение события к вышестоящим элементам, он также останавливает вызов других обработчиков событий для текущего элемента. Пример использования event.stopImmediatePropagation(): document.getElementById('inner').addEventListener('click', function(event) { event.stopImmediatePropagation(); // Предотвращаем распространение события и вызов других обработчиков console.log('Inner element clicked'); }); document.getElementById('inner').addEventListener('click', function(event) { console.log('Additional inner element click handler'); }); document.getElementById('outer').addEventListener('click', function(event) { console.log('Outer element clicked'); }); В этом примере, при клике на элемент с id "inner", обработчик первого события будет вызван и выведет в консоль сообщение "Inner element clicked". Однако, обработчик второго события не будет вызван из-за использования event.stopImmediatePropagation(). Таким образом, ожидаемый вывод будет только "Inner element clicked" без вывода "Additional inner element click handler" или "Outer element clicked". Важно отметить, что порядок регистрации обработчиков событий может иметь значение при использовании event.stopImmediatePropagation(), так как это метод остановит вызов обработчиков, зарегистрированных после него для текущего элемента. Итак, основное различие между event.stopPropagation() и event.stopImmediatePropagation() заключается в том, что первый метод предотвращает распространение события только вверх по DOM дереву, в то время как второй метод предотвращает как распространение события вверх по дереву, так и вызов других обработчиков событий для текущего элемента.
451
12
FRONTEND TRENDS Ссылка на код
FRONTEND TRENDS Ссылка на код
398
13
Зачем нужен конструктор Proxy? Конструктор Proxy является мощным инструментом в JavaScript, который позволяет создавать объекты-обертки и предоставляет полный контроль над поведением этих объектов при доступе к ним и изменении их свойств. Основная цель Proxy - обеспечить перехват и кастомизацию операций на объекте, таких как чтение (get), запись (set), удаление (deleteProperty) и других. Это позволяет нам создавать ловушки для операций и добавлять дополнительную логику в обработку объектов. Пример: const obj = { name: 'John', age: 30 } ; const proxy = new Proxy(obj, { get(target, property) { console.log(Чтение свойства ${property}); return target[property]; }, set(target, property, value) { console.log(Запись свойства ${property} со значением ${value}); target[property] = value; } }); console.log(proxy.name); // Вывод: Чтение свойства name, Значение: John proxy.age = 40; // Вывод: Запись свойства age со значением 40 console.log(proxy.age); // Вывод: Чтение свойства age, Значение: 40 console.log(obj.age); // Вывод: 40 (изменение значения age было отражено в оригинальном объекте) В этом примере мы создали объект obj и создали его обертку с помощью Proxy. Затем мы определили ловушки get и set для перехвата чтения и записи свойств объекта. Когда мы обращаемся к свойствам обернутого объекта через proxy, ловушки выполняются, и мы можем добавить дополнительную логику перед выполнением операций.
507
14
Задача Создайте функцию, которая принимает строку из букв и пробелов. Верните букву, справа и слева от которой наибольшее число пробелов. Примеры: "a b c" --> ["b"] "a bcs d k" --> ["d"] " a b sc p t k" --> ["p"] "a b c de" --> ["b", "c"] " a b c de " --> ["b"] "abc" --> ["a", "b", "c"] Ответы пишите в комментах 🙂
653
15
بدون متن...
868
16
Преобразовываем объект в массив Есть объект: const person = { firstName: 'John', lastName: 'Doe' } Нужно чтобы этот объект, как то магическим образом стал массивом 🙂 Пишем функцию: function objectToArray(obj) { return Object.entries(obj) } Вызываем функцию: const personArray = objectToArray(person)
571
17
Кто хочет решить задачку? 😁 Функция принимает строку и возвращает строку в другом виде accum("abcd") -> "A-Bb-Ccc-Dddd" accum("RqaEzty") -> "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy" accum("cwAt") -> "C-Ww-Aaa-Tttt"
562
18
Пришла в голову идея 🙂 Давайте с вами сегодня разберем три способа, для проверки, является ли переменная числом: 1 способ function isNumber(param) { return Number.isFinite(param); } 2 способ function isNumber(param) { return !isNaN(param); } 3 способ function isNumber(param) { return typeof param === "number"; }
594
19
Задача Изограмма - это слово, в котором нет повторяющихся букв, как последовательных, так и непоследовательных. Реализуйте функцию, определяющую, является ли строка, содержащая только буквы, изограммой. Предположим, что пустая строка является изограммой. Игнорировать регистр букв. isIsogram "Dermatoglyphics" = true isIsogram "moose" = false isIsogram "aba" = false
735
20
Всем привет 🙂 Уже достаточно долго я развиваю свой закрытый канал Уже записаны полные и развернутые материалы по: - верстке сайтов - поиску работы - составлению резюме - основы js - и тд Что бы вы хотели видеть в канале? Отмечайте или пишите варианты
782