Category : javascript

javascript
И снова о useCallback

Привет, Хабр! Так вышло, что на текущем месте работы я попал под сокращение, а значит путь к собеседованиям открыт. Как раз вчера случилось одно (видимо, из многих), на котором зашла речь про useCallback.Предыстория Изначально собеседующих было двое. Во время теории, когда меня спросили про хук useCallback, я ответил, что его использование имеет смысл только тогда, когда функция передаётся из родителя в дочерний компонент, а сам дочерний компонент обёрнут в memo. В таком случае ссылка на функци…

  • вторник, 30 апреля 2024 г. в 00:00:05
javascript
Картографический фотопроект «По местам съёмок фильма «Брат 2»

Проект начал делать в 2022 году, параллельно с проектом по первой части фильма. Во второй части многие локации пришлось искать вооружившись Яндекс и Гугл панорамами. Около полугода искал человека, который сделает фото в Чикаго. С технической точки зрения ничего не поменялось, про нее я рассказал в статье по первой части фильма. Хочу более детально остановиться на поиске и съемке локаций.Телецентр «Останкино»Летом 2022 года отправил официальное письмо и получил разрешение на фотосъемку, но когд…

  • вторник, 30 апреля 2024 г. в 00:00:04
javascript
Оптимизация JavaScript. Inline Caches

Думаю, ни для кого не секрет, что все популярные JavaScript движки имеют схожий пайплайн выполнения кода. Выглядит он примерно следующим образом. Интерпретатор быстро компилирует JS-код в байт "на лету". Полученный байт код начинает исполняться и параллельно обрабатывается оптимизатором. Оптимизатору требуется время на такую обработку, но в итоге может получиться высоко-оптимизорованный код, который будет работать в разы быстрее. В движке V8 роль интерпретатора выполняет Ignition, а опт…

  • суббота, 27 апреля 2024 г. в 00:00:14
javascript
Реализация многооконного приложения на Vue 3

ВведениеВ наше время чуть ли не каждое приложение использует браузерный клиент. Это просто в написании, это кроссплатформенно, это легко в использовании. Браузерные решения уже активно используются и в промышленной сфере: аналитиками, операторами. WEB приложения для управления промышленными платформами могут быть настолько функциональны, что вся их мощь не укладывается в один монитор, а ведь на рабочем месте может быть ни один, и ни два монитора, а даже больше пяти. Но что же делать, если окна …

  • пятница, 26 апреля 2024 г. в 00:00:11
javascript
«А» и «Б» сидели на трубе. «А» упало, «Б» пропало. Что осталось на трубе? (алгоритм получения ответ…

Началось всё с того, что не нашел я библиотеки для JavaScript, которая вычисляет собственные векторы для комплекснозначной матрицы 4х4. Пришлось писать самому. И в ходе реализации встала передо мной этакая бодренькая микрозадачка – из набора чисел «1, 2, 3, 4» вычеркнули два числа «x, y» (неодинаковых – кто-то придет завтра и задаст эти два числа, а мы сегодня должны приготовиться), требуется объяснить компьютеру, как определить оставшиеся, невычеркнутые числа. И я завис – все идеи, которые при…

  • пятница, 26 апреля 2024 г. в 00:00:10
javascript
Руководство по Next.js. 2/3

Hello world! Представляю вашему вниманию вторую часть обновленного руководства по Next.js. Первая часть На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений. Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js. Обратите внимание: руководство актуально для Next.js версии 14. При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или …

  • четверг, 25 апреля 2024 г. в 00:00:07
javascript
Самые интересные задачи для безопасников — Джабба одобряет

Мы решили не один CTF-турнир. За плечами остались KnightCTF, 0xL4ugh и DiceCTF. Найти по-настоящему интересные и сложные задачи все труднее, поэтому будем смотреть в оба глаза и следить за несколькими мероприятиями одновременно. На этот раз — порешаем задачи сразу двух CTF-турниров: Space Heroes и ThCon 2024. Уже интересно, что подготовили безопасники из США и Франции? Тогда добро пожаловать! Дисклеймер: материал не обучает хакингу и не призывает к противозаконным действиям. Все описанное ниж…

  • четверг, 25 апреля 2024 г. в 00:00:06
javascript
Особенности обработки native events в React.js

В данной статье рассматриваются особенности, которые связаны с обработкой нативных событий (native events) в React-приложениях. Существует проблема частичной потери контекста функционального компонента при обработке нативных событий, которые навешиваются на элементы с помощью глобальных объектов document, window или через ссылки (refs). В статье рассматривается данная проблема и предлагается способ её решения (один из вариантов).МотивацияОсновной мотивацией для написании данной статьи стал мой …

  • четверг, 25 апреля 2024 г. в 00:00:05
javascript
Преобразования данных с React Query

По мере того, как я всё больше погружался в библиотеку и окружающее её сообщество, я заметил несколько закономерностей, о которых люди часто спрашивают. Эта статья будет посвящена довольно распространенной и важной задаче: преобразованию данных.Преобразование данныхДавайте посмотрим правде в глаза: большинство из нас не используют GraphQL. Если да, то вы можете быть счастливы, у вас есть роскошь запрашивать данные в желаемом формате.Однако если вы работаете с REST, вы ограничены тем, что возвра…

  • четверг, 25 апреля 2024 г. в 00:00:04