Feed aggregator

Web Workers и React: как разгрузить UI и ускорить приложение

Habr.com - Wed, 07/30/2025 - 20:09

Всем, привет, меня зовут Дмитрий, я React-разработчик, и я снова здесь и попробую сегодня рассказать про Web Workers.

Если вы хоть раз пробовали обрабатывать большой файл, парсить массив из сотен тысяч элементов или запускать сложные вычисления прямо в React-компоненте, то наверняка сталкивались с тем, что интерфейс подвисает, кнопки перестают реагировать, анимации застывают, и всё на секунду подвисает, пока скрипт не разлучит нас (ой, это не из этой сказки) завершит свою работу.

Почему так происходит? Всё дело в том, что React, как и JS, в браузере работает на одном основном потоке. Точнее, чтобы меня не закидали помидорами, React — это библиотека JS, и она полностью работает в основном потоке браузера, который однопоточен. Когда вы запускаете тяжёлую синхронную задачу, она полностью занимает этот поток и блокирует его, мешая браузеру рендерить интерфейс и обрабатывать события пользователя.

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

В этой статье мы разберём, как можно решить эту проблему одним из вариантов — с помощью Web Workers.

Читать далее

Практический CQRS и Event Sourcing на Go

Habr.com - Wed, 07/30/2025 - 19:54

Event Sourcing и CQRS — это мощные архитектурные подходы, которые заменяют традиционное CRUD-управление состоянием на журналирование событий и разделение операций записи и чтения для масштабируемости и надежности. Вместо прямого изменения данных система сохраняет каждое изменение как событие, что обеспечивает полный аудит, контроль конкурентности и гибкость в обработке данных.

Читать далее

ClickHouse не тормозит, но теряет данные. Часть 1 — дедупликация

Habr.com - Wed, 07/30/2025 - 19:18

ClickHouse не тормозит, но теряет данные. Набор простых действий с объяснениями, позволяющий избежать потери данных

Читать далее

Без права на запись: как мы заперли содержимое SPI Flash в сейф и выбросили ключ

Habr.com - Wed, 07/30/2025 - 19:11

Привет, Хабр! Меня зовут Сергей, я embedded-разработчик в «Гравитон», моя основная задача в компании — разрабатывать и внедрять системы защиты встраиваемого программного обеспечения.

В современных реалиях, когда число изощренных угроз целостности прошивки, таких как персистентные руткиты, растет (так, согласно исследованию руткит CosmicStrand был внедрен во множество устройств в разных странах), а риск фатальных ошибок при ее обновлении или эксплуатации остается критически высоким, полагаться только на софтверный уровень защиты недостаточно. ​Поэтому наша команда сделала ставку на аппаратные возможности чипсетов (PCH) и разработала многоуровневую систему защиты.

Сегодня я расскажу, как устроен механизм аппаратной защиты от записи в BIOS-регион SPI Flash, как разработчикам и инженерам безопасности контролировать его, используя доступные инструменты, и покажу, как я применил этот подход на практике и что из этого вышло.

Статья будет полезна embedded-разработчикам, инженерам по безопасности и всем, кто хочет понять, как обеспечивается защита BIOS от несанкционированной записи на аппаратном уровне.

Читать далее

[Перевод] Чеклист по приложениям реального времени в Linux

Habr.com - Wed, 07/30/2025 - 19:05

Может ли ядро Linux при всей своей гибкости обеспечивать гарантированное время отклика при работе с приложениями?

Ядро Linux является универсальным и приспособлено к работе как с крошечными встраиваемыми устройствами, так и с титаническими серверами… а также со всем спектром машин между этими крайностями! Но может ли такое поразительно адаптивное ядро обеспечить гарантированную скорость отклика для приложения, работающего на всех этих платформах? Если в вашем приложении допустимая задержка при отклике укладывается в 200 микросекунд — то уверенно отвечаем на этот вопрос «да»! (Кстати, для Linux такая планка совсем не высока, но, чтобы её держать, потребуется тщательно подбирать аппаратное обеспечение и, возможно, обратиться за консультацией к специалисту по системам Linux, работающим в режиме реального времени).

Итак, почему же в приложении, работающем под Linux, иногда могут возникать задержки свыше 200 микросекунд? Универсальность ядра Linux требует сбалансировать пропускную способность, время отклика и честность распределения процессорной мощности, чтобы соответствовать требованиям такой универсальности. Если по одному из этих аспектов предъявляются жёсткие требования, то необходимо тонко настраивать как само ядро, так и поведение приложения. В этом посте рассмотрим 10 основных пунктов, которые необходимо учитывать при разработке системы Linux, к которой предъявляются строгие требования по работе в режиме реального времени. По каждому пункту также упомяну, в каком аспекте легко засыпаться разработчику-новичку, только приступающему к программированию систем реального времени под Linux.

Читать далее

ЦОДы Cloud4Y в МО: что нового на стройплощадках? Часть 6

Habr.com - Wed, 07/30/2025 - 18:31

Привет, Хабр! У нас тут кипит работа, и мы снова делимся свежими новостями со стройплощадок. Да-да, под катом уже шестая часть истории о подмосковных дата-центрах. А если пропустили наши прошлые статьи — вам сюда: раз, два, три, четыре, пять.

Читать далее

Немного о кластеризации СУБД в высоконагруженных системах 1С

Habr.com - Wed, 07/30/2025 - 18:31

Для чего используют кластеризацию серверов СУБД? Вопрос не совсем праздный, особенно для крупных компаний. Если с кластеризацией/масштабированием серверов приложений, терминалов, web-серверов и т. д. все понятно и прозрачно, то вот с СУБД не всё так просто. Особенно для 1С систем.

Читать далее

Если нужно сгенерировать синтетические данные — подборка открытых решений

Habr.com - Wed, 07/30/2025 - 18:22

Про снижение расходов на работу с данными расскажем 13 августа на вебинаре. А сегодня мы поговорим об открытых инструментах, которые открывают новые возможности для экспериментов и работы с ML. Далее в подборке четыре решения по теме — разбираем их возможности и примеры использования.

Читать далее

Патентный анализ биоэлектронных устройств

Habr.com - Wed, 07/30/2025 - 18:21

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

Читать далее

Обработка исключений в 1С

Habr.com - Wed, 07/30/2025 - 18:15

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

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

Читать далее

Если не хватает памяти для процессинга модели SSAS: варианты решения проблемы

Habr.com - Wed, 07/30/2025 - 18:05

Всем привет! Меня зовут Николай, я DBA-разработчик SimbirSoft. Если вам приходилось иметь дело с табличной моделью данных SQL Server Analysis Services (SSAS), то вы наверняка знаете, что на сервере она работает только в режиме In-Memory и использует под свои процессы выделенную часть оперативной памяти. А когда памяти недостаточно для нормальной работы, то возникает системное сообщение о ее нехватке.

В этой статье я кратко рассмотрел причины и общие стратегии по решению данной проблемы, а также рассказал о своем опыте на примере табличной модели объемом около 100 ГБ на MS SQL Server 2019 Ent.  

Погрузиться в чертоги

Про справедливый энергообмен работодатель–сотрудник

Habr.com - Wed, 07/30/2025 - 18:05

Пара моих эмоционально-заряженых эссе на тему взаимоотношений компаний и сотрудников.
Первое — про ответственность и вовлечённость сотрудников через призму личного опыта. И почему по настоящему ответственных людей так мало.
Второе — про то, что усилия и вклад сотрудников далеко не всегда оцениваются работодателем справедливо и часто не коррелируют между собой. Про «перетягивание одеяла» интересов сотрудников и компаний. А также критика современных течений «Как хакнуть работодателя».

Узнать шокирующую правду

Компьютеры Thomson: как Франция пыталась стать лидером домашней электроники

Habr.com - Wed, 07/30/2025 - 18:01

Франция всегда выбирала свой собственный путь — особенно там, где остальные считали, что всё уже давным-давно придумано. Именно в начале восьмидесятых французы решили превратить свою страну в одного из лидеров на рынке персональных компьютеров. Так в домах обычных пользователей и в школьных классах появились персоналки Thomson TO7 и TO8 — амбициозная попытка Франции доказать, что она в состоянии создавать не только высокую моду, но и моду на домашнюю электронику. И хотя этот проект в итоге ушёл в историю, компьютеры Thomson — это целая эпоха, которую прекрасно помнят французы, впервые запускавшие учебные программы с кассет и мечтавшие освоить программирование во времена, когда само слово «компьютер» ещё звучало как магия.

Немного магии

Стоит ли начинать изучать программирование с 4 лет?

Habr.com - Wed, 07/30/2025 - 17:56

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

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

Статья носит информационный характер и содержит элементы рекламы. Если уроки программирования для детей 4 лет не интересуют вас или кажутся абсурдными, материал не принесет пользы.

Читать далее

Личный помощник в Telegram: как я сделал ИИ-бота, который сэкономил часы на переписках

Habr.com - Wed, 07/30/2025 - 17:40

Которую неделю заканчивал работать под утро. Когда понял, что вишу в телеграме по 5 часов в день, отвечая на одни и те же техвопросы, разозлился. А потом решил это исправить.

В статье — как я собрал ИИ-бота на базе Gemma 3, подключил Ollama и Telegram, чтобы тот отвечал за меня (только без пассивной агрессии).

Читать далее

Топ-5 бесплатных нейросетей для транскрибации: лучшие сервисы для перевода аудио в текст

Habr.com - Wed, 07/30/2025 - 17:30

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

Сегодня мы решили проверить, как работают пять популярных нейросетевых помощников для перевода аудио в текст. И сделаем это необычным способом через сказки!

Заинтересовали? Тогда давайте расшифровывать, сравнивать и делиться впечатлениями вместе.

Приятного прочтения!

Читать далее

Некоторые замечания об игре в Шахматы против LLM (на примере deepseek)

Habr.com - Wed, 07/30/2025 - 17:28

Поскольку LLM (все эти ChatGPT, DeepSeek и т.п.) это языковые модели, которые по идее просто складывают ответ из кусочков фраз, как в калейдоскопе - мы не ожидаем от них чудес логики. Тем больше они нас удивляют пытаясь генерировать ответы на достаточно мудрёные задачи - от генерации и исправления программного кода до, например, игры в шахматы.

Идея с игрой в шахматы хороша тем что на ней легко продемонстрировать и неспециалисту как возможности так и ограничения LLM. Эксперименты на эту тему появились уже давно, например в статье на Хабре же от 2023 года. Там автор на 6м ходу сделал неправильный ход но LLM этого не заметила. Мы кратенько посмотрим есть ли прогресс в этом направлении, попробуем немного изменить подход и потестируем ещё пару игр.

(сразу скажу - несмотря на прошедшие два года и явно принятые разработчиками усилия добиться адекватности мне почти не удалось)

Читать далее

[Перевод] Запускаем Kali Linux в контейнере Apple

Habr.com - Wed, 07/30/2025 - 17:28

Вы слышали о новой функции Containerization, представленной Apple на WWDC 2025?

В данной статье рассматривается процесс запуска Kali Linux в MacOS с использованием нового функционала контейнеров от Apple.

Читать далее

Как запустить стартап, чтобы не остаться в долгах

Habr.com - Wed, 07/30/2025 - 17:09

Собрал для вас 20 ошибок, очевидных и не очень, которые совершают фаундеры, когда вопрос касается финансового планирования их бизнес-проекта.

Каждую ошибку и её последствия описал подробно + написал варианты, которые помогут избежать этих ошибок.

Читать далее

Мультирегиональное SEO: как сделать сайт видимым по всей стране (и не только)

Habr.com - Wed, 07/30/2025 - 17:08

....................................................................................................................

Привет, Хабр! Я — Марина, специалист по продвижению сайтов в Selectel. Под катом рассказываю, как работает региональное продвижение, а также на что обратить внимание, чтобы поисковики показывали ваш сайт в разных регионах или странах.

Разобраться

Who's online

There are currently 1 user and 1 guest online.
Syndicate content