С момента своего появления в браузерах, JavaScript зарекомендовал себя как один из самых динамичных и гибких языков программирования. В центре этой динамичности находится движок V8, который превращает скрипты высокого уровня в машинный код, летящий на космических скоростях. Но что на самом деле происходит между строк кода и выполнением программы? Какие механизмы в движке V8 позволяют JavaScript выступать наравне с компилируемыми языками по производительности? И так давайте рассмотрим более под…
Content-Security-Policy (CSP) - это HTTP заголовок, который улучшает безопасность веб-приложений за счет запрета небезопасных действий, таких как загрузка и отправка данных на произвольные домены, использование eval, inline-скриптов и т.д. В этой статье будет сделан фокус на директиве style-src и ее использование вместе с CSS-in-JS библиотекой emotion.Кратко о CSP и style-srcContent-Security-Policy заголовок должен быть выставлен в ответе вместе с загружаемой веб-страницей (например, index.htm…
С каждым годом собеседования становятся все сложнее и сложнее, а количество вопросов, которые могут спросить, не укладывается в голове.Именно поэтому я решил создать небольшой чеклист, в котором собрал темы, по которым задавали вопросы либо мне, либо моим друзьям задавали на собеседованиях на Frontend разработчика. Эти темы почти не попадаются в стандартных списках по подготовке к собеседованиям, поэтому я решил сделать свой.Приложу ссылочки ко всем топикам, про которые буду рассказывать, так …
Modulo operatorОт переводчикаВсем привет, меня зовут Максим Иванов, я Frontend-разработчик, и когда-то мы с другом писали переводы на Хабрахабр. Было интересно, но в какой-то момент я прекратил эту деятельность. Спустя 5 лет я решил снова попробовать писать про мою любимую профессию. Сегодня поговорим о математическом операторе в JavaScript, который представляет из себя символ процента.1. ВведениеКогда я впервые столкнулся с оператором Modulo (%), я ничего не понял 😬. Тогда я учился в 9 класс…
Думаю, ни для кого не секрет, что каждый уважающий себя разработчик программного обеспечения должен иметь в своем портфолио хотя бы один пет-проект, а лучше полноценный продукт, дающий дополнительный постоянный заработок. Предметных областей и тематик приложений великое множество, но среди них есть одна, которая заслуживает отдельного внимания — разработка своей собственной игры.Преимущества разработки игрПрежде всего, следует понимать, что разработка игр достаточно трудоемкий процесс. Как пра…
В данной статье приведены несколько вариантов переиспользования кода в Redux-toolkit при создании слайсов, позволяющие сделать работу с ним более гибкой и удобной.Для адептов других стейт менеджеровДанная статья, еще один шанс для Вас показать насколько другой стейт-менеджер лучше чем redux, поэтому поделитесь, пожалуйста, кодом, решающим аналогичную задачу на другом стейт-менеджере. И, возможно, ваш пример убедит других разработчиков сделать правильное решение. Вариант 1 - Полное дублирование…
Представьте, что вы планируете начать новый проект или использовать в существующем более современный подход. А, может, вас просто не устраивает используемый фреймворк, и вы подумываете об альтернативах. В любом случае вам нужно что-то выбрать. Существует множество «современных» фреймворков. И даже если сейчас перед вами этот выбор не стоит, вы можете задуматься, освоением какого лучше заняться, чтобы повысить свои профессиональные качества и продуктивность в будущем. С момента выхода Remix…
Привет, Хабр! Не редко захожу, читаю, пришло время поделиться собственным опытом и маленьким поводом для гордости - только что я написал библиотеку, которая примерно в 33 раза быстрее, чем все иные решения, что я находил. Вот сразу ссылкаЧто же за библиотека и зачем нужна? Она преобразует xlsx в csv. Причём данная библиотека является совместимой с JS/TS, в ближайшее время портирую на питон. Зачем нужна? Всё на деле просто - понадобилось мне работать с таблицами Excel. Выбор, казалось бы, очеви…
# Содержание:1. [Эволюция Веб приложений в двух словах](#1) 2. [Два подхода](#2) 3. [Разработка простой компоненты](#3) 4. [Разработка компоненты посложнее](#4) 5. [Повторное использование](#5) 6. [Данные и методы](#6) 7. [CSS и стилевое оформление](#7) 8. [Обработка событий](#8) 9. [Работа с формами](#9) 10. [Отладка](#10) В статье сравниваются два подхода к созданию веб интерфейса пользователя. Один подход - это современные фреймворки с компонентным подходом, который инкапсулирует…