CodeRoll | Frontend
4.89K subscribers
1.61K photos
73 videos
1 file
941 links
— Лучшее для разработчика и дизайнера / IT инструменты, курсы и книги
— Веб-разработка на JS, HTML, CSS, React, Vue,Angular

Купить рекламу: https://telega.in/c/coderoll

Чат: https://t.iss.one/coderoll_chat

По всем вопросам пишите сюда - @yankovsky_ads
Download Telegram
Что такое Event Loop в JavaScript?

Ответ:
Event Loop — это механизм, который позволяет JavaScript быть однопоточным языком, но при этом работать асинхронно. Он обрабатывает задачи из очереди событий, когда основной поток становится свободным. Event Loop проверяет Call Stack (стек вызовов), и если он пуст, берёт следующую задачу из очереди и выполняет её.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
💅42
Flexer

Визуальная песочница, в которой можно примерить разные свойства CSS Flexbox и увидеть, как они виляют на элементы на страничке

Если ещё не разобрались в флексах — сервис упростит изучение

👀 Посмотреть

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
3
shadcn/ui – кастомные UI-компоненты на Tailwind

🔥 Нравится Tailwind, но не хватает готовых компонентов? Попробуй shadcn/ui:
Красивый, кастомизируемый UI
Поддержка dark/light тем
Работает с React + Tailwind

👀 Попробовать

Coderoll | Frontend
2
Что такое замыкание (closure) в JavaScript?

Ответ:
Замыкание — это функция, которая имеет доступ не только к своим собственным переменным, но и к переменным из внешней области видимости, даже после того, как внешняя функция завершила свою работу. Замыкания полезны для создания приватных переменных и функций, а также для работы с коллбэками и таймерами.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
3💅2
TanStack Query – must-have для работы с API

Библиотека, которая делает работу с серверными данными в React и Vue в разы проще. Кэширование, рефетчинг, автоматические обновления – все на высшем уровне. Забудь про useEffect и стейты для загрузки данных!

👀 Попробовать

Coderoll | Frontend
1
Что такое Module Pattern?

Ответ:
Module Pattern — это паттерн проектирования в JavaScript, который позволяет создавать модули с приватными переменными и методами, используя замыкания.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
💅61
Разбираем вопрос с FrontEnd-собеседования 👨‍💻

Опишите шаблон проектирования "Модуль" в Javascript

Как лучше ответить:

Модули JavaScript являются наиболее часто используемыми шаблонами проектирования для сохранения отдельных фрагментов кода независимыми от других компонентов. Это обеспечивает хорошую структурированность кода.

Модули должны быть функциями, вызываемыми прямо на месте (IIFE, Immediately-Invoked-Function-Expressions), чтобы обеспечить приватные области действия, то есть замыкание, которое защищает переменные и методы. Вот как примерно это может выглядеть:


// declare private variables and/or functions
return {
// declare public variables and/or functions
}
})();


Здесь мы создаем экземпляры приватных переменных и/или функций перед возвратом нашего объекта, который мы хотим вернуть. Код за пределами нашего замыкания не может получить доступ к этим приватным переменным, поскольку он не находится в той же области действия.

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Что такое Lazy Loading?

Ответ:
Lazy Loading — это техника отложенной загрузки ресурсов (например, изображений или скриптов), когда они загружаются только тогда, когда становятся необходимыми (например, при прокрутке страницы). Это улучшает производительность приложения.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
8💅1
Что такое Symbol в JavaScript?

Ответ:
Symbol — это уникальный и неизменяемый тип данных, часто используемый как уникальный идентификатор для свойств объектов. Каждый вызов Symbol() создаёт новый уникальный символ.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
💅32
Deno — это новый инструмент для работы с JavaScript и TypeScript от создателя Node.js

Deno позиционируется как безопасная альтернатива Node.js с улучшенными возможностями для работы с модулями и встроенным TypeScript. Имеет улучшенную безопасность благодаря контролю за доступом к файлам, сети и процессам.

👀 Читать доку

Coderoll | Frontend
Как работает метод map?

Ответ:
Метод map создаёт новый массив, применяя указанную функцию к каждому элементу исходного массива. При этом исходный массив не изменяется.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
💅21
Как работает метод some?

Ответ:
Метод some проверяет, удовлетворяет ли хотя бы один элемент массива заданному условию. Если хотя бы один элемент соответствует условию, метод возвращает true, иначе — false.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
1💅1
✈️ Углублённый курс по JavaScript [2024, RU]

Курс рассчитан на разработчиков, уже знакомых с основами языка и желающих углубить свои знания. Здесь вы освоите продвинутые темы для того, чтобы использовать все крутые возможности JavaScript.

Особое внимание уделяется переменным и функциям, Event Loop и асинхронности, ООП, Symbol, Reflect, Proxy, Map и Set, итераторам, модулям и другим важным особенностям JavaScript.


🔤 Скачать курс 🔤

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопросы с собеседования: Promise.all

Очень часто на собеседованиях любят давать заданию что бы собеседуемый написал свою реализацию Promise.all, эту задачу я встречал во многих крупных компаниях. И хотелось бы поделиться с вами решением этой задачи с подробным объяснением.

Для начала вспомним работу оригинального Promise.all.

Он принимает коллекцию промисов, начинает одновременно их выполнять и возвращает новый промис. Если все переданные промисы выполнятся, возвращаемый промис тоже выполнится и в нём будет лежать массив результатов, причём в том же порядке. Но! Если какой-то промис вылетел с ошибкой, то Promise.all прекращает работу раньше и возвращаемый промис будет отклонён.

Таким образом у нас есть два сценария:
Позитивный: Когда все промисы завершились успешно. Тут в ответ придёт массив результатов с сохранением очерёдности.
Негативный: Когда какой-то промис завершился с ошибкой. Тут Promise.all не будет ждать завершение оставшихся, а сразу перейдёт в состояние rejected с полученной ошибкой.

Сначала попробуйте решить самостоятельно, можете написать свое решение в комментариях

Случай, когда у нас произошла ошибка, обрабатывать отдельно не нужно — возвращаемый промис автоматически перейдёт в состояние rejected.



// На вход к нам приходит массив промисов
Promise.all = (promises) => {
// Здесь будем хранить результаты успешно завершенных промисов
const results = []

// Количество промисов, которые осталось выполнить
// На данный момент не выполнился еще ни один промис!
let rest = promises.length

// Возвращаем, естественно, новый промис
return new Promise((resolve) => {
// Проходимся по списочку
promises.forEach((promise, index) => {
promise
// Если промис завершается успешно
.then((result) => {

// Кладём его в наше хранилище
// Причём сохраняем индекс, под которым он был в массиве `promises`
results[index] = result

// На один невыполненный промис стало меньше!
rest -= 1

// Если активных промисов больше нет, то резолвим результат
if (rest === 0) resolve(results)
})
})
})
}


Coderoll | Frontend
1👍1
Что такое IIFE (Immediately Invoked Function Expression)?

Ответ:
IIFE — это немедленно исполняемая функция, которая выполняется сразу после её определения. Она используется для создания изолированной области видимости, чтобы избежать загрязнения глобального пространства имён.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
2💅1
⚡️Что такое гиперссылка?

Ответ:
Часть гипертекстового документа, ссылающаяся на другой элемент (команда, текст, заголовок, примечание, изображение) в самом документе, на другой объект (файл, каталог, приложение), расположенный на локальном диске или в компьютерной сети, либо на элементы этого объекта.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
3
JS, это однопоточный язык?

Ответ:
JavaScript (JS) является однопоточным языком программирования. Это означает, что у вас есть только один основной поток выполнения кода, который обрабатывает все инструкции последовательно (или синхронно).
Веб-браузеры, в которых JavaScript обычно исполняется, также однопоточные в своей основе.

Однако в JavaScript также есть концепция асинхронного программирования, которая позволяет выполнять операции ввода-вывода (например, запросы к серверу или чтение файлов) без блокировки основного потока выполнения.

Ставь ❤️ если знаешь ответ
Если нет — ставь 💅

Coderoll | Frontend
6💅2
🤔 Слишком поздно заходить в IT в 2025?

Врать не буду: скорее да, чем нет — за последние пять лет порог вхождения сильно поднялся, и теперь нередко от джуна требуют навыки грейдом выше.

Что делать в такой ситуации? Учиться эффективнее остальных и знать, как подать себя на рынке других. Разобраться со всем этим вам поможет База Знаний — мест, где за вас уже отобрали лучшие материалы по самым востребованным вакансиям:

🖥 Python Dev: 1558+ материалов

👩‍💻 Frontend Dev: 1241+ материалов

👩‍💻 Backend Dev: 1095+ материалов

📊 Data Scientist: 978+ материалов

🎨 UX/UI Designer: 885+ материалов

📖 Книги по IT: 779+ материалов

Советую перейти и начать учиться уже сейчас — так уже к лету сможете претендовать на вакансию c хорошим окладом 👍
Please open Telegram to view this post
VIEW IN TELEGRAM