🧐Устали от ошибок? Позаботьтесь о чистоте архитектуры!
👉Узнайте как на бесплатном вебинаре онлайн-курса «Clojure Developer» — «Duct и Clean Architecture в Clojure»: регистрация
На уроке мы:
— попрактикуемся применять принципы чистой архитектуры с использованием языка программирования Clojure и фреймворка Duct.
— познакомимся с его модульной системой, реализуем DI контейнер, подключим адаптеры во все порты и вообще сделаем все, как дедушка Боб нам завещал))
Экспертизой поделится руководитель программы и практик Сергей Ткаченко (Clojure Software developer / Team Lead).
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KTbxG
👉Узнайте как на бесплатном вебинаре онлайн-курса «Clojure Developer» — «Duct и Clean Architecture в Clojure»: регистрация
На уроке мы:
— попрактикуемся применять принципы чистой архитектуры с использованием языка программирования Clojure и фреймворка Duct.
— познакомимся с его модульной системой, реализуем DI контейнер, подключим адаптеры во все порты и вообще сделаем все, как дедушка Боб нам завещал))
Экспертизой поделится руководитель программы и практик Сергей Ткаченко (Clojure Software developer / Team Lead).
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KTbxG
👍2
Чему равен 'this' в функции-обработчике события?
Anonymous Quiz
10%
null
16%
e
34%
e.currentTarget
40%
window
👍10🤔7❤1👏1
Что является корнями в концепции достижимости в JavaScript?
Anonymous Quiz
26%
Глобальные переменные
6%
Локальные переменные функции
20%
Объекты в текущей цепочке вызовов
50%
Все вышеперечисленное
👍1
Что такое code coverage? Обязательно ли 100% покрытие кода тестами?
Это метрика, которая измеряет, насколько код программы был протестирован тестами. Она показывает, какая часть кода была выполнена (покрыта) в процессе выполнения тестов.
Code coverage измеряется в процентах и может включать различные типы покрытия, такие как покрытие строк кода, покрытие ветвей (условий), покрытие функций и т.д. Например, покрытие кода на уровне строк показывает, сколько процентов строк исходного кода было выполнено при запуске тестов.
Теперь к вопросу о 100% покрытии кода тестами. В идеале, 100% покрытие кода тестами будет означать, что каждая строка, ветвь или функция в вашем коде была выполнена хотя бы одним тестом. Такое покрытие может дать вам большую уверенность в том, что ваш код работает правильно и что вы не пропустили какие-либо участки кода, которые могут содержать ошибки.
Однако, обязательство иметь 100% покрытие кода тестами зависит от многих факторов, таких как сложность кода, время и ресурсы, доступные для написания и поддержки тестов, а также приоритеты проекта. В некоторых случаях, достижение 100% покрытия может быть сложно или нецелесообразно, особенно если это требует больших затрат на написание дополнительных тестов для ненадежных или малозначимых участков кода.
👉 @frontendInterview
Это метрика, которая измеряет, насколько код программы был протестирован тестами. Она показывает, какая часть кода была выполнена (покрыта) в процессе выполнения тестов.
Code coverage измеряется в процентах и может включать различные типы покрытия, такие как покрытие строк кода, покрытие ветвей (условий), покрытие функций и т.д. Например, покрытие кода на уровне строк показывает, сколько процентов строк исходного кода было выполнено при запуске тестов.
Теперь к вопросу о 100% покрытии кода тестами. В идеале, 100% покрытие кода тестами будет означать, что каждая строка, ветвь или функция в вашем коде была выполнена хотя бы одним тестом. Такое покрытие может дать вам большую уверенность в том, что ваш код работает правильно и что вы не пропустили какие-либо участки кода, которые могут содержать ошибки.
Однако, обязательство иметь 100% покрытие кода тестами зависит от многих факторов, таких как сложность кода, время и ресурсы, доступные для написания и поддержки тестов, а также приоритеты проекта. В некоторых случаях, достижение 100% покрытия может быть сложно или нецелесообразно, особенно если это требует больших затрат на написание дополнительных тестов для ненадежных или малозначимых участков кода.
👉 @frontendInterview
❤1
Practical Next.js for E-Commerce: Create E-Commerce Sites with the Next.js Framework (2023)
Используйте возможности Next.js для быстрого создания эффективных сайтов электронной коммерции. Эта книга, ориентированная на конкретные проекты, упростит процесс создания начального сайта электронной коммерции с использованием Next.js от начала до конца, создавая удобное предложение электронной коммерции с использованием лишь текстового редактора или бесплатного программного обеспечения. Он даст вам начальный набор инструментов, который вы сможете использовать для разработки будущих проектов, включения в существующий рабочий процесс и поможет вывести ваши сайты на новый уровень, уменьшив зависимость от инструментов, которые раздуты, подвержены взлому и не являются самыми эффективными.
👉 @frontendInterview
Используйте возможности Next.js для быстрого создания эффективных сайтов электронной коммерции. Эта книга, ориентированная на конкретные проекты, упростит процесс создания начального сайта электронной коммерции с использованием Next.js от начала до конца, создавая удобное предложение электронной коммерции с использованием лишь текстового редактора или бесплатного программного обеспечения. Он даст вам начальный набор инструментов, который вы сможете использовать для разработки будущих проектов, включения в существующий рабочий процесс и поможет вывести ваши сайты на новый уровень, уменьшив зависимость от инструментов, которые раздуты, подвержены взлому и не являются самыми эффективными.
👉 @frontendInterview
More Zeros than Ones
Вам дана строка. Создайте функцию, которая переведет ASCII символы в их двоичное представление и вернет только те символы, в представлении которых нулей больше чем единиц.
Примеры:
👉 @frontendInterview
Вам дана строка. Создайте функцию, которая переведет ASCII символы в их двоичное представление и вернет только те символы, в представлении которых нулей больше чем единиц.
Примеры:
'abcde' === ["1100001", "1100010", "1100011", "1100100", "1100101"]
True True False True False
--> ['a','b','d']
'DIGEST'--> ['D','I','E','T']👉 @frontendInterview
Как установить язык сайта и его отдельных фрагментов, и почему это важно?
Как и пользователи сайта, скринридеры могут «разговаривать» на разных языках. Это возможно благодаря встроенному в скринридер синтезатору речи.
Чтобы скринридер определил язык и правильно произнёс текст, нужно указать основной язык сайта в атрибуте lang тега <html>. В качестве значения атрибута используется так называемый «языковой тег». Чаще всего это двухбуквенный или трёхбуквенный код. Например, для английского языка используется код en, для русского — ru.
Задать язык можно не только всему документу, но и фрагменту текста. Встретив такой фрагмент, скринридер переключит языковой профиль и прочитает текст с правильным акцентом.
Пример
Определяем основной язык веб-страницы:
- браузер использует значение атрибута lang для выбора соответствующих языку шрифтов, формата даты и времени, разделителя десятичной части (точка или запятая);
- видеоплееры могут отображать субтитры на соответствующем языке;
- установленный язык используется программами автоматического перевода, такими как Google Translate, и программами для проверки орфографии.
👉 @frontendInterview
Как и пользователи сайта, скринридеры могут «разговаривать» на разных языках. Это возможно благодаря встроенному в скринридер синтезатору речи.
Чтобы скринридер определил язык и правильно произнёс текст, нужно указать основной язык сайта в атрибуте lang тега <html>. В качестве значения атрибута используется так называемый «языковой тег». Чаще всего это двухбуквенный или трёхбуквенный код. Например, для английского языка используется код en, для русского — ru.
Задать язык можно не только всему документу, но и фрагменту текста. Встретив такой фрагмент, скринридер переключит языковой профиль и прочитает текст с правильным акцентом.
Пример
Определяем основной язык веб-страницы:
<html lang="ru">
Задаём язык фрагмента. Теперь скринридер понимает, что «Lagom» надо читать на шведском, а не на русском: <p>
<span lang="sv">Lagom</span> — не слишком много, не слишком мало,
а так, что в самый раз.
</p>
Определение языка важно не только для правильной работы скринридеров:- браузер использует значение атрибута lang для выбора соответствующих языку шрифтов, формата даты и времени, разделителя десятичной части (точка или запятая);
- видеоплееры могут отображать субтитры на соответствующем языке;
- установленный язык используется программами автоматического перевода, такими как Google Translate, и программами для проверки орфографии.
👉 @frontendInterview
👍11
Присвоилось ли значение bark.animal? Если да, то какое?
Anonymous Quiz
26%
Возникла ошибка
56%
dog
17%
undefined
1%
""
👍12❤2
Как создать объект без прототипа?
Это можно сделать с помощью Object.create:
👉 @frontendInterview
Это можно сделать с помощью Object.create:
const o1 = {}
console.log(o1.toString) // [object Object]
// первым параметром передается объект-прототип
// нам прототип не нужен, поэтому передаем null
const o2 = Object.create(null)
console.log(o2.toString) // o2.toString is not a function👉 @frontendInterview
👍5❤3🔥1
Что будет выведено в консоль?
Anonymous Quiz
2%
Ты слишком молод.
45%
Ты достаточно взрослый!
25%
Error
28%
undefined
👍12❤1
Какая единица измерения является относительной и зависит от размера шрифта родительского элемента?
Anonymous Quiz
4%
px
53%
em
39%
rem
5%
Ни одна из вышеперечисленных
👍3
Что такое async/await?
async/await — относительно новый способ написания асинхронного (неблокирующего) кода в JS. Он делает код более читаемым и чистым, чем промисы и функции обратного вызова.
Использование ключевого слова «async» перед функцией заставляет ее возвращать промис.
Ключевое слово «await» можно использовать только внутри асинхронной функции. await ожидает завершения выражения справа, чтобы вернуть его значение перед выполнением следующей строчки кода.
👉 @frontendInterview
async/await — относительно новый способ написания асинхронного (неблокирующего) кода в JS. Он делает код более читаемым и чистым, чем промисы и функции обратного вызова.
Использование ключевого слова «async» перед функцией заставляет ее возвращать промис.
Ключевое слово «await» можно использовать только внутри асинхронной функции. await ожидает завершения выражения справа, чтобы вернуть его значение перед выполнением следующей строчки кода.
async function f() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("готово!"), 1000)
});
let result = await promise; // будет ждать, пока промис не выполнится (*)
alert(result); // "готово!"
}
f();👉 @frontendInterview
👍8
Head First Git: A Learner's Guide to Understanding Git from the Inside Out
Многие люди, использующие Git, полагаются на «рецепты» — копирование и вставку команд, которые они находят в Интернете, не понимая, как на самом деле работает Git. Но что делать, если вы оказались в затруднительном положении, которое уже не исправить чьей-то готовой командой? С помощью этого уникального практического руководства вы изучите способы работы с Git и получите от этого удовольствие.
👉 @frontendInterview
Многие люди, использующие Git, полагаются на «рецепты» — копирование и вставку команд, которые они находят в Интернете, не понимая, как на самом деле работает Git. Но что делать, если вы оказались в затруднительном положении, которое уже не исправить чьей-то готовой командой? С помощью этого уникального практического руководства вы изучите способы работы с Git и получите от этого удовольствие.
👉 @frontendInterview
Day of the Year
Вам дана дата в формате
Пример:
👉 @frontendInterview
Вам дана дата в формате
[D, M, YYYY]. Создайте функцию, которая вычислит порядковый номер дня этой даты в году.Пример:
toDayOfYear([1, 1, 2000]) => 1👉 @frontendInterview