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

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

Чат: https://yangx.top/coderoll_chat

По всем вопросам пишите сюда - @yankovsky_ads
加入频道
Как работает метод 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
3💅1
⚡️Что такое гиперссылка?

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

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

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

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

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

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

Coderoll | Frontend
8💅2
⚡️ Какие типы данных существуют в JavaScript?

Ответ:
- string
- number
- boolean
- bigInt
- symbol
- null
- undefined
- object


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

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
4💅2😁1
Памятка по определению скоупов ответственности в FSD архитектуре

Coderoll | Frontend
👍2
⚡️Перечислите хотя бы 4 метода HTTP

Ответ:
GET, POST, PUT, DELETE

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

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
💅52
👩‍💻 Используем принципы “Чистого кода” в контексте JavaScript

Функции


Функции должны иметь только один уровень абстракции

❗️ Проблема: Функция processOrder содержит код как высокого уровня абстракции (логика обработки заказа), так и низкого уровня (расчет суммы и проверка на складе). Это делает функцию сложной для понимания и поддержки

Чистый код: В исправленном примере processOrder остается на одном уровне абстракции и вызывает вспомогательные функции (calculateTotalAmount и checkStockAvailability), которые решают низкоуровневые задачи

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
Используем принципы “Чистого кода” в контексте JavaScript.

Функции


❗️ Не создавайте глобальные функции, которые могут создать конфликт с аналогичными функциями сторонних библиотек

Давайте разберем на примере: что, если вы хотите расширить собственный метод JavaScript Array, чтобы иметь метод diff, который мог бы показать разницу между двумя массивами?


Вы можете написать свою новую функцию в Array.prototype, но она может конфликтовать с другой библиотекой, которая попытается сделать то же самое

Что, если эта другая библиотека просто использует diff, чтобы найти разницу между первым и последним элементами массива?

Вот почему было бы гораздо лучше просто использовать классы ES2015/ES6 и просто расширить глобальный Array.

Coderoll | Frontend
👍3
Что такое Callback Hell?

Ответ:
Callback Hell — это ситуация, когда код становится трудно читаемым и поддерживаемым из-за глубокой вложенности коллбэков. Это часто происходит при работе с асинхронными операциями. Проблему можно решить с помощью Promises или Async/Await.

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

Coderoll | Frontend
💅2
👩‍💻 Используем принципы “Чистого кода” в контексте JavaScript

Функции


Функции должны делать что-то одно


❗️ Это самое важное правило в программной инженерии

Когда функции делают больше, чем одно, их сложнее составлять, тестировать и рассуждать о них

Когда вы можете изолировать функцию только для одного действия, ее можно легко рефакторить (переписывать, исправлять), и ваш код будет читаться намного чище

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
⚡️Что такое DOM?

Ответ:
Объектная Модель Документа (DOM) является программным интерфейсом для HTML, XML и SVG документов. Это обеспечивает структурированное представление документа (дерева), и определяет способ, по которому структура может быть доступна для программы, для изменения структуры документа, его стиля и содержания. DOM обеспечивает представление документа в виде структурированной группы узлов и объектов, которые имеют свойства и методы. По сути, она связывает веб -страницы со скриптами или языками программирования.

DOM (Document Object Model — «объектная модель документа») — это независящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML-, XHTML- и XML-документов, а также изменять содержимое, структуру и оформление таких документов.


Почитать подробнее

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

Coderoll | Frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
2💅2
Программисты из Telegram создали сильнейшие IT- каналы

🐍 Ghostly Python - автоматизируй всё, что можешь. Боты, скрипты, парсеры, утилиты - делаем Python простым и полезным. Уверенный старт для новичков и не только.

☕️ Easy Java - Java без боли. От основ до фреймворков. Просто, понятно и по делу. Если хочешь реально понять язык - тебе сюда.

😎 IT Syndicate - главный хаб для тех, кто живёт IT. GameDev, InfoSec, Frontend, DevOps, AI и многое другое. Готовь мозг, тут будет жарко.

🧡 Ghostly Frontend - фронтенд без лишнего шума. HTML, CSS, JavaScript, React, Vue — всё, что нужно, чтобы создавать быстрые и красивые интерфейсы.
Jotai — атомарный state management для React

Jotai предлагает минималистичный и гибкий подход к управлению состоянием. Основан на атомах, которые можно комбинировать и использовать с Suspense. Поддерживает TypeScript и хорошую совместимость с серверным рендерингом.

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

Coderoll | Frontend
👍1
Что выведет этот код?
👍4
Что выведет этот код?
🤯3👍2
Что выведет этот код?
👍1