Социальные сети Рунета
Четверг, 16 мая 2024

Transient storage в EVM (EIP-1153): на грани добра и зла В одной из статей о расчете газа в Ethereum (ссылка) я рассказал об истории изменений механизмов подсчета газа для хранилища смарт-контракта (storage) — от правил, заложенных в протоколе изначально, до EIP-3529. Во всех этих изменениях прослеживается основная проблема: нерац...

Как рассчитывается стоимость газа в транзакциях Ethereum Привет всем! Я — Рома Ярлыков, разработчик смарт‑контрактов на Solidity в команде MetaLamp. ​​В этой статье я исследую механизмы расчета и составляющие цены газа в блокчейне Ethereum, описываю историческое развитие этих методов и их значимость, а так...

Почему native Account Abstraction в zkSync лучше ERC-4337 Привет, Хабр! Меня зовут Рома Ярлыков, я разрабатываю смарт-контракты на Solidity в MetaLamp. В этой статье я расскажу, как реализован Account Abstraction в zkSync и чем такой подход отличается от уже популярного стандарта ERC-4337. Чтобы понять, что за блокчейн zkSync, реко...

Расчет количества газа необходимого для выполнения транзакции в Ethereum Привет, Хабр! Продолжаю серию статей о газе в Ethereum. ​​В этой статье подробно разберем составляющие параметра gasUsed , без которого невозможно подсчитать стоимость транзакции. Будем разбирать формулы из "желтой бумаги" и копаться в коде клиента "Geth". Это даст основу дл...

Компиляция на этапе выполнения в C++: constexpr, consteval и constinit Сегодня мы поговорим о том, как constexpr, consteval, и constinit позволяют реализовывать компиляцию на этапе выполнения. Компиляция на этапе выполнения позволяет ускорить выполнение кода за счет выполнения расчетов на этапе компиляции, а не в рантайме.constexpr делает воз...

Yul: Учимся использовать inline assembly в Solidity В этой статье я расскажу про язык среднего уровня между Solidity и байт-кодом, который применяется в EVM. Основная задача Yul - это оптимизация смарт-контрактов по газу, как на уровне языка так и на уровне компилятора, а также гораздо больший контроль над выполнением кода. М...

Сравнение сборщиков мусора в Unity и .NET В этой статье я хотел бы рассказать о различиях между сборкой мусора в Unity (IL2CPP) и .NET. Несмотря на то что IL2CPP существует более 10 лет, я до сих пор встречаю недоумение, когда беседа заходит на тему Garbage Collector (GC) касательно Unity. Считать реализацию GC в .N...

Разбираемся с стейблкойном на TON или как ваши средства могут заблокировать 19 апреля на конференции Token2049 после выступления Павла Дурова было объявлено о появлении стейблкойна от Tether в сети TON - USDt. Так как это централизованный стейблкойн эмитент подобного токена должен иметь контроль над средствами пользователей для соответствия требован...

GET запросы на практике: правила, принципы и примеры Я думаю, что вы не раз уже гуглили, заглядывали в статьи, манифесты IT-гигантов о лучших практиках проектирования API. Я тоже.Но в большинстве из них всё ограничивается описанием URL ресурса, мотивацией использовать пагинацию, сложными словами про кэширование и SSL. Это, без...

Как работает блокчейн Scroll: технические детали и обзор архитектуры Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов на Solidity в команде MetaLamp. ​​В этой статье я расскажу про основные технические принципы блокчейна Scroll, которые повлияли на дизайн блокчейна, а также дам обзор общей архитектуры блокчейна.Из этой ст...

Программа для таксопарка и её преимущества Программа для таксопарка – это специальное программное обеспечение, которое помогает управлять и контролировать работу такси-компании. Она позволяет автоматизировать процессы заказа и отслеживания поездок, управления автопарком, расчета заработной платы водителям и многое др...

Samsung пересчитает ГБ на смартфонах: в One UI 6 используется новый метод, чтобы не вводить пользователей в заблуждение Компания Samsung Electronics объявила об изменениях методов расчёта размеров файлов и ёмкости хранилища устройства в фирменной оболочке One UI. Отмечается, что эти изменения были внедрены, чтобы уменьшить путаницу среди пользователей.  Начиная с One UI 6.0, смартф...

7 причин моей гибкости. Как работают принципы ITIL Привет, меня зовут Кирилл, в СИГМЕ я работаю в департаменте решений SAP. И речь сегодня пойдет о 7 руководящих принципах ITIL, которые я хочу раскрыть на собственных примерах. Эти принципы не новы, но, как бывает с классикой, — к ней хочется возвращаться. Тем более что обозн...

[Перевод] Реверс-инжиниринг электромеханического компьютера с самолёта-истребителя Определить скорость полёта и высоту самолёта-истребителя сложнее, чем можно представить. При низких скоростях высоту, скорость полёта и другие «воздушные данные» можно рассчитывать по показаниям давления. Но когда самолёт близок к скорости звука, для точного вычисления этих...

Топ Необходимых Bash-Команд для Разработчика [Шпаргалка] Bash - самый распространенный командный интерпретатор в UNIX-подобных системах, предоставляет возможность выполнения практически любого действия через терминал. Не все операции можно выполнить через графический интерфейс, в то время как Bash дает возможность полного контроля...

Restricted IO в Haskell В статье описывается механизм создания собственного модифицированного варианта монады IO в Haskell, с ограничениями операций ввода-вывода.Хорошим тоном организации структуры любой программы на Haskell считается разделение кода на блоки, выполняющие IO операции ввода-вывода и...

Xpath — залог стабильных UI-автотестов на Web и Mobile Web Локатор — обязательный элемент любого автотеста, который позволяет системе находить правильный путь к тестируемому компоненту интерфейса. От точности локатора и корректности его оформления зависит не только, смогут ли разобраться с локатором тестировщики и другие коллеги, но...

Автоматические двери: История создания. От механики до магнитной левитации В какой степени прошлое может «объяснить» настоящее, и предсказать будущее? Почему автоматические двери появившиеся в рекламных каталогах производителей в 1910 году, начали использоваться лишь в конце 20 века. В этой статье мы рассмотрим историческую ретроспективу появл...

Ручная пила для PHP-монолита Привет! Это третья и заключительная часть истории поиска надёжного способа работы с транзакциями в распределённых системах. В первой части мы поставили задачу, определили критерии оценки и набросали варианты. Во второй части я подробно разобрал решение на Temporal. В этой с...

[Перевод] Как проанализировать риски: 4 шага Оценка потенциальных рисков и их влияния на бизнес-операции играет ключевую роль в обеспечении успеха проектов и стратегий организации. Риск-менеджеры проводят анализ, используя различные методы и расчеты, чтобы определить вероятность возникновения рисков и разработать планы...

Многоуровневая группировка в SQL: Grouping sets Описан основной принцип работы конструкции Grouping sets в SQL на примере. Статья будет полезна для тех, кто хочет быстро разобраться с основными принципами группировки с использованием Grouping sets. Читать далее

Волчистость в IT или как наставники манипулируют фактами и подменяют понятия Привет Хабр! В данной статье я планирую рассмотреть современное явление и сообщество, известное как "Волчистость в IT". Это сообщество активно развивается благодаря своим членам и наставникам. Оно также отстаивает ценности, которые являются токсичными и приводят к выгоранию....

3-е издание «Основы Dart», анонс печатной версии и новой книги — «Основы Flutter» Всем привет!Прошло не так много времени с выхода второго издания «Основы Dart» и т.к. этот язык программирования не стоит на месте, привел книгу к актуальному состоянию, добавив в нее раздел по Extension Types. Несмотря на то, что материал был у меня еще до выхода Dart 3.3 (...

6 шагов к автоматизации управленческого учёта, отчётов и расчёта зарплат Привет! Эта статья для тех, у кого финансовый отдел просил «автоматизировать управленческую отчётность в соответствии с учётной политикой». Звучит как эльфийский, но я вам переведу)) Расскажу, как мы автоматизировали расчёты и освободили наших финансистов от ручной подготовк...

CAE для любопытствующих: инженерные расчеты — какие они бывают Что такое инженерные расчёты, какие они бывают и когда нужны?Инженерными расчётами сопровождается проектирование практически любого изделия или объекта: от болта до огромного боевого человекоподобного робота. Отличительная особенность именно инженерного расчёта от любого дру...

[Перевод - recovery mode ] Глубина вашего виртуального кошелька: Что финтех-приложения знают о вас? Доброго времени суток. Хотел предложить вашему вниманию перевод интересной статьи о расследовании, связанном с персональными данными компаниями Maldita.es, Tactical Tech и SocialTIC на территории ЕС. Расследование затронуло приложения связанные с финансами, так называемый фи...

Don't Repeat Yourself: Как правильно использовать принцип DRY в разработке ПО Принцип “Не повторяйся” (Don't Repeat Yourself, или DRY), то есть избегай дублирования кода, часто относят к обязательным практикам в программировании. Однако в реальности часто можно увидеть, как в общем коде оказываются концептуально разные блоки, которые похожи только по ...

Как и почему мы построили Единую историю операций на Citus DB Доступ к единой истории операций — функция, которую сегодня ожидают видеть пользователи любого современного интернет-банкинга. В приложениях Газпромбанка функция существует уже много лет, но некоторое время назад мы решили существенно её переработать. В этой статье я расскаж...

Гайд для самопроверки бизнес-историй перед отдачей их на ревью лиду аналитики и команде Гайд для самопроверки бизнес-историй перед отдачей их на ревью лиду аналитики и командеДостаточно большой опыт работы с бизнес-историями помог мне сформировать список правил для их самопроверки перед финальным показом команде. И в этой статье я хочу поделиться ими с вами. Да...

Ленивые бесконечные списки на основе Deferrable Views При создании удобных и отзывчивых интерфейсов часто возникает ситуация, когда нужно иметь дело с большими коллекциями элементов. Один из способов организации списков – бесконечный просмотр, но данный способ скрывает в себе ряд технических сложностей.В статье рассмотрим, ка...

concurrent.futures в Python Привет, Хабр! Сегодня мы взглянем на одну из самых интересных библиотек в Python для работы с параллельным выполнением задач - concurrent.futures.Каждый разработчик сталкивается с ситуациями, когда необходимо выполнять задачи параллельно. Это может быть I/O-операции, которые...

Подбираем параметры сессии в Apache Spark, чтобы не стоять в очереди Бывало у вас так, что некоторые аналитики запрашивают побольше вычислительных ядер и оперативной памяти для своих Jupyter-ноутбуков, а у вас в это время ничего не работает? У меня бывало, ведь недостаточно уметь разрабатывать код на Spark — еще нужно уметь его настраива...

Цикл статей о Greenplum. Часть 1. GP под капотом Всем привет!Как вы знаете, многие поставщики ПО ушли с российского рынка ввиду введённых санкций и многие компании столкнулись с необходимость заняться импортозамещением в кратчайшие сроки. Не стал исключением и наш заказчик. Целевой системой, на которое было принято решение...

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнен...

Развиваем продукт «без проблем» В своей прошлой статье я рассказывал о том, как использовать метрики при разработке продуктов. Статья получилась довольно насыщенная, но теоретическая.В этой статье я хочу рассказать о том, как на практике применять эти подходы при развитии продуктов. Можно ли опираться толь...

FineBI: Обработка данных для начинающих пользователей Хабр, привет!На связи команда Business Intelligence GlowByte. Да-да, те самые неугомонные, которые создали самое крупное русскоязычное сообщество FineBI, проводят обучения, собирают дайджесты и ежегодно организуют масштабные конференции. Меня зовут Александр, я руководи...

[Перевод] Механизм перезапускаемых последовательностей (Rseq) при работе с TCMalloc ❯ Кэши для отдельных ядер процессора В TCMalloc кэши для отдельных ядер процессора реализуются при помощи перезапускаемых последовательностей (man rseq(2)) под Linux. Эту возможность ядра разработали Пол Тёрнер и Эндрю Хантер из Google, а также Мэтью Дезнойерс из EfficiOS....

Простой и сложный Always On VPN от Microsoft. Опыт внедрения VPN обеспечивает доступ удаленных пользователей в корпоративную сеть. Решений много, но выбор оптимального не всегда очевиден. В данной статье хотел бы поделиться опытом внедрения и использования такого продуктового решении как Always On VPN от компании Microsoft. Подчеркну,...

Как я придумал очевидное Решение проблемы при проведении практических работ в образовательной организации СПО.Привет Хабр! Наконец я решил высказаться о том, как я решил проблему организации практических работ в колледже где и работаю.Статья написана для таких же преподавателей как и я, может быть к...

Signal Integrity of DDR4 Доброго времени суток! Наверное, вы все знакомы с компьютерной оперативной памятью DDRx (где x - поколение). Я бы хотел вам рассказать о ней с точки зрения SI (Signal Integrity - целостность сигналов) и принципов трассировки этого интерфейса. Читая документацию на различны...

Создаем I2C Master Controller на Verilog. Пишем HDL код Закончив в предыдущей статье описание того, как должны осуществляться атомарные операции и каким образом осуществляется выполнение команд я бодро перешел к написанию HDL-кода. Пришлось разобраться с тем, как организовать FSM, как организовать считывание и выставление данных ...

Списки с душой и стилем: Ваш путь к Jetpack Compose С каждым днём всё больше и больше разработчиков присоединяются к использованию Jetpack Compose. Этот рост связан с тем, что фреймворк предлагает ускоренную и упрощённую разработку пользовательского интерфейса (UI). Если ранее вы разрабатывали приложения с...

Препарируем Wazuh. Часть 1: Базовая установка Тема SIEM решений с открытым исходным кодом постоянно проявляется на просторах сети. Одних интересуют SIEM системы как таковые, и хочется разобраться в решениях данного класса, но при этом не хочется связываться с тяжелыми и запредельно дорогими коммерческими SIEM. Другие не...

Объявление и инициализация переменных в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это шестая статья из серии, список предыдущих статей приведен в конце в разделе 7. Серия ориентирована на программистов, имею...

Файловый ввод, сделанный по-человечески Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так ...

История разработки приложения для складных смартфонов Samsung. Часть 2 — гайдлайны Эта статья - продолжение истории про фрилансера Мишу и его знакомство со складными устройствами от авторов - выпускников «IT Школы Samsung». В предыдущей части главный герой осваивал инструментарий Remote Test Lab.В далеком 2019 году Samsung выпустила Galaxy Fold - инновацио...

[Перевод] Учимся использовать модуль Ansible Shell для выполнения удалённых команд Мы перевели статью, где подробно рассматривается использование модуля Ansible Shell и различные способы выполнения удалённых команд на узлах в рамках работы по автоматизации. В статье рассматриваются различные опции и модули для выполнения удалённых команд, а также их различ...

ARR: что это такое и чем он полезен бизнесу Работая в условиях жесткой конкуренции и турбулентной экономики, бизнесу постоянно необходимо искать новые методы и подходы для увеличения дохода. Для тех, кто работает с клиентами по подписочной модели, одним из таких инструментов является ARR (Annual Recurring Revenue), ко...

CSI — индекс удовлетворённости клиентов. Где провести и как рассчитать? Эта статья предназначена для предпринимателей, маркетологов, специалистов по клиентскому опыту, которые стремятся глубже понять своих клиентов и улучшить качество своих услуг и продуктов.Что делает эту статью особенно ценной и интересной? Здесь мы представляем не только осно...

Почему Ceph не собирается в кластер: как не связанные commit’ы привели к неожиданным проблемам Иногда происходит так, что выполняешь привычную последовательность действий, которую уже делал много раз, а результат получается неожиданным. Например, с утра мы кипятим воду, кладём две ложки кофе и две ложки сахара в чашку, заливаем водой и наслаждаемся ароматным кофе. Но ...

Разобраться раз и навсегда: Task.WhenAll или Parallel.ForEachAsync в C# Все хотят писать код, который работает быстро. Часто мы сидим, просматривая написанные алгоритмы и пытаясь понять, что можно сделать, чтобы настроить их производительность. В таком случае часто прибегают к параллельному выполнению задач. Конечно, если можно выполнять зада...

[Перевод] Взламываем головное устройство автомобиля Nissan В комплекте с моим Nissan Xterra поставлялось современное (на то время) головное устройство с сенсорным экраном, встроенной навигацией, дисплеем камеры заднего вида, мультимедийными функциями и возможностью подключения смартфона. Некоторые из самых продвинутых функций досту...

Linux 6.9 уже готов: что нового? Изменения и дополнения в ядре Прошло всего два месяца, и Линус Торвальдс обнародовал, если так можно выразиться, релиз ядра Linux 6.9. В новой версии — 15 680 исправлений от 2 106 разработчиков. Общий размер патча — 54 Мб (изменения затронули 11 825 файлов, добавлено 687 954 строки ко...

Обзор Polygon zkEVM: как работает L2 решение для Ethereum Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов в команде MetaLamp, мой основной стек – Solidity. В этой статье я подробнее расскажу про решение для масштабирования с нулевым разглашением (Zero-knowledge proof), а именно – о блокчейне второго уровня Pol...

Это реально? Что должен уметь джуниор системный аналитик по профессиональному стандарту Минтруда России Нам оставили немало комментариев к статьям по подготовке к собеседованию системного аналитика (СА) о том, что примеры со сложными вопросами по SQL, REST и диаграммам — избыточны. И что СА не обязан знать, как написать код обработки запроса на Python, И даже СУБД — тоже не сф...

Краткий экскурс в Metasploit. Учимся обращаться с легендарным фреймворком Для подписчиковВ этой статье мы поговорим о Metasploit Framework (MSF) так, будто ты о нем впервые слышишь и хочешь разобраться с самого начала. Посмотрим, что это вообще такое и зачем нужно, изучим входящие в него инструменты и научимся ими пользоваться. В общем, это статья...

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

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

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

Что не так с «Авророй» — российской мобильной OC Мы в KODE занимаемся мобильной разработкой и следим за развитием отечественного рынка. ОС «Аврора» появилась на наших глазах. Мы долго не понимали, успешна она или нет, и если да — почему до сих непопулярна. В статье собрали полную картину по открытым источникам, распутали п...

Всё что вы хотели знать про ACL в Active Directory В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более...

Детекция объектов. YOLO. Часть 2 Кто такой YOLO?

Kodein DI для Android. Целостность графа и тесты на DI DI фреймворки бывают двух видов: те, что строят свой граф зависимостей во время компиляции (compile time фреймворки), и те, которые делают это уже при выполнении кода (runtime фреймворки).Kodein — типичный представитель runtime фреймворков. Это значит, что о пропущенной зави...

Как ZKP и ZK-Rollups помогают в решении проблемы масштабирования: обзор блокчейна zkSync Привет, Хабр! Меня зовут Рома и я Solidity-разработчик. Вместе с коллегами мы создаем базу знаний по тематике блокчейна и web3-разработке. Меня заинтересовал блокчейн zkSync, т.к. он выделяется среди других Layer 2 решений, но сначала хочу немного рассказать, в чем суть проб...

Что делать в первую очередь? Простая приоритезация задач при помощи риса Реализация проекта или создание продукта связаны с выполнением задач, тестированием идей и гипотез. Зачастую их накапливается огромное количество, и встает извечный вопрос (нет, не кто виноват и что делать): что делать в первую очередь? Если в&n...

Кто первым записал сплайн-функцию? Как техническая механика  «предвосхитила» достижения теории сплайнов Отмечая расхождения в трактовке en.Wikipedia и ру.Рувики, даётся комментарий к истории появления сплайн-функций. Рассматривается на конкретных примерах, как методы расчёта изгиба балок «предвосхитили» некоторые из достижений математической теории сплайнов.   Чит...

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

Как ответить на вопрос «Когда будет готово?» на основе статистики Всем привет! Я Анастасия Жадринская, деливери-менеджер в Тинькофф. Да, эта статья опять про оценки и сроки выполнения задач. Сроки без вуду, астрологии, гаданий и привлечения экспертов. В статье рассмотрю метод Монте-Карло — элегантный и простой в применении математический п...

Account Abstraction: что это такое и зачем нужно криптомиру Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья пом...

Эволюция Traffic Engineering-2. От основ PCEP к новому взгляду на РСЕСС Traffic Engineering помогает нам решать проблемы оценки и оптимизации производительности IP‑сетей, но при этом требует недюжинного понимания сетевых технологий и протоколов, которые используются в больших сетях. В прошлый раз мы остановились на магии работы PCE-контроллера и...

[Перевод] От теории к практике: создаём веб-приложение для решения задачи коммивояжёра В таких сферах, как исследование операций (Operations Research) и наука о данных (Data Science) чрезвычайно актуально сближение теории и её практического применения в виде программных проектов. Теоретические выкладки формируют базу программ для оптим...

DIY: Ваше собственное облако на базе Kubernetes (часть 3) Вот мы и подобрались к самому интересному: запуску Kubernetes в Kubernetes. В этой статье мы поговорим о таких технологиях, как Kamaji и Cluster API, а также о том, как интегрировать их с KubeVirt.В прошлых статьях мы уже рассказывали, как мы готовим Kubernetes на bare metal...

Как настроить работу на Канбан-досках с нуля за 15 минут? Руководство для начинающих На канбан-досках могут быть различные виды задач, в зависимости от конкретного проекта, типа бизнеса или потребностей команды. В этой статье разберём основы ведения учета задач на Канбан-доске, необходимые колонки, виды и типы задач, в том числе Epic, userstory, task. Чита...

Почему правило «если мне 20 раз выпал орёл, то в 21-ый точно выпадет решка», в действительности, не работает Сразу предупрежу, что это статья не про программирование. Она про некоторые аспекты комбинаторики и теории вероятностей.Разберёмся в том, является ли монетка git-ом, влияет ли на неё память вселенной, а так же -- стоит ли ходить в казино, и как правильно оценивать вероятност...

React Fiber & Concurrency Part 1 (2) В сети много статей и докладов, которые описывают React Fiber, но, к сожалению, они сейчас уже не актуальны. Заметив это, я решил разобраться и актуализировать информацию. Моими основными помощниками были исходники и отладчик, поэтому здесь вы увидите множество ссылок на код...

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

Эволюция Traffic Engineering. Основы, распределённый и централизованный расчёт туннелей, магия PCE Как оптимизировать путь данных внутри чёрного ящика под названием «сеть» и гарантировать необходимый уровень сервиса пользователям своего приложения? Эта задача может волновать не только сетевых инженеров и архитекторов, но и разработчиков, и DevOps-команды. Для глубокого по...

Как не заскучать в 1С-разработке Многие считают 1С особым замкнутым миром. А методы работы в нем — неприменимыми в «нормальном» программировании. Это давно не так. Конечно, у каждого решения есть свои плюсы и минусы. Но я уверен: если вы не любите 1С, то вы просто не умеете его готовить. Меня зовут Вла...

SQL инъекции для продолжающих: ломаем настоящий сайт Про SQL-инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL-инъекций на примере уязвимого сайта.Стат...

DVC — прекрасный инструмент для DataScience Привет Хабр, меня зовут Дмитрий Несмеянов, я являюсь руководителем направления разработки ML-инфраструктуры "ЛОКО-банка". Сегодня я хочу рассказать про DVC: инструмент, который многие, незаслуженно, обходят стороной. Была хорошая статья от Райффайзен Банк, в этой статье я по...

TMS на замену TestRail: писали для себя, а выложили в open source В прошлом году TestRail прекратил предоставлять и продлевать лицензии компаниям из России, поэтому мы в YADRO решили разработать собственную тест-менеджмент систему TestY. Опирались на опыт работы с другими сервисами, чтобы добавить тот функционал, которого не хватало нашим ...

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы) Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совс...

Продуктовые команды: строим правильно Привет, Хабр!Мы хотим поделиться подходом к формированию успешной продуктовой команды. В построении и развитии продуктовой команды есть свои законы, о которых можно почитать здесь. Но знание теорем бесполезно без навыков их применения в реальном мире. Поэтому сфокусируемся н...

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 2 В первом материале из этой серии была объяснена работа механизма Copy‑on‑Write (CoW, копирование при записи). Там были упомянуты некоторые ситуации, в которых при выполнении кода осуществляется копирование данных. В этой статье речь по...

Коммивояжер на GPU Мы уже решали задачу коммивояжёра точно методом динамического программирования. С тех пор прошло немало времени. Мне бы хотелось поделиться некоторыми соображениями по улучшению алгоритма, а также представить алгоритм пригодный для расчёта задачи коммивояжера на GPU.Динамиче...

Модульность в JavaScript: CommonJS, AMD, ES Modules Привет, Хабр!Начало истории в модульности в JavaScript положил хаос: глобальные переменные, конфликты имен и сложности с зависимостями. Со временем сообщество предложило несколько подходов для организации модулей, начиная от CommonJS, которое легло в основу Node.js, до AMD, ...

Проектирование экономики F2P игр на основе продуктовых метрик Несмотря на то, что универсального алгоритма проектирования игровой экономики сформулировать не получится: уж слишком разные механики в разных играх, - мы можем попробовать сформулировать один из подходов, которым можно руководствоваться, начиная работу над экономикой вашей ...

HTB Jupiter. Выполняем произвольный код с помощью Jupyter и SatTrack Для подписчиковВ этой статье мы получим доступ к веб‑серверу через RCE-уязвимость и эксплуатацию SQL-инъекции в PostgreSQL. Затем воспользуемся фреймворком Jupyter для выполнения произвольного кода и повысим привилегии в SatTrack.

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кэшей.В этой статье будет вс...

Топовые подходы к решению алгоритмических задач Привет! Меня зовут Дмитрий Королёв, я бэкенд-разработчик в Авито. В этой статье я расскажу про ключевые аспекты и концепции работы с наиболее популярными алгоритмами и структурами данных. Это поможет и в реальных проектах, и чтобы глубже понять алгоритмические принципы. Стат...

Как подготовиться к ЕГЭ по истории: Важные шаги перед экзаменом Единый государственный экзамен (ЕГЭ) по истории является одним из ключевых этапов в жизни каждого школьника, стремящегося получить качественное образование и высокий результат на экзамене. В этой статье мы рассмотрим, как эффективно подготовиться к ЕГЭ по истории, и ответим ...

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

Препарируем Wazuh. Часть 3: источники не из коробки В предыдущей статье мы говорили о том, как можно подключить к Wazuh стандартные источники, идущие, что называется, «из коробки». С ними все относительно просто: выполняем действия, представленные в инструкции по подключению Wazuh на источнике, выполняем необходимые правки на...

Разработка и интерпретация иерархической кластеризации Привет Хабр!Иерархическая кластеризация является мощным методом анализа данных, позволяющим группировать схожие объекты в кластеры. В этой статье мы рассмотрим процесс разработки и интерпретации иерархической кластеризации, погружаясь в методы создания кластеров и анализа ре...

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

Мутации в микросервисах: применяем Temporal Всем привет!В прошлой статье была поставлена задача о надёжных мутациях и транзакциях в архитектуре Профи, в этой статье разберём один из вариантов решения — применить workflow-engine Temporal. Читать далее

Основы Event Loop в JavaScript В JS Event Loop позволяет непрерывно проверять, есть ли в очереди задачи, и, когда стек вызовов пуст, передавать эти задачи на выполнение. Таким образом, долгие операции не мешают продолжению выполнения кода. Именно благодаря Event Loop приложение мо...

Жизненный цикл Activity приложения: базовые принципы и понятия Статья от тестировщика "ITQ Group" Леонида Галочкина.Понимание принципов работы activity помогает понять логику работу мобильных приложений, разрабатывать тест-кейсы разного уровня, готовить тестовую документацию. Принципы activity можно игнорировать, например, при тестирова...

[Перевод] Как я проектирую и разрабатываю расширения Python на Rust В этой статье я хочу рассказать о том, как я проектирую комплексные расширения для Python на Rust с использованием PyO3 и почему я принимаю те или иные проектные решения. Читать далее

Как правильно передавать секреты запускаемым программам? Эта статья о том, как правильно передавать секреты запускаемым программам.Бывает встречаются Unix-системы, на которых некоторые администраторы передают процессам пароли в открытом виде, совершенно не заботясь о том, что их видят все пользователи данной системы. Если вы смог...

[Перевод - recovery mode ] Как работает etcd с Kubernetes и без него Если вы когда-либо взаимодействовали с кластером Kubernetes, скорее всего, он был основан на etcd. etcd лежит в основе работы Kubernetes, но несмотря на это, напрямую взаимодействовать с ним приходится не каждый день.Этот перевод статьи от learnk8s познакомит вас с принципам...

Можно ли научить чат-бота всегда говорить правду. Часть 2 Эта статья является продолжением анализа существующих способов устранения галлюцинаций чат-ботов и повышения точности их ответа. В прошлый раз был разбор того, как оценивать точность в процессе диалога, а сегодня мы поговорим о методах, которые из научного сообщества уже про...

Прогресс WebAssembly и будущее веба. Быстрые интерфейсы, пример Figma Скетч из статьи Лин Кларк «Создание и работа с модулями WebAssembly» WebAssembly (Wasm) — это бинарный формат для безопасного и эффективного выполнения портативных программ в стековой виртуальной машине (в браузере или на сервере). Как и ASM.js, представляет собой низкоуро...

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

Не пора ли валить с gnu libc на что‑то другое? Пользуюсь открытым ПО значительное время. Сижу на Линуксе.Но в последнее время настолько часто сталкиваюсь с различными багами, что думается иногда, а как оно вообще в принципе работает?Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU....

Десятки новых функций для работы с документами в «МойОфис Образование»: изучаем состав релиза 2.8 В МойОфис мы не только выпускаем ПО для организаций и частных пользователей, но и активно сотрудничаем с образовательными организациями. Продукт «МойОфис Образование», включающий в себя приложения для работы с текстами, таблицами и презентациями, появился в нашей линейке сем...

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

Управление электромеханической системой на основе ДПТ. Метод желаемой ЛАЧХ и другие средства Matlab Частой задачей при обучении теории автоматического управления является расчет корректирующего устройства методом желаемой ЛАЧХ. Эта задача дается для ознакомления с большим миром управления в частотной области. Зачем вообще частотный метод, когда есть модальный? Дело ...

Зачем компании делают коллаборации, и считать ли встречу выпускников коллабой Привет! Я Елена Бычкова, CJO в Альфа-Банке. Сегодня хочу поговорить с вами про коллаборации. Это слово мы видим в статьях и включаем в презентации, уже не задумываясь о смысле. А что же такое коллаборация? Запуск карты X5 от Альфы — коллаборация? Однозначно да. Встреча ...

[recovery mode] Отчаяние, отказы и академический отпуск: как я за год вернул уверенность и стал Android-разработчиком Привет всем! Меня зовут Фаридун. В своём пути в мир разработки я неоднократно сталкивался с моментами, когда отчаяние казалось единственным компаньоном, а отказы накладывались печатью на каждом шаге.В своей первой статье на Хабре я хочу поделиться своей историей становления ...

Основы Rust: синтаксис и структуры данных Привет, Хабр! Rust - это язык, который становится плюс-минус более популярным в последние годы благодаря своей высокой производительности и безопасности. Он был разработан Mozilla и сообществом разработчиков с целью предоставить инструмент для системного программирования, ко...

ГАЙД по python стеку для Data Science инженеров Data science - это область, которая занимается изучением и анализом больших объемов данных, чтобы находить в них полезные закономерности, делать прогнозы или принимать решения на основе фактов. Самым популярным языком программирования для data science является Python. Б...

Почему работа с данными так популярна: Data Scientist, Big Data и объектное хранение По оценкам Cybersecurity Ventures, к 2025 году общий объем данных в облаках достигнет 100 зеттабайт, или 50% всех мировых данных на тот момент. Ландшафт хранения этой информации разнообразен: от недорогих обычных серверов до огромных хранилищ на сотни петабайт. При эксп...

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять авто...

Как мы удвоили разрешение фотографий с помощью камеры Flutter на iOS Привет, меня зовут Сергей, и я мобильный разработчик в компании Brickit. Некоторое время назад мы наконец мигрировали приложения для iOS и Android на общий код на Flutter. Мы были в восторге от результата, но сам переход был далеко не гладким. Одной из важных частей этой ава...

Как избавиться от нестабильных тестов Устали от нестабильных тестов?Автоматизированные тесты часто ведут себя нестабильно. Логичное решение в такой ситуации — немедленно исправить такие тесты или избавиться от них. Но что, если тестов — тысячи, инженеров, которые могут их исправить, не так много, а избавление от...

[Перевод] Как, блуждая по Stack Overflow, можно набрести на Branch predictor В блоге beeline cloud мы делились историями и мнениями разработчиков — как программист-самоучка выучил 30 языков программирования, в каких случаях парное программирование не работает и почему некоторые проекты угасают, когда из компании уходит тимлид разработки. Сегодня...

Об эффективном использовании заметок на примерах из работы и личной жизни Личная жизнь – штука сложная, работа – ещё сложнее. В условиях поистине огромной кучи «контекстов» не забывать даже самые важные вещи бывает непросто, а делать то, что надо и когда надо – порой просто невозможно. Нерешаемая задача? Отнюдь. Всё уже на самом деле давно изобрет...

Эволюция обработки данных: от MapReduce к стриминговому движку Yandex Query Language (YQL) — универсальный декларативный язык запросов к системам хранения и обработки данных, разработанный в Яндексе. А ещё это один из самых нагруженных сервисов: YQL ежедневно обрабатывает около 800 петабайт данных и 600 000 SQL-запросов, и эти показател...

Сложность алгоритмов. Разбор Big O Сложность алгоритмов - это ключевой аспект при проектировании и создании веб-приложений, особенно при работе с большим объемом данных или выполнении вычислительно сложных операций. Понимание, как оценивать сложность алгоритмов, помогает принимать обоснованные решения в выбор...

Квест по синхронизации аналитического и оперативного хранилищ в реальном времени без потерь на сотнях терабайт данных Я работаю в компании STM Labs, где мы строим большие высоконагруженные системы класса Big Data. Эта статья написана по мотивам моего выступления на конференции Saint Highload 2023. Хочу рассказать вам увлекательную историю про то, как мы искали лучшее решение по синхронизаци...

[Перевод] Реализация случайности в CSS при помощи тригонометрии В прошлых статьях я рассматривал тему реализации псевдослучайности в CSS при помощи операции целочисленного деления и использовал простые числа для создания автоматического счётчика, при помощи которых можно генерировать разные значения для каждого объекта. Благодаря этому ...

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных в...

Что даёт регистрация онлайн кассы в ИФНС ИФНС РФ — это налоговая служба Российской Федерации, которая занимается сбором налогов и других обязательных платежей с юридических и физических лиц. Регистрация онлайн касс является одним из основных направлений деятельности ИФНС РФ. Онлайн касса — это специальное оборудов...

[Перевод] Микросервисы победили. Или не совсем «Мы хотим сделать систему по учету персонала. Только у наших архитекторов есть требование, что все у нас должно быть на микросервисах». Это, пожалуй, самый бесячий заход, который нам приходится слышать, как разработчику Jmix – платформы быстрой разработки корпоративных веб-п...

Вопросы и ответы для собеседования на позицию frontend-разработчик. Часть 2 Всем привет! В этой статье (части) рассмотрим вопросы, связанные с великим и могучим TypeScript'ом, которые задают на собеседованиях. Если вы не читали прошлую статью, где описаны вопросы по JS, вот ссылочка. Пожалуйста, не заучивайте вопросы, это вредно для вашего здоровья!...

Прицел, выстрел: Появились кадры ювелирной работы российских расчетов ПТРК "Метис" в зоне СВО Расчеты ПТРК "Метис-М1" эффективно поражают личный состав и технику ВСУ на угледарском направлении

DevOps as a Service. Часть 3. Решаем проблему дежурств и хаоса в чате с использованием RCA и единого flow Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service. В прошлых статьях мы описали подход и показали пути решения проблем с контролем ресурсов команды и инфраструктуры, с ними можно ознакомиться тут и тут. Сегодня мы поговорим о пос...

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

Разгоняем Ignite в облачной инфраструктуре. Часть 2 Привет! С вами Дмитрий Пшевский и Семён Попов, технические лидеры юнита Data в Сбере. Это вторая часть нашего материала о производительности сервисов при работе с Ignite. В первой части мы рассказали, как перешли от монолита к микросервисной архитектуре, попробовали поработ...

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

Основы работы с хранилищами в Kubernetes Привет, Хабр! В Kubernetes принято разделение хранилищ на два основных типа: постоянные и временные. Постоянные хранилища (PV) представляют собой сегменты дискового пространства, которые могут быть подключены к подам и сохранять данные даже после перезапуска или удаления кон...

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

Как систематизировать работу с входящими документами в компании с помощью OCR-инструментов. Часть 1 Ежедневно компании выполняют операционную и административную работу – неинтересную рутину, но без которой в действительности невозможен никакой бизнес. Крупная часть этой истории – входящий и исходящий документооборот, который может достигать тысяч бумажных копий. Чем быстре...

FineBI под микроскопом: Обзор новых функций и улучшений в Q1 2024 Хабр, привет! Меня зовут Александр Ларин, я являюсь руководителем центра технической поддержки и обучения в GlowByte, а также лидером самого большого в России сообщества FineBI.Сегодня в нашем фокусе – обновления, которые не оставят равнодушными ни одного бизнес-аналити...

[Перевод] VES — микросервис Cosmos для кодирования видео на Netflix Cosmos представляет собой новейшее поколение медиа-обработчика на Netflix, интегрирующее архитектуру на основе микросервисов, асинхронные рабочие процессы и функционал без привязки к серверам. Эта платформа нацелена на оптимизацию медиа-процессов внутри Netflix, повышая их г...

Анализ данных КХЛ. Часть 1 — про теорию шести рукопожатий Привет, Хабр! Эта статья посвящена исследованию о том, насколько тесен мир хоккея.Меня зовут Рашит Гафаров, я начинающий дата-инженер и выпускник Яндекс Практикума. Мы с наставницей Юлией Муртазиной и ещё пятью студентами проанализировали с помощью Pytnon связи между хоккеис...

Анализ зависимостей бинарных файлов на основе ML. Заключительная часть В прошлой статье мы разобрали идею нашего компонентного анализатора и поделились результатами некоторых экспериментов, проведенных в лабораторных условиях. Результаты, полученные на маленькой части датасета в размере 3000 библиотек, вышли довольно оптимистичными. В этой стат...

REST API на котиках Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.С какой стороны IT вы бы не пытали...

Маленькая история импортозамещения о разработке системы автоматического мониторинга моделей Alfa-MRM В Альфа-Банке безостановочно ведутся работы по созданию и обновлению статистических моделей. Чтобы выявить момент, когда модель перестала соответствовать критериям качества установленным в банке, требуется регулярный мониторинг. Это задача нашего подразделения — регулярно мо...

Business Intelligence — быстрый старт Все мы работаем в разных предметных областях, и бывает усложно уделить время знакомству с BI. Надеюсь, у Вас есть менее получаса на чтение этой статьи и знакомство с примером, а также есть желание провести графический BI анализ на .NET, в таком случае - добро пожаловать.В эт...

Хотел устроиться Python-разработчиком, стал мидлом в QA-отделе — как я искал первую работу Привет! Меня зовут Юра, и в этой статье я хочу поделиться своим опытом поиска работы. И это вряд ли блестящая история успеха — на этом пути нашлось место и самым неожиданным факапам, и офферу от галеры, и отчаянию. Спойлер: на работу я всё-таки устроился, хоть и совсем не в ...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

.NET CLI — Зачем загружать все родительские сборки при загрузке сборки В CLR есть особенность, что при загрузки сборки через Assembly.Load или через Assembly.ReflectionOnlyLoad, загружаются все сборки по мере запроса. В отличии от констант и их типов, они заранее копируются в дочернюю сборку и больше не зависят от родительской сборки. Но в ...

Итоги RecSys 2023: разбор знаковых статей прошедшей конференции. Часть 1 ACM RecSys — международная конференция, на которой эксперты в области рекомендательных систем делятся своими наработками и исследованиями, задавая тренды развития технологий и подходов. Команда ОК изучила статьи конференции RecSys 2023 и сделала разбор наиболее интересных из...

Начинаем работать с цифровыми картами (ГИС) Обзорная статья, которая поможет разобраться с базовыми понятиями, познакомит с основами, даст общее представление о принципах работы цифровых карт и геоинформационных систем (ГИС). Будет полезно тем, кто только начинает работать с картами и хочет начать в этом разбираться....

Обработка результатов статистических наблюдений с помощью толерантных интервалов Здравствуйте, уважаемые читатели!В статье хочу поделиться личным опытом использования толерантных интервалов для обработки результатов статистических наблюдений, привести некоторые примеры и дать краткое описание процедуры расчета с реализацией на языке Python. Может быть, к...

Телефония «дёшево и сердито» Бывают ситуации, когда нужна очень недорогая и несложная телефония, например, для связи между 2-3 точками: позвонить из магазина на склад, из основного помещения в подвал и прочее. Приобретение и установка АТС в таких случаях бывает избыточна, часто и довольно затратно и люд...

Самый маленький Docker образ Rust приложения Привет %username%, эта статья про то, как поместить Rust приложение в Docker и получить образ размером с бинарный файл (6 Мб). А также про причины, которые привели к переходу с NodeJS на Rust. Отдельная пара слов о проблемах вначале, переходе на Go, и том, как команда Rust у...

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

Потоковая обработка данных: анализ альтернативных решений Всем привет! Я Алексей Пономаревский, разработчик решений для платформ сбора и обработки больших данных.Два года назад мы в ITSumma создали решение для потоковой обработки данных с помощью Apache Spark и базы данных Greenplum — spark-greenplum-connector. Это многофункциональ...

Разработка Tower Defense на Unity — часть 2, проектирование И так, в прошлой статье цикла тут мы определились с концепцией игры, геймплеем и программными средствами. Самое время поговорить об архитектуре, организации игрового процесса, что и как будет происходить. Чтобы определиться с организацией всех процессов в игре необходимо раз...

[Перевод] Самая сложная часть создания программного обеспечения — это не написание кода, а сбор требований Несмотря на все статьи о том, насколько удивительными были все разработки в области искусственного интеллекта, многие страдают от возможности того, что мы, как разработчики программного обеспечения, вскоре можем остаться без работы, и их заменит искусственный интеллект. Они ...

Препарируем Wazuh. Часть 2: Подключаем источники В первой статье мы начали рассмотрение решения с открытым кодом Wazuh. Мы развернули систему в конфигурации All In One, то есть все компоненты находятся на одном узле. В этой статье мы продолжим настройку нашего SIEM. Конечно, после установки он уже не совсем бесполезен, так...

Как прогнозировать время выполнения задач Привет! Меня зовут Павел Ахметчанов, я руководитель направления улучшения процессов разработки. В статье расскажу про часто используемые методики оценок задач и есть ли в них ошибки. Посмотрим, как правильно ставить вопросы при оценке. Узнаем, что собой представляет время ре...

Аудит смарт-контрактов решили доверить ИИ: лучше ли он человека Смарт-контракты стали намного чаще использоваться в финансовой сфере и за ее пределами, но их безопасность имеет первостепенное значение. Может ли ИИ превзойти человеческих аудиторов в обеспечении сохранности этих цифровых соглашений? Рассказывает статья HackerNoon.

От Kubernetes в мечтах к Kubernetes в проде. Часть 4. Хранилище секретов ― HCP Vault В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрел...

Дешево и сердито: геймдев на Godot 4.2 для тех, кто знает Python Привет, Хабр! Меня зовут Матвей, я уже несколько лет хочу научиться создавать игры. Скажу честно: все никак не хватало времени и, возможно, целеустремленности, чтобы изучить Unreal Engine, Cry Engine и им подобные движки. Но я знаю Python. Оказывается, для любителей парсел...

Как я делал то же, что и ФСТЭК, когда это еще не было трендом Всем привет, меня зовут Андрей Рогов. В СИГМЕ, где мы разрабатываем и внедряем ИТ-решения для всей электроэнергетики — от контроля работы электростанций до расчета платежей «за свет», я работаю в отделе аудита и консалтинга. А значит, в мои должностные обязанности входит нап...

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года. В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грам...

Northrop Grumman понесла убытки в размере $100 миллионов на программе создания модуля для станции NASA Lunar Gateway Компания Northrop Grumman понесла убытки в размере более $100 миллионов в программе создания модуля для лунной станции, контракт на которую был заключен с американским космическим агентством NASA. В отчёте о прибыли за четвёртый квартал и весь 2023 год, опубликованном 2...

Воплощаю мечту, создавая игру. Часть 2-я Вторая часть статьи про разработку компьютерной игры в одиночку на игровом движке Unreal Engine 5. Вторая часть является заключительной моего знакомства с аудиторией и в ней я высказываю свои мысли по поводу покупных механик и 3D моделей в marketplace, делюсь результатами р...

[Перевод] Фильтры действий в ASP.NET Core ASP.NET Core — это мощный и универсальный фреймворк для создания веб-приложений. Он предоставляет широкий набор возможностей для создания надежных и масштабируемых приложений, и одной из ключевых фич, расширяющих его функциональность, являются фильтры действий (Action Filter...

Квантовая случайность против детерминизма и супердетерминизма. Изгоняем демона Лапласа Миром правит детерминизм или случайность? Будущее предопределено или многовариантно? Можно ли в точности предсказать будущее состояние системы по начальным условиям, или её динамика в принципе непредсказуема? Всё происходит согласно необходимости и провидению, или наша судьб...

Кратко о Patterns & Practices: SharePoint Guidance Интро В данной статье я хочу произвести обзор руководства под названием “SharePoint Guidance” от подразделения Microsoft patterns & practices. Данное руководство предназначено разработчикам/архитекторам SharePoint, в нём описаны основные принципы построения систем на д...

Совет руководителям Привет!Меня зовут Андрей и я руковожу IT-подразделением. Около 5 последних лет я работаю в Яндексе с командами от единиц до сотен инженеров. Так сложилось, что команд я потрогал много и разных: некоторых руководителей от времени перемещают по частям компании и зонам ответств...

Сетевой мультитул для ИТ и ИБ специалистов: zero-skill создание Telegram чат-бота с помощью ChatGPT Привет, Хабр! Меня зовут Руслан, я – инженер по сетевой и информационной безопасности в компании-интеграторе STEP LOGIC. Решаю различные задачи, связанные с настройкой и поддержкой сетевого оборудования в компьютерных сетях, работаю над проектами, требующими планировани...

Ранний доступ покинул стратегический шутер с видом сверху — No Plan B Французский разработчик игр GFX47 наконец-то выпустил из раннего доступа свою стратегию в духе ранних частей Rainbow Six — No Plan B, в которой нам нужно продумывать тактику, перемещать нашу команду по локациям и ликвидировать врагов. И всё это с видом сверху. На данный моме...

Истории из жизни вредоносов: прячемся в автозагрузку ОС Windows Основной задачей, которую необходимо решить вредоносному файлу сразу после запуска является закрепление в системе, то есть обеспечение возможно постоянной работы данного процесса в системе. То есть, злоумышленнику необходимо, чтобы процесс, с помощью которого он может получи...

Взлом Seedr. Райтап — победитель Pentest Award в номинации «Пробив» Для подписчиковВ этой статье я расскажу о том, как я связал в цепочку несколько проблем безопасности с целью удаленного выполнения кода (RCE) на серверах компании VK. Я описал свои шаги в подробностях, чтобы показать, как исследователь мыслит во время обнаружения необычных у...

ESPspectrum прошивка ESPspectrum - проект на основе компьютера ZX spectrum, с собственной простой операционной системой. Это вторая статья проекта ESPspectrum. В данной статье описывается программный код OC. Есть возможность открывать, редактировать, создавать и удалять файлы. Есть калькулятор с...

Padding Oracle Attack на Wallet.dat расшифровка пароля для популярного кошелька Bitcoin Core В этой статье мы воспользуемся классификацией распространенных шаблонов атак из ресурса кибербезопасности [CAPEC™]. В первые об “Padding Oracle Attack” на Wallet.dat заговорили в далеком 2012 году (на платформе по управления уязвимостями и анали...

Что такое СУБД Greenplum? Зачем она нужна в больших проектах DWH? Чем отличается от ClickHouse? Ошибки в построении DWH возникают не только в результате того, что первоначально не были учтены возможные изменения в бизнес-процессах, потребностях и целях компании, но и из-за некорректного выбора стека технологий и СУБД. Порядок хранения данных выбирается в соответст...

Кодогенерация и парсинг TypeScript с помощью typescript Одной из интересных возможностей пакета typescript является то, что он содержит API для генерации TypeScript-кода, а также парсер для работы с написанным на TypeScript кодом. Кодогенерация часто используется для автоматического создания типов для работы с http api (типизация...

[recovery mode] 13 грехов продакт-менеджера Чтобы качественно решать проблемы пользователей, продакт-менеджер должен обладать широким набором компетенций: исследования, аналитика, критическое мышление, управление проектами, коммуникации и так далее.Ошибки в работе неизбежны. Но ошибаться не страшно. Страшно не признав...

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

Как мы отслеживаем просадки FPS в Альфа-Мобайл? Всем привет

[Перевод] 100 промптов для ChatGPT Не стоит ожидать, что в текущем виде ChatGPT способна проделать за вас работу, поскольку она еще слишком нова и наивна, хотя и учится и совершенствуется с каждым днем. При этом он вполне может помогать искать ошибки в коде и быстро сгенерировать простой код. Но для выполнени...

[recovery mode] Развертывание программного комплекса на Asp.net на российских ОС В России все больше пользователей и организаций используют российские Linux системы. Но при подготовке пакетов для комплексных решений на этих системах могут возникнуть сложности, связанные с несовместимостью ПО, необходимостью настройки пакетов и т.д. В этой статье рассмотр...

Как автоматизировать проверки данных в Airflow с Great Expectations Привет, меня зовут Дима Курганский, и я - MLOps инженер в команде машинного обучения в Банки.ру. Эта статья будет интересна, тем кто понимает принципы работы с Great Expectations и его составляющие компоненты и хочет вывести его на прод с использованием Apache Airflow. Читат...

@Scheduled + @Async (в Spring Boot) Недавно отвечал на вопрос почему аннотации @Scheduled и @Async иногда используют вместе, данный вопрос попался человеку на собеседовании.Многие начинающие разработчики на java не до конца понимают в каких потоках происходит выполнение программы в таком случае.В данном матери...

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

Как мы делаем общие библиотеки Сегодня я хотел поговорить о том, как мы выстраиваем процесс работы с общими библиотеками разработки. Я расскажу о нашем подходе, который позволяет соединить процессы, команды и инструменты в единое целое. Статья будет интересна тем, кто сопровождает, создает или интересуетс...

Расчёт вкусов пользователя для ленты рекомендаций с применением item2vec-подхода Ежемесячная аудитория ОК только в России превышает 36 млн человек. Причём это активные пользователи, которые хорошо взаимодействуют с нашим контентом: ставят Классы, комментируют, делают репосты. Залогом активного отклика во многом является формирование новостной ленты с уче...

[recovery mode] Делаем JavaScript компилируемым с помощью llvm.js В данной статье мы рассмотрим мощный проект - llvm.js и расскажем, что он представляет из себя. Также мы научимся создавать компилируемый язык программирования на основе JavaScript. Хотя в этой статье мы сфокусируемся именно на JavaScript, ознакомившись с процессом, вы сможе...

Что не увидит SCA Всем привет!

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

Жизнь без линтеров и расчет цены абстракции: материалы для разработчиков на С++ В марте мы собирались на митапе по С++ в Санкт-Петербурге. Для всех, кто не смог присоединиться к встрече, подготовили записи докладов и дискуссии с экспертами из YADRO, VK и Kaspersky, а также создателем Sprinx Андреем Аксёновым. Почему стоит сохранить подборку в закладки:•...

Как в СУБД реализовать администратора без прав доступа к данным В СУБД-строении есть не новая, но не теряющая актуальности задача. Сформулировать её можно примерно так: как убрать возможность суперпользователя взаимодействовать с данными, но оставить ему все возможности по управлению СУБД? Эта функция затребована не только большими компа...

WS, но лучше Привет, Хабр! В этой статье я хотел бы рассказать о методе работы с WebSocket, который я часто применяю в своих разработках. Если кратко, WebSocket — это, пожалуй, самое частое, что я использую в своих проектах. Мне очень важно, чтобы сервер мог общаться с клиентом в двустор...

Рассматриваем мифический фреймворк C2 Mythic. Часть 1 Привет Хабр, на связи лаборатория кибербезопасности AP Security. В этой статье мы продолжим разбирать C2-фреймворки. На этот раз, мы будем изучать относительно новый фреймворк под названием Mythic. Приятного прочтения! Читать далее

Создаем свой диалект змеиного, или DSL на Python Допустим, у нас есть некоторое исполнительное ядро и множество пользователей, владеющих Python на уровне «изучи его полностью за неделю», которые хотят решать задачи своей предметной области, с минимальными усилиями используя сервисы ядра. Мы, как разработчики ядра, хотим, с...

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

Как сделать NeoVim самым удобным текстовым редактором: туториал по настройке В этой статье затронем редакторы семейства Vi и разберем базовые сценарии работы с NeoVim. Начинающие специалисты смогут использовать материал в качестве туториала, а опытные разработчики, возможно, отметят для себя что-то новое.Почему именно NeoVim? Всё просто: этот те...

Кулинарный гид по Vue.js: всё о props Привет, Хабр! В этой статье разберемся, как frontend-разработчику готовить на «кухне» props. Выбирайте подходящий уровень сложности: джуны-поварята смогут лучше разобраться в работе и применении props на фреймворке Vue.js, а еще мы затронем тему валидации. Для мидлов и более...

Войти в ИТ после 45-ти: личный опыт смены профессии Привет, Хабр! Меня зовут Базянова Зиля, я работаю ведущим инженером Блока обеспечения и контроля качества выпуска изменений ПО в РСХБ-Интех. В статье хочу затронуть вопрос касательно смены профессии в возрасте 45+ и поделиться своей историей. Читать далее

Аналитик vs. презентация задачи. Изучаем профессионально-деформационные диалекты коллег Привет =) На связи снова Анастасия-аналитик из команды STM Labs со своей любимой темой «мягких» навыков. В статье про собеседования (первая часть тут, вторая тут) я сравнила аналитика с переводчиком с бизнесового языка на разработческий. Или наоборот.Недавно у нас на работе ...

Модульные механики на Unity Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье хотел бы рассказать, как можно делать модульные механики для игровых объектов, за счет разделения данных и логики без ECS. Читать далее

Система водяных «тёплых полов» в квартире и частном доме. Что нужно знать, чтобы не пожалеть о содеянном? «Тёплые полы» в квартирах- это модная тема в ремонте ещё с 1990-х.Сейчас тема сильно развилась, так как резко увеличилось количество специалистов, желающих такие полы построить из современных материалов.Многие владельцы квартир хотят устроить тёплые полы с подключением к общ...

Typescript ENUM — баланс использования Привет Всем. Меня зовут Михаил. В НЛМК нахожусь на должности Frontend-разработчика.  Занимаюсь разработкой внутренних информационных систем на React + Typescript. В этой статье поговорим про тип enum (перечисление) в Typescript, о случаях когда его можно и нужно исп...

[recovery mode] Как вести несколько проектов и не сойти с ума. Очередная статья про тайм-менеджмент Привет! Меня зовут София, я маркетолог проекта Fitil, в блоге которого публикую эту статью. Fitil — это сообщество для знакомств и общения. Мы стартап, а значит, задач очень много.Кроме Fitil я веду ещё два проекта как маркетолог: занимаюсь позиционированием, запусками ...

Persistent-request библиотека для надежных запросов Всем привет!В этой статье расскажу, как решил написать библиотеку https://packagist.org/packages/xman12/persistent-request и что там внутри.Как и любая библиотека, эта решает свои задачи, а именно гарантированное выполнение запроса и последующую обработку. Я находил, как мин...

[Перевод] Объяснение режимов работы Run, Stop и Program центрального процессора ПЛК Программируемые логические контроллеры (ПЛК) можно перевести в режим «Пуск» (Run) или «Стоп» (Stop), а иногда и в режим «Программирование» (Program) обычно с помощью физических или виртуальных методов. Но что означают эти режимы и когда их ...

От хаоса к порядку. Как мы внедряем стандарты в CDEK Привет, Хабр! Меня зовут Олег Бондарь, я архитектор решений в CDEK. В этой статье расскажу о стандартах — сводах правил и требований, которые позволяют всем участникам процесса быть в общем контексте, действовать единообразно и совершать меньше ...

Статический анализ структуры базы данных (часть 2) Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при перв...

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

Автопровижининг телефонов Yealink. Часть 3 Мы продолжаем публикацию цикла статей, посвященных автопровижинингу IP-телефонов Yealink. Первая часть цикла была посвящена обзору функции автопровижининга, во второй части рассмотрен принципы работы с конфигурационными файлами. Завершающая статья цикла посвящена практическо...

Порядок расчета платежей за ввоз автомобилей в РФ изменится 1 апреля 2024 Правительство Российской Федерации вносит изменения в процесс расчета платежей за автомобили, ввозимые из других стран Евразийского экономического союза (ЕАЭС), С 1 апреля текущего года. Если таможенная стоимость автомобиля была занижена в стране экспорта, то при ввозе ...

Как я решал Advent of Typescript, и что я понял Возможно вы слышали про Advent of Code — ежегодное соревнование по решению задач на рождественскую тему. Начиная с 1 декабря, вплоть католического рождества, каждый день выкладывается новая задача. С каждым днем сложность задач возрастает.В дека...

Квитанции как способ отражения сделанной работы на уровне типов Функциональное программирование одной из целей ставит отражение логики программы в типах входных/выходных значений функций. Типы аргументов и результатов накладывают существенные ограничения на то, как может быть реализована функция. Тем самым, позволяют делать разумные выво...

Вышла macOS Sonoma 14.4.1. Какие ошибки Apple в ней исправила и стоит ли ее устанавливать Apple старается регулярно выпускать новые прошивки не только для своих смартфонов, планшетов и умных часов, но и для компьютеров Mac. Новых функций в них бывает немного, зато исправляются некоторые уязвимости, выявленные разработчиками компании и не только ими. Однако, как ...

Цифровой рубль набирает обороты: более 10 000 транзакций и глобальные перспективы в 2024 За три месяца пилотной программы цифрового рубля, участники проекта осуществили более 10 000 операций, заложив основу для будущего расширения и международных расчетов

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

Увеличиваем объем накопителя с 32 до 256 ГБайт для нетбука Asus E200H Всем привет.Недавно мне попался в руки нетбук Asus E200H, и я его хотел его использовать для как портативный компьютер для работы c высокоточным оборудованием. В рамках данной статьи мы проведем эксперимент по замене штатного eMMC накопителя 32 ГБайт на 256 ГБайт и протестир...

Как обнаружить хакера на этапе дампа учетных данных в Windows? Одна из самых часто используемых техник при атаках — получение учетных данных из операционной системы. В этом можно убедиться, читая аналитические отчеты различных компаний: техника T1003 OS Credential Dumping в подавляющем большинстве случаев входит в ТОП-5. После прон...

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

Security Week 2347: уязвимость в процессорах Intel На прошлой неделе компания Intel выпустила бюллетень, посвященный уязвимости в процессорах, начиная с поколения Ice Lake 2019 года (десятое поколение Intel Core). Как следует из описания, «определенная последовательность инструкций может приводить к нестандартному поведению»...

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

[Перевод] Погружение в контейнеризацию Сегодня мы познакомимся с историей возникновения технологии контейнеризации, преимуществами и выгодами ее использования, а также с тем, как она связана с виртуализацией. Статья будет полезна начинающим IT-специалистам. Читать далее

Директор госкорпорации «Ростех» Сергей Чемезов отчитался о выполнении гособоронзаказа Правительство России: обсуждались итоги работы корпорации в 2023 году, а также текущая деятельность, в том числе выполнение гособоронзаказа.

Как прошло обновление курса «Python-разработчик»: новые сюжеты, Pytest и переработка алгоритмов Привет! Это команда курса «Python-разработчик». Недавно мы провели рефакторинг — большое обновление программы. Для этого мы изучили фидбек студентов, выявили точки роста и актуализировали набор технологий исходя из запросов рынка.В этом материале мы расскажем, какие изменени...

Медленное выполнение команды TRUNCATE: анализ проблемы блокировок спинлока в SQL Server Приветствую всех читателей Хабра! Меня зовут Михаил, я администратор DBA в компании «Автомакон». На данный момент работаю на проекте для «ВкусВилл».Решил затронуть одну из насущных проблем, связанную с работой SQL Server, а именно со спинлоками в нем. Да, даже такой зрелый и...

Обзор продукта «Структура API» и новой функциональности сравнения Open API спецификаций Всем привет!Сегодня мы хотим вам рассказать о нашем продукте «Структура API» и последних изменениях в нём. Данный продукт позволяет решить одну из важнейших задач в управлении API – это получение актуальной и полной структуры API на основании реального трафика. Результат пре...

DevOps as a Service. Часть 4. Решаем проблемы развития сотрудников подразделения и управления инициативами Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем. В прошлых статьях мы описали сам подход, показали пути решения различных проблем. Со статьями можно ...

Книга: «Сам себе тестировщик. Пошаговое руководство по тестированию ПО» Привет, Хаброжители! Чтобы стать успешным тестировщиком ПО, необходимы глубокие знания основ и опыт тестирования, который можно получить, поработав над реальным проектом. Эта книга научит вас и тому и другому. Сначала вы познакомитесь с основами тестирования ПО, а затем пер...

Как сделать нейросети ассистентом SMM-менеджера: наш опыт Нейросети в маркетинге сегодня используют не только из-за высокой скорости решения задач и их относительной дешевизны по сравнению с целой командой специалистов, но и потому, что это стало модным. Логотип, нарисованный Midjourney, или презентация, написанная с помощью ChatGP...

Нет, мы так не работаем В предыдущем примере я затронул самый рискованный и простой способ отказаться от чего-либо – сказать: «мы так не работаем». Хотят вашу команду засунуть в лютый стафог – мы так не работаем; хотят внедрить непонятные решения – мы так не работаем. Сказали, отказались, всё по кр...

Подписываем образы контейнеров с помощью cosign, garantir и skopeo Открытые контейнерные платформы, такие как OpenShift, стали неотъемлемой частью современной разработки и управления приложениями. Они обеспечивают удобство и надежность развертывания приложений в контейнерах, обеспечивая изоляцию, масштабируемость и управление ресурсами. Одн...

NAS и SAN: основные характеристики, принцип работы и применение решений Сетевое хранилище (NAS) и сети хранения данных (SAN) — это два ключевых подхода к организации хранилища в сети, которые позволяют пользователям обмениваться данными независимо от их местоположения, что особенно актуально для работы геораспределенных команд.Несмотря на то, чт...

Почему умирает твой пет-проект? Привет, Хабр! В своей статье я хотел бы поделиться мыслями в формате нескольких коротких историй о том, почему большинство пет-проектов остаются где-то на маленькой свалке в гите. Возможно, пет-проекты и не должны быть завершены. Читать далее

Что делать, чтобы эксплуатация не превратилась в бесконечное тушение пожаров Меня зовут Владимир Медин, я работаю в подразделении SberWorks, которое внедряет практики DevOps и MLOps. Хочу поделиться нашим опытом повышения надёжности enterprise-систем, вводимых в эксплуатацию, особенно впервые. Для кого-то эта статья будет в большей степени спасательн...

Работаю на стройке, чтобы писать статьи на Хабре В этой статье я хотел бы совсем чуть-чуть порассуждать о том, с какими намерениями авторы приходят на Хабр, а также рассказать вам чем занимаюсь лично я, чтобы быть одним из авторов Хабра. Читать далее

Что такое квази-кэш по карте Владелец банковской платежной карты (БПК) часто не знает всех комиссий банка. Например, клиент совершив онлайн-перевод, обнаруживает, что с его счета списано вознаграждение, так как операция отнесена к категории quasi-cash (квази-кэш). Причем комиссия может быть больше суммы...

[Перевод] На пути к 1-разрядным моделям машинного обучения В последнее время активно разрабатываются технологии экстремально малоразрядного квантования, например, BitNet и 1.58 bit. Они пользуются большим интересом в сообществе машинного обучения. Основная идея данного подхода заключается в том, что перемножение матриц с кванто...

Замыкания и декораторы в Python: часть 2 — декораторы Уважаемые читатели, рад вас приветствовать в новой статье. Этот материал является продолжением предыдущей публикации, посвященной замыканиям. В данной части обзора мы углубимся в тему декораторов.Эта статья написана в первую очередь для тех, кто только начинает свой путь в п...

Рассчитываем рейтинг товара на основе оценок пользователей с KafkaStreams и OpenSearch Всем привет! Меня зовут Александр. Последний год тружусь фрилансером на проекте по созданию очередного маркетплейса. Мои задачи включают разработку скоринговой системы продуктов, которая бы позволяла формировать выборку товаров по популярности на основе нескольких показателе...

Трансляция графических HANA Calculation View в SQL, или как переехать так, чтобы ничего не поменялось Повинуясь всеобщей тенденции и следуя духу времени, мы в Норникеле переводим расчёты нашего хранилища на уровень БД. Так мы ускоряем обработку данных и формирование отчётности, да и система работает стабильнее. Но пока мы оптимизируем и переносим "классический" код в базу, з...

Бьемся с индексацией парных неравенств в планах PostgreSQL Я уже не раз писал, что условия с несколькими неравенствами (<, <=, >=, >) обычно плохо подходят для индексирования "классическим" btree, вызывают "тормоза", и необходимо придумывать различные нетривиальные подходы в PostgreSQL, чтобы добиться хорошей производите...

[Перевод] Timed wait events in PostgreSQL перевод второй статьи известного специалиста в области Oracle Фрица Хугланда на тему трассировки postgresql при помощи bpftrace (первую статью я перевёл ранее см. Использование bpftrace для трассировки выполнения запросов в postgres) Читать далее

[Перевод] Векторные представления — что это такое, и почему в них важно разбираться Векторные представления (эмбеддинги, векторы) – это по-настоящему приятный инструмент, но в любом рассказе о векторных представлениях эта техника скрыта за ворохом каких-то страшных словес.Если вам удастся продраться через эти словеса, то вы откроете для себя мощные и интере...

Telegram показывает удаленные сообщения Несколько дней назад я обнаружил, что Telegram приложение на Windows показывает давно удаленные чаты. При том, что их не было видно ни на телефоне, ни в Linux клиенте. Я поделился этим с друзьями, которые увидели то же самое. Для оптимизации работы серверов, чаты разделены н...

История одной уязвимости в Google Chrome Эта статья посвящена уязвимости, которую мне удалось обнаружить в браузере Google Chrome в конце прошлого года, а также рассказывает об истории её возникновения. Уязвимость существовала в течение продолжительного периода и была устранена 31 октября 2023 года. Компания Google...

Cамое большое обновление со времён первого iPhone? iOS 18 будет нести огромное количество изменений и новых функций Возможно, линейка смартфонов iPhone 16 уже сейчас не выглядит, как нечто заметно новое, но вот iOS 18, согласно свежим данным, точно будет сильно отличаться от предшествующей версии.  Как сообщается, новая версия iOS, которую Apple представит на мероприятии WWDC 2...

Как устроено пространство, в котором думают языковые модели? С момента выхода первой статьи «Attention is All You Need» я с жадностью и любопытством, присущими любому исследователю, пытаюсь углубиться во все особенности и свойства моделей на базе архитектуры трансформер. Но, если честно, я до сих пор не понимаю, как они работают и поч...

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

Как перестать работать в выходные и наконец-то научиться делегировать: опыт одного тимлида Всем привет, меня зовут Иван Михеев, я Chief Technology Officer маркетплейса авторских туров YouTravel.me, где руковожу разработкой, поддержкой и всем, что связано с технической частью бизнеса. Сегодня я хочу вам рассказать о том как делегирование влияет на эффективность ком...

Практическая магия Istio при построении архитектуры крупных микросервисных систем. Часть 1 — функциональная Под Новый Год мы с женой пересматриваем одну популярную магическую сагу — хочется знаете ли в жизни волшебства. В IT волшебства тоже хватает — от танцев с бубнами до самых современных технологий, принцип работы которых проще объяснить тёмной магией. Так, например, бытуе...

[Перевод] Сколько строк на C нужно, чтобы выполнить a + b в Python? В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсбер...

Современный junior frontend developer на двух работах уровня middle с общей ЗП 400к. Реальность ли в 2023 году? Привет. Большая и длинная история, которая только в самом конце превращается в историю успеха. Рекомендуется всем, кто хочет войти в ИТ или уже там. Читать далее

Как правильно настроить Console Cloud Google для индексации страниц через API В статья я постарался подробно описать настройку сервиса Console Cloud Google, который необходимо для быстрой индексации страниц в поисковой системе Google. Читать далее

Собеседования аналитиков: кого, куда, как и почему (и чтобы что!). Часть 2 Вторая часть масштабной статьи про собеседования. Первая — тут. В прошлый раз мы поговорили об идеальном кандидате в вакууме, а также о презентационной части собеседования. Здесь же будем говорить про техническую часть и про ...

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

Параллельное выполнение в R Привет, Хабр!Параллельные вычисления – подход к проектированию и выполнению программ, который позволяет ускорить обработку данных и вычисления, используя множество процессоров или ядер процессора одновременно. В ЯП R паралельное выполнение также имеет свои варианты реализаци...

HashiCorp обвинила сообщество OpenTofu в краже кода Terraform, но что-то пошло не так 3 апреля на сайте InfoWorld вышла статья известного публициста на тему Open Source и юриста Matt Asay под названием «OpenTofu, возможно, демонстрирует нам, как не надо делать форк». Лидер-абзац в статье довольно жёсткий: Не согласны с лицензией? Просто сделайте форк про...

Диск – это лава. Исследуем методы выполнения пейлоада в памяти Ни для кого не секрет, что во время пентестов атакующим приходится использовать готовые инструменты, будь то нагрузка для Cobalt Strike, серверная часть от поднимаемого прокси-сервера или даже дампилка процесса lsass.exe. Что объединяет все эти файлы? То, что все они давным-...

[Перевод] GPU-вычисления в браузере на скорости нативного приложения: марширующие кубы на WebGPU WebGPU — это мощный GPU-API для веба, поддерживает продвинутые рендеринговые конвейеры и вычислительные конвейеры GPU. WebGPU ключевым образом отличается от WebGL своей поддержкой вычислительных шейдеров и буферов хранения данных. В WebGL такие возможности отсутствуют, а Web...

Unreal Engine 5: Nanite — Z-тест для самых маленьких Доброго времени суток,Неожиданной для себя, обнаружил, что по какой-то причине, присутствует не так много содержательных статей о работе технологий Unreal Engine 5 на русском языке. Я решил исправить эту несправедливость. И чтобы не повторятся с англоязычными статьями или не...

Велосипедим связанный список на Wolfram Возможно 11 подписчиков моего блога обратили внимание на тот факт, что все мои статьи касаются языка Wolfram, а несколько последних статей вышли довольно громоздкими. Одна из последних статей была помечена Хабром как требующая в среднем 32 минуты на прочтение. Я посчитал, чт...

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и погово...

Как выбрать первую механическую клавиатуру. Пособие для новичка Попросили меня друзья\коллеги рассказать про первые шаги и выбор механики для работы и жизни. Решил поделиться и с Хабром статьёй о том, как выбрать себе первую механическую клавиатуру.В статье отвечу на вопросы о том, что такое HotSwap board, что за проценты в размерах клав...

В МАИ создали нейросеть для ускорения расчётов в авиации Российские учёные разработали нейросеть, которая облегчит авиационные расчёты

MoonShine 2.0. Что нового? Последние полгода наше комьюнити CutCode работает над новой версией нашей open-source админ-панели MoonShine. И вот недавно состоялся релиз MoonShine 2. Давайте пройдемся по всем значимым изменениям! Конечно, в одной статье я не смогу осветить все нововведения, но попробую с...

[Перевод] Что такое API-шлюзы и Gateway API и почему за ними будущее нативных облачных приложений В этой статье мы рассмотрим, почему API-шлюзы стали ключевым элементом экосистемы современных облачных вычислений и как появление Kubernetes API Gateway упростило и стандартизировало работу с ними. Статья составлена на основе сразу двух англоязычных материалов. В первом...

Программист мало пишет, но много читает Здравствуйте, меня зовут Александр, я backend-разработчик. Цель данной публикации – проанализировать затраты времени при разработке приложений. Расчеты приведены на основе web приложений на языке Python. Так же не рассматривается ситуация разработки MVP для получения различн...

OpenAPI/Swagger для начинающих Эта статья в основном для аналитиков, которые впервые сталкиваются с необходимостью описания запросов в Swagger, но может быть полезна всем, кто хочет разобраться или ищет подсказку. Читать далее

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

Готовим Telegram Mini App без туннеля и с Hot Module Reload на React, TypeScript В этой статье разберем как собрать комфортную девелопмент среду для разработки Telegram Mini App. Под комфортом я понимаю ситуацию когда тебе не нужно выгружать свое приложение в облако, чтобы увидеть результат работы в телеге, или запускать туннель типа ngrock, который посл...

[Перевод] Анатомия Hello World на языке C Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хо...

DR, SDN, V2V: обзор свежего релиза платформы виртуализации zVirt 4.1 Хабр, привет! На связи Алексей Зотов из К2Тех, и сегодня я хочу поговорить об одном из российских решений для виртуализации. Сегмент этот в каком-то смысле уникален. Если в целом по рынку заказчик выбирает между 5–6 отечественными продуктами для решения задачи импортозамещен...

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

Как узнать сколько времени осталось до полной зарядки iPhone С момента выхода самого первого Айфона владельцы смартфонов Apple, подключающие их к зарядному устройству, никогда не знали, сколько времени уйдет на полную зарядку. Например, Самсунги умеют показывать эту информацию на экране блокировки, а модели, поддерживающие Always On ...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

Необходимая защита и вооружение для БТР: история с 1936 по 1960 год. Часть 1 Статья рассматривает историческое развитие боевых транспортёров, начиная с их появления в 1936 году и до 1960 года. В статье подробно описывается эволюция защитных систем и вооружения на популярных моделях БТР.

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

Python, Go или… готовим сырой видеопоток с полсотни камер В проектах, связанных с машинным зрением и обучением приходится работать с сырым видеопотоком с камер. Чтобы принимать, предобрабатывать и передавать эти данные нейросетям необходим отдельный программный компонент, который мы условно называем «видеоридер». Это микросервис, к...

Как выбрать правильный стат тест для разных метрик Привет, Хабр!Статистические тесты позволяют анализировать большие объемы информации, выявлять закономерности, которые могут быть неочевидны на первый взгляд, и проверять гипотезы, делая выводы на основе данных. Они также помогают минимизировать ошибки, связанные с выборкой и...

Человек против ИИ в играх: история противостояния Такие игры, как шашки, шахматы, го, представляют собой сложные задачи, требующие высокого интеллектуального уровня. Разработка ИИ, способного с ними справиться, помогает исследователям понять принципы принятия решений, поиска оптимальных стратегий. Они могут обучать на играх...

[Перевод] Когнитивные искажения, о которых стоит помнить Из-за когнитивных искажений мы иногда принимаем иррациональные решения, а также выносим суждения на основе информации, которую мы обрабатываем. Фактически, когнитивные искажения — это запрограммированная ошибка в нашем мозге.Также их можно представить как простые правила, ко...

Профилирование асинхронного Python Профилирование приложений — это процесс анализа программы для определения её характеристик: времени выполнения различных частей кода и использования ресурсов.Для асинхронного python-кода существует конечное количество специфических "узких мест", которые лучше перечислить зар...

Про будни инженера поддержки сложных решений для защиты ИТ-инфраструктуры Всем привет! Мы (Олег Герцев и Лиля Кондратьева) работаем в сервисном центре Positive Technologies и отвечаем за поддержку MaxPatrol SIEM и MaxPatrol VM соответственно.Мы не только обрабатываем более десяти тысяч заявок в год, но и активно развиваем экспертизу клиентов и пар...

Как нашли бэкдор в радиосвязи TETRA — подробный разбор Неприступных крепостей не бывает. Опасную брешь, то есть бэкдор, недавно обнаружили в шифрованном стандарте радиосвязи TETRA. А ведь он вот уже 25 лет используется военными, экстренными службами и объектами критической инфраструктуры по всему миру. Самое интересное, что на т...

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

Основы Identity and Access Management (IAM) в архитектуре приложений Привет, Хабр!С каждым годом мы становимся свидетелями все большего количества сбоев в системах безопасности, утечек данных и хакерских атак даже на самые маленькие проекты.Identity and Access Management (IAM) выступает как наша первая линия обороны. Оно не просто защищает на...

[Перевод] Погода для Windows Phone 7. Работа с XML Об авторе: Паси Маннинен разрабатывает мобильные и веб-приложения, является Чемпионом Nokia Developer и Профессионалом Adobe Community, сертифицированным экспертом и преподавателем Adobe по Flex, Flash и Flash Mobile. Окончил магистратуру Университета Ювяскюля (одного из кру...

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

Typescript: принцип подстановки функций По аналогии с принципом LSP из ООП, при работе с функциями в Typescript стоит придерживаться следующего принципа:Принимая колбэк с меньшим числом аргументов, оборачивайте его, прежде, чем передавать его далее в качестве колбэка с большим числом аргументов. Почему это так?

Автоматизация скачивания документов из контрактов с площадки ЕИС при помощи Python В настоящее время информация о государственных контрактах является важным ресурсом для многих исследований и аналитических работ. Однако сбор этой информации может быть трудоемким процессом, особенно когда речь идет о большом количестве контрактов. В этой статье мы рассмотри...

Parameter-Efficient Fine-Tuning (PEFT): методы LoRA, Prefix tuning, Prompt tuning и Adapters На сегодняшний день созданы разные большие языковые модели (LLM), которые показывают превосходные результаты, но для раскрытия их полного потенциала необходимо дообучение для точного решения конкретных задач. Традиционный метод файнтюнинга, при котором настраиваются все пара...

Эволюция BP-сервиса компании Магнит Как на сервисе весом в 10 ТБайт ежедневно обрабатывать 1 Тбайт пользовательских данных и спать спокойно.В статье описана эволюция системы управления процессами в компании «Магнит». Некоторые детали были упрощены для лаконичности и последовательности повествования, некоторые ...

[Перевод] Что такое платформенная инженерия: как она связана с DevOps и SRE? Появление новых ролей и обязанностей в IT и разработке сильно повлияло на работу современных компаний. Одно из направлений, которое с каждым годом становится популярнее, — платформенная инженерия. В этой статье разберемся, что это такое, почему важность ПИ растет и какое отн...

Книга «Blazor в действии» в правильном переводе команды DotNetRu Совместно с издательством ДМК Пресс мы, сообщество DotNetRu, рады сообщить об окончании работы над переводом новой книги «Blazor в действии» Криса Сэйнти.Получив первоначальный перевод от издателя, мы в сообществе постарались откорректировать текст и перевод так, чтобы перев...

Расслоение Хопфа и квантовая механика В математике существует очень интересная тема, которая носит название "расслоение Хопфа". В 1931 году Хайнц Хопф опубликовал свою работу об открытой им в топологии конструкции, получившей в истории название "Hopf fibration" - расслоение Хопфа. Суть этой конструкции, была о...

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

[Перевод] Новое в SQL Server 2022: улучшаем масштабируемость с Buffer Pool Parallel Scan Параллельный просмотр (сканирование) буферного пула — это новая функция SQL Server 2022, призванная обеспечить лучшую масштабируемость и значительно повысить производительность обслуживания вашей рабочей нагрузки.Буферный пул — это область оперативной памяти, которую SQ...

[Перевод] Как работают трансформеры: разбираем математику В этом посте я представлю подробный пример математики, используемой внутри модели трансформера, чтобы вы получили хорошее представление о работе модели. Чтобы пост был понятным, я многое упрощу. Мы будем выполнять довольно много вычислений вручную, поэтому снизим размерность...

1989: Марс атакует или символы-фантомы оранжевой плазмы лэптопа Toshiba T3100E Здравствуйте, уважаемые ценители старого компьютерного железа! Бывает такое, что попадаются экземпляры ретро-техники, мимо которых нельзя равнодушно пройти мимо. На мой взгляд, описываемый далее лэптоп Toshiba T3100e относится к данной категории. Первое, что бросается в...

Проектируем микросервисы с Reactive Manifesto Работаете с распределенными системами или только пытаетесь к ним подобраться? Проектировать такие системы с нуля бывает сложно и страшно: чтобы учесть все нюансы, нужен определенный багаж знаний. На помощь приходит Reactive Manifesto — документ, который обобщил опыт цел...

Эволюция системы разработки на SQL Мы — SQL команда Срочного рынка Московской Биржи, занимаемся разработкой и сопровождением бэкофиса торгово-клиринговой системы Spectra с момента ее возникновения. Срочный рынок Московской Биржи — это более 500 фьючерсных и 30000 опционных инструментов, несколько миллионов сд...

Самые неудачные видеокарты от Nvidia за всю историю компании: 5 худших моделей Nvidia — весьма успешная корпорация, одна из самых богатых в мире. За её продукцией, в особенности чипами вроде H100 и A100, выстраиваются очереди из представителей Google, Microsoft и т. п. Всё это говорит о том, что руководство Nvidia понимает, как правильно работать,...

Крупнейшая атомная стройка в мире «Аккую» на 98% не зависит от импорта. Потенциал локализации составляет $6,5 млрд Всё чаще появляются новости об атомной электростанции «Аккую», строительство которой осуществляет АО «Аккую Нуклеар», дочерняя компания госкорпорации «Росатом» на условиях build-own-operate, по соглашению между правительствами Ро...

Память как у пингвина: Работа памяти в Linux Что такое память и какие они бывают в Linux? Как с ней взаимодействовать? Каковы её особенности?Что такое кластеры, откуда в ядре Linux грязные и чистые страницы - читайте в этой статье! Читать далее

Алгоритм Diffie-Hellman: Пишем приватный мессенджер на Go Это продолжение прошлой статьи про данный алгоритм. Где я рассказывал про возможность общения между двумя пользователями без прямого обмена ключом шифрования. Я уже описывал идею создания прозрачного Open-Source мессенджера на основе этого алгоритма и хочу представить вам ег...

Attention is Not All You Need: как менялась архитектура трансформера С момента выхода оригинальной статьи про трансформер прошло уже больше 7 лет, и эта архитектура перевернула весь DL: начав с NLP архитектура теперь применяется везде, включая генерацию картинок. Но та ли это архитектура или уже нет? В этой статье я хотел сделать краткий обзо...

Самодельные инструменты для тестирования продукта, или DIY в разработке Все мы привыкли к общепринятым инструментам для тестирования. Думаю, список есть у каждого и он постоянно пополняется. Лично мой: Postman, IntelliJ IDEA и DataGrip от JetBrains, ShareX для скриншотов и его величество DevTools. В этой статье я хотел бы отдать дань само...

Роль тест-лида в контексте скрам команд Скрам команды подразумевают высокий уровень самостоятельности. Ответственность за доставку, процессы разработки и тестирования лежат на команде. Ответственность за качество — так же на команде. Команда несет ответственность за то, как они выполняют работу и достигают результ...

Windows 11 максимально ускорили, но сделала это не Microsoft Фото — atlasos.net Выпуская Windows 11 в середине 2021 года, Microsoft сообщала, что это будет операционная система, которая сможет удовлетворить даже требовательных пользователей, которые ищут плавности работы и скорости выполнения задач, а также окажется и идеальным реше...

Костыли из 90-х и принцип HTML First Кадр из презентации Frontmania 2022: Kilian Valkhof — Stop using JavaScript for that Недавно на Хабре публиковался перевод статьи «Вам не нужен для этого JavaScript» с примерами, где код JS легко заменить на HTML. На самом деле возврат к основам HTML, простым сайтам и чи...

Приручаем нейросети Давно не виделись, уважаемые! Ну что ж, рад вас видеть, сегодня будем говорить и применять новые инструменты для создания RAG, улучшим качество наших результатов относительно прошлой статьи за счет использования других моделей для embeddings. Также затронем использование тру...

Сравнительный анализ методов аппроксимации на основе SQL-запросов При работе с данными часто приходится сталкиваться с ситуацией, когда имеется некоторая функциональная зависимость yi = f(xi), которая получена в результате эксперимента или сбора статистики. То есть исходные данные представлены набором точек (x1, y1), (x2, y2) … (xn, yn), г...

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

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 1: теория Всем привет! Меня зовут Александр Волков, я занимаюсь интеграционным и компонентным тестированием в YADRO. В числе продуктов компании есть системы хранения данных и, говоря о тестировании, я буду иметь в виду в первую очередь работу с СХД. Однако описанные подходы пригодятся...

Работа с очередями в RabbitMQ на основе EAV-модели: превращаем плоское в реалистичное Мы добавили реалистичные дороги в навигатор 2ГИС. Теперь дорожное покрытие, разметка, объёмные развязки, съезды, островки безопасности и опоры на многоуровневых дорогах выглядят как в жизни. Под капотом — решение задачи по превращению «плоской» геометрии в объекты с реалисти...

Я мыслю MOV EAX, 1 Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы ...

Почему мы тянем время: ученые изучили негативное мышление Вы когда-нибудь ощущали непреодолимое желание задвинуть выполнение задачи еще дальше в список дел? Оказывается, промедление — это не просто лень. Новое исследование указывает на тесную связь между негативным отношением к делу и нашей склонностью откладывать его на потом.

API vs ABI: разницу видят не только лишь все Привет, дорогой читатель! Думаю, ты точно знаешь, что такое API и как сделать, чтобы твои изменения были API-совместимыми. На самом деле я сам никогда не задумывался, что существует ABI-совместимость, до момента, пока не столкнулся с разработкой библиотеки. У нас в компании ...

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество ...

Учёные научили роботов «здравому смыслу» Инженеры Массачусетского технологического института (MIT) разработали метод, который позволяет роботам логически адаптироваться к различным ситуациям при выполнении домашних задач. Они соединили данные о движении робота с «здравым смыслом», полученным из больших языковых мод...

Использование LLM в автоматизации рутинных задач Всем привет!На связи Георгий Бредис, Deep Learning Engineer из команды Intelligent Document Processing в SberDevices. Наша команда занимается задачами автоматизации бизнес-процессов путем извлечения информации из неструктурированного контента и созданием сервисом суммаризаци...

Векторные базы данных: простым языком про устройство и принцип работы Только изучили один инструмент, как сразу же появились новые? Придется разбираться! В статье мы рассмотрим новый тип баз данных, который отлично подходит для ML задач. Пройдем путь от простого вектора до целой рекомендательной системы, пробежимся по основным фишкам и внутрен...

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

Гайд по фарму 1,000 XP в Helldivers 2 за 5 минут Прокачка в Helldivers 2 даёт доступ к новым технолог mortar sentry иям и пушкам, но так как не все могут целыми днями сидеть перед экраном и фармить XP, игроки нашли быстрый и простой способ. Для начала нужно создать группу с друзьями минимум из 2 человек. Оптимально создат...

6 важных принципов GDPR Привет, Хабр!Сегодня я хочу поговорить о GDPR – регуляции, которая изменила понимание приватности данных в Европе и за ее пределами. На первый взгляд, GDPR может показаться очередной бюрократической головной болью, но на самом деле это очень большой шаг в сторону уважения и ...

Как провести unit-тестирование Flink-операторов: TestHarness Привет всем, на связи снова Александр Бобряков, техлид в команде МТС Аналитики. Продолжаем цикл статей про фреймворк Apache Flink.Напомню, в предыдущих частях я рассказывал про построение пайплайна Kafka-to-Kafka с промежуточным разделением потока и дедупликацией событий. Та...

[Перевод] Как Microsoft DevDiv использует TFS — часть 2 Одной из проблем, с которой Майкрософт столкнулся при работе с большими объемами данных, была такой: когда мы управляли 1200 различными тех. заданиями, все они работали на основе единого базового кода. При таких объемах невероятно трудно управлять качеством базового кода, по...

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

Мегагайд: культура работы с Git Привет всем! Меня зовут Юля, я фронтенд-разработчик, наставник на курсах по JS и React и организатор профессионального сообщества Tbilisi JS. В Практикуме я помогаю студентам на курсе «React-разработчик».За время работы в разных компаниях и над разными проектами я поняла, чт...

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru. Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри ис...

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

Международные переводы без головной боли: Польза использования Калькулятора IBAN и SWIFT в финансовых операциях Сделайте Международные Переводы Простыми и Надежными с Калькулятором IBAN и SWIFT Беззаботные финансовые транзакции - это желаемый стандарт для каждого, кто имеет дело с международными переводами. Однако, как часто, мы сталкиваемся с головной болью от сложных процессов и нео...

MANIFESTO: Формализуем принципы работы команды Одной из сложнейших задач, но при этом важнейших, для тимлида является построение эффективного взаимодействия внутри своей команды. Почему это так сложно? Потому что команда — это, в первую очередь, люди, которые имеют различные ценностные качества, принципы, компетенции, ст...

Frontend. Чистые и грязные компоненты Здравствуйте!Коротко о чем тут, чтобы вы могли понять, нужно ли оно вам или нет.Тут я описываю то к чему я пришел в разработке именно компонентов и какой подход использую. Материал может быть полезна скорее для новичков и не обязательно в React, потому что этот подход подойд...

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

Как подружить JUnit 5 и Robolectric? Задавались ли вы вопросом, почему Robolectric не работает JUnit 5? В этой статье расскажу, как подружить Robolectric и JUnit 5 и как мы смогли это сделать в команде. Вы узнаете, как запустить JUnit 4 тесты при совместном использовании с JUnit Jupiter с помощью тестовог...

Управляем дыханием и состоянием духа ПрологЭтот текст — очередной пересказ очередного материала от Andrew Huberman, попытка и самому разобраться в прочитанном. Плюс хочу поделиться мыслями с сообществом (self‑promotion) и обсудить/получить критику. А также пригласить поэкспериментироват...

Кратко про лидеров рынка Runbook Automation: Ansible, Puppet, и Chef Runbook Automation — это процесс использования специальных программных решений для автоматизации выполнения повторяющихся задач и процедур, которые в традиционных условиях выполняются вручную операторами IT-систем. RBA находит применение в автоматизации широкого спектра опер...

Автоматизация рутинной деятельности с помощью Security Vision SOAR: практика Андрей Амирах, руководитель отдела технического пресейла Security VisionТимур Галиулин, менеджер по развитию продуктов Infowatch В этой статье мы расскажем о процессе автоматизации рутинной деятельности в одном из подразделений ИБ крупной компании. Исходные данные: подр...

Правила работы с задачами, до которых не доходят руки Я размышлял о недавнем разговоре с руководителем одной из моих команд о важности поддерживать наши бэклоги в чистоте. Мы обсудили как поступать с задачами, которые постоянно откладываются.Я записал свои мысли и делюсь ими с вами. Это довольно распространенная проблема. Задач...

Хороший, плохой, никакой: почему важно проектировать дизайн и как это делать? Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В этой статье я хочу рассказать о том, как мы пришли к проектированию и review плана разработки до начала реализации задачи, что это дало и как повлияло на с...

8 вопросов про CAE: точность, скорость, железо и импортозамещение Последние лет десять я так или иначе участвую в процессе продажи программного обеспечения для инженерных расчётов. Общаюсь с менеджерами по продажам и непосредственно с клиентами, и у меня накопился список вопросов, которые задают чаще всего и на которые зачастую не так легк...

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами В предыдущей статье мы познакомились с основами работы AXI-Stream протокола и модифицировали наш сумматор, чтобы он был совместим с этим интерфейсом. Также было отмечено, что из-за увеличения сложности сумматора встает проблема в его тестировании. Напрямую генерировать все в...

Обновлённая «МойОфис Таблица»: как мы ускорили работу с документами в 50 (и более) раз В МойОфис мы регулярно прислушиваемся к пользователям и совершенствуем продукты с учётом их мнения. Речь не только о пожеланиях, которые мы напрямую получаем от коммерческих заказчиков: не менее внимательно мы анализируем и отзывы хабрасообщества.В одном из хабр-постов автор...

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

Основы тестирования в Go: mock-объекты, fuzzing и property-based testing Привет, Хабр!Golang как ЯП очень хорош для разработки высокопроизводительных приложений. В любом проекте наступает момент, когда нужно проверить, насколько хорошо все работает на самом деле, это можно сделать с помощью тестирования.Тестирование в Go можно выполнять с помощью...

Для работы над неинвазивным глюкометром Apple в своё время создала секретный стартап Avolonte, о котором знало только руководство Большая статья Bloobmerg о планах Apple на сферу здравоохранения включает далеко не только историю о том, как умные часы купертинцев могли бы работать с Android, но в Apple в итоге передумали. К примеру, в статье есть информация о том, чего ждать от Apple Watch в следую...

Ученые разработали новый метод расчета углеродного следа компаний Исследователи из университета Байройта представили новый подход к расчету углеродного следа компаний, сравнив вес продуктов вместо финансовых затрат.

Насколько приблизился Израиль к выполнению своей цели за две недели наземной операции в секторе Газа С момента начала наземной операции израильской армии на палестинских территориях прошло достаточно времени, чтобы сделать вывод, приблизился ли Израиль к выполнению своих целей.

[recovery mode] Каково быть тимлидом и почему они так быстро выгорают Привет, на связи ProductStar! Быть тимлидом — это не просто занимать руководящую позицию в команде. Это значит быть наставником, мотиватором и стратегическим партнером для подчиненных. Как лидер, вы отвечаете за результаты работы всей команды, но ваши обязанности не заканчив...

Как развернуть Minecraft на сервере и сделать бэкап мира Minecraft открывает большие возможностями для творчества. Вы можете реализовать креативные идеи, играть вместе с друзьями и создавать сообщество единомышленников. А будучи администратором сервера — получаете полный контроль над поведением игроков, можете поддерживать поряд...

Kubernetes 1.29: бэкенд на nftables, изменение атрибутов тома и другие фичи Сегодня ожидается выход очередной версии Kubernetes — 1.29. Среди главных изменений — бэкенд на основе nftables для kube-proxy, множественные CIDR для сервисов и функция QueueingHint, которая помогает решить, как повторно ставить поды в очередь. TaintManager стал отдельным к...

Тирания личного бренда в IT Привет Хабр! В своей статье хотел по рассуждать на тему необходимости личного бренда IT специалисту для успешного продвижения по карьерной лестнице. Ведь, когда вы достигните потолка и станете ведущим профессионалом, возникает закономерный вопрос, что делать дальше? Читать ...

FreeIPA vs Samba AD Используя продукты ведущих вендоров, мы не всегда задумываемся о том, что в них реализованы лучшие практики, позволяющие экономить на администрировании, повышать безопасность инфраструктуры и обеспечивать удобство для работы пользователей. Но эти детали, как шило в... мешке,...

Как использовать макросы для систематизации документов «как в Confluence»? Привет! Приятно ведь читать хорошо оформленные статьи на уютном хабре? В которых часть текста спрятана под катом, есть подписи к картинкам, красивые и понятные таблицы и все остальные плюшки? Я думаю очень приятно. Поэтому предлагаю рассмотреть немного полезных советов, о то...

«Строка бога»/идеальный промт, часть 2, продолжение истории Здравствуйте, уважаемые читатели!В этой статье я хотел бы продолжить тему появления субъязыка текстовых запросов к нейросетям (которая может быть полезна не только для инженеров, но и всех энтузиастов, которые, как, к примеру, и я проводят значительное время за работой с ИИ-...

Microsoft значительно расширила возможности Copilot для Windows 11 Microsoft начала тестирование новой среды выполнения Copilot для Windows, благодаря которой инструмент теперь может управлять большим количеством настроек системы и обращаться к Power Automate Desktop. На текущий момент оценить улучшения смогут лишь некоторые инсайдеры на к...

Что общего между раком крови, лазерами и нейронными сетями? Доброго времени суток, дорогой Habr, надеюсь вы успели заскучать после 3-х месяцев паузы (ссылка на прошлую статью). На связи снова Николай Иванов и сегодня вы узнаете, что общего между раком крови, лазерами и машинным обучением.  В этой статье мы поговорим с вами о мет...

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

Играемся с RTX 5000 Ada (AD103): первые впечатления Майнинг и использование для майнинга в этой статье не обсуждается.У меня есть пара старых статей (про A100, и про 3090 и A10) и также вот есть тоже старое, но всё еще неплохое и актуальное сравнение карточек для расчетов от Selectel. С тех пор прошло примерно два года и пора...

Z-test Привет, Хабр!Z-тест, известный также как z-критерий Фишера, представляет собой набор статистических методов для проверки гипотез, которые базируются на предположении о нормальном распределении данных. Эти методы используются для анализа, являются ли средние значения двух наб...

TFS Aggregator … Или как автоматизировать некоторые действия в TFS 2010. Сразу скажу, что для TFS 2012 автор обещает быстро выпустить обновленную версию, однако, на мой взгляд, с учетом того, что API не поменялось или мало поменялось, то данный небольшой проект вполне может завестись и на...

Это база: нюансы работы с Redis. Часть 2, репликация Всем привет, на связи Пётр, инженер компании Nixys. В прошлой статье мы разобрали основные концепции Redis. Теперь рассмотрим базовую репликацию Redis и настроим эту БД на высокий уровень отказоустойчивости. Читать далее

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

Сможет ли IPFS полностью заменить HTTP? Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В начале прошлого года мы внедрили IPFS-технологию в работу своего хостинга, и все наши клиенты получили возможность размещать контент в IPFS-сети. Решились на такой шаг не сразу: IPFS — технология пока еще экспер...

Магия транзакций в Bitrix: Как заставить ваши данные держаться как вкопанные Сегодня мы поговорим о том, как использовать вложенные транзакции в Bitrix, чтобы обеспечить целостность данных. Транзакции - это ваше надежное магическое заклинание, которое гарантирует, что ваши множественные изменения в базе данных будут выполнены целиком или полностью о...

[Перевод] Достижение высокой пропускной способности без усугубления задержки Задержка и пропускная способность При обсуждении производительности часто встречаются термины «задержка» (latency) и «пропускная способность» (throughput) для описания характеристик программного компонента. Мы можем дать следующее толкование этим терминам: Задержка — это м...

Apache NiFi. Как быстро подружиться с LDAP и Registry Казалось бы, про Apache NiFi уже писали не раз. Но если ты только знакомишься с инструментом, разобраться в таких статьях бывает нелегко. Обычно с тобой говорят так, будто ты уже давно в теме, да и задачи чаще решают явно не твои. С официальной документацией тоже все сложно:...

Короткой строкой: почему я начал учить английский и пригодился ли язык в работе Всем привет! Меня зовут Павел, я работаю в Альфа-Банке на позиции QA Tech Lead. В этой статье хотел бы поделиться своим видением и опытом использования английского языка в повседневной и профессиональной жизни. Не сказать, чтобы мой английский был на высочайшем уровне, но дл...

Алгоритмы AdaBoost (SAMME & R2). Принцип работы и реализация с нуля на Python Следующим мощным алгоритмом машинного обучения является AdaBoost (adaptive boosting), в основе которого лежит концепция бустинга, когда слабые базовые модели последовательно объединяются в одну сильную, исправляя ошибки предшественников.В AdaBoost в качестве базовой модели и...

Куда подевались ваши манеры? Коллеги в IT Привет, Хабр! В данной статье я хочу поделиться своим опытом токсичного общения с коллегами, начиная с первой встречи с HR-менеджером и заканчивая работой внутри команды. Такое поведение, на мой взгляд, серьезно подрывает мотивацию и нормальное взаимодействие в команде при р...

[Перевод] Небольшой туториал по полигруппам в Zbrush Полигруппы (Polygroups) в Zbrush представляют из себя способ разделения уже существующей 3D-модели на группы полигонов с целью выполнения над ними различных видов работ. При создании каждой из этих групп полигонов ей назначается свой уникальный цвет, что помогает нам визуаль...

Как мы наладили процесс разработки внутренних приложений с помощью Appsmith Привет! Меня зовут Алексей, я аналитик данных в команде BI финансового маркетплейса Банки.ру. Сегодня хочу поделиться опытом работы с Appsmith. Это low-код инструмент для автоматизации бизнес-процессов. В статье расскажу, зачем вообще нам понадобился подобный инструмент...

Часть 1. GPU-Based Fuzzing. Что за зверь такой? Всем привет! При изучении темы фаззинг‑тестирования всегда возникает вопрос, насколько сильно можно увеличить количество выполнений приложения в секунду. Иначе говоря — как ускорить фаззинг?В последнее время одно из популярных направлений —...

Правило 16 байт: развенчиваем миф о производительности структур в C# По умолчанию, при передаче в метод или при возврате из метода, экземпляры значимых типов копируются, когда как экземпляры ссылочных типов передаются по ссылке. В 2008 году была выпущена книга «Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET L...

Размышления о выборе языка программирования для школы (и ситуации с информатикой в целом)… Эта статья выросла из ответа на комментарии к статье Основные отличия PascalABC.NET, где возник традиционный спор про то, есть ли смысл в 2023 году изучать Pascal. Для комментов мой ответ слишком большой, так что оформлю в виде такого спонтанного поста.Как бывший программист...

Кто такой — джуниор в FAANG? Все мы понимаем, что означает слово Junior в контексте разработки софта. Человек без опыта, недавно попавший в профессию, часто делающий ошибки, требующий помощи и наставлений. Но как так получается, что в FAANG на Junior позиции ...

Берем ответственность за вопросы: как задавать их правильно Привет, Хабр! Я Оксана Нечитайлова, руководитель отдела сервисного дизайна продуктов в YADRO. Руковожу различными командами уже более 17 лет и за это время поняла: многие недооценивают навык формулирования правильных вопросов. Большинство специалистов уверены, что это некое ...

«Реальность такова, что нам придется сделать трудный выбор», — Google сокращает штат, чтобы повысить эффективность и скорость работы Google проводит сокращения рабочих мест и реорганизацию в сфере аппаратного обеспечения, рекламы, основных разработок и YouTube. Генеральный директор Alphabet и Google Сундар Пичаи заявил, что увольнения связаны с «сокращением слоев, чтобы упростить выполнение зад...

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

Криптографические пруфы zkSNARKs для масштабирования и безопасности Привет, Хабр! Меня зовут Сергей Прилуцкий, я руковожу отделом исследований компании MixBytes. Мы занимаемся аудитами безопасности смарт-контрактов и исследованиями в области блокчейн-технологий. В числе прочего занимаемся и направлением zero-knowledge. Эта статья подготовлен...

Смарт-контракты на WebAssembly: зачем это надо и как работает В последнее время многие блокчейн-платформы для исполнения смарт-контрактов переключились на WASM — WebAssembly. Мы не стали исключением, и в последнем обновлении тоже добавили WebAssembly как альтернативу привычному Docker. В этом посте мы расскажем, для каких задач нам пот...

[recovery mode] Как мы делаем веб-сервис для автоматизации рабочих задач на базе агентов LLM Друзья, всем привет! Сегодня хотим рассказать про то, как мы — Виталий, Даниил, Роберт и Никита — при поддержке AI Talent Hub, совместной магистратуры Napoleon IT и ИТМО, создаем Цифработа — сервис цифровых работников, который помогает оптимизировать временные затраты у сотр...

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

Стрела времени, демон Лошмидта и квантовая термодинамика. Почему время необратимо? Когда всё вокруг стремится к хаосу и жизнь с каждым днём становится только хуже, невольно возникает желание обратить время вспять. Но почему-то реальность всячески противится попыткам развернуть стрелу времени на 180°. Что же заставляет время идти только вперёд и не даёт пов...

Выдержит ли проверку временем Twisted Metal 2? Если спросить у увлечённых геймеров, какие они знают самые культовые гонки на выживание прошлого, то большинство назовёт Carmageddon, Vigilante 8 (самые олдфажные – Quarantine) и, конечно же, Twisted Metal. И если про первую я уже писал обзор, то про оставшиеся три – лишь пр...

Нейросети, виртуальная реальность и Бог-солипсист Несколько недель тому назад компания OpenAI анонсировала скорый выход нейросети SORA, способной создавать связный осмысленный видеоряд из простого текстового описания того, что вы хотите увидеть. То, как работает эта нейросеть, можно узнать из великолепной статьи "Настоящее ...

Сколько нужно ядер cpu, чтобы выдержать 30k+ rps? Меня зовут Вадим Ивахин, я техлид в Vi.Tech — это IT-дочка ВсеИнструменты.ру. Я и мои коллеги трудимся над большим количеством проектов и используем в своей работе различные инструменты, в том числе MongoDB. В этой статье я не стану рассказывать о том, что такое MongoDB. Хоч...

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

[Перевод] Неожиданное взаимодействие предсказания ветвлений и подсистем памяти Это 15-ая статья в серии, посвящённая оптимизации подсистем памяти. Остальные доступны здесь (англ.). В ней мы изучим взаимодействие механизма предсказания ветвлений с подсистемой памяти. В повествовании мы будем исходить из предположения, что вам знаком принцип предсказан...

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

SwiftUI уроки (часть 6) Мы наконец-то добрались до одних из самых важных тем связанных с управлением данными, включая их модификацию, слежение за ними и передачу. Мы начнем с самых простых вещей таких как State и Binding Читать далее

Postgres Pro Shardman: горизонтальное масштабирование реляционных СУБД Последние несколько лет мы в Postgres Professional активно занимаемся разработкой своего решения для горизонтального масштабирования PostgreSQL. Пользователям нужен был простой способ увеличить производительность путем добавления узлов. Традиционно для веба в таких случаях п...

[Перевод] ViewModels в Android: «за» и «против» В этой серии статей мы рассмотрим лучшие практики использования ViewModels в Android с акцентом на основных принципах повышения качества кода. Рассмотрим роль ViewModels в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии для ленивого внедрения з...

Telegram-бот как системный администратор сервера При запуске сервера часто необходимо предоставить доступ к части функционала другим пользователям, при этом сами пользователи могут не иметь достаточных компетенций для полноценного использования софта и/или мы хотим ограничить доступный набор команд.Одним из вариантов решен...

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

Гайд по уровню резонанса в AFK Journey: что даёт, для чего нужен и как его повышать Если войти в Зал резонанса в мобильной игре AFK Journey, то игроки увидят всю коллекцию героев, выбитых через гачу или полученных в ходе выполнения сюжета. В самом верху списка находятся «Руки резонанса» — 5 ваших главных персонажей, на которых равняется вся остальная коллек...

SPARK для «малышей» Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая си...

Работа с хранилищами в Kubernetes: руководство для инженеров Как DevOps-инженер я часто сталкиваюсь с необходимостью глубокого понимания тонких аспектов Kubernetes. Одним из таких ключевых элементов является управление хранилищем данных. Хотя этот элемент иногда остаётся в тени других задач, его важность для успешного развёртывания ...

Подборка: навыки и инструменты начинающего Go-разработчика Привет! Меня зовут Александр Тетеркин, я Go-разработчик в VK. Раньше я писал на Python, потом перешел на Go — пишу на этом языке уже три года, а также являюсь наставником на курсе «Go-разработчик с нуля».Я знаю, что новички в любой сфере задаются вопросами о том, с чего нача...

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку инт...

Чем заменить Raspberry PI в промышленности? Если коротко, то речь пойдет о промышленном ПК на основе Raspberry CM4 – это абсолютный аналог Raspberry Pi4 в промышленном исполнении с надёжной eMMC от Samsung и полной программно-аппаратной совместимостью. Одну статью мы закончили фразой: «Надеемся, что мы вдохновим читат...

Тест производительности Web-фреймворков для Rust В этой статье мы сравним производительность 3 наиболее популярных бекэнд-фреймворков для Rust: Axum, Actix и Rocket.Сравним основные особенности, качество документации и самое главное - проведём тест производительности. Для этого напишем с помощью каждого...

Что мы делаем, когда у нас заказывают аналитику без нормальных формулировок «Дайте нам аналитику, — просит бизнес айтишников, — правда, мы глубоко в это погружаться не хотим, чётко сформулировать требования не можем и расчётам BI не очень-то доверяем». Сюр? Сюр. Но встречается на каждом шагу. Вопрос решается с помощью Self-service, который даёт в...

Как устроен GIL (Global Interpreter Lock) в Python: влияние на многозадачность и производительность Привет, уважаемые читатели!GIL, или Global Interpreter Lock десятилетиями оставался темой обсуждения и дебатов среди питонистов.Что такое GIL? GIL, сокращение от Global Interpreter Lock, представляет собой важную концепцию в Python. Он представляет собой мьютекс, который бло...

Постановка целей по технологии SMART: критерии, процесс целеполагания и возможные ошибки Почему важно уметь правильно ставить рабочие цели в компании? Дело в том, что постановка целей — один из основополагающих факторов деятельности в коллективе. Такая процедура позволяет четко определить, в какую сторону вы двигаетесь и чего именно хотите достичь. Ясная, четко ...

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

Перенести проверенную схему бэкапа больших данных из S3 в Yandex Cloud: опыт Битрикс24 Меня зовут Александр, я руковожу направлением больших данных в Битрикс24. Клиенты нашего сервиса хранят миллиарды файлов: от документов до фотографий, — а моя команда предоставляет возможность строить бизнес-аналитику на основе этого множества данных. И нам важно позаботитьс...

Наша математическая Вселенная Я решил назвать эту статью так же как называется книга Макса Тегмарка, потому что речь в статье пойдёт о том же, о чем и в книге. Но дело в том, что я не читал эту книгу. Я, думаю, как и многие тут, смотрел научно-популярные видео, интересовался устройством вселенной, копил ...

В РФ смогут проводить международные расчеты в ЦФА Государственная Дума РФ может разрешить использование некоторых цифровых финансовых активов (ЦФА) для международных расчетов уже в декабре

За три дня пользователи заказали около 180 000 Vision Pro По расчетам аналитика Минг-Чи Куо, с начала предзаказов гарнитуры 19 января Apple уже продала от 160 000 до 180 000 устройств. В своих расчетах он опирается на собственные более ранние прогнозы о том, что Apple в преддверии начала продаж накопила на складах 80 000 Vision Рro...

DebugMenu и визуальная иерархия элементов интерфейса В начале квартала, в Альфе, мы выбираем себе технические таски — задачи, направленные на техническое развитие проекта, а не на продуктовую составляющую. При выборе задачи хочется, чтобы она соответствовала нескольким условиям: • решает реальные проблемы нашей команды, у...

Укрощаем DNS в Wireshark. Часть 2 В предыдущей статье мы начали рассматривать использование анализатора пакетов Wireshark для работы с DNS. В этой мы продолжим рассмотрение данной темы и поговорим о рекурсии DNS. Здесь принцип обмена пакетами будет немного сложнее, потому что помимо обмена DNS пакетами между...

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

Если процесс нельзя роботизировать, то он кривой Последние полтора года я искала дыры в процессах. Принцип очень простой: если у вас достаточно хорошая документация, чтобы взять и переложить процесс на робота, всё ок. Если роботизировать не выйдет — процесс плохой и он сломается. Почему так? Ну например, уйдёт на больн...

Нужен NGFW. Как маркетплейс начал импортозамещаться Кейс: создание доверенной сети для маркетплейса.Статья инспирирована кейсом, связанным с заменой оборудования Fortinet FortiGate 100X/200X/400X на отечественные аналоги в одном российском маркетплейсе. Ситуация, впрочем, типична. Думаю, описание процесса выбор будет полезным...

Геометрия и навигация В этой статье будут рассмотрены некоторые проблемы и размышления, связанные с довольно интересной задачей коррекции/восстановления автомобильного трека на основе данных, полученных от MEMS датчика и навигационного приемника. Эта задача содержит много различных а...

Игра Aviator: описание и основные принципы Игра Aviator-Stavki, или просто Авиатор, представляет собой захватывающий азартный симулятор, основанный на удаче и стратегии. Она пользуется большой популярностью среди игроков авиатор благодаря своей простоте и возможности получить крупные выигрыши. Принципы игры Цель игры...

Шифр Цезаря на Ассемблере Друзья, коллеги, всех приветствую! В этой статье мы напишем шифратор на грязном "макро-чистом" Ассемблере и в качестве элементарного шифра будем использовать Шифр Цезаря (Шифр сдвига с ключом k = n). Статья написана для новичков, которые могут погрузиться в мир "первой" крип...

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

Вакансия Сервисный инженер в 3DTool Всем привет, Друзья! Новая вакансия от 3DTool!Мы расширяем наш сервисный центр в Москве и ищем в команду сервисного инженера, который будет работать с 3D оборудованием и станками с ЧПУ.Что нужно будет делать? Техническая поддержка заказчиков по телефону или e-mail (консульта...

[Перевод] Вам не нужен для этого JavaScript Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется… ▍ Правило наименьших полномочий Это один из базовых...

Методы очистки данных в Pandas Привет, Хабр!Аналитики данных часто сталкиваются с грязными данными, которые могут существенно замедлить процесс анализа. Грязны данные – это пропущенные значения, дубликаты, неконсистентные данные. Пропущенные значения заставляют нас гадать, что же было замыслено нашим колл...

Рекомпозиция в Compose: что не видно разработчику невооруженным глазом Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad и почтового клиента RuPost Desktop.Все новые фичи в проекте пишутся на Compose, поэтому встал вопрос о повышении собственной квалификации. Нужно было разобра...

Секреты тестирования Wiren Board: test-suite и крафтовые стенды Мы продолжаем рассказывать о внутренней кухне Wiren Board. В предыдущей статье мы заставили работать китайский паяльный робот, который выполняет рутинную часть работы монтажников на нашем производстве.Все наши «железки» должны поступать клиентам в рабочем состоянии и служить...

[Перевод] Если вы собираетесь сидеть и ничего не делать, то хотя бы делайте это правильно Иногда бывает нужно, чтобы API не делал ничего. При этом важно, чтобы он не делал ничего правильным образом.Например, у Windows есть сложная инфраструктура печати, но этой инфраструктуры нет у Xbox. Что должно произойти, если приложение попытается выполнить печать на Xbox?Не...

[Перевод] Что нового во Flutter 3.16, ч.1 Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Это статья-перевод от автора Kevin Chisholm. Оригинал статьи читайте по этой ссылке. Мы решили разбить материал на несколько частей для удобства восприятия. Читать далее

Грязные зубы могут привести к разрушению мозга — вот доказательства Ученые находят все больше доказательств того, что состояние зубов напрямую влияет на здоровье мозга Если не чистить зубы два раза в день, в будущем головной мозг человека начнет работать хуже, чем обычно. В долгосрочной перспективе плохая гигиена полости рта может привести к...

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

[Перевод] Введение в цифровую обработку сигналов Эта статья дает общее представление о том, что такое ЦОС (цифровая обработка сигналов), как она работает и какие преимущества может предложить. Цифровая обработка сигналов включает разработку алгоритмов, которые могут быть использованы для улучшения сигнала определенным обр...

Язык программирования R для статистической обработки данных Гибадуллина Д.А  Гибадуллина Дарья Анатольевна/ Gibadullina Daria Anatolievna- студент второго курса бакалавриат Уральского филиала Финансового университета направления бизнес-информатика Аннотация: Язык программирования R имеет широкое применение в области ст...

Цифровой паспорт оборудования промышленного производства Привет, привет! Представлюсь: меня зовут Тамара, и я являюсь ведущим инженером по нормативно-справочной информации в компании Bimeister.Начну с того, что это лишь малая часть той большой истории, которую я хочу вам рассказать.Будет много вопросов типа «Что это?», «Для чего н...

Как необычные решения приводят к критическим уязвимостям. Или история одного бага, найденного в CloudTips Привет, Хабр! В данной статье хотел бы поделиться историей, как был найден достаточно простой в исполнении баг, но приводящий к опасной уязвимости веб приложения. Данный баг был найден в сервисе CloudTips от Тинькофф и CloudPayments на BugBounty площадке app.bugbounty.bi.zon...

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6 Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутент...

От каждого по способностям. Как мне удалось прокачать инженерную культуру своей команды, не будучи тимлидом Привет, Хабр! Меня зовут Кирилл Веркин, я Senior QA в СберМаркете. Эта статья о том, как за 1,5 года моя команда прокачала уровень инженерной культуры с нуля до самого высокого среднего балла в компании среди 105 команд. (Да, у нас есть уровни инженерной культуры!) Хочу...

Главные проблемы сайта, которые показывает нагрузочное тестирование Всем привет! На связи ITSumma.За 15 лет, что мы делаем нагрузочное тестирование, у нас накопился список самых распространенных ошибок, которые совершают, когда строят и отлаживают инфраструктуру.Ну список и список скажете вы, но в этой статье мы хотим поделиться не только са...

AITU Military CTF 2024:Digital Fortress: Как мы инфраструктуру для полигона поднимали. Часть 2 Перед прочтением данной статьи настоятельно рекомендую ознакомиться с 1 частьюВведениеДанная статья является продолжением статьи про поднятие киберполигона AITU Military CTF, в этой части мы рассмотрим глобальные изменения касающиеся инфраструктуры, такие как настройка сети ...

Настраиваем ExecutorService'ы на практике В этой статье хочу рассмотреть что такое ExecutorService в Java, зачем он нужен, варианты создания и в как его настраивать для решения практических задачПонимаю что есть много подобных статей, но в тех статьях что мне удалось найти не хватало практических примеров, сегодня х...

Распределённые системы на службе ФССП России. Часть 2. Суперсервис «Цифровое исполнительное производство» Привет, Хабр! Меня зовут Дима. Я работаю в отделе разработки систем межведомственного взаимодействия РЕД СОФТ. Представляю вам вторую статью про импортозамещение в АИС ФССП России, в которой я расскажу о проектировании сложных территориально распределённых информационных сис...

Построение планов параллельного выполнения программ для процессоров со сверхдлинным машинным словом (проект) Процессоры архитектуры  сверхдлинного машинного слова (VLIW - Very Long Instruction Word) относятся к специфическим классам архитектур, прямо нацеленным на использование внутреннего параллелизма в алгоритмах (программах), причём параллелизм этот анализируется и планируе...

Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде Привет, Хабр! Меня зовут Данил, я Frontend-разработчик в Samokat.tech. Недавно мы с командой распилили монолит на Angular и перешли к микрофронтендам на Vue. Наш опыт я постарался упаковать в пошаговый гайд – надеюсь, этот материал поможет тем, кто только начинает свой ...

Оптимален ли блокчейн для хранения идентификационных данных? Приветствую, Хабр! Моя предыдущая статья была посвящена формализованным критериям выбора базовой технологии хранения и обработки данных, совокупность которых позволяла ответить на вопрос, использовать ли в конкретной системе блокчейн-технологии или ограничиться хорошо изучен...

Оптимизация работы с Camunda на основе External task Привет! Меня зовут Андрей, я - ведущий разработчик в "РТК ИТ". В этой статье речь пойдет об опыте перехода на паттерн external task в одной из наших систем.Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяю...

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

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

В пику мошенникам: в Wildberries установили лимит на штрафы за невыполненные заказы Команда крупнейшей российской торговой онлайн-площадки Wildberries начала принимать новые меры по борьбе с мошенниками. Компания приняла решение установить максимальный порог штрафа 100 000 рублей за невыполненные заказы товаров, размещенных третьими лицами в период нес...

Каким будет iPhone 16: больше ОЗУ, мощнее процессор и новая нейросеть из iOS 18 Уже ни для кого не секрет, что в iOS 18 на Айфоне появится большое количество новых функций, связанных с искусственным интеллектом. Однако мало его добавить в операционную систему. Необходимо обеспечить еще и бесперебойную работу. Для этого Apple установит в iPhone 16 новый...

Релиз Jmix 2.1: что нового? Готовы поделиться ключевыми обновлениями, которые вы найдете в свежем релизе Jmix 2.1. Для тех, кто хочет знать все, полную информацию об изменениях можно найти в документации Что нового.  Читать далее

Как изменится iOS 18: самые важные нововведения следующего большого обновления iPhone Традиционно в начале июня на WWDC Apple представляет новые версии всех своих операционных систем. Этот год исключением из правил не станет, и именно на WWDC 2024 мы увидим iOS 18 — следующее крупное обновление для iPhone. Хоть до презентации остается еще чуть больше т...

ЕС внедряет правительственные веб-сертификаты — почему инициатива вызывает опасения в ИТ-сообществе Мы регулярно обсуждаем инициативы, связанные с ограничением работы приложений, шифрованием и end-to-end. Сегодня мы поговорим о том, что происходит в Европе с одним из новых законопроектов в данной области. Читать далее

Интерфейсы для конструкторов в Dart Реализация паттерна создания интерфейса для конструкторов и статических атрибутов в Dart.По умолчанию, Dart запрещает создавать контракты для статических интерфейсов классов. В статье рассматриваются причины и возможные решения проблемы. Читать далее

Игра Derailed: Wild Quest вышла на Android Мобильная игра Derailed: Wild Quest вышла в Google Play 12 февраля. В ней полуручное управление молодым человеком или девушкой, которые останавливаются на поезде, сходят с него и начинают добывать ресурсы. Необходимо собрать их определённое количество, чтобы открыть новую ча...

Умная квартира айтишника: хотел всё на Wi-Fi, но передумал Артур — айтишник из Минска, который любит все технологичное и современное. После покупки новой квартиры с черновой отделкой все сомнения были отброшены: она будет умной!Как тогда казалось Артуру, беспроводные технологии — самое передовое и удобное решение для инженерных сист...

Почему главная функция iOS 18 не появится на старых Айфонах и что это будет Уже ни для кого не секрет, что в iOS 18 будет интегрирован искусственный интеллект. Большая часть функций, которые появятся в новой версии операционной системы Apple, будет завязана именно на его возможностях. Однако всё может испортить скорость работы. Если iPhone будет ис...

В ИТ-секторе госзакупок сложился дисбаланс и это головная боль для заказчиков и исполнителей Среди ИТ-тендеров сформировалось несколько системных проблем: плохие техзадания, перекос в сторону крупных интеграторов, очередь работ по крупным заказам, а малые и средние команды практически простаивают. Что самое интересное — проблемы вытекают одна из другой.Эксперт: Тиму...

Как и зачем компании могут применять ML? Разбираемся на примере Netflix Привет, Хабр! Я Ефим, MLOps-инженер в отделе Data- и ML-продуктов Selectel. В последнее время, куда ни глянешь, только и разговоров, что про ML. Но всегда хочется увидеть результаты работы на практике. Если с IT-гигантами все понятно, то зачем ML, скажем, компаниям из индус...

Как Додо Пицца доставляет свежий код: история мобильного CI для iOS Мобильная разработка под iOS особенная: собрать приложение можно только на macOS, среда разработки по сути только одна, большая часть принятого в сообществе тулинга написана на Ruby, свой пакетный менеджер появился только пару лет назад. Тяжко.А когда речь заходит про автома...

Кратко про NewSQL Привет, Хабр!

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

Быстро или мгновенно — с какой скоростью должен работать ваш продукт. Часть 1 Всем привет! Я Антон Телицын, продакт-менеджер в AI-центре Тинькофф, до этого работал в Miro над движком доски. В обеих компаниях сталкивался с вопросами управления скоростью реакции продуктов в разных ситуациях.Это первая статья про управление отзывчивостью продуктов. Рассм...

[Перевод] Используйте Arc<[T]> вместо Vec<T> В этой статье я хотел бы поговорить о том, почему вы могли бы предпочесть использование Arc<[T]> вместо Vec<T> в качестве варианта по умолчанию в вашем Rust-коде. Читать далее

[Перевод] О Prepare statements, серверном кэше скомпилированных запросов или как эффективно кэшировать запросы в YDB Существуют различные способы снижения стоимости выполнения SQL-запросов в современных СУБД. Наиболее распространенными подходами являются использование подготовленных запросы и кэширование. Оба метода доступны в YDB.Кэширование запросов позволяет ско...

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

Немного о проблематике нашего старения Как вы думаете, сможет ли современное научное сообщество найти лекарство от старости в ближайшие лет 100?Мне кажется, что нет. Учёные уже несколько веков бьются над решением этой задачи. Причём каждый раз им кажется, что ещё чуть-чуть, и они сначала разберутся в механизмах с...

Документация на этапе «Обучение» (с примерами) Список обучающихся на этапе обучения имеет несколько важных целей:1. Организация Процесса Обучения:   - Составление списка обучающихся помогает эффективно организовать процесс обучения, определить количество участников и управлять группой.2. Контроль Присутствия:&n...

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

Рулим запуском Spark-приложений в Airflow с помощью самописного оператора Airflow в Lamoda Tech играет роль оркестратора процессов обработки данных. Ежедневно с его помощью мы запускаем 1 800+ тасок на проде, примерно половина из которых являются Spark-приложениями.Все Spark-приложения сабмитятся из Docker-контейнеров. И здесь сталкиваемся с пробл...

Сила хакатонов: почему Middle и Senior Engineers должны в них участвовать Привет, Хабр! На связи beeline cloud — обсуждаем вопрос зачем Middle и Senior Engineers хакатоны и нужно ли в них принимать участие? Разобраться в этом поможет автор нашего DIY-медиа вАЙТИ. Читать далее

Типичные задачи аналитика данных. Часть 1. Упала метрика В прошлой статье мы рассматривали неочевидные проблемы АБ тестирования и как можно с ними справляться [ссылка]. Но часто бывает так, что при внедрении новой функциональности АБ тестирование провести нельзя. Например, это типично для маркетинговых кампаний нацеленных на массо...

Диффузионные модели в CV. Что за зверь? Всех приветствую! Статья посвещена диффузионным моделям в компьютерном зрение. Цель статьи сформировать понимания (надеюсь) работы данного типа моделей. Попытаемся разобраться что это такое и как это устроено. Если объяснять в двух словах, то идея заключается в следующем: бе...

Стол поворотный для координатного стола BG-6300. Всем привет.Пока появилось время решил рассказать о своём давнем проекте. Это  поворотный стол предназначенный для установки на координатный стол BG-6300 и его аналоги.В основном стол состоит из 3D печатных деталей.Но для максимальной жёсткости, а так же плавности работы, ес...

Управление сервоприводами, часть 4. Управление «сервами» по I2C с Repka Pi через серво-драйвер Robointellect Controller В предыдущих статьях нашей серии про сервоприводы мы рассказывали, как они устроены, как можно управлять сервоприводами с помощью широтно-импульсной модуляции ШИМ (Pulse Width Modulation,  PWM) с помощью контроллеров Robointellect Controller 001, а также напрямую че...

Самый простой и подробный гайд по конкурентным коллекциям в C# Когда несколько потоков обращаются к общим ресурсам, должна быть обеспечена потокобезопасность, чтобы избежать повреждения данных и неожиданного поведения. Конкурентные коллекции в C# предлагают встроенные механизмы для обработки конкурентного доступа, что делает их мощны...

Как сверстать письмо, чтобы оно дошло до получателя таким, как задумано В статье расскажу и покажу, как сверстать письмо, чтобы оно наверняка правильно отображалось во всех почтовых клиентах — особенно в Outlook, который до сих пор возглавляет подборки по популярности в РФ. Читать далее

Демо и ранний доступ симулятора Craftomation 101: Programming & Craft Спустя полтора года разработки и тестирования студия Luden.io наконец-то готова выпустить в ранний доступ игру про автоматизацию крафтинга — Craftomation 101: Programming & Craft. Одиночный симулятор выйдет только в Steam 19 февраля 2024, но зато с поддержкой русского яз...

Как обустроить солнечный бассейн под открытым небом? Солнечный бассейн под открытым небом &#8212; это прекрасное место для отдыха и релаксации на протяжении теплых летних дней. Обустройство такого бассейна требует правильного планирования и выполнения некоторых важных шагов. В этой статье мы рассмотрим ключевые аспекты и с...

Backup. Файловое резервное копирование бюджетного VPS Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуютс...

Вперед в будущее: Wayland против X11 Доброго времени суток, дорогие читатели! Сегодня я затрону одну интересную тему — графические дисплейные сервера и протоколы в Linux. В этой статье я расскажу вам о архитектуре X11 и Wayland, историю их создания и наконец-то сделаем вывод: Иксы на мороз, или вейланд на помой...

Построение пайплайна обработки данных в реальном времени с использованием Python Привет, Хабр!Обработка данных в реальном времени стала важной составной частью современного мира. Бизнес, исследователи, разработчики и многие другие специалисты сталкиваются с необходимостью обрабатывать потоки данных в реальном времени, чтобы принимать решения быстрее и б...

The Hive. Разбор open source решения В свете быстрого развития информационных систем и увеличения угроз кибербезопасности поиск надежных решений, позволяющих минимизировать вред от нарушения информационной безопасности (ИБ), становится важной задачей для различных организаций. Когда инфрастр...

[Перевод] Как Uber обслуживает более 40 миллионов чтений в секунду из онлайн-хранилища с помощью встроенного кэша Привет, Хабр! Представляю вам перевод статьи "How Uber Serves Over 40 Million Reads Per Second from Online Storage Using an Integrated Cache" автора Preetham Narayanareddy. Из неё вы узнаете, как в Uber проектировалась система кэширования на основе Redis, с какими сложностя...

Диплом специалиста ИБ. Часть №5 — Несанкционированный доступ к IoT-устройствам с BLE Привет, Хабр!Представьте, что вы написали собственную методику обеспечения безопасности устройств IoT и защитили собранное вами устройство в соответствии с ней. Не захочется ли попробовать проверить его защищенность самостоятельно? Эта статья является пятой и заключительной ...

Как мы делали маркетплейс металлопроката и почему отказались от готового решения, часть 1 Представьте себе, что арматуру для строительства дома можно заказать так же просто, как и чайник домой. Идея для наших быстрых времён просто отличная! Да, такой формат продукции не доставить в пункт выдачи около дома, но ведь есть варианты. Например, в малых объёмах металл у...

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

Как мы запускали DIY-медиа для ИТ-специалистов Привет, Хабр! Меня зовут Юлия Гусарова, я директор по маркетингу beeline cloud. В октябре мы запустили проект вАЙТИ. В этой статье я и мои коллеги расскажут о том, как мы придумывали концепцию DIY-медиа и чем оно отличается от других площадок. А еще — поговорим о том, как ус...

Ищем альтернативу SharePoint среди российских решений. Обзор «Первой Формы» Всем привет! Меня зовут Саша Бойко, я бизнес-аналитиков «Первой Формы». В этой статье я хочу сравнить функциональные возможности этих двух решений для организации совместной работы. В 2023 году мы несколько раз проводили такое импортозамещение, и вот, когда Microsoft совсем ...

Эксплуатируем переполнение буфера в простом TCP-сервере Привет всем бинарщикам и людям, которые хотят попрактиковаться с эксплуатацией уязвимости переполнения буфера. Мы для своего киберполигона придумываем различные сценарии атак и насыщаем его различными мисконфигурациями и многочисленным уязвимым ПО для тре...

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O Привет, Хабр!При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД. В этой статье мы как р...

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с кла...

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

Технологии групповой разработки в современной 1С-индустрии Привет, Хабр! Меня зовут Стас Ганиев, программист 1С, в этой статье я рассмотрю и сравню три самых популярных подхода к групповой разработке: хранилище конфигураций, конфигуратор + Git, EDT + Git. Читать далее

Развеиваем мифы о собеседованиях в FAANG Наверное, уже все слышали про процесс собеседования в FAANG (и другой BigTech). Leetcode задачи, системный дизайн, поведенческие вопросы, culture fit, и прочие баззворды регулярно обсуждаются на Хабре. Коллективный разум Хабра более или менее пришел к общему консен...

CRISPR в генотерапии. История и право CRISPR – это революционная технология генной инженерии, которая позволяет точно редактировать ДНК. Применение его в генотерапии может изменить жизнь миллионов людей с генетическими заболеваниями и миллиардов – с приобретенными. В этой статье я рассмотрю историю применения CR...

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

Вопросы по SQL, которые часто задают на собеседовании. Часть 1 SQL (Structured Query Language) – это язык программирования, используемый для управления реляционными базами данных. В этой статье я собрал вопросы по SQL, с которыми вы можете столкнуться на собеседовании. Их часто задают для проверки общих знаний и навыков. Читать далее

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

Вышел Java SDK 1.2.2, GWT 1.7 Полный список изменений доступен здесь. — Наконец-то появился local dataviewer, на порядок будет удобнее написание приложений. — Количество статических файлов увеличено до 3000. — Поддержка unindexed полей в ORM — Исправлена автогенерация индексов и улучшена поддержка т...

Альтернатива Nova: почему решили перейти с самописного решения на Orchid Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написан...

Внутренний мир: Java NIO Привет, Хабр!Парадигма «неблокируемого ввода/вывода» заинтересовала меня с того момента, как я о ней услышал. Идея возможности вызвать операцию чтения без блокировки вызывающего потока довольно привлекающая сама по себе. Как известно, неблокируемый ввод/вывод был реализован...

Go 1.21: пакет slices В версии Go 1.21, был добавлен новый пакет под названием slices. Этот пакет представляет собой набор функций, которые облегчают выполнение наиболее распространенных операций со слайсами. Пакет появился благодаря добавлению дженериков ранне в 1.18. Все функции функции являютс...

Роадмап по современному фронтенду от KTS Эта статья — цельный план развития во фронтенде. Расскажем, что из себя представляет современный фронтенд и какие знания нужны для востребованности на рынке труда.Статья подойдет как для начинающих специалистов, так и для более опытных, которые хотели бы получить какой-то ор...

«Неконкурентоспособный» Volkswagen резко сокращает время разработки новых машин и количество тестовых прототипов Volkswagen хочет сэкономить дополнительные 10 миллиардов евро к 2026 году. Чтобы добиться этого, компания сокращает расходы везде, где это возможно. В рамках программы Accelerate Forward/ Road to 6.5 компания принимает меры на всех уровнях. Генеральный директор Томас Ше...

[Перевод] Полезные расширения VScode для работы с документацией Как правило, работа с документацией — это последний этап любого проекта, связанного с данными (data science, data visualization и т. д.), проектированием и разработкой ПО. Речь о создании и редактировании библиотек, файлов README, обучающих материалов и др. Среди всех преиму...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)