Как найти баланс между количеством тестов и покрытием кода? Какие проблемы могут быть из-за излишнего количества юнит-тестов?
Со 100% покрытием вы напишите некоторые тесты, которые вам не нужны. К сожалению, единственный надежный способ определить, какие тесты вам не нужны, - написать все, а затем подождать 10 лет или около того, чтобы узнать, какие из них никогда не заканчивались.
Поддержание большого количества тестов обычно не проблематично. Многие команды имеют автоматизированную интеграцию и системные тесты в дополнение к 100% охвату модульных тестов.
Тем не менее, вы не находитесь в фазе тестирования, вы играете в догонялки. Гораздо лучше иметь 100% ваших занятий с 50% тестовым покрытием, чем 50% ваших классов с 100% тестовым покрытием, и ваш руководитель, похоже, пытается заставить вас распределить свое время соответствующим образом. После того, как у вас есть этот базовый уровень, следующим шагом обычно является увеличение на 100% в файлах, которые изменяются в дальнейшем.
Со 100% покрытием вы напишите некоторые тесты, которые вам не нужны. К сожалению, единственный надежный способ определить, какие тесты вам не нужны, - написать все, а затем подождать 10 лет или около того, чтобы узнать, какие из них никогда не заканчивались.
Поддержание большого количества тестов обычно не проблематично. Многие команды имеют автоматизированную интеграцию и системные тесты в дополнение к 100% охвату модульных тестов.
Тем не менее, вы не находитесь в фазе тестирования, вы играете в догонялки. Гораздо лучше иметь 100% ваших занятий с 50% тестовым покрытием, чем 50% ваших классов с 100% тестовым покрытием, и ваш руководитель, похоже, пытается заставить вас распределить свое время соответствующим образом. После того, как у вас есть этот базовый уровень, следующим шагом обычно является увеличение на 100% в файлах, которые изменяются в дальнейшем.
Для чего нужны лоадеры и плагины в Webpack? В чем отличие между ними?
Основной задачей лоадеров, как следует из их названия, является предоставление вебпаку возможности работать не только с JS и JSON-файлами.
Лоадеры могут использоваться не только для импорта файлов, но и для их преобразования. Самым популярным является преобразование JavaScript следующего поколения в современный JavaScript с помощью Babel. Для этого используется babel-loader.
Плагины являются основой webpack, так как по сути вся его работа построена на системе плагинов. Они значительно расширяют возможности загрузчиков.
Загрузчики выполняют предварительную обработку файлов любого формата. Они работают на уровне отдельных файлов во время или до создания пакета. После того как отработают загрузчики наступает очередь плагинов. Плагины как правило отрабатывают только одну функцию.
Плагины также могут изменять способ создания самих пакетов сборки и имеют более полный контроль, над процессом сборки. На рисунке ниже показано, как работают загрузчики и плагины.
👉 @frontendInterview
Основной задачей лоадеров, как следует из их названия, является предоставление вебпаку возможности работать не только с JS и JSON-файлами.
Лоадеры могут использоваться не только для импорта файлов, но и для их преобразования. Самым популярным является преобразование JavaScript следующего поколения в современный JavaScript с помощью Babel. Для этого используется babel-loader.
Плагины являются основой webpack, так как по сути вся его работа построена на системе плагинов. Они значительно расширяют возможности загрузчиков.
Загрузчики выполняют предварительную обработку файлов любого формата. Они работают на уровне отдельных файлов во время или до создания пакета. После того как отработают загрузчики наступает очередь плагинов. Плагины как правило отрабатывают только одну функцию.
Плагины также могут изменять способ создания самих пакетов сборки и имеют более полный контроль, над процессом сборки. На рисунке ниже показано, как работают загрузчики и плагины.
👉 @frontendInterview
Удобно, когда все самые актуальные новости можно найти на одном ресурсе, не чекая миллионы пабликов, статей, каналов и подкастов.
И это реально — недавно наш коллега Саша завёл Telegram-канал «Быстрый Фронтенд», где собирает самые актуальные новости из мира фронтенд-разработки со ссылками на первоисточник.
Подписывайся на «Быстрый Фронтенд» — будь в курсе самых полезных новостей в кратком формате 📲
И это реально — недавно наш коллега Саша завёл Telegram-канал «Быстрый Фронтенд», где собирает самые актуальные новости из мира фронтенд-разработки со ссылками на первоисточник.
Подписывайся на «Быстрый Фронтенд» — будь в курсе самых полезных новостей в кратком формате 📲
Telegram
Быстрый Фронтенд
Фронтенд и неуместные остроты за авторством некоего Саши
return @bushizzle
return @bushizzle
Что такое REST API
Так называют сокращение английской аббревиатуры, которая переводится как передача состояния представления. Web-службы, которые пользуются этой системой, применяют термин RESTful. Единого стандарта у нее нет — не протокол, а целый архитектурный стиль. Этим она отличается от многих аналогичных. При этом допустимо использовать XML, HTTP, JSON и URL.
Ее разработали еще в 2000 году, но с того момента она очень развилась и сейчас стала одной из самых популярных, отодвинув на задний план аналогичные.
Чтобы объяснить суть restful api, можно представить калькулятор на любом компьютере. Когда мы нажимаем на кнопки, желая получить расчеты, скрытые функции начинают взаимодействовать. А когда сервис получает результат, он выводит его на экран в виде готовой цифры в графическом интерфейсе.
Здесь архитектура работает аналогичным образом. При нажатии на кнопку выполняются разные операции, чтобы обработать и передать информацию. Они могут не просто получать данные из одной сети, а способны вызывать и обращаться к удаленным серверам, чтобы взять нужное у них.
В качестве примера стоит привести кнопку Facebook, которая умеет задействовать соцсеть, или видео на Youtube, его тоже запускает веб-версия API.
👉 @frontendInterview
Так называют сокращение английской аббревиатуры, которая переводится как передача состояния представления. Web-службы, которые пользуются этой системой, применяют термин RESTful. Единого стандарта у нее нет — не протокол, а целый архитектурный стиль. Этим она отличается от многих аналогичных. При этом допустимо использовать XML, HTTP, JSON и URL.
Ее разработали еще в 2000 году, но с того момента она очень развилась и сейчас стала одной из самых популярных, отодвинув на задний план аналогичные.
Чтобы объяснить суть restful api, можно представить калькулятор на любом компьютере. Когда мы нажимаем на кнопки, желая получить расчеты, скрытые функции начинают взаимодействовать. А когда сервис получает результат, он выводит его на экран в виде готовой цифры в графическом интерфейсе.
Здесь архитектура работает аналогичным образом. При нажатии на кнопку выполняются разные операции, чтобы обработать и передать информацию. Они могут не просто получать данные из одной сети, а способны вызывать и обращаться к удаленным серверам, чтобы взять нужное у них.
В качестве примера стоит привести кнопку Facebook, которая умеет задействовать соцсеть, или видео на Youtube, его тоже запускает веб-версия API.
👉 @frontendInterview
Deep Learning with JavaScript (2020)
Глубокое обучение изменило области компьютерного зрения, обработки изображений и приложений естественного языка. Теперь благодаря TensorFlow.js JavaScript-разработчики могут создавать приложения с глубоким обучением, не полагаясь на Python или R. Данная книга показывает программистам, как они могут работать с Deep Learning прямо в браузере.
👉 @frontendInterview
Глубокое обучение изменило области компьютерного зрения, обработки изображений и приложений естественного языка. Теперь благодаря TensorFlow.js JavaScript-разработчики могут создавать приложения с глубоким обучением, не полагаясь на Python или R. Данная книга показывает программистам, как они могут работать с Deep Learning прямо в браузере.
👉 @frontendInterview
👍1
Single digit
Вам дано число, состоящее из нескольких цифр. Его нужно превратить в одну цифру. Для этого нужно перевести данное число в двоичный вид, а затем сложить все единицы двоичного представления.
Примеры:
👉 @frontendInterview
Вам дано число, состоящее из нескольких цифр. Его нужно превратить в одну цифру. Для этого нужно перевести данное число в двоичный вид, а затем сложить все единицы двоичного представления.
Примеры:
5665 --> (binary) 1011000100001
1011000100001 --> (sum of binary digits) 5
123456789 --> (binary) 111010110111100110100010101
111010110111100110100010101 --> (sum of binary digits) 16
16 --> (binary) 10000
10000 --> (sum of binary digits) 1👉 @frontendInterview
Что такое Grid? Расскажите про его основные элементы.
Грид — это двумерная (в отличие от от одномерных флексбоксов) сетка. Как табличная, только виртуальная, не связанная с разметкой. Состоит из следующих элементов:
- Грид-контейнер — элемент, в котором строится сетка.
- Грид-элементы — элементы, размещаемые по сетке. Важно: они должны быть непосредственными потомками грид-контейнера (как и во флексбоксах флекс-элементы должны быть непосредственными потомками флекс-контейнера).
- Грид-линии — невидимые вертикальные и горизонтальные линии, разделяющие грид на ячейки и формирующие его структуру. Грид-линии автоматически нумеруются, а также им можно задавать имена. К грид-линиям можно привязывать грид-элементы — и по номерам, и по именам, как удобнее.
- Грид-полосы — то, что ограничено парой соседних грид-линий. Вертикальные грид-полосы — это колонки грида (аналог столбцов таблицы), горизонтальные — ряды (аналог строк).
- Грид-ячейки — то, что получается на пересечении двух грид-полос (колонки и ряда). Аналог ячейки таблицы.
- Грид-области — прямоугольники из M×N смежных грид-ячеек (1×1 и больше). Каждая грид-область ограничена двумя парами грид-линий (парой вертикальных и парой горизонтальных). В них и размещаются грид-элементы. Грид-областям тоже можно задавать имена.
- Грид-интервалы — пустые пространства (отступы) между соседними грид-полосами. Аналог border-spacing в таблице.
👉 @frontendInterview
Грид — это двумерная (в отличие от от одномерных флексбоксов) сетка. Как табличная, только виртуальная, не связанная с разметкой. Состоит из следующих элементов:
- Грид-контейнер — элемент, в котором строится сетка.
- Грид-элементы — элементы, размещаемые по сетке. Важно: они должны быть непосредственными потомками грид-контейнера (как и во флексбоксах флекс-элементы должны быть непосредственными потомками флекс-контейнера).
- Грид-линии — невидимые вертикальные и горизонтальные линии, разделяющие грид на ячейки и формирующие его структуру. Грид-линии автоматически нумеруются, а также им можно задавать имена. К грид-линиям можно привязывать грид-элементы — и по номерам, и по именам, как удобнее.
- Грид-полосы — то, что ограничено парой соседних грид-линий. Вертикальные грид-полосы — это колонки грида (аналог столбцов таблицы), горизонтальные — ряды (аналог строк).
- Грид-ячейки — то, что получается на пересечении двух грид-полос (колонки и ряда). Аналог ячейки таблицы.
- Грид-области — прямоугольники из M×N смежных грид-ячеек (1×1 и больше). Каждая грид-область ограничена двумя парами грид-линий (парой вертикальных и парой горизонтальных). В них и размещаются грид-элементы. Грид-областям тоже можно задавать имена.
- Грид-интервалы — пустые пространства (отступы) между соседними грид-полосами. Аналог border-spacing в таблице.
👉 @frontendInterview
Разработчики готовы раскрыть все карты и честно обсудить то, о чём многие предпочитают сплетничать на перекурах.
Подкаст «307 пакетов» — это будни (а иногда и выходные) айтишников, которые не боятся шутить, обсуждать душных начальников, лишние килограммы на удалёнке, влюбленности на собеседованиях и зарплаты.
Только нескучные беседы с ребятами и их приглашенными гостями. Тоже нескучными, кстати.
Подписывайся на YouTube-канал «307 пакетов» ➡️ https://bit.ly/3lrHFNm
Или выбирай любую удобную подкаст-площадку ➡️ https://bit.ly/3uZigxy
Подкаст «307 пакетов» — это будни (а иногда и выходные) айтишников, которые не боятся шутить, обсуждать душных начальников, лишние килограммы на удалёнке, влюбленности на собеседованиях и зарплаты.
Только нескучные беседы с ребятами и их приглашенными гостями. Тоже нескучными, кстати.
Подписывайся на YouTube-канал «307 пакетов» ➡️ https://bit.ly/3lrHFNm
Или выбирай любую удобную подкаст-площадку ➡️ https://bit.ly/3uZigxy
До 13 октября регистрируйтесь на онлайн-встречу Adtech с топовыми спикерами одной из самых успешных команд Яндекса – Рекламные продукты:
- Руководителем рекламных продуктов Верой Лейзерович
- Руководителем нового рантайма и больших данных Алексеем Шлюнкиным
- Руководителем отдела качества рекламы Алексеем Штоколовым
- Руководителем службы конкурентного и бизнес-анализа Сергеем Линeвым
Сначала узнаете подробнее о том, что реклама — это продукт, под капотом у которой много сложных технологий, интересных задач и вызовов. А после сможете поспрашивать руководителей рекламных продуктов Яндекса о работе у них в командах по аналитике, фронтенду, бэкенду и управлению продуктом.
А уже 23 и 24 октября в Яндексе проведут Fast Track — онлайн-встречу, на которой можно будет пройти две технические секции и получить быстрый оффер в компанию.
- Руководителем рекламных продуктов Верой Лейзерович
- Руководителем нового рантайма и больших данных Алексеем Шлюнкиным
- Руководителем отдела качества рекламы Алексеем Штоколовым
- Руководителем службы конкурентного и бизнес-анализа Сергеем Линeвым
Сначала узнаете подробнее о том, что реклама — это продукт, под капотом у которой много сложных технологий, интересных задач и вызовов. А после сможете поспрашивать руководителей рекламных продуктов Яндекса о работе у них в командах по аналитике, фронтенду, бэкенду и управлению продуктом.
А уже 23 и 24 октября в Яндексе проведут Fast Track — онлайн-встречу, на которой можно будет пройти две технические секции и получить быстрый оффер в компанию.
Adtech: Прособеседуйте команду рекламных технологий Яндекса
Приходите на наше онлайн-мероприятие — честный разговор о том, как мы делаем рекламные продукты сегодня.
Кроме выступлений спикеров, вас ждут «обратные собеседования» — возможность задать любые вопросы о работе у нас руководителям рекламных продуктов Яндекса…
Кроме выступлений спикеров, вас ждут «обратные собеседования» — возможность задать любые вопросы о работе у нас руководителям рекламных продуктов Яндекса…
Что такое Cookie и для чего они могут использоваться?
Куки это классический способ хранения простых строчных данных внутри документа. Обычно куки отсылаются с сервера на клиент, который может сохранять их, а затем отправлять обратно на сервер в ответ на последующие запросы. Это может быть использовано для таких вещей, как управление сессиями аккаунта или отслеживание пользовательской информации.
Дополнительно куки можно использовать и для простого хранения данных на клиентской стороне. Поэтому они также часто используются для хранения общих данных типа пользовательских настроек.
Преимущества
- Их можно использовать для коммуникации с сервером
- Мы можем определить для куки срок их автоматического окончания вместо того, чтобы удалять вручную.
Недостатки
- Они добавляются к загрузке страницы документа
- Они могут хранить небольшое количество данных
- Они могут содержать только строки.
- Потенциальные проблемы с безопасностью.
👉 @frontendInterview
Куки это классический способ хранения простых строчных данных внутри документа. Обычно куки отсылаются с сервера на клиент, который может сохранять их, а затем отправлять обратно на сервер в ответ на последующие запросы. Это может быть использовано для таких вещей, как управление сессиями аккаунта или отслеживание пользовательской информации.
Дополнительно куки можно использовать и для простого хранения данных на клиентской стороне. Поэтому они также часто используются для хранения общих данных типа пользовательских настроек.
Преимущества
- Их можно использовать для коммуникации с сервером
- Мы можем определить для куки срок их автоматического окончания вместо того, чтобы удалять вручную.
Недостатки
- Они добавляются к загрузке страницы документа
- Они могут хранить небольшое количество данных
- Они могут содержать только строки.
- Потенциальные проблемы с безопасностью.
👉 @frontendInterview