Как стать автором
Поиск
Написать публикацию
Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Ускоренная экстракция данных из SAP-систем в DWH и Lakehouse: наш опыт интеграции

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров680

В современных условиях возрастает актуальность выгрузки данных из SAP ERP в хранилища данных DWH или Data Lakehouse сторонних вендоров. Интеграция с системами, не входящими в экосистему SAP, зачастую сопровождается сложностями: поставщики программного обеспечения, как правило, не поддерживают использование конкурентных продуктов. Нативный механизм выгрузки данных в SAP BW (Business Warehouse) не может быть применен к системам, не принадлежащим к экосистеме SAP.

На нашем проекте внедрения хранилища данных на основе Arenadata DB для одного из крупных банков мы столкнулись со сложностями при интеграции с SAP S/4HANA.

В статье рассматривается решение, которое позволяет быстро и надежно производить выгрузку больших объемов данных.

Читать далее

Резервные копии PostgreSQL: сравнение скорости pg_dump в разных форматах и с разными уровнями сжатия

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров3.4K

Я сделал резервную копию через pg_dump и восстановился из неё 22 раза. Резервные копии делал в 4 разных форматах с использованием от 1 до 7 уровней сжатия под каждый формат. Записал результаты и сделал сравнение разных видов, чтобы понимать, какие способы более эффективны для моего сценария использования.

Детали и замеры — ниже.

Читать далее

GPIO — тоже интерфейс, а также QEMU GPIODEV и GUSE

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.7K

Когда-то в отделе разработки встраиваемого ПО в YADRO мне задали вопрос: «А как с этим взаимодействовать?». Речь шла в первую очередь о I2C для QEMU, а не GPIO. И я некоторое время был одержим идеей «прозрачного» взаимодействия с устройствами внутри QEMU — использовать те же библиотеки и инструменты, как и для реальных устройств, что может быть прекраснее? Не какой-то там скрипт для посылки команды по QMP, а знакомый и целостный gpioset/gpioget из библиотеки libgpiod или поставляемые с ядром инструменты из tools/gpio.

Получилось ли это у меня? Да, но какой ценой…

Читать далее

Переход к Индустрии 4.0: роль беспроводных датчиков в повышении эффективности производства

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.5K

Российская промышленность находится в фазе активной цифровизации, где концепции Индустрии 4.0 и Промышленного интернета вещей (IIoT) перестают быть просто трендами, а становятся необходимым инструментом для повышения эффективности, гибкости и глобальной конкурентоспособности предприятий. Эти технологии кардинально меняют подходы к управлению производством, открывая путь к созданию «умных» заводов нового поколения.

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

Опираясь на обширный опыт внедрения решений для промышленного IIoT, в этой статье мы рассмотрим:

1. Суть и принципы Индустрии 4.0 и IIoT: Как они меняют промышленный ландшафт?

2. Важную роль сбора данных: Почему надежные датчики — фундамент для цифровизации?

3. Конкретные решения для российских реалий: Как преодолеваются вызовы суровых условий эксплуатации и специфических требований?

4. Реальные примеры применения: Какие практические задачи решаются с помощью современных технологий беспроводного мониторинга на отечественных предприятиях?

Читать далее

Как настроить NeoVim

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.1K

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

Читать далее

Создаем чат-бота в помощь специалисту HR

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров904

Подготовили материал, который поможет любому создать собственного чат-бота себе в помощь. Передаём слово специалисту HR: он расскажет как все сделать даже без большого опыта в IT.

Читать далее

Мифы об ИТ-архитектуре, из-за которых ваш проект стоит дороже

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.5K

Всем привет. Меня зовут Александр Виноградов, я главный архитектор Ви.Tech – ИТ-дочки ВсеИнструменты.ру. Последние 9 лет занимаюсь ИТ-архитектурой и менеджментом в архитектуре, и сегодня бы хотел поделиться с вами своим топом заблуждений про эту самую архитектуру из серии: «если бы мне каждый раз давали рубль, когда я слышу...». 

Кому будет полезна эта статья:

— Тимлидам и РП, которые смогут чуть лучше понять, почему архитектор так долго возится со своими картинками.
— Продактам, которых пугают словами «ну здесь нам нужен корпоративный архитектор».
— Разработчикам, которые считают, что архитекторы занимаются исключительно рисованием квадратиков и стрелочек.
— Самим архитекторам, чтобы почерпнуть дополнительные аргументы для дискуссий с коллегами.

Вы узнаете, что:

— Не существует «правильных» технологий (и postgres не лучше mysql).
— Архитектор не должен писать код (и почему).
— Что покупка коробочных решений не избавляет от проблем.

Читать далее

7 кругов ада: практический гид по выбору стека для ML-разработки

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров2.5K

Сколько раз за последние пару-тройку вы меняли свой AI/ML стек? Если ответ «ни разу» — либо у вас железная дисциплина, либо вы просто не следите за тем, что происходит в индустрии. McKinsey Global Survey показывает, что adoption AI вырос с 50% до 72% только за последний год. Это означает, что пока вы размышляете над выбором между PyTorch и TensorFlow, ваши конкуренты уже запускают production-модели на совершенно других стеках. 

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

Читать далее

Настраиваем доступ к сервисам и подам Kubernetes в облаке

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров2K

Сталкивались ли вы с ситуацией, когда нужно получить доступ к сети подов или сервисов в кластере Kubernetes? Кто-то может возразить, что маппинга портов через port-forward или использования NodePort вполне достаточно, однако часто это не так. Список реальных кейсов велик, рассмотрим несколько для примера:

— разработчикам нужен прямой доступ к сервисам по ClusterIP для дебага;

— используются внешние балансировщики (например, SIP/RTP-прокси для телефонии или антиспам-решения), когда они не могут быть размещены внутри Kubernetes;

— присутствуют аппаратные решения вроде NGFW от именитых производителей.

В тексте мы в первую очередь будем опираться на практику Managed Kubernetes-сервиса Selectel, но он также будет полезен, если у вас свой K8s с CNI Calico.

Читать далее

Как Go зависает на Windows в CancelIoEx: история одного бага

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров787

Я не считаю себя специалистом по Go и лишь изредка обращался к этому языку, но хочу поделиться историей об одном баге на стыке Go и ядра Windows, с которым мне «посчастливилось» столкнуться.

Баг до сих пор остаётся актуальным (issue на GitHub), хотя есть основания надеяться, что он будет исправлен в следующем релизе Go.

Тем не менее, если звёзды сойдутся неудачно и ваша программа на Go внезапно зависнет у клиента в вызове CancelIoEx, а воспроизвести и проанализировать проблему не удастся, то, надеюсь, приведённый ниже материал поможет понять её причины и попробовать обойти проблему.

Читать далее

Контроль расходов на SMS через API: как сделать свою систему финансового мониторинга за вечер

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров549

Привет, Хабр. На связи Катя Саяпина, менеджер продуктов МТС Exolve. В этой статье разберём, как предотвратить приостановку бизнеса — вовремя пополнять баланс на отправку SMS. С минимальными усилиями соберём свою систему мониторинга расходов на сообщения. Будем фиксировать фактические траты, отслеживать аномалии, строить линейный прогноз и слать себе контрольные SMS.

В статье собрано решение на PHP с Composer, cron и MySQL. Всё максимально просто, чтобы за один вечер развернуть систему на любом сервере без внешних зависимостей.

Читать далее

Что мы изменили в сети, чтобы сделать её устойчивее

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.3K

Даже сложная и продуманная технологическая система не застрахована от инцидентов — это касается любых инфраструктур, от железнодорожных и коммунальных до IT. Поэтому инженерам, которые обеспечивают надёжность систем, важно не только предотвращать проблемы, но и минимизировать их влияние за счёт хорошего антикризисного (или DR) плана.

Меня зовут Костя Крамлих, я отвечаю за сетевую виртуализацию и сетевые сервисы в Yandex Cloud. К написанию этой статьи меня подтолкнула наша работа по предотвращению крупных инцидентов, наподобие тех, что произошли в конце 2024 года. Разрешить их удалось благодаря слаженной работе всей команды, и по итогам мы сделали выводы, которые не ограничиваются только устранением сетевых аварий.

Сегодня по материалам реальных событий расскажу о сетевой части:

— что важно знать о том, как ломаются большие системы, на наших примерах;

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

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

Читать далее

Часть 1. Как всё началось — страх потеряться в небе и POISK решений

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров569

Весной 2024 года я — курсант летной школы по классу PPL (частный пилот) с несколькими десятками часов налёта, осознал то, чего старается избегать каждый лётчик: потеряться в пространстве без визуальных ориентиров, например оказался под плотной облачностью без привычного GPS‑сопровождения. Спутниковые сигналы в России с 2022г заблокированы по известным причинам. До этого момента я воспринимал навигатор в телефоне как «дополнительный инструмент». Но когда на панели вдруг погас зелёный индикатор спутников, по спине пробежал холодок: как отработать возврат в аэродромную зону в «белом» небе без визуальных ориентиров?

Известно, что инерциальные навигационные системы (ИНС) могут определять местоположение, ориентацию и скорость объекта без внешних источников. Внутри них наработки десятилетий — набор ускорителей и гироскопов, расположенных ортогонально, и вычислитель, который интегрирует измеренные ускорения и угловые скорости. ИНС — это, говоря простыми словами, «супер‑мертвый пеленг»: она интегрирует собственные ускорения и вращения, чтобы определить, куда и на сколько мы сместились. Достоинство такой системы — полная автономность, независимость от спутников и наземных радиомаяков. Именно это и нужно в эпоху блокировок сигналов, когда GPS может исчезнуть в самый неподходящий момент. К стати — не только в воздухе, но в любой среде — будь‑то тоща воды или космическое пространство.

Однако у классического «мертвого счёта» есть серьёзный недостаток: ошибки интегрирования накапливаются во времени. Даже самые точные акселерометры с погрешностью порядка 10 микрон могут дать ошибку в 100 метров всего за 5 минут полета, если её не корректировать. Таким образом за полетный час рискуем «улететь» на пару километров в сторону и потерять визуальные ориентиры при ВП. Поэтому в авиации инерциальные системы обычно работают в связке с внешними источниками (радиомаяками, GPS и т. п.), которые регулярно сбрасывают накопившийся дрейф. В моем проекте основная задача — обеспечить не менее часа автономной работы с минимальным дрейфом. Предполагается возможность корректировать корректировать свою позицию либо по сигналам VOR DME, либо по триангуляции на вышках СС, либо визуально (подтверждение пилотом прохождения крупных объектов‑маркеров).

Читать далее

Ближайшие события

От аналитики до релиза: как я пересобираю мобильную разработку с помощью Flutter и AI

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.3K

Последние годы я фокусируюсь на мобильной разработке с точки зрения собственной экспертизы и бизнеса. За это время собрал несколько команд, попробовал разные сферы, поработал с Xamarin и ушел от него на Flutter, ищу куда развиваться дальше.

Обзор рынка в СНГ сейчас дал какую-то однобокую картину: курьер может заработать больше, чем предлагают по вакансиям в разработке.
Кажется, что после COVID стало нормальным, когда у специалиста несколько работ.
Может, и работодатели уже смирились с этим? "Задачи закрываются и ладно".

Я начинаю исследование, чтобы понять, можно ли всё это узаконить и отладить процесс со сниженной ролью в заказной разработке.

Начну с темы, на которой я фокусировался последнее время — мобильная разработка на Flutter.

Читать далее

Крупнейший штормовой барьер в Европе: инновации 90-х, опередившие время

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров2K

Maeslantkering, крупнейший штормовой барьер Европы, стал воплощением инженерного мастерства и прогресса в автономных технологиях 90-х годов прошлого века. Его история это путь от идеи к системе, способной самостоятельно принимать решения, защищая Роттердам и его окрестности от разрушительных наводнений. В этой статье вы узнаете, как инженерам удалось создать конструкцию, способную выдержать натиск стихии, как устроены алгоритмы, определяющие момент закрытия стальных ворот размером с Эйфелеву башню, и как проводился аудит софта, от которого зависят жизни тысяч людей.

Читать далее

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

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.6K

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

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

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.8K

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

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.3K

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров406

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.7K

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

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

Читать далее