Всем, привет, меня зовут Дмитрий, я React-разработчик, и я снова здесь и попробую сегодня рассказать про Web Workers.
Если вы хоть раз пробовали обрабатывать большой файл, парсить массив из сотен тысяч элементов или запускать сложные вычисления прямо в React-компоненте, то наверняка сталкивались с тем, что интерфейс подвисает, кнопки перестают реагировать, анимации застывают, и всё на секунду подвисает, пока скрипт не разлучит нас (ой, это не из этой сказки) завершит свою работу.
Почему так происходит? Всё дело в том, что React, как и JS, в браузере работает на одном основном потоке. Точнее, чтобы меня не закидали помидорами, React — это библиотека JS, и она полностью работает в основном потоке браузера, который однопоточен. Когда вы запускаете тяжёлую синхронную задачу, она полностью занимает этот поток и блокирует его, мешая браузеру рендерить интерфейс и обрабатывать события пользователя.
В современном фронтенде отзывчивость интерфейса — требование по умолчанию. Пользователи ожидают, что ваше приложение будет мгновенно реагировать на действия, даже если оно выполняет тяжёлые вычисления или загружает большие объёмы данных.
В этой статье мы разберём, как можно решить эту проблему одним из вариантов — с помощью Web Workers.
Читать далееEvent Sourcing и CQRS — это мощные архитектурные подходы, которые заменяют традиционное CRUD-управление состоянием на журналирование событий и разделение операций записи и чтения для масштабируемости и надежности. Вместо прямого изменения данных система сохраняет каждое изменение как событие, что обеспечивает полный аудит, контроль конкурентности и гибкость в обработке данных.
Читать далееClickHouse не тормозит, но теряет данные. Набор простых действий с объяснениями, позволяющий избежать потери данных
Читать далееПривет, Хабр! Меня зовут Сергей, я embedded-разработчик в «Гравитон», моя основная задача в компании — разрабатывать и внедрять системы защиты встраиваемого программного обеспечения.
В современных реалиях, когда число изощренных угроз целостности прошивки, таких как персистентные руткиты, растет (так, согласно исследованию руткит CosmicStrand был внедрен во множество устройств в разных странах), а риск фатальных ошибок при ее обновлении или эксплуатации остается критически высоким, полагаться только на софтверный уровень защиты недостаточно. Поэтому наша команда сделала ставку на аппаратные возможности чипсетов (PCH) и разработала многоуровневую систему защиты.
Сегодня я расскажу, как устроен механизм аппаратной защиты от записи в BIOS-регион SPI Flash, как разработчикам и инженерам безопасности контролировать его, используя доступные инструменты, и покажу, как я применил этот подход на практике и что из этого вышло.
Статья будет полезна embedded-разработчикам, инженерам по безопасности и всем, кто хочет понять, как обеспечивается защита BIOS от несанкционированной записи на аппаратном уровне.
Читать далееМожет ли ядро Linux при всей своей гибкости обеспечивать гарантированное время отклика при работе с приложениями?
Ядро Linux является универсальным и приспособлено к работе как с крошечными встраиваемыми устройствами, так и с титаническими серверами… а также со всем спектром машин между этими крайностями! Но может ли такое поразительно адаптивное ядро обеспечить гарантированную скорость отклика для приложения, работающего на всех этих платформах? Если в вашем приложении допустимая задержка при отклике укладывается в 200 микросекунд — то уверенно отвечаем на этот вопрос «да»! (Кстати, для Linux такая планка совсем не высока, но, чтобы её держать, потребуется тщательно подбирать аппаратное обеспечение и, возможно, обратиться за консультацией к специалисту по системам Linux, работающим в режиме реального времени).
Итак, почему же в приложении, работающем под Linux, иногда могут возникать задержки свыше 200 микросекунд? Универсальность ядра Linux требует сбалансировать пропускную способность, время отклика и честность распределения процессорной мощности, чтобы соответствовать требованиям такой универсальности. Если по одному из этих аспектов предъявляются жёсткие требования, то необходимо тонко настраивать как само ядро, так и поведение приложения. В этом посте рассмотрим 10 основных пунктов, которые необходимо учитывать при разработке системы Linux, к которой предъявляются строгие требования по работе в режиме реального времени. По каждому пункту также упомяну, в каком аспекте легко засыпаться разработчику-новичку, только приступающему к программированию систем реального времени под Linux.
Читать далееДля чего используют кластеризацию серверов СУБД? Вопрос не совсем праздный, особенно для крупных компаний. Если с кластеризацией/масштабированием серверов приложений, терминалов, web-серверов и т. д. все понятно и прозрачно, то вот с СУБД не всё так просто. Особенно для 1С систем.
Читать далееПро снижение расходов на работу с данными расскажем 13 августа на вебинаре. А сегодня мы поговорим об открытых инструментах, которые открывают новые возможности для экспериментов и работы с ML. Далее в подборке четыре решения по теме — разбираем их возможности и примеры использования.
Читать далееБиоэлектроника — это междисциплинарная область, которая объединяет принципы и методы биологии и электроники для разработки передовых технологий и устройств для взаимодействия с биологическими системами. Это интеграция электронных компонентов, схем и систем с живыми организмами или биологическими материалами, позволяющая измерять, отслеживать, контролировать или манипулировать биологическими процессами на разных уровнях — от клеточного до уровня всего организма. Биоэлектронные технологии часто включают в себя датчики, исполнительные механизмы, микроэлектронику и инструменты биоинформатики, которые позволяют отслеживать, анализировать и вмешиваться в работу биологических систем в режиме реального времени. Эти технологии находят применение в различных областях, включая медицинскую диагностику, терапевтические вмешательства, нейроинженерию, биосенсорику, регенеративную медицину и персонализированное здравоохранение. О них мы сегодня и поговорим.
При работе любого приложения могут возникнуть ситуации, приводящие к аварийному завершению работы программы. Еще хуже, если такие ошибки приводят к появлению уязвимостей и возможностям их эксплуатации. Для предотвращения проблем, связанных с исключительными ситуациями при работе приложений, применяются специальные обработчики исключений.
В этой статье мы поговорим об обработке исключений в конфигурациях 1С. В частности, мы посмотрим, как можно перехватывать исключения правильно и не очень правильно. Все перечисленные рекомендации представлены на сайте данного вендора и являются обязательными, если не указано иное. Статья может быть полезна архитекторам и разработчикам приложений в 1С.
Читать далееВсем привет! Меня зовут Николай, я DBA-разработчик SimbirSoft. Если вам приходилось иметь дело с табличной моделью данных SQL Server Analysis Services (SSAS), то вы наверняка знаете, что на сервере она работает только в режиме In-Memory и использует под свои процессы выделенную часть оперативной памяти. А когда памяти недостаточно для нормальной работы, то возникает системное сообщение о ее нехватке.
В этой статье я кратко рассмотрел причины и общие стратегии по решению данной проблемы, а также рассказал о своем опыте на примере табличной модели объемом около 100 ГБ на MS SQL Server 2019 Ent.
Погрузиться в чертогиПара моих эмоционально-заряженых эссе на тему взаимоотношений компаний и сотрудников.
Первое — про ответственность и вовлечённость сотрудников через призму личного опыта. И почему по настоящему ответственных людей так мало.
Второе — про то, что усилия и вклад сотрудников далеко не всегда оцениваются работодателем справедливо и часто не коррелируют между собой. Про «перетягивание одеяла» интересов сотрудников и компаний. А также критика современных течений «Как хакнуть работодателя».
Франция всегда выбирала свой собственный путь — особенно там, где остальные считали, что всё уже давным-давно придумано. Именно в начале восьмидесятых французы решили превратить свою страну в одного из лидеров на рынке персональных компьютеров. Так в домах обычных пользователей и в школьных классах появились персоналки Thomson TO7 и TO8 — амбициозная попытка Франции доказать, что она в состоянии создавать не только высокую моду, но и моду на домашнюю электронику. И хотя этот проект в итоге ушёл в историю, компьютеры Thomson — это целая эпоха, которую прекрасно помнят французы, впервые запускавшие учебные программы с кассет и мечтавшие освоить программирование во времена, когда само слово «компьютер» ещё звучало как магия.
Немного магииМы в Pixel успешно обучаем ребят дошкольного возраста написанию блочного кода и даже 3Д-моделированию, но тема соответствующих уроков в четыре года спорна, а некоторым родителям и вовсе кажется абсурдной. Но последнее верно лишь отчасти.
Давайте разбираться, почему алгоритмизация и программирование для дошкольников обозначенного возраста могут стать самостоятельным направлением дополнительного обучения четырехлетних ребят.
Статья носит информационный характер и содержит элементы рекламы. Если уроки программирования для детей 4 лет не интересуют вас или кажутся абсурдными, материал не принесет пользы.
Читать далееКоторую неделю заканчивал работать под утро. Когда понял, что вишу в телеграме по 5 часов в день, отвечая на одни и те же техвопросы, разозлился. А потом решил это исправить.
В статье — как я собрал ИИ-бота на базе Gemma 3, подключил Ollama и Telegram, чтобы тот отвечал за меня (только без пассивной агрессии).
Читать далееНас давно не удивишь тем, что нейросеть за пару секунд расшифровывает двухчасовую лекцию или превращает аудиозаметку в аккуратный текст с заголовками и абзацами. Мы живём в эпоху, где слова больше не нужно набирать вручную. Их достаточно просто произнести, а остальное за алгоритмами.
Сегодня мы решили проверить, как работают пять популярных нейросетевых помощников для перевода аудио в текст. И сделаем это необычным способом — через сказки!
Заинтересовали? Тогда давайте расшифровывать, сравнивать и делиться впечатлениями вместе.
Приятного прочтения!
Читать далееПоскольку LLM (все эти ChatGPT, DeepSeek и т.п.) это языковые модели, которые по идее просто складывают ответ из кусочков фраз, как в калейдоскопе - мы не ожидаем от них чудес логики. Тем больше они нас удивляют пытаясь генерировать ответы на достаточно мудрёные задачи - от генерации и исправления программного кода до, например, игры в шахматы.
Идея с игрой в шахматы хороша тем что на ней легко продемонстрировать и неспециалисту как возможности так и ограничения LLM. Эксперименты на эту тему появились уже давно, например в статье на Хабре же от 2023 года. Там автор на 6м ходу сделал неправильный ход но LLM этого не заметила. Мы кратенько посмотрим есть ли прогресс в этом направлении, попробуем немного изменить подход и потестируем ещё пару игр.
(сразу скажу - несмотря на прошедшие два года и явно принятые разработчиками усилия добиться адекватности мне почти не удалось)
Читать далееВы слышали о новой функции Containerization, представленной Apple на WWDC 2025?
В данной статье рассматривается процесс запуска Kali Linux в MacOS с использованием нового функционала контейнеров от Apple.
Читать далееСобрал для вас 20 ошибок, очевидных и не очень, которые совершают фаундеры, когда вопрос касается финансового планирования их бизнес-проекта.
Каждую ошибку и её последствия описал подробно + написал варианты, которые помогут избежать этих ошибок.
Читать далее....................................................................................................................
Привет, Хабр! Я — Марина, специалист по продвижению сайтов в Selectel. Под катом рассказываю, как работает региональное продвижение, а также на что обратить внимание, чтобы поисковики показывали ваш сайт в разных регионах или странах.
Разобраться