Telegram Web
Короткие ссылки на NJS

Рано или поздно практически перед каждым разработчиком встаёт задача использования сервиса коротких ссылок. Чаще всего такой сервис нужен для публикации постов в социальных сетях или сбора маркетинговой статистики. У разработчика есть два пути — использовать готовый сервис или написать свой. Я выбираю второй вариант!

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

👉 @frontendInterview
Калибровка Life Work Balance: практические инструменты ежедневного планирования

Продолжаю делиться личным опытом в планировании. Без воды, лирики и рерайтов. Ребята, в статье инструменты которые прошли проверку временем и самое главное — ленью. Я отсеял всё лишнее и оставил только то, что действительно полезно и эффективно.
За 14 лет экспериментов с планированием у меня накопилось много опыта, я попробовал разные инструменты. В этой статье расскажу о тех, которыми пользуюсь до сих пор. Также мы обсудим концепции, которые мне зашли больше всего.

👉 @frontendInterview
This media is not supported in your browser
VIEW IN TELEGRAM
Когда разработчика попросили оценить время на решение задачи

👉 @frontendInterview
Какие критерии оценки кода есть ?

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

Читаемость
- Ясность и понимание: Код должен быть легко читаемым и понятным для других разработчиков. Использование понятных имен переменных и функций, а также комментариев, где это необходимо, может значительно улучшить читаемость.
- Соглашения о кодировании: Следование общепринятым стилям кодирования и соглашениям для языка помогает поддерживать единообразие и облегчает совместную работу в команде.

Производительность
- Оптимизация: Код должен быть написан таким образом, чтобы максимально эффективно использовать ресурсы, минимизируя время выполнения и потребление памяти.
- Минимизация зависимостей: Избыточное использование библиотек и фреймворков может увеличить время загрузки и ухудшить производительность.

Поддерживаемость
- Модульность и повторное использование: Код должен быть организован так, чтобы его было легко модифицировать, расширять и повторно использовать. Использование функций, классов и модулей способствует этому.
- Тестирование: Наличие тестов (юнит-тесты, интеграционные тесты) упрощает обнаружение и исправление ошибок, а также помогает обеспечить стабильность приложения при внесении изменений.

Безопасность
- Предотвращение уязвимостей: Код должен быть защищён от распространённых уязвимостей, таких как XSS (межсайтовый скриптинг), CSRF (межсайтовая подделка запроса) и SQL-инъекции, в случае работы с базами данных.

Совместимость
- Кроссбраузерность: Веб-приложения должны корректно работать в различных браузерах и на различных устройствах.
- Стандарты и спецификации: Следование стандартам веб-разработки, таким как спецификации ECMAScript, помогает обеспечить совместимость и корректное функционирование кода.

Эффективность разработки
- Инструменты и практики: Использование современных инструментов разработки, систем контроля версий и методологий разработки, таких как Agile или Scrum, может улучшить эффективность и качество кода.

👉 @frontendInterview
Разработка игр на языке jаvascript. Учебное пособие для СПО. 2-е изд.

Современные технологии разработки интернет-приложений шагнули далеко вперед. Можно найти множество учебников, посвященных HTML, CSS, jаvascript и т.п. Все они подробно описывают различные элементы языков и могут использоваться в качестве справочников, однако для их успешного применения необходимо иметь опыт проектирования и разработки приложений. В данном учебном пособии не только описываются элементы языка программирования, но и приводится множество практических примеров, позволяющих решать реальные задачи. А изучение на основании реальных задач, когда видишь результат, гораздо эффективнее, чем решение неинтересных, но очень полезных учебных примеров. Принципы построения игры, описанные в данном учебном пособии, могут быть с минимальными изменениями распространены на другие языки программирования.

👉 @frontendInterview
Get Nth Even Number

Создайте функцию, которая вернет N-ое четное число.

Пример:
1 --> 0 (первое четное число 0)
3 --> 4 (третье четное число 4 (0, 2, 4))
100 --> 198


👉 @frontendInterview
Как работает setTimeout ?

Функция setTimeout используется для выполнения кода или функции спустя заданный интервал времени, однократно. Она является частью Web API в браузерах и глобального объекта global в Node.js, что делает её доступной для использования в любом окружении.

Синтаксис

let timeoutID = setTimeout(function[, delay, arg1, arg2, ...]);
let timeoutID = setTimeout(functionCode[, delay]);


- function: Будет вызвана после задержки.
- functionCode: Строка кода для выполнения (использование этой формы не рекомендуется по соображениям безопасности).
- delay: Задержка в миллисекундах, после которой будет выполнена функция. Если не указать, по умолчанию будет использовано значение 0.
- arg1, arg2, ...: Аргументы, которые будут переданы в функцию при её вызове.

Пример:
function sayHello() {
console.log('Привет!');
}

// Вызывает функцию sayHello после задержки в 2000 миллисекунд (2 секунды)
setTimeout(sayHello, 2000);


Отмена выполнения setTimeout

Вызов ее возвращает идентификатор таймера, который можно использовать для отмены выполнения с помощью функции clearTimeout.
let timerId = setTimeout(sayHello, 2000);

// Отменяет выполнение
clearTimeout(timerId);


Особенности поведения

- Минимальная задержка: В HTML5 спецификация предусматривает минимальную задержку в 4ms для вложенных таймеров и в некоторых других случаях, что может повлиять на ожидаемое время выполнения.
- Задержка в неактивных вкладках: Браузеры могут изменять поведение таймеров для неактивных вкладок для оптимизации производительности и энергопотребления. Это может привести к значительно большей задержке, чем указано.
- Асинхронность: setTimeout не блокирует выполнение кода, который следует за ним. Он лишь запланирует выполнение функции на будущее, позволяя остальному коду продолжать выполняться без ожидания.

👉 @frontendInterview
Какой метод массива используется для объединения двух или более массивов в один?
Anonymous Quiz
78%
concat()
17%
join()
4%
push()
1%
pop()
This media is not supported in your browser
VIEW IN TELEGRAM
CSS Text Fade Out On Scrolling Effect

В этой статье рассказывается про создание эффекта "затухания" текста на границах блока. Для реализации используется полупрозрачный градиент и CSS background-clip.

.text {
background-image: linear-gradient(transparent 10%, currentColor 30%, currentColor 70%, transparent 90%);
-webkit-background-clip: text;
background-clip: text;
background-attachment: fixed;
}


👉 @frontendInterview
Улучшение производительности рендеринга с помощью CSS content-visibility

В этой статье рассказывается про CSS свойство content-visibility. Это новая функция CSS, которая позволяет "скрывать" определенные части DOM с точки зрения верстки и рисования. Она в основном не влияет на дерево доступности (поскольку узлы DOM все еще там), не влияет на поиск на странице (⌘+F/Ctrl+F) и не требует виртуализации. Все, что ему нужно, - это оценка размеров внеэкранных элементов, чтобы браузер мог зарезервировать там место.

👉 @frontendInterview
Какая бывает работа с тестами ?

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

Типы:
- Модульное тестирование (Unit Testing): Проверка отдельных модулей или компонентов программы на корректность выполнения их функций. Каждый тест оценивает работу отдельной части кода в изоляции от остальной программы.

- Интеграционное тестирование (Integration Testing): Проверка взаимодействия между различными модулями или внешними системами и сервисами. Цель — убедиться, что компоненты системы корректно работают вместе.

- Функциональное тестирование (Functional Testing): Проверка того, что функциональные требования, предъявляемые к программе, выполняются. Эти тесты фокусируются на пользовательских сценариях и возможностях программы.

- Тестирование производительности (Performance Testing): Оценка скорости, стабильности и масштабируемости приложения под нагрузкой.

- Тестирование безопасности (Security Testing): Проверка на наличие уязвимостей, которые могут быть использованы для несанкционированного доступа или повреждения данных.

Инструменты
Для автоматизации процесса тестирования существует множество инструментов и библиотек. Выбор инструмента зависит от языка программирования, среды разработки и конкретных требований проекта. Например: Mocha, Jest, и Cypress для JavaScript.

Процесс
- Планирование: Определение целей тестирования, выбор инструментов и методик.
- Написание тестов: Создание тестовых сценариев, которые проверяют различные аспекты работы кода.
- Выполнение тестов: Запуск тестов и сбор результатов.
- Анализ результатов: Интерпретация результатов тестирования, выявление и исправление ошибок.
- Рефакторинг: Улучшение структуры и качества кода без изменения его функциональности на основе результатов тестирования.
- Регрессионное тестирование: Повторное тестирование после изменений, чтобы убедиться, что исправления не привели к новым ошибкам.

Преимущества

- Улучшение качества кода: Помогают обнаружить и исправить ошибки на ранних этапах разработки.
- Документация: Могут служить формой документации, показывая, как предполагается использовать код.
- Уверенность в коде: Позволяют разработчикам вносить изменения в код, не боясь случайно нарушить его работу.
- Упрощение рефакторинга: Наличие их облегчает рефакторинг кода, поскольку они могут быстро показать, сломалось ли что-то после внесения изменений.

👉 @frontendInterview
Modern CSS with Tailwind

Книга «Современный CSS с Tailwind» (англ. «Modern CSS with Tailwind, Flexible Styling Without the Fuss») от Ноэля Рэппина — исчерпывающее руководство, которое знакомит разработчиков с возможностями и эффективным использованием фреймворка Tailwind CSS в веб-проектах.

Tailwind CSS — это ориентированная на инструменты CSS-инфраструктура, обеспечивающая прагматичный подход к стилю и позволяющая создавать красивые и адаптивные дизайны без написания собственного CSS.

👉 @frontendInterview
Нечетный или четный?

Дан массив целых чисел, определите, является ли сумма его элементов нечетной или четной
Дайте ответ в виде строки "odd"или "even".
Если входной массив пуст, рассматривайте его как: [0](массив с нулем).

Пример:
[0]  //  "even"
[0, 1, 4] // "odd"
[0, -1, -5] // "even"


👉 @frontendInterview
text-wrap

Свойство text-wrap контролирует то, как текст расположится внутри элемента. Можно применять, например, для более сбалансированного вида заголовков, которые не вмещаются в одну строку.

Возможные значения:
- nowrap — текст не переносится по строкам. Он переполнит родительский элемент и выйдет за его пределы, а не перейдёт на новую строку.

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

- stable — результат аналогичен wrap, но при редактировании текста, строки, идущие выше, остаются неподвижными, в то время как при значении по умолчанию будет перерисовываться всё содержимое. Значение поддерживается только в браузерах Safari и Firefox.

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

👉 @frontendInterview
2025/07/07 15:49:40
Back to Top
HTML Embed Code: