Социальные сети Рунета
Воскресенье, 12 мая 2024

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

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

Общее описание и реализация Word2Vec с помощью PyTorch В данной статье даётся общее описание векторного представления вложений слов - модель word2vec. Также рассматривается пример реализации модели word2vec с использованием библиотеки PyTorch. Приведена реализация как архитектуры skip-gram так и CBOW. Читать далее

Архитектурный паттерн для обработки больших данных: Kappa Привет, Хабр!Если вы уже знакомы с архитектурным паттерном Lambda, то сегодня мы поговорим о его ближайшем родственнике - Kappa. Когда речь идет о обработке больших данных, архитектурные паттерны играют самую важную роль. Ранее мы обсудили Lambda, который предлагает подход, ...

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

[Перевод] Что такое гексагональная архитектура. Разделение бизнес-логики и инфраструктуры с помощью портов и адаптеров Гексагональная архитектура — это архитектурный паттерн, представленный Алистером Кокберном и описанный у него в блоге в 2005 году. Основная идея заключается в том, чтобы структурировать приложение таким образом, чтобы это приложение можно было разрабатывать и тестировать в ...

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

Navmesh, lightmaps и lightprobes: реализация и использование в Playcanvas В этой небольшой заметке хотелось бы поделиться результатами реализаций нескольких технологий из gamdev-а. В основном коснёмся двух тем. Первая тема - это использование navmesh-ей для нахождения путей в пространстве трёхмерной сцены. Вторая тема - это использование lightmap ...

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 1 Привет, Хабр! Недавно мы делали доклад на конференции HighLoad 2023 — «Мифы и реалии Мультимастера в архитектуре СУБД PostgreSQL». Мы — это Павел Конотопов (@kakoka) и Михаил Жилин (@mizhka), сотрудники компании Postgres Professional. Павел занимается архитектурой построения...

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python Метод опорных векторов (Support Vector Machine или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные...

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

Обзор архитектуры Compose с использованием паттерна «координатор» В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее разверну...

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

Построение сложных логических элементов на резисторно-транзисторной логике В своей прошлой статье я концептуально показал как устроены основные логические элементы РТЛ. Сегодня на их базе рассмотрим более сложные элементы. Читать далее

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

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM) На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которы...

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

Разработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking Всем доброго времени суток. В предыдущей статье я затронул тему клиентской разработки браузерной игры. В этой же публикации попробую пролить свет на детали разработки мультиплеера, а именно - разработки игрового websocket-tcp сервера на Netty.Разберем технические особенности...

Первая игра на LeoEcsLite Целью этой статьи является изучение архитектурного паттерна Entity Component Systems на практике. Я подготовил пошаговое руководство по созданию небольшой игры, с помощью которого вы познакомитесь с основными принципами разработки на Ecs. Читать далее

DataOps Platform: из чего состоит наша платформа для работы с данными и как мы её создавали Привет, Хабр! Меня зовут Наджим Мохаммад, я руководитель продукта МТС. Вместе с моим коллегой, руководителем направления разработки платформы МТС Big Data Максимом Бартеневым сегодня мы  поговорим об эволюции платформ данных и нюансах работы платформы МТС для работы с д...

SFC Vue3 Компоненты в Bitrix, с использованием Composition API, без сборщиков, без CDN и NPM пакетов В данной статье будет показана нестандартная реализация компонентов Vue + Bitrix, которую вряд ли кто то видел и использовал.Без NPM, без сборщиков и без костылей. Все "нативными" средствами Читать далее

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

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

Используем MLOps-конвейер: пример работы с Cloud ML Platform для построения сервиса распознавания лиц Есть два подхода к работе с машинным обучением (Machine Learning, ML): быть человеком-оркестром и задействовать «зоопарк технологий» для каждого этапа, или работать с готовым набором инфраструктурных решений, который позволяет выстроить MLOps-конвейер в рамках одной платфо...

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

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация. Рассмотрим ее реализацию на Pytho...

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

9 сервисов для доставки товаров в Россию в 2023 году. Разбираю риски Сейчас сервисов, которые привозят товары в Россию – как грибов после дождя. Среди них много мошенников. Я сам дважды натыкался.За полтора года я поработал с 12 мейлфорвардерами – сервисами по доставке товаров из стран Европы, США, Турции и ОАЭ. Более менее приличные описал н...

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

Используем паттерн Decorator в Bitrix Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. В статье я покажу на примере, как можно использовать паттерн Decorator.А также рассмотрю этот паттерн в целом: его распространенные реали...

Who are you, Platform Engineering: разбираемся с одним из главных технологических трендов. Часть 1 Platform Engineering — один из главных технологических трендов 2024 года. По оценке Gartner, к 2026 году 80% компаний, занимающихся разработкой, будут иметь внутренние платформенные сервисы и команды для повышения эффективности разработки.  Мы в VK Cloud предлагаем Dev Pl...

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

Архитектура, планирование и реализация DMA в микроконтроллерах Synergy Здесь мы продолжаем развитие платформы нашего ПЛК под названием PLCS7 на базе модуля с микроконтроллером семейства Synergy S7FS2. В этом ПЛК ввод-вывод в основном выполняется через микросхемы расширители IO с последовательными каналами связи. Программный байтовый обмен с та...

Временное хранилище данных на Apache Druid: почему это эффективно сработало для загрузки табличных файлов Всем привет! Меня зовут Амир, я Data Engineer в компании «ДЮК Технологии». Расскажу, как мы спроектировали и реализовали на Apache Druid хранилище разрозненных табличных данных.В статье опишу, почему для реализации проекта мы выбрали именно Apache Dr...

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

Создание и тестирование gRPC сервиса (Spring Boot приложение) Привет, Хабр! Сегодня я поделюсь опытом работы с gRPC и расскажу, как создать и протестировать gRPC-сервис в приложении на Spring Boot. Основная проблема — это отсутствие структурированной информации по корректному тестированию gRPC сервиса. Эта статья будет полезна для тех,...

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

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

Инсталляция и первичная настройка Sangfor Cloud Platform. Часть 1 В предыдущих статьях мы обсудили Sangfor HCl (Hyper Converged Infrastructure). Рассмотрели установку решения и нюансы типа подключения СХД и настройки aSAN. Сегодня мы расскажем об облачном портале SCP (Sangfor Cloud Platform) — решении для управления ресурсами на базе ...

Как мы выстроили систему визуализации ошибок с помощью Grafana и снизили время на их отработку с 2 часов до 15 секунд Я работаю в DataNewton сервисе для скрининга контрагентов. Данные, которые мы предоставляем, берутся из 43-х официальных источников. Чаще всего это базы данных государственных сервисов. И тут есть проблема: такие сервисы любят менять формат массивов, в которых они отдаю...

Приглашаем на Ozon Tech Community BI Meetup Всем привет!Меня зовут Дмитрий, я руководитель группы разработки инструментов BI. Стоит ли говорить, что данные вокруг нас и, если мы не умеем с ними работать, то мы не можем функционировать как бизнес вообще? Наша команда платформы данных старается обуздать десятки пет...

Как делить пользователей на группы в АБ-тестах: ошибки и рекомендации В предыдущих статьях статья 1, статья 2, статья 3 мы рассмотрели основные подводные камни автоматизации и анализу АБ тестов, привели подробный обзор статей по этой теме, а так же рассмотрели типичные задачи аналитика данных. В контексте АБ-тестов одним из ключевых аспектов я...

Event Sourcing и CQRS в Go Привет, Хабр!Сегодня мы поговорим о двух концепциях — Event Sourcing и CQRS, и их реализации на языке Go. Go предоставляет хорошие возможности для реализации этих паттернов благодаря своей производительности, простоте и поддержке конкурентности «из коробки». Читать далее

Архитектурный паттерн для обработки больших данных: Lambda Привет, Хабр! Мы сталкиваемся с огромными объемами информации, высокой нагрузкой, и постоянно меняющимися требованиями. Все это требует от нас не только навыков программирования, но и грамотного проектирования архитектуры, которая способна справиться с этими вызовами.Именно ...

Настройка функциональности сервис деска в ZenTao Приветствую всех, кому интересна тема перехода с Jira на альтернативные решения. Совсем недавно мы, GlowByte Soft, рассказывали о том, какие бизнес-процессы компании могут автоматизировать на базе ITSM-платформы ZenTao. По откликам мы поняли, что нужно подробнее останов...

Простейший пример kafka + golang В данной статье представлен простой способ реализации микросервисной архитектуры с использованием Kafka, Golang и Docker. Читать далее

Диплом специалиста ИБ. Часть №3 — Портативное устройство SmartPulse Привет, Хабр!Вам знакомо такое чувство, когда сидишь, пишешь дипломную работу и думаешь "А не сделать ли умный пульсометр на ESP32-C3 с интегрированными механизмами защиты, динамическим пин-кодом и управлением через BLE с помощью собственного мобильного приложения для IoT-ус...

Symfony под капотом: Symfony Messenger и механизм повторной обработки сообщений при ошибках Привет! Меня зовут Ваня, последние несколько лет я занимаюсь backend-разработкой в Сравни. Моя команда разрабатывает интеграции с сервисами наших партнёров, код пишем на PHP и Symfony Framework.При работе с интеграциями мы часто имеем дело со сбоями в сторонних сервисах, и н...

Построение платформенного продукта в Авито Мы в Авито разработали свою внутреннюю платформу для разработчиков. Несмотря на то, что создание платформенного продукта — довольно затратная история, в итоге мы видим сплошные плюсы. Она растит скорость и качество разработки, делает системы стабильнее, помогает инженерам со...

Как я разрабатывал веб-сервис по бронированию зарядных станций для электромобилей (часть 2) Всем привет, на связи снова Арсений Елисеев! Продолжаем работу над созданием веб-приложения для управления бронью ЭЗС, которое мы начинали ранее: …. Сейчас мы обратим внимание на практические аспекты: построение математической модели метода, его программная реализация и экон...

Что вы знаете о символьном программировании? Кликбейтный заголовок, риторический вопрос и обещание раскрыть тайну! Не самый лучший набор, но нормального названия для статьи мне в голову не пришло. Что же здесь все таки будет? Речь пойдет о реализации символьного программирования в Wolfram Language (WL). Я не буду расск...

Анемичная модель предметной области и логика в сервисах Анемичная модель предметной области (Anemic domain model) это такая модель, где сущности содержат только свойства, а бизнес-логика находится в сервисах. Ее противоположность это богатая модель предметной области (Rich domain model), где логика находится в сущностях, а cервиc...

Android получит второе приватное пространство для чувствительных данных Часть брендов называют эту функциональность вторым рабочим пространством, иные кличат приватной зоной или как-то аналогично. Одна из самых удобных, продуманных и востребованных реализаций в EMUI/HarmonyOS, получившая название Private Space у HUAWEI, о которой мы рассказыв...

Реализация слоев в NN (часть 1) Не приходил ли вам когда-нибудь в голову вопрос о том, как устроены слои нейронных сетей под капотом? Задумавшись над этим вопросом, я перерыл интернет в поисках полноценной реализации слоёв, но находил лишь отдельные куски кода или слишком упрощенные примеры, где чаще всего...

Атаки на Bluetooth. Часть 1 Снова приветствуем всех заинтересованных и случайно попавших на эту статью! Продолжаем рубрику "Без про-v-ода", в основном мы разбираем для вас атаки на Wi-Fi, но в этой статье мы затронем одну из популярных беспроводных технологий - Bluetooth. Все мы каждый день им пользуем...

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

Как использовать Spring в качестве фреймворка для Flink-приложений Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в наши продукты в цикле статей. В ...

Библиотеки для реализации алгоритмов сжатия данных в Rust Привет, Хабр!Сегодня мы рассмотрим хорошие библиотеки для реализации алгоритмов сжатия данных на ЯП Rust. Сжатие данных позволяет уменьшать объемы данных без потери качества или с минимальными потерями. Различают две основные категории методов сжатия: с потерями и без потерь...

Разработка RESTful API: как использовать ExpressJS и другие фреймворки для создания RESTful API RESTful API — это одна из самых популярных архитектурных моделей для создания веб-сервисов и приложений. Понимание основных концепций REST и принципов RESTful API играет решающую роль при разработке современных веб-приложений. Читать далее

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

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

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

[Перевод] Реализация Graceful Shutdown в Go Изящное завершение работы (Graceful Shutdown) важно для любого длительного процесса, особенно для того, который обрабатывает состояние. Например, что если вы хотите завершить работу базы данных, поддерживающей ваше приложение, а процесс db не сбрасывает текущее состояние на ...

Полная неуязвимость? Как устроены защитные механизмы macOS (и при чем тут маркетинг) Подход Apple к информационной безопасности приводит к тому, что некоторые пользователи Mac не обращают внимание на то, что происходит с их компьютерами. В этом посте я старался разобраться в основных механизмах защиты macOS от вредоносных программ и выделить их недостатки, н...

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

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

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

Паттерн Circuit Breaker Привет, Хабр!Каждая секунда простоя может стоить компании целое состояние, важно иметь надежные механизмы защиты от сбоев. Здесь и приходит на помощь паттерн Circuit Breaker.Представьте себе обычный автоматический выключатель в вашем доме. Когда происходит перегрузка, он "вы...

10 забавных сервисов в области ИИ Привет, Хабр! Генерирую я значит через сервис ИИ новые эмодзи и думаю, а почему бы не написать прямо сейчас статью про это и поделиться с Вами 10 сервисами, которые мне показались забавными. Кого-то из Вас они могут натолкнуть на ещё более интересные идеи или мысли. Меня зов...

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

Как устроен модуль «Документы» в ZenTao и может ли он заменить Confluence от Atlassian Добрый день! Это Алексей из “ГлоуБайт Софт”. Мы продолжаем рассказывать о функциональности китайской ITSM-платформы ZenTao. Сегодня я кратко расскажу, как устроен модуль “Документы”, который может заменить Confluence от Atlassian.  Читать далее

Анализ Приказа ФСТЭК России №118 «Об утверждении требований по безопасности информации к средствам контейнеризации» Рассмотрим требования к безопасности информации в средствах контейнеризации, указанные в Выписке из Приказа ФСТЭК России № 118 «Требования по безопасности информации к средствам контейнеризации», приведем разъяснения к каждому требован...

Развитие RISC-V & мультиклеточная архитектура Рост популярности RISC-V с момента его появления в 2010 году позволяет говорить, что архитектура состоялась.Пока успех архитектуры RISC-V — это, в первую очередь, ее открытость. Все остальные факторы вторичны. Минимализм системы команд, ее стандартизация, программная инфраст...

Инструкция по переезду и миграции данных с Google Firebase на Self-hosted Supabase Всем доброго дня! Комментарии к моей предыдущей статье о том, как я развиваю свой pet-проект, а также различные законы, подразумевающие локализацию персональных данных на серверах, размещенных на территории РФ (в частности Федеральный закон от 21.07.2014 № 242-ФЗ «О внесении...

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

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

[Перевод] Прекратите клепать базы данных В жизни каждого инженера-фронтендера наступает момент, когда осознаёшь: далее не обойтись без кэширования данных из API. Всё может начаться с самых невинных вещей: сохраняем предыдущую страницу с данными, чтобы кнопка «Назад» срабатывала мгновенно; реализуем простенькую логи...

От винта! Рычаги и винты в Unity Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сегодня хотелось бы поговорить про рычаги и винты, и их реализацию в Unity. Сейчас как раз на хайпе Apple Vision Pro, а подобные штуки бывают весьма полезны в проектах с виртуальной и допол...

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

Как мы реализовали аутентификацию трафика для MSA на базе монолита Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.В статье хочу поделится опытом внедрения аутентификации на базе монолита. Это первая пробле...

Обзор на новую CSS-in-JS либу от Facebook* – StyleX Недавно компания Facebook* (aka Meta**) выпустила в опенсорс собственную CSS-in-JS библиотеку под названием StyleX. По заявлениям разработчиков, она отлично подходит для больших проектов и ключевым ее преимуществом является перфоманс.В этой статье мы рассмотрим пример исполь...

Реализации Microkernel архитектуры с помощью Java OSGI Я хотел бы поделиться опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative). Этот подход является промежуточным вариантом между микро-сервисной и монолитной архитектурой. С одной стороны присутствует разделение межд...

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

Пишем gRPC сервис на Go — сервис авторизации В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также...

gRPC Привет, Хабровчане!Для тех, кто не в курсе, gRPC - это открытый фреймворк от Google, который был представлен миру в 2016 году. Основываясь на протоколе HTTP/2, gRPC использует Protocol Buffers в качестве языка описания интерфейса. Основная идея gRPC заключается в создании ун...

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

Дерево решений (CART). От теоретических основ до продвинутых техник и реализации с нуля на Python Дерево решений CART (Classification and Regressoin Tree) — алгоритм классификации и регрессии, основанный на бинарном дереве и являющийся фундаментальным компонентом случайного леса и бустингов, которые входят в число самых мощных алгоритмов машинного обучения на сегодняшний...

[Перевод] Terraform для инженерии данных Если перед нами стоит задача построить надёжную платформу для работы с данными, то для неё требуется предусмотреть множество компонентов: инструменты, логику обработки данных, методологии, архитектуру и инфраструктуру. Что касается инфраструктуры, здесь есть самые разные ва...

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

AMD предлагает свою бесплатную технологию улучшения видео Реализация от NVIDIA носит название RTX Video Super Resolution (как её активировать?), в данный момент уже версии 1.5. Кроме того, вспоминается вариант от Opera (как его использовать?), который тоже может дать положительный результат для некоторых видео. Читать полную ст...

Кратко про микросервисы на Scala и Erlang Привет, Хабр!Микросервисы давно являются некой "попсой" для создания гибких, масштабируемых и отказоустойчивых систем. И естественное имеет свою реализацию в функциональном программирование.В статье рассмотрим два языка программирования, которые выделяются своим функциональн...

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

NASA представило новые результаты концепта «Луна - Марс» NASA представило результаты своего архитектурного концепта «Луна - Марс» 2023 года. Этот обзор является частью процесса агентства, направленного на разработку дорожной карты для исследования солнечной системы, включая планы по пилотируемым миссиям на Марс. ...

[Перевод] Тестирование без моков: язык паттернов. Часть 2 Язык паттернов помогает избежать многих проблем: не использует широкие тесты, не использует моки, не игнорирует инфраструктуру и не требует архитектурных изменений. Он обладает мощью широких тестов, а также скоростью, надёжностью и удобством сопровождения, присущим модульным...

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

А/Б тестирование на маленьких выборках. Построение собственного критерия Хабр, привет! Сегодня рассмотрим кейс, в котором классические статистические критерии не работают, и разберёмся, почему так происходит. Научимся строить свои собственные критерии по историческим данным. Обсудим плюсы и минусы такого подхода. Читать далее

Коэффициенты для экстраполяции прогнозов компонент CLTV на 5 лет Эта статья описывает, как из прогнозов ряда ML-моделей получить ценность клиента с горизонтом в 5 лет. Напомним, что показатель CLTV представляет из себя композицию прогнозов ее компонент (подробнее в статье). В нашей реализации максимальный период прогнозирования ...

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

[Перевод] Проектирование аналога Google Docs Google docs – это сервис для совместного редактирования документов. В целом подобные сервисы можно спроектировать двумя способами: В качестве централизованного ресурса, использующего клиент-серверную архитектуру для предоставления возможности редактирования документа всем...

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

Миграция с MSSQL Server на PostgreSQL. Предпосылки Сегодня обсудим общие вопросы, связанные с миграцией баз данных на новую платформу. Как обычно, акцент сделан на системах 1С:Предприятие, как самых популярных на российском рынке. Но многие рекомендации универсальны и годятся для всех ИТ-систем. Читать далее

MaaS, или мониторинг как сервис Привет, Хабр! Меня зовут Валентин Лебедев, я отвечаю за мониторинг в Газпромбанке. Мой опыт в области построения систем мониторинга — более двенадцати лет, из которых последние шесть — строил мониторинг для крупного и сверхкрупного бизнеса. Статья будет полезна специали...

Wolfram Language JavaScript Frontend Wolfram Language JavaScript Frontend - это проект, цель которого в создании бесплатной альтернативы для Mathematica с открытым исходным кодом, но со своими особенностями и преимуществами, а если точнее то в реализации пользовательского интерфейса для ядра Wolfram Language (W...

Что такое архитектура приложений MACH и есть ли там технологический прорыв — кроме пиара и маркетинга Вы наверняка слышали термин «MACH-архитектура», которая включает в себя Микросервисы, API-First дизайн, Cloud-Native инфраструктуру и Headless фронтенд. На Хабре тема MACH архитектуры практически не поднимается ввиду как сложности полной реализации и того факта, что MACH обы...

TikTok «скопирует» Instagram* и запустит сервис публикации фото Обозреватели портала TheSpAndroid сообщили, что обнаружили в коде последней версии TikTok APK упоминание нового сервиса соцсети под названием TikTok Photos. Похоже, это копия основного функционала Instagram*.

Реализация взаимодействия с БД через Middleware в Telegram-ботах Когда я начинал писать своих первых ботов с использованием базы данных, их код был очень плохим: он расходовал лишние ресурсы, а также была плохая архитектура проекта. Поэтому я хочу поделиться с вами своими знаниями, чтобы вы не наступали на те грабли, на которые наступа...

PKI для IOT, архитектура защищенной сети ESP32 + Mosquitto SSL и Flash Encryption для хранения сертификатов Цель статьи - показать вариант построения защищенной Iot-инфраструктуры для сети устройств на базе ESP32 и обменяться опытом. Общую идею и весь проект разделил на темы:• развертывание mosquitto SSL/TLS из docker-контейнера• создание сертификатов для брокера Mosquitto ...

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

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

Безотказные очереди в RabbitMQ: Гарантированная доставка сообщений RabbitMQ - это открытая реализация протокола AMQP (Advanced Message Queuing Protocol), является мощным и гибким брокером сообщений. Он обеспечивает надежное и эффективное взаимодействие между компонентами системы, предоставляя разработчикам инструменты для создания гибких и ...

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

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

Продюсеры и консьюмеры с Apache Kafka в Python Салют, Хабр!Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную...

Простая архитектура с использованием MVVM и делегатов в Android. Оптимальное решение для малых проектов В этой статье мы рассмотрим, как создать простую архитектуру Android, используя паттерн MVVM (Model-View-ViewModel) и делегаты для эффективного управления состоянием. Читать далее

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

Перенести терабайты канбан-досок в облако: опыт команды Yandex Tracker Привет, меня зовут Мария Карпенко, я разработчик в команде Yandex Tracker — сервиса для управления процессами и проектами. Внутри Яндекса сервис  используется для постановки задач практически во всех командах, так что общее количество событий по задачам исчисляется уже ...

Точно в яблочко или как запускать проекты Я часто слышу, как люди задаются вопросом: «Как стать достигатором»?Можно ли постоянно запускать проекты успешно и в срок? Как дотянуть проект до старта и запустить свой продукт? На мой взгляд, реализация проектов — это навык, которому можно научиться.Сегодня я расскажу про ...

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

Торговый бот на Python с нуля (с использованием Binance API), часть 2 Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных страт...

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

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

[Перевод] Погружение в компиляторы Kotlin Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2. По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новы...

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

Это база: нюансы работы с Redis. Часть 1 Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на т...

Как выбрать сервер. Что лучше сегодня — готовая или сборная система Вы, конечно, знаете, что сервер является сердцем любого онлайн-сервиса или офисной сети. Именно серверы обеспечивают работоспособность наших любимых веб-сайтов, приложений, игр и социальных сетей, а нам позволяют открывать их 24 часа в сутки 7 дней в неделю. Эта статья — для...

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

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

Диплом специалиста ИБ. Часть №2 — Стационарное устройство SmartLight Привет, Хабр!Так вышло, что я заканчиваю университет в феврале 2024 года (направление 10.05.01 «Компьютерная безопасность» является специалитетом, поэтому студенты выпускаются традиционно зимой после 5,5 лет обучения). Соответственно, уже в прошедшем 2023 году передо мной, к...

Утечка данных в Dropbox затронула личные данные пользователей сервиса Утечка данных в сервисе электронных подписей Dropbox Sign затронула личные данные пользователей. Компания предпринимает меры по защите клиентов.

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

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

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

Боремся с блокировками с помощью Trojan TCP на слабых устройствах c OpenWRT В данной статье рассмотрим как:Настроить обход блокировок с помощью Trojan TCP, tun2socks и bird2 (BGP) на устройствах с 8 Мб ПЗУ и 64 ОЗУ (8/64);Настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через Trojan TCP туннель&n...

Airflow в Kubernetes. Часть 2 Приветствую!В прошлой части мы развернули основные сервисы Airflow в k8s. В этот раз разберемся, как можно синхронизировать код DAD'ов с удаленным репозиторием, поймем, как перманентно сохранять логи, а также настроим HTTPS-соединение для UI! Читать далее

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

Yandex Cloud представила большое обновление платформы для работы с данными Среди нововведений – запуск сервиса для управления метаданными Yandex MetaData Hub, добавление новых возможностей в сервис BI-аналитики Yandex DataLens и повышение безопасности баз данных

Пристальный взгляд на отладку JavaScript приложений Всем привет! Меня зовут Паша Востриков, я делаю на JS/TS много разного в «Лаборатории Касперского»: фронт, облачные сервисы (Node.js), штуки для коробочной поставки (OnPrem), платформенные компоненты и библиотеки. И, конечно же, Open Source. Сегодня хотел бы затронуть тему ...

Просто ли открывается ларчик, Или как протестировать сразу более 10 сервисов Привет, Хабр! Всем известно, что у тестировщиков в жизни много трудностей. И мы, команда QA Департамента общих прикладных сервисов (ДОПС) Сбера, знаем об этом не понаслышке, так как тестируем релизы сервисов Platform V — цифровой облачной п...

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

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

16-битная операционная система на коленках В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы р...

Разгоняем Ignite в облачной инфраструктуре. Часть 1 Привет, Хабр! На связи Дмитрий Пшевский @pshevskiy и Семен Попов @samansay, технические лидеры юнита Data в Сбере. Уже более 6 лет мы заботимся о клиентских данных Сбера — храним, дедублицируем, стандартизируем, маркируем. А сегодня хотим поговорить о произво...

Путеводитель по DDoS: основные виды и методы борьбы Всем привет! На связи Николай Едомский, руководитель группы сетевых инженеров в ЕДИНОМ ЦУПИС.В этой статье я простыми словами расскажу о том, что из себя представляет DDoS, о самых распространенных видах DDoS и методах борьбы с ними. Основная цель материала – на простых прим...

Kotlin Multiplatform в мобильной разработке. Рецепты общего кода для Android и iOS Kotlin Multiplatform — технология, которая позволяет использовать общую кодовую базу для бизнес-логики приложений разных платформ и писать платформенный код только там, где это необходимо. Хотя последнее время о ней много и часто говорят, найти информацию о нюансах внедрения...

Выполняем сторонние программы на микроконтроллерах с Гарвардской архитектурой: как загружать программы без знания ABI? Зачастую в процессе разработки собственных устройств или моддинга уже существующих, встаёт задача выполнения стороннего кода: будь то ваши собственные программы с SD-флэшек, или программы, написанные другими пользователями с помощью SDK для вашего устройства. Тема компилят...

[Перевод] Основы Scrum менее, чем за 10 минут (Scrum Alliance) Скрам  –  это легкая методология, которая помогает людям, командам и организациям создавать ценности. Это простая и намеренно неполная система, которая позволяет пользователям полностью раскрыть свой потенциал и работать в режиме Agile. В центре внимания Скрам...

Как и зачем мы парсим XML Большинство разработчиков рано или поздно сталкиваются с XML. Этот язык разметки настолько глубоко вошел в нашу жизнь, что сложно представить систему, в которой не используется он сам или его подмножества. Разбор XML - достаточно типовая задача, но даже в ней можно выделить ...

Дом, милый дом: нюансы работы с ClickHouse. Часть 1 Всем привет, меня зовут Пётр, я инженер компании Nixys. На современных проектах используется огромное разнообразие баз данных: реляционные, ключ-значение, документоориентированные. Особое место среди них занимают колоночные базы данных, ярким представителем которых является ...

Как я написал свой первый классификатор эмоций Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-...

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

Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0 В современном мире веб-разработки обеспечение безопасности пользовательских идентификаторов и управление доступом к ресурсам становятся все более важными задачами. Один из мощных инструментов, предоставляющих полноценное решение для этих задач, это Keycloak, современная сист...

Храним файлы Strapi в облаке Selectel Привет, я некоторое время работаю над своим пет проектом, где в основном занимаюсь фронтом, а для данных использую headless CMS под названием strapi.io. В какой-то момент у меня появилась потребность вынести медиа хранилище из локальной папки в облако. А так-как основно...

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

Как взломать банк? (или разбор Payment Village на StandOff 11) Егор Филатов, младший аналитик отдела анализа защищенности Angara Security, подготовил разбор двух недопустимых событий в банковской сфере, которые могли бы нанести серьезный урон бизнесу... Но на практике это моделирование кибератаки через мобильное приложение, которое полу...

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

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

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

Шаблонный сервис C# Всем привет, я разработчик из компании Bimeister и я хочу рассказать о шаблонном C# сервисе, который мы создали, чтобы унифицировать наши приложения и сократить время работы разработчиков над базовой настройкой приложения.Мы начинали небольшой компанией с одним основным серв...

Инсайдерская сборка, исчезновение ведущего разработчика и EOL — примечательные факты о CentOS и ее альтернативы В прошлый раз в блоге beeline cloud мы обсудили векторные базы данных и некоторые открытые инструменты для разработки ML-моделей, но сегодня — обсудим иную тему. Уже в июне Red Hat прекращает поддержку CentOS 7 — дистрибутива Linux, построенного на корпоративном RHEL. Мы ре...

Django + React. Авторизация с помощью сессий между разными источниками Всем здравия! Сегодня будет рассмотрена авторизация с помощью сессий между Django и React, которые находятся на разных доменах, т.е случай "cross-origin". Я в двух словах донесу принцип работы, причины появления концепций и технологий описанных здесь, оставлю ссылки на более...

Микросотовые IP-DECT-системы Yealink: сбор требований и проведение радиопланирования Вторая статья посвящена особенностям работы с микросотовой системой Yealink на этапе ее внедрения.Внедрение — важнейший этап построения стабильно работающей высоконагруженной микросотовой DECT-системы. В этой статье рассмотрим следующие вопросы:• что такое радиопланиров...

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

[Перевод] Rust — лучший язык для инфраструктуры данных Мир технологий бесконечно цикличен, и за последние несколько лет произошел еще один поворот колеса. Такие проекты, как ScyllaDB и Redpanda, добились успеха, переписав системы с Java (Cassandra и Kafka соответственно) на C++ для повышения производител...

Вся мощь паттернов в Wolfram Language Редкая птица долетит до середины Днепра, не каждый разработчик осилит все паттерны в WL. Нет ему равных языков в паттерн-матчинге. Чуден и необычен язык этот. Изобилует он точками, подчеркиваниями, да запятыми так, что в глазах рябит, да разум мутнеет. В этой статье я постар...

[Перевод] А что, если бы функция get в Lodash выводила типы за вас в TypeScript Продвинутая реализация Lodash функции get используя за основу базовую реализацию "Typed Get" type-challenge, а затем покрывая пограничные случаи: опциональные пути, массивы, кортежи. В самом конце типы добавляются к решению на JS. Читать далее

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

SwiftUI: архитектура State-Model-View В документации по UIKit компании Apple можно найти объяснение, что “структура приложений основана на шаблоне проектирования Model-View-Controller (MVC)”.В материалах Apple по SwiftUI объяснений и даже просто ссылок на паттерны проектирования, похоже, нет. Попробуем сначала р...

Реализация многофункционального терминального интерфейса для МК AVR В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью р...

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

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

Стекинг и блендинг в ML. Ключевые особенности и реализация с нуля на Python Среди всех методов ансамблирования особое внимание заслуживают две очень мощные техники, известные как стекинг (stacked generalization) и блендинг, особенность которых заключается в возможности использования прогнозов не только однородных, но и сразу нескольки...

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

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

Dictionary и SortedDictionary Всем привет. Сегодня я планирую рассказать в общих чертах о Dictionary и SortedDictionary в .NET - как они устроены и в чем различие между ними. Читать далее

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 3 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

REST API/Web сервер на PowerShell Все привет! В продолжение статьи о возможностях PowerShell, хочу поделиться несложной реализацией создания REST API и простого Web-сервера, используя только PowerShell на базе класса .NET HttpListener. Такая реализация позволяет настроить endpoint (конечные точки) для обрабо...

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

Книга «Гейм-дизайн: как создаются игры» Привет, Хаброжители! Узнайте, как придумать и создать свою первую игру. Загляните за кулисы гейм-дизайна и глубоко погрузитесь в теорию и техническую сторону разработки видеоигр. Книга затрагивает теорию гейм-дизайна, практические особенности реализации игр в различных жа...

Представлен смартфон Murena 2 без сервисов Google На краудфандинговой платформе Kickstarter стартовал сбор средств на смартфон Murena 2, главной особенностью которого является отсутствие сервисов Google и наличие физического переключателя для отключения камеры и микрофона. При этом, новинка работает под управлением /e/OS – ...

«Домклик» Сбера запустил сервис «Аренда» для собственников жилья Команда Сбербанка сообщила о запуске нового полезного сервиса на платформе «Домклик». Как отмечают в пресс-службе, сервис «Домклик Аренда» помогает безопасно и выгодно сдать жильё в аренду.  Иллюстрация: «Домклик» В услугу &laqu...

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

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

[Перевод] Улучшенная маршрутизация HTTP-серверов в Go 1.22 В Go 1.22 ожидается появление интересного предложения - расширение возможностей по поиску шаблонов (pattern-matching) в мультиплексоре, используемом по умолчанию для обслуживания HTTP в пакете net/http.Существующий мультиплексор (http.ServeMux) обеспечивает рудиментарное соп...

Метод главных компонент (PCA). Принцип работы и реализация с нуля на Python Метод главных компонент (Principal Component Analysis или же PCA) — алгоритм обучения без учителя, используемый для понижения размерности и выявления наиболее информативных признаков в данных. Его суть заключается в предположении о линейности отношений данных и их проекции н...

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

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

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

[Перевод] Разработка под Android в 2024 году Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.Важно подчеркнуть: некоторые хорошие инструменты, паттерны и архите...

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный комп...

«Трудности перевода»: как ChatGPT справился с задачей адаптации сложных текстов Привет, Хабр! Меня зовут Сергей Кулабухов, я занимаюсь внедрением ИИ в бизнес-процессы компании Fix Price. С появлением моделей обработки естественного языка (natural language processing) изменился и подход к реализации подобных задач. Теперь мы не программируем и не обучаем...

Покрытие архитектуры as Code тестами

Играем в крестики-нолики c RPN калькулятором Когда я разбирался с программируемыми калькуляторами, то думал, как бы элегантнее протестировать функциональность устройства. Один из известных способов проверки – это реализация какой-либо игры. Игр для калькуляторов, как на просторах бывшего СССР, так и за рубежом громад...

«Физика для программистов» — как физтехи применяют её в приложениях. Маятники Данная статья входит в цикл, освещающий задачи на моделирование физических процессов на факультете МТФИ ВШПИ. В этой части речь пойдёт про задачу моделирования поведения маятника: коротко разберём теорию, которая лежит в основе модели, немного подумаем над архитектурой и нап...

Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN Привет, Хабр!Утренний будильник, кофеварка, микроволновка, телевизор, кондиционер – все они оборудованы микроконтроллерами. Микроконтроллеры управляют функциями устройства, обеспечивая пользовательский интерфейс и взаимодействие с другими устройствами. Микрокотроллеры также ...

На выделенных серверах Selectel появится сервис Managed Kubernetes Selectel, ведущий российский провайдер IT-инфраструктуры, готовит к запуску управляемый сервис по развертыванию кластеров Kubernetes на базе выделенных серверов. О реализации решения рассказал директор по продуктам компании Константин Ансимов на флагманской конференции Selec...

File upload на React.js шаг за шагом В этой статье напишем компонент для загрузки файлов на сервер, который поддерживает: - Индикатор загрузки - Прерывание отправки - Drag and dropВ нашей конкретной реализации этот компонент будет оберткой и сам не будет отображать файлы, но, я надеюсь, приемы из этой статьи по...

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

Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS Привет, меня зовут Мария, когда-то я работала на шахте, потом на заводе, а 3.5 года назад пришла в Ozon Tech. Сейчас я старший Golang-разработчик в команде product-facade. Это самый высоконагруженный сервис маркетплейса, но так было не всегда.Хотите узнать, что скрывается по...

[Перевод] Как так вышло, что при лишнем шаге сборки моё приложение на Zig ускоряется в 10 раз Вот уже несколько месяцев я интересуюсь двумя технологиями: языком программирования Zig и криптовалютой Ethereum. Чтобы подробнее изучить обе, я написал на Zig интерпретатор байт-кода для виртуальной машины Ethereum.Язык Zig отлично подходит для оптимизации производительност...

Когда мобильная сеть недоступна: зачем запускают звонки через интернет Технология VoWiFi позволяет совершать звонки по номеру телефона вне зоны действия мобильной сети, используя Wi-Fi. Сегодня мы решили обсудить актуальность такого сервиса и ключевые способы его настройки: от OTT и UMA до недоверенного доступа к ePDG. Также рассмотрим перспект...

Python и чистая архитектура… Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по зав...

I2P + OpenFire Собственный мессенджер в скрытой сетиПоднимаем XMPP сервер в I2P. Статью также можно использовать как общее руководство по настройке и других сервисов в скрытой сети, а как именно, читайте далее... Читать далее

Высокоточное измерение ЭКГ. Часть 3 В данной статье представлены некоторые результаты практической реализации высокоточного измерения сигнала ЭКГ и ФПГ. Читать далее

Её величество Плоская таблица Слева красиво! Но ничего не понятно. Куча объектов с непонятными связями. Каша, какая-то.Справа техническая красота :) Всё разложено по полочкам, всё находится под контролем. Никакие детали не могут ускользнуть от нашего внимания.Переход к плоской таблице и понимание её архи...

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

Названы основные особенности процессоров AMD Ryzen 9000 Компания AMD уже готовится к выпуску процессоров на базе новой архитектуры Zen 5, но не спешит делиться подробностями. Зато это уже сделали инсайдеры

Laravel трюки: автоматическое подключение каналов логирования Всем привет! Меня зовут Иван Шишкин и я руковожу разработкой в агентстве Intensa.В этой статье хотел бы поделиться методом автоматического подключения каналов логирования в Laravel через механизм сервис контейнеров(DI). Читать далее

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

Нодовая архитектура на Unity Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кастомной архитектурой, которую сделал в процессе разработки своей RTS игры.Скажу сразу: что основные концепции и принципы уже используются в различных DI фреймворках, таких как Zenject & VContain...

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

Как быстро выбирать языковые модели (LLM) под свои задачи Последние полгода я активно занимаюсь разработкой сервисов на базе больших языковых моделей, они же «LLM». Для каждого проекта мне приходится подбирать модель по определенным критериям: языковая поддержка, требования к памяти, типу (instruction-based или completion), скорост...

«Домклик» Сбера запустил единую платформу продажи новостроек Команда Сбербанка сообщила о свежем запуске на платформе «Домклик» – универсального сервиса продажи новостроек для застройщиков и агентств недвижимости. Об этом сообщил Максим Матвеев, исполнительный директор по работе с партнёрами дивизиона «Дом...

Spotify потребовал от Apple публиковать на iPhone данные о ценах и своём сайте Spotify отправил Apple на согалсрвание свои требования применительно к реализации Закона о цифровых рынках (DMA). Стриминговый сервис хочет публиковать в своём iOS-приложении «базовую информацию о ценах и веб-сайте».

[Перевод] Grafana Beyla: автоинструментарий eBPF с открытым исходным кодом для наблюдения за приложением Часто для правильной интеграции инструментов мониторинга в приложение приходится добавлять агент мониторинга Observability в развертывание или пакет. А в таких языках, как Go, нужно вручную добавлять точки трассировки. В любом случае после добавления инструментов придётся вы...

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

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

NativeScript в мире кроссплатформенной разработки Давайте знакомиться! Меня зовут Игорь. Я разработчик кроссплатформенных мобильных приложений в компании Smartex. В этой статье я расскажу о NativeScript, основных преимуществах платформы и ее недостатках.Материал будет полезен не только разработчикам, которые уже пишут прило...

Connection pool для pqxx В процессе изучения бекэнда, как нового для меня направления в программировании, я столкнулся с необходимостью оптимизации управления соединениями. Поискав в интернете существующие решения для библиотеки pqxx (C++ API для PostgreSQL), я обнаружил, что хотя они и выполняют св...

[Перевод] Как работает async/await в Swift Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще ...

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

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

Использование маппера UNROM при разработке игр для Dendy на языке Си Приветствую всех любителей программирования всяческих ретро-железок. Могу предположить, что у большинства из читателей этой статьи была в детстве Dendy (а может и сейчас есть) или другой клон Famicom (клонов NES в СНГ я не встречал). Сегодня предлагаю обсудить особенности ра...

Разрабатываем дизайн-концепцию IT-системы: этапы аналитики и дизайна Привет, Хабр! Меня зовут Юлия, я старший аналитик-проектировщик компании SimbirSoft. Работаю в сфере IT более 10 лет, в моем портфолио создание более 20 IT-систем для различных проектов: флагмана металлургии, медицинского проекта (6 стран присутствия), автомобилестроительной...

[Перевод] Data Mesh – ячеистые топологии для работы с данными Из каких соображений можно хранить данные в виде ячеистой сети Во всех организациях, где мне доводилось работать, всегда понимали важность данных. Поэтому я видел, что руководство либо заинтересовано, либо прямо планирует создать платформу нового поколения для обращения с ...

Философия NoOps: кому и зачем нужна автоматизация K8s «на максималках» Привет, Хабр! Я Максим Еремин, руководитель направления развития продуктов beeline cloud, и сегодня я хочу рассказать о нашем новом сервисе Cloud Kubernetes Clusters, который мы предоставляем вместе с компанией «Флант». Обсудим, что это за сервис, кому стоит задуматься о пер...

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

Какую базу данных выбрать для Home Assistant На случай, если ещё не встречались с HA (Home Assistant) - это opensource веб сервис для умного дома, доступный как на облаке, так и в виде self hosted, который позволяет подключить к себе кучу всяких устройств и настроить для них любые желаемые автоматизации. Например, откр...

[Перевод] Организация ML-монорепозитория с помощью Pants Приходилось вам копипастить фрагменты вспомогательного кода между проектами, попадая в ситуацию, когда несколько версий одного и того же набора команд оказывались в разных репозиториях? Или, может, вам надо было делать pull‑запросы к десяткам проекто...

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

DataMaps. Рассказ о нашей ORM на Kotlin Уже несколько лет мы с командой трудимся над платформой, которая официально называется БФТ.Платформа, а менее официально - Ice. В основном наша платформа используется в органах власти и государственных учреждениях. Сегодня хотелось бы рассказать не обо всей платформе, а толь...

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

Как мы решали задачу оптимизации доставки грузов с использованием численных методов на примере метода имитации отжига В статье хотим поделиться своим опытом реализации алгоритма решения задачи маршрутизации на основе метода имитации отжига в Norbit CDS – умной системе управления доставкой. Проанализировав материалы, можно обнаружить различные предлагаемые способы решения VRP-задач (Veh...

Что умеет калькулятор зарплат в IT — о сервисах Хабр Карьеры Если вы давно на Хабре, то наверняка видели в ленте наши исследования зарплат IT-специалистов. Мы собираем их на основе данных из зарплатного калькулятора и только — не берем зарплаты в вакансиях или в других источниках. О калькуляторе мы почти всегда рассказываем в общих че...

Обзор наушников Commo Компания «Яндекс» продолжает выпускать технику под собственными брендами. Я уже обозревал телевизор под названием «Яндекс ТВ Станция». Теперь настал черёд носимой электроники — новой версии беспроводных наушников от «Яндекс» Commo. Старой версией наушников я н...

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

Обзор инструмента DefectDojo: почему его выбирают? Практика ASOC (Application Security Orchestration and Correlation, оркестрация и корреляция безопасности приложений), интегрирующая инструменты анализа защищенности со стеком разработки ПО, сегодня широко известна в сфере безопасной разработки. О ней много писали мы и другие...

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

Все про композитинг в X11 | Linux Приветствую, читатели хабра! Вы когда-нибудь задумывались над тем, что скрывается за красотой и динамичностью вашего рабочего стола? Какие компоненты реализовывают анимации и различные графические эффекты: блюр, тень, скругления, прозрачность? В X11 есть одна очень интересна...

[Перевод] Как улучшить тестируемость кода на примере Dependency Injection в Python В данной статьей вы узнаете о важности отделения операций ввода-вывода (т.е. сетевых запросов, обращений к базе данных и т.д.) от основной логики кода, особенностях использования Dependency Injection (внедрения зависимостей) для написания более тестируемого кода с примерами ...

Применяем стандартные алгоритмы в C++. Семь примеров Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В этой статье я хочу поделиться своим опытом применения алгоритмов. Каждый из нас знает, что существуют алгоритмы стандартной библиотеки, и что они делают. Но не все и не всегда используют их. Я тоже их н...

Huginn. Мозговой центр PaaS Привет, Хаброжители! Я Саша, Go-разработчик в компании Сбермаркет. Я со своей командой работаю над созданием инструментов PaaS.PaaS для нас — это не просто микросервисная архитектура. Это целый мир, в котором с самого начала мы почувствовали потребность в создании эффективно...

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

А был ли баг? Может бага и не было? Зачем, как и чем тестировать PHP код В статье рассмотрим основные подходы к тестированию бэкенда на PHP, обсудим преимущества и проблемы, связанные с этим процессом. Также узнаем о методах обнаружения и устранения багов, инструментах и книгах для более глубокого изучения тестирования. Материал будет полезен как...

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

Кто ты, SwiftData Привет! Я Андрей Зонов, стафф-инженер в Тинькофф и большой фанат CoreData. Моя любовь в CoreData началась на старте карьеры, когда я попал в первый Enterprise-проект. Это были времена iOS 4.3., CoreData не имела parent-контекстов и методов perform. Как-то так сложилось, что ...

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

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

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

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

Go на митап: обсудим sync.Pool, свой mini-k8s, паттерны и сообщения об ошибках 28 марта встречаемся на митапе по Go-разработке с инженерами из команд систем хранения данных и телекома YADRO, а также разработчиками из VK и AvitoTech. Эксперты расскажут, как: — снизить нагрузку на сборщик мусора,— сделать свой mini‑k8s,— написать библиотеку для...

100% диалогов в контакт-центре проходят контроль качества «Ростелеком Контакт-центр» (D/O: Digital Operator) зафиксировал 50%-ный рост запросов на сервис речевой аналитики по сравнению с 2022 годом. ИТ-продукт для анализа взаимодействия с клиентами входит в линейку цифровых сервисов контакт-центра с использованием искусственного ин...

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

Создаем I2C Master Controller на Verilog. FSM, Clock, Output Logic, etc После длительного перерыва я продолжил разработку I2C Master Controller на Verilog. В прошлых статьях я рассмотрел основной теоретический материал, необходимый для реализации изначальной задумки. В этом материале переходим к более интересному содержанию: я последовательно ра...

Стек протоколов BLE 5 -физический уровень Физический уровень - это нижний уровень стека протоколов BLE, который определяет основные радиочастотные параметры связи BLE, включая частоту сигнала, схему модуляции и т.д.Рабочая частота BLE составляет 2,4 ГГц. Он использует частотную модуляцию GFSK и использует механизм с...

Путь развития Frontend разработчика (Вторая часть) Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика. Читать далее

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

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

Где мне это пригодится в жизни или применение Nothing в Kotlin на примере В данной статье я хочу показать, почему развитая система типов в языке программирования это здорово. Я попробую провести небольшой ликбез о таких на первый взгляд сложных вещах, как sealed-иерархии, ковариантность и тип Nothing на понятном практическом примере создания своей...

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

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

История импортозамещения: от BluePrism к SaluteRPA Привет, Хабр! Я Смолин Максим, разработчик и администратор баз данных в продуктах RPA BluePrism и SaluteRPA в Блоке Технологий Сбербанка, руководитель ИТ-направления. Мы с командой развиваем продукт SaluteRPA — роботизированная автоматизация процессов Сбербанка. Я расскажу, ...

Названы самые популярные онлайн-библиотеки в России Интересная статистика от аналитиков Yota на основе обезличенных данных абонентов. По итогам 2023 года самой популярной онлайн-библиотекой оказался «Литрес». Пользователи сервиса в общей сложности потратили на чтение больше всего трафика, этот показатель вырос в три раза по...

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

Стажёры рулят или Почему не надо бояться доверять молодым сотрудникам Боитесь стажёров? Не хотите тратить своё время на обучение начинающих специалистов? Задач много, а специалистов по ИБ мало?Делюсь опытом построения стажёрского конвейера на базе SOC. Может, это решит ваши проблемы.Многие российские современные IT-компании имеют стажёрские пр...

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

[Перевод] Осваиваем модуляризацию: Руководство для начинающих по организации сложных программных систем ⚡ Tl;dr Модуляризация — это метод разделения сложных систем на более мелкие удобоваримые части для лучшего управления и восприятия. Она повышает эффективность, надежность и ремонтопригодность программных проектов за счет организации кода в модули. Она снижает когнитивную на...

Это не жадность Apple, просто у компании не получилось. Купертинский гигант три года работал над реализацией совместимости Apple Watch с Android Как известно, умные часы Apple не работают со смартфонами под управлением Android. Можно было бы подумать, что Apple сделала это специально, но компания как минимум пыталась реализовать совместимость.  создано DALL-E В рамках своего ответа на иск Министерства юсти...

Что объединяет Павла Дурова и Илона Маска? Их сервисы не стали жертвами массового сбоя крупных соцсетей Павел Дуров и Илон Маск не смогли упустить шанс похвастаться стабильностью своих сервисов на фоне массового сбоя, который сегодня затронул YouTube, Google и прочих ИТ-гигантов.

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

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

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

Статистика каршеринга в России от аналитиков Yota Информация от аналитиков Yota на основе обезличенных данных абонентов. Популярность использования сервисов каршеринга в 2023 году выросла на 43%. Лидирует по этому показателю сервис BelkaCar с трехкратным ростом за год. Самый значительный прирост аудитории таких приложений ...

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

На бывшем заводе Toyota вместо грузовиков действительно могут собирать Aurus'ы. В проекте заинтересован «Газпром» По информации собственных источников газеты «Коммерсантъ», компания Aurus рассматривает возможность организации сборочного производства на базе бывшего завода Toyota в Шушарах. Также появилась информация об интересе «Газпрома» к данному проекту. ...

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в се...

SOLIDно знать… SOLID. Принципы и Паттерны. Паттерны и Принципы. Что может быть ближе друг другу чем эти субстанции ?! Эта статья проведет параллель между ними, она не собирается объяснить суть каждой, вместе или отдельно, а желает показать как одна другой помогает. То есть, статья в некото...

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

Платформа инвестиционного бизнеса. Как устроена IPS в РСХБ Привет, Хабр! Меня зовут Денис Антонов, я работаю SRE‑инженером и менеджером системы на платформе IPS (Investment Platform Solutions) в Блоке ИТ‑развития Инвестиционного бизнеса РСХБ‑Интех (дочерняя технологическая компания Россельхозбанка). Совместно с коллег...

Отопление мегаполиса от ТЭЦ — как успешная реализация коммунистической утопии «общества всеобщего равенства» Отопление мегаполиса Москва от ТЭЦ. Массовая застройка «спальных районов» - как успешная реализация коммунистической утопии «общества всеобщего равенства». В предыдущей статье были рассмотрены вопросы  генерации и распределения электричества в большой стране.https:...

Паттерны Singleton и Multiton в Java: когда и какой лучше? Привет, Хабр!Паттерн Singleton гарантирует существование лишь одного экземпляра класса и предоставляет к нему глобальную точку доступа. Этот паттерн стал почти синонимом чистоты кода в многих сценариях работы с Java, где требуется строго один экземпляр объекта. Но не менее и...

Почему FilamentPHP — это хорошее решение для создания CMS Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь по...

[Перевод] Анатомия shadcn/ui Если вы следите за новинками экосистемы JavaScript, то должны были слышать об интересной библиотеке пользовательского интерфейса (user interface, UI) под названием shadcn/ui. Вместо того, чтобы распространяться в виде пакета npm, компоненты shadcn/ui добавляются с помощью ...

Паттерн Aggregate Outside Руслан Гнатовский aka @Number55 в свой статье Когда ни туда, ни сюда, или в поисках оптимальной границы Domain слоя описал известную проблему протекания бизнес-логики из агрегата, в случае если эта логика зависит от данных которые находятся вне агрегата, и предложил нескольк...

Разработка HID-драйвера: шаг за шагом Предлагаем погрузиться в мир Human Interface Device (HID) в контексте операционной системы реального времени «Нейтрино». В статье мы расскажем про архитектуру HID и коснемся практических аспектов создания драйверов для устройств ввода. Кроме того, затронем вопросы системной...

Появление криптокошелька в Telegram назвали «главным событием месяца» На фоне ажиотажа вокруг криптовалют аналитики сервиса Binance Research опубликовали отчёт за прошедший месяц, в котором коснулись основных тенденций. В частности, «главным событием месяца» названа интеграция криптовалюты TON в мессенджер Telegram.

Ржавое наследование 2. Славянский проброс Get/Set Вторая статья по теме, развивающая мои теоретические выкладки про наследование реализаций из первой части. В этой части пойдет речь о доступе к данным через цепочку вложенных структур. Все также никакой лишней нагрузки в виде: Rc, RefCell, и тд, только no_std и немного night...

Аутентификация для WebSocket и SSE: до сих пор нет стандарта? WebSocket и SSE появились более десяти лет назад, однако до сих пор в стандартах отсутствуют рекомендации по решению задачи аутентификации для подобных соединений.В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events...

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

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

Канзас-Сити погрузился в «хаос»: вымогательское ПО поразило округ в США Округ Джексон, штат Миссури, в котором находится большая часть Канзас-Сити, находится в смятении после того, как предположительно атака вымогательского ПО нанесла ущерб его IT-системам. Атака, объявленная главой округа Фрэнком Уайтом-младшим в качестве чрезвычайного положени...

Бегущий по витринам KION. Как контент попадает на витрины приложений Привет, Хабр! Меня зовут Алексей Жиряков, я техлид backend-команды витрины онлайн-кинотеатра KION. В этой статье я расскажу вам, как в нашем сервисе формируется витрина с фильмами и сериалами. Приподниму завесу тайны над нашей архитектурой и поделюсь, как мы компонуем выдачу...

СВЧ фазовращатель Захотелось разработать микрополосковый фазовращатель на диодах, производимых на предприятии, на котором работаю. Прочитал статьи, узнал основную схемотехническую идею.В общем смысл таков: используя переключательные PIN-диоды "направлять" СВЧ сигнал по тому или одному из двух...

Пользователи VK Звонков за год стали на 11% больше времени проводить в сервисе ВКонтакте подвела итоги работы VK Звонков и VK Мессенджера в 2023 году. По данным компании, пользователи VK Звонков за год стали на 11% больше времени проводить в сервисе. Также за этот период на 60% выросла длительность звонков с совместным просмотром. Участниками самого ма...

Cloud Spark от VK Cloud — простой доступ к инструментам анализа больших данных Cloud Spark — облачный сервис на основе Managed Kubernetes и Apache Spark для распределенной пакетной и потоковой обработки данных, работы с Machine Learning и аналитикой.  С помощью сервиса вы можете структурировать данные из разрозненных источников для создания аналитич...

ИИ помог обойти защиту резистентных бактерий: открыт новый класс перспективных антибиотиков По прогнозам к 2050 году смертность от инфекционных и бактериальных  заболеваний, не поддающихся лечению в связи с устойчивостью возбудителей к антибактериальным препаратам, составит 10 млн человек в год и выйдет на одно из лидирующих мест наряду с сердечно-сосудистыми ...

Характеристики AMD Ryzen 8000G попали в сеть Сегодня характеристики и основные особенности APU (система на кристалле с интегрированной графикой) AMD Ryzen 8000G под кодовым названием Hawk Point утекли в сеть благодаря компании ASRock, которая эту информацию подтвердила. Новые системы на кристалле из семейства Hawk Poin...

Apple Vision Pro vs Meta* Quest 3: что стоит купить и стоит ли? Раскрываем нюансы нашумевших устройств Всем привет!Меня зовут Никита, я — Tech Lead команды QuiXR. Сегодня я поделюсь с вами обзором Apple Vision Pro и Meta* Quest 3. Попробуем разобраться, соответствуют ли гарнитуры заявленным ценам? Кому и для чего подойдут?Мы сравним следующие особенности гарнитур:1. Внешний в...

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

Кратко про Serde в Rust Serde — это высокопроизводительная библиотека для сериализации и десериализации данных в Rust. Она поддерживает различные форматы данных, включая JSON, YAML, TOML, BSON и многие другие.В этой статье рассмотрим основы Serde в Rust. Читать далее

UUIDv7 Седьмая версия UUID (Universally Unique Identifier Version 7, UUID Version 7, UUIDv7) является модифицированной и стандартизованной версией ULID. Проект стандарта (далее стандарт) находится в ожидании окончательной проверки редактором. Но уже имеется большое количество реали...

Как распараллелить тесты с базой данных Представьте проект, в котором уже написано несколько сотен тестов. Каждый тест настраивает базу под себя: добавляет данные, вызывает truncate по окончанию. Хочется запускать тесты параллельно, чтобы ускориться, но если два теста запустить одновременно, они почти наверняка др...

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

Apple заработала больше, чем все думали. iPhone снова в фаворе и рвут весь мир Финансовый год традиционно бежит немного вперед календарного. Поэтому не стоит удивляться тому, что в ночь с 1 на 2 февраля Apple отчиталась за уже завершившийся первый квартал. Дело в том, что для нее он стартовал еще в октябре 2023 года, а завершился в конце декабря. Так ...

Управление контейнерами из Kotlin-тестов Нередко для выполнения тестов требуется запуск вспомогательных сервисов (баз данных, брокеров очередей и др.) и стандартной практикой в подходах DevOps является запуск тестов внутри управляемого окружения, где сначала создается контейнер с JVM, после чего внутри конвейера CI...

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

Паттерны или химеры программирования Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с ...

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

[Перевод] Dataloader 3.0: Новый алгоритм для решения проблемы N+1 При реализации Cosmo Router, open-source замена Apollo Router, мы столкнулись с проблемой поддержания нашего кода для решения проблемы N+1. Реализация маршрутизатора для федеративных служб GraphQL в значительной степени зависит от возможности группировать вложенные запросы G...

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

Пароли в открытом доступе: ищем с помощью машинного обучения Я больше 10 лет работаю в IT и знаю, что сложнее всего предотвратить риски, связанные с человеческим фактором. Мы разрабатываем самые надежные способы защиты. Но всего один оставленный в открытом доступе пароль сведет все усилия к нулю. А чего только не отыщешь в тикета...

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

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

[Перевод] Введение в поддержку JavaScript в MySQL MySQL продолжает наращивать инновации и теперь включает в себя богатые возможности процедурного программирования внутри базы данных. Отныне разработчики могут писать хранимые программы на языке JavaScript (функции и процедуры) в сервере баз данных MySQL. Хранимые программы б...

Компания NEOM объявляет о начале реализации проекта Epicon – роскошного туристического направления на берегу Акабского залива Совет директоров NEOM, компании, непрерывно развивающей северо-запад Саудовской Аравии, сегодня объявил о создании новейшего роскошного туристического направления под названием Epicon, предлагающего также жилую недвижимость на берегу моря. Находящийся на берегу Акабского зал...

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

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

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

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

OpenStreetMap в Flutter-проекте: что такое flutter_map, как его внедрить и чем дополнить Всем привет! Меня зовут Анна Ахлёстова, я Flutter-разработчик в Friflex. Ранее мы обсудили, как использовать инструменты yandex_mapkit в Flutter-проекте. В этой статье рассмотрим еще один плагин для работы с картографическими сервисами – flutter_map, изучим его возможности, ...

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

Обзор блока питания Chieftec Atmos 850W Среди основных особенностей данного блока питания – полностью модульная схема подключения кабелей, питающих компоненты системы, соответствие новейшему стандарту ATX 3.0, включая поддержку спецификаций питания устройств PCIe Gen5 и наличие кабеля 12VHPWR, способного передав...

3 необычных онлайн-сервиса для заядлых картографов В наше время доминирования таких сервисов как GoogleMaps, 2ГИС, Яндекс.Карты и т.п. обычного пользователя трудно удивить онлайн-картами. Однако есть проекты, которые по-прежнему способны заинтересовать. В этой подборке я собрал наиболее интересные геоинформационные сервисы -...

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

SberPay: как добавить поддержку бесконтактной оплаты в Android-приложение Хотите добавить в своё Android-приложение функцию бесконтактной оплаты, но не знаете, как это сделать? Тогда эта статья для вас! Заодно обсудим особенности реализации. В конце будет ссылка на репозиторий с примером. Читать далее

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

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? С момента выхода первой части статьи из рубрики «сам себе экосистема» прошёл уже практически год! За это время, мы успели с вами реализовать клиенты VK и YouTube, которые работают на Android 2.2+, а также на Windows Phone 8, написать небольшую 2D-игру с нуля весом менее 1М...

Volkswagen Passat на максималках. Качественные фото новейшего 5-метрового бизнес-седана Volkswagen Magotan B9 В Сети появились качественные фото большого седана Volkswagen Magotan нового поколения. По сути, Magotan — это растянутый для Китая Volkswagen Passat со своими особенностями по части внешнего вида и опций. В новом поколении автомобиль обрёл светодиодную полосу м...

ZTE выпустила Yuanhang 41S с 12 ГБ ОЗУ и корпус из углеродного волокна Компания ZTE анонсировала свой новый недорогой смартфон под названием ZTE Yuanhang 41S. Главной особенностью гаджета является его тыльная панель, которая сделана из углеродного волокна. Там же размещён восьмиугольный блок, в котором расположилась основная камера. …

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

[Перевод] Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью Реализация защиты от сбоев из-за фрагментации кучи и повышение скорости выполнения с помощью STL-альтернативы std::allocator, работающей с блоками памяти фиксированного размера.В этой статье описывается реализация STL-совместимого аллокатора, ориентированного на выделение и ...

Pure.DI помогает сделать DI чистым В статье поговорим о Dependency Injection. Обсудим что такое чистый DI, коснемся DI контейнеров и их эволюции. В основной части речь пойдет о генераторе исходного кода Pure.DI и о том, как он помогает создавать приложения в парадигме чистого DI. Чита...

Использование Redis почти как SQL БД: Реализация чата с кешированием сообщений Допустим, мы хотим создать чат и хранить сообщения для него. Вполне возможно, мы можем добавить для этого простую базу данных (БД), такую как MySQL или даже NoSQL БД.Обычно многие используют Redis как key‑value (dictionary) хранилище. Тем не мен...

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

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

Async iterator timeout в Python Представим следующую задачу: у нас есть микросервисная архитектура, в которой сервисы взаимодействуют через брокер сообщений, или через gRPC. Так или иначе, оба варианта предоставляют полнодуплексный канал связи, через который один сервис может отправлять множество сообщений...

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

Apache Flink: динамическое определение выходного топика в Kafka Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей статье — «Apac...

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

NASA продолжает развивать миссии программы Earth System Observatory в условиях неопределённости бюджета NASA продолжает активную работу над проектом Earth System Observatory, несмотря на финансовую неопредёленность. Этот проект представляет собой многомиллиардную серию научных экспедиций, направленных на изучение Земли. В ходе встречи Американского Геофизического Союза в ...

Яндекс представил два новых сервиса для работы с данными на облачном хранилище Они расширят возможности платформы и повысят общий уровень безопасности.

Плохой-хороший ИИ: как алгоритмы помогают хакерам и специалистам по ИБ Компании активно используют ИИ-системы и чат-ботов в рабочих процессах, например, для создания регулярных выражений, паттернов проектирования и уточнения запросов. Роль таких решений продолжает расти и в сфере кибербезопасности — а также кибератак. Мы в beeline cloud достато...

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

Процессы в РСХБ: взаимодействие с СБП через ЕСПП, App.Farm и различные нюансы импортозамещения Привет, Хабр! Меня зовут Игорь Шестаков. Я занимаюсь тестированием ЕСПП (единая система приема платежей) в Блоке обеспечения и контроля качества выпуска изменения ПО в РСХБ‑Интех. Сегодня обсудим тему выживания в контейнере и ветвистых путей импортозамеще...

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

Эволюция разработки под Android Отправной точкой истории разработки Android считается начало 2000-х, когда Энди Рубин, Рич Майнер, Ник Сирс, Крис Уайт основывают Android Inc. Уже в 2005 Google выкупает их, а в 2008 запускает свою ОС — Android. Первым смартфоном на её базе стал HTC Dream. Так началась ...

Разбирая бэклог. Часть 9. Кратко о 4 проектах на OpenBOR или вторая жизнь старых beat 'em up'ов и файтингов. 2021-2024 Beat 'em up'ы. Жанр, широко распространившийся в середине 80-х годов прошлого века на игровых автоматах и 8-битных консолях, в последующем успешно перетёкший в 16-бит. Его век был ярким, но не сказать чтобы долгим. Различные проекты продолжили выходить и в последующем, некот...

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

Baojun представляет новую архитектуру Tianyu EV для своих электрических кроссоверов 12 апреля Baojun представила новую модель автомобиля Yue Plus на основе новой архитектуры Tianyu, а также анонсировала две модели Baojun Yep Plus. Компания представила более подробную информацию об архитектуре, отметив три основные платформы S, M, и D, а также новые модели в...

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

Линеаризация: зачем и как укрощать ratio-метрики в A/B-тестах Привет, Хабр! В прошлой статье я указал, что в A/B-тестах используются три основных типа метрик, а именно пользовательские конверсии, средние метрики пользователей и ratio-метрики. К последним обычно относят средний чек, CTR баннера, среднюю длину сессии и др. Такие ме...

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

Как ускорить LLM-генерацию текста в 20 раз на больших наборах данных Всем привет, я Алан, разработчик-исследователь в MTS AI. В команде фундаментальных исследований мы занимаемся исследованием LLM, реализацией DPO и валидацией наших собственных языковых моделей. В рамках этих задач у нас возникла потребность в генерации большого количества да...

Хакеры выставили на продажу данные клиентов генетической лаборатории 23andMe Сервис генетического профилирования 23andMe подтвердил факт утечки данных, признав, что частные данные пользователей были соскоблены и выставлены на продажу на криминальном форуме. Нарушение, о котором стало известно через пять дней после того, как данные были выставлены на ...

Task и structured concurrency в swift В данной части из серии статей про Swift concurrency мы подробно остановимся на сущности под названием Task и разберем на примерах, как с ней работать. Также поговорим про structured concurrency. Что это такое, как это понятие связано с Task и почему механизмы языка async/a...

PaaS два года спустя. Обзор инструментов и какие задачи они решают Друзья, привет! Если у вас так же много разработчиков как у нас, то и им, возможно,  стало тесно стоять в очереди на deploy в монолите. А значит, вы можете решить перейти на микросервисную архитектуру и дать каждому игроку свой мяч каждой команде свой микросервис. ...

[Перевод] AFCOM: Бум ИИ стимулирует инновации в проектировании и строительстве ЦОД В своем последнем отчете AFCOM (Association For Computer Operations Management) отмечают, что стремительное развитие искусственного интеллекта и широкое распространение цифровых сервисов стимулируют спрос на инновационные технологии в области проектирования ЦОД. Однако в ход...

Zyxel NWA90AX Pro: точка доступа класса AX3000 с портом 2,5 Гбит/с Данное решение позиционируется для сегмента малого бизнеса. Оно поддерживает все востребованные в нем технологии и функции, включая организацию нескольких сетей, VLAN, Mesh-систему, полный набор стандартов аутентификации. Ключевой особенностью данного продукта является налич...

Spring Cloud Gateway. Единая точка входа или отказа: путь к non-blocking API gateway Привет, Хабр! Меня зовут Никита Летов, я техлид бэкенд-разработки сервисов дистанционного банковского обслуживания Росбанка для физических лиц, или как модно сейчас говорить, ретейла. В этом посте я расскажу, что такое входная точка в приложение, когда в ней появляется необх...

Смартфон Honor 90: 200-мегапиксельная камера и интересный дизайн Из минусов можно отметить отсутствие защиты от пыли и влаги, хотя в этой ценовой категории обычно встречается как минимум защита от брызг IP53. И еще звук: почему в такой модели не установили стереодинамики — полная загадка, в этом сегменте уже трудно найти соперников с моно...

ANNA – сервис для автоматической разработки нейронных сетей Нейросетевые модели уже несколько лет успешно применяются в Альфа-Банке для решения ключевых задач, таких как кредитный скоринг, прогнозирование склонности клиентов к продуктам и определение оттока. Модели глубокого обучения демонстрируют высокое качество и стабильно улучшаю...

Как мы переехали с Oracle на PostgreSQL в нагруженном сервисе без даунтайма Всем привет! Я Сергей, работаю в B2B-команде Яндекс Маркета последние 3,5 года. Как уже понятно из заголовка, сейчас я вам расскажу про yet-another-миграцию с базы на базу, которая началась в середине 2021 года и заняла почти год. Получается, мемуары.Вас ждёт рассказ о ...

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

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

Yandex Cloud выпустила большое обновление платформы для работы с данными Провайдер запустил сервис для управления метаданными Yandex MetaData Hub, добавил новые возможности в сервис BI-аналитики Yandex DataLens, повысил безопасность баз данных и не только.

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

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

[Перевод] Не стоит недооценивать HTML «HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения. И очень часто они вызывали у м...

Гайд по сплит клавиатурам Этот гайд создан для тех, кто интересуется сплит клавиатурами, но еще не знаком с их особенностями и преимуществами или рассматривает переход на них. Главная цель гайда – предоставить всестороннюю информацию о сплит клавиатурах: от их истории и типов до подробного рассмотрен...

Внутренняя память ПЛИС, которой всегда не хватает Хотелось бы выделить два основных свойства внутренней памяти ПЛИС:удобство использования (+)ограниченное количество (-)Вот со вторым приходится всегда бороться, особенно если есть необходимость буферизации каких-то данных в достаточном количестве.В этой статье мы рассмотрим ...

Стабильный релиз Wine 9.0? Спустя год он всё-таки появился — вместе с 7 000 изменений Привет, Хабр! Кажется, мы действительно дождались стабильного релиза Wine 9.0. Спустя год времени и 26 промежуточных версий представлена официальная версия Wine 9.0. Разработчики внесли несколько тысяч изменений, так что здесь есть что обсудить. Основные нововведения — архит...

Векторные базы данных — набирающий устойчивость тренд в разработке систем ИИ или мимолетное увлечение? В блоге beeline cloud на хабре и в нашем технологическом медиа мы разбираем ключевые технологии и принципы работы отрасли. На этот раз мы решили затронуть стремительно растущий рынок машинного обучения, который «тянет» за собой сегмент векторных БД.С одной стороны, технологи...

Cample.js — один из самых быстрых фреймворков без виртуального DOM в Интернете! Отчёт № 2 В данной статье я бы хотел провести последний отчёт по быстродействию Cample.js. За два года работы над фреймворком, сложились небольшие результаты, которые я бы хотел рассмотреть.Отчёт включает в себя сравнения по производительности с популярными библиотеками и фреймворком,...

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

Основные функции Apache Tomcat Привет, дорогие читатели! Apache Tomcat — это открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket, предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Softw...

[Перевод] Grafana 10: на что стоит обратить внимание в новом релизе Всем привет! Несколько месяцев назад прошел GrafanaCON 2023, на котором объявили о выходе десятой версии Grafana — инструмента для мониторинга и визуализации данных с аудиторией в 20 миллионов по всему миру.Grafana 10 помогает добиться большего: подробнее анализировать данны...

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

Как использовать html-элемент <dialog>? Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В основном, занимаюсь разработкой приложений на React, но также постоянно экспериментирую с различными технологиями.В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Пробл...

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

Игровой системный блок Raskat Strike 520: мощное и относительно недорогое решение c Core i5-13400F и GeForce RTX 4070 Ti Raskat Strike 520 — это реализация практически беспроигрышной концепции: Core i5 в недорогом окружении, но с мощной видеокартой позволяет без лишних переплат построить мощный игровой компьютер. Некоторые детали реализации оптимальными не являются, и в первую очередь это отно...

SberJazz XR — виртуальные встречи в 3D В феврале 2020 года началась пандемия, мы перешли на удалённый формат работы и очень быстро освоили новый поведенческий паттерн взаимодействия друг с другом в формате онлайн с помощью сервисов ВКС. Однако со временем недостаток живого общения и ощущения физического присутств...

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

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

Как автоматизировать построение архитектурных схем в большой микросервисной системе Если у вас есть большая система, состоящая из множества микросервисов, то вы наверняка задавались вопросом: «Что сделать, чтобы архитектурная схема всей системы была всегда на 100% актуальной?». Обычно, в компаниях есть свои практики формирования архитектурных схем и ведения...

Как работают Векторные базы данных и Поиск похожих текстов в них Если вы когда-нибудь использовали в работе retrieval augmentation generation (RAG) на базе векторного поиска и не лезли туда под капот, но были бы не прочь, я постараюсь погрузить вас в то, как устроена векторная база данных внутри. Читать далее

«Li Auto для зарубежных рынков». Exeed Exlantix ET, который ожидается в России, повторяет популярную в Китае модель Li Auto L7 Chery получила разрешение на производство Exeed Exlantix ET. Это электрический кроссовер среднего размера, который в Китае также известен как Sterra ET. Внешний дизайн и характеристики Exlantix ET близки к Li Auto L7. А поскольку Li Auto всерьез не рассматривает возможн...

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

Создание сервиса авторизации через систему ЕСИА Всем привет. Меня зовут Динис, я старший разработчик в БФТ-Холдинге. В данной статье приведен план по созданию сервиса авторизации через систему ЕСИА. Тема будет интересна тем, кто внедряет такой сервис для своего приложения. В статье я собрал ключевые выдержки из документац...

Векторные СУБД и другие инструменты для разработки ML-моделей На фоне развития генеративных и больших языковых моделей набирают обороты векторные базы данных. В прошлый раз в блоге beeline cloud мы обсудили, насколько этот тренд устойчив, а также предложили несколько книг для желающих погрузиться в тему. Сегодня же мы собрали компак...

Тестирование сборки: Supermicro X13SAE-F Intel Core i9-14900KF 6.0 GHz В этой статье мы поделимся результатами тестирования компьютерной сборки на базе материнской платы Supermicro X13SAE-F и нового процессора Intel Core i9-14900KF с возможностью разгона до 6.0 GHz.HOSTKEY — хостинговая компания, поэтому нам важно своевременно обновлять оборудо...

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

Microsoft ограничит доступ к 50 своим облачным продуктам на территории России Представители российской компании Softline подтвердили, что Microsoft ограничит доступ к 50 своим облачным продуктам на территории России. Издание ТАСС опубликовало подробный список. В Softline отметили, что из-за ограниченной функциональности блокировка распространится...

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

После совещания в Генпрокуратуре Wildberries сообщила об отмене комиссию за оплату товаров картами Visa и Mastercard Сомнительная инициатива Wildberries по взиманию комиссии в размере 3% за оплату товаров картами Visa и Mastercard просуществовала всего пару дней. Несколько часов назад компания сообщила, что отменяет комиссию. А тем клиентам, у кого 3% были списаны, деньги вернут. Фот...

7 направлений оптимизации ClickHouse, которые помогают в BI Привет, Хабр! Меня зовут Никита Ильин, я занимаюсь разработкой архитектуры BI-платформы Visiology. Сегодня мы поговорим про оптимизацию ClickHouse — ведущей СУБД, которую все чаще используют для решения задач аналитики на больших объемах данных. В этой статье я расскажу, поч...

Кеширование next.js. Дар или проклятие В 13 версии команда next.js представила новый подход к проектированию приложения - так называемый App Router. В 14 версии его сделали стабильным и основным для новых приложений.App Router значительно расширяет функционал next.js - частичный пререндеринг, шаблоны, параллельны...

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

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

DemHack 8: итоги мероприятия НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН И (ИЛИ) РАСПРОСТРАНЕН ИНОСТРАННЫМ АГЕНТОМ «РОСКОМСВОБОДА» ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА «РОСКОМСВОБОДА». 18+Рассказываем вам о проектах, которые участвовали в мероприятии в этот раз.В конце марта состоялся хакатон D...

9 архитектурных антипаттернов при разработке телеграм-ботов на Python Привет, Хабр! Если вас заинтересовал заголовок этой статьи, значит, вас интересует созданием телеграм-ботов, и вы стремитесь к совершенству в этом. Разработка телеграм-ботов требует не только креативности, но и правильной архитектуры. В этой статье мы рассмотрим 9 архитектур...

NVIDIA представила новый фильтр Freestyle для HDR-контента Сегодня компания NVIDIA официально представила совершенно новый фильтр под названием Freestyle, работающий на базе искусственного интеллекта, который направлен на автоматическую реализацию HDR во множестве игр, поддерживающих только SDR-режим и работающих на DirectX 9, Direc...

[Перевод] Как добавить Flutter в нативное приложение iOS и протестировать его на Codemagic (Часть 2) Hola, Amigos! На связи Саша Чаплыгин, Flutter dev компании заказной разработки Amiga. Нашел интересную статью на английском о том, как добавить Flutter в новый или существующий проект Native iOS. Решил поделиться с вами переводом. Это вторая часть, в которой будет идти речь ...

Kid-tech. Особенности детских банковских продуктов: зачем банкам дети и нужно ли это родителям Kid-tech 一 это технологические решения и сервисы для детей. Одними из первых это направление начали развивать банки, увидевшие не только рыночную потребность, но и способ удерживать существующих клиентов, сохранять на их счетах больше средств, а также выстраивать долгосрочны...

Особенности "Шнековой" FGF печати. Часть 1.     Здравствуйте, в связи с ажиотажем вокруг одной статьи: Сама статья про люк , стало понятно что есть необходимость публикаций про нюансы печати больших изделий с помощью шнеков.    Изложенный далее материал основан на личном опыте при освоении печати на шнеке. Было получе...

Моделирование размещения хабов в pyomo Транспортные, телекоммуникационные и компьютерные сети часто используют Hub-and-Spoke архитектуру для эффективной маршрутизации потоков между множеством отправителей и получателей. Особенность такой топологии заключается в использовании специального объекта сети - хаба. Хабо...

В Oracle рассказали о планах по поводу Java на 2024 год Основные улучшения направлены на ускорение работы, снижение расхода памяти, упрощение кода и реализацию новых моделей программирования.

Разреженные структуры данных Когда-то я писал пост про различные интересные структуры данных. Среди них был т.н. sparse set. Там мы описали его в общих чертах, опустив некоторые детали (которыми позже статья была дополнена). Но кроме sparse set существуют и другие разреженные структуры данных! На них се...

Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля Пожалуй, многие из вас помнят, какими были мобильные игры до и после выхода первого iPhone. В начале 2000-х годов, ещё до появления яблочного смартфона, игры для телефонов в основном были весьма интересными, но тем не менее, достаточно простенькими с точки зрения графики и...

К дилерам едут новые Kia Seltos российской сборки. «Автотор» нашел способ получить от корейцев недостающие детали Telegram-канал No Limits сообщил о том, что к дилерам отправились кроссоверы Kia Seltos российской сборки. В доказательство приводятся фото машин в вагоне: сообщается, что состав, в котором примерно 25 вагонов с автомобилями «Автотора» (помимо Seltos ср...

«Ростелеком» подвел итоги реализации проекта УЦН 2.0 в 2023 году Реализация проекта ведется в соответствии с контрактом Минцифры России с «Ростелекомом».

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

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

МТС RED представила рынку новый сервис защиты веб-приложений (WAF) Его отличает возможность поддержки высоконагруженных приложений (свыше 1000 запросов в секунду) и реализации выделенных инсталляций WAF под крупных заказчиков.

Опыт внедрения компонентной разработки Привет! Меня зовут Александр Омельяненко, я работаю тимлидом Flutter-команды в AGIMA. Расскажу, как и почему на одном из наших проектов мы внедрили компонентный подход к разработке и какие плоды нам это дало. В статье покажу основные плюсы и минусы нашего решения. А еще затр...

[Перевод] Kubernetes на AWS: пошаговое руководство В этой статье мы рассмотрим несколько распространенных способов создания кластера Kubernetes на AWS:— Создание кластера с помощью kops: kops — это инструмент, предназначенный для промышленной эксплуатации, используемый для установки, обновления и управления Kubernetes на AWS...

Рекомендации яндекс «Куда пойти в Москве»: история моего фиаско Пару недель назад яндекс в блоге вебмастеров проанонсировал появление нового блока на поиске – с рекомендациями и событиями. Мы – клуб по игре в мафию – попробовали подключиться к этому сервису и описываем свой опыт: первая половина статьи о технических аспектах подключения,...

[Перевод] Java ScopedValue: Ускоренный ThreadLocal В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue (в значительной степени как поддержка и развитие Virtual Threads). ScopedValue предназначен для того, чтобы предоставить более легкую альтернативу ThreadLocal, которая хорошо работает с в...

Логистическая и Softmax-регрессии. Основная идея и реализация с нуля на Python Начнём с более простого. Логистическая регрессия — линейный бинарный классификатор, основанный на применении сигмоидальной функции к линейной комбинации признаков, результатом которого является вероятность принадлежности к определённому классу. Обычно порог устанавливается 0...

Тестируем отечественную систему виртуализации: Альт Привет, Хабр!Я продолжаю свой цикл тестирования российских систем виртуализации. Сегодня речь пойдет о популярном решении под названием «Альт Виртуализация». Посмотрим, для каких сценариев подходит этот продукт, какие функции представлены в актуальной версии решения и кому я...

Дочерняя компания Сбера создала сервис для лечения инсульта с помощью ИИ Компания СберМедИИ вместе с Лабораторией искусственного интеллекта Сбера разработала новый AI-сервис под названием «КТ головного мозга». Этот сервис предназначен для поддержки врачей при диагностике инсульта на основе данных компьютерной томографии.

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

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

Apple практически не уделяет внимания Apple Arcade Несколько лет назад компания Apple представила свой фирменный игровой сервис под названием Apple Arcade. На старте многие полагали, что купертиновцам удастся развить свой новый сервис. Однако сейчас разработчики полностью разочаровались в Apple Arcade. Есть мнение, что в буд...

Micron показала коммерческий модуль ОЗУ LPCAMM2. Достоинства и недостатки новых стандартов оперативной памяти На CES 2024 представлено много интересных устройств и технологий. Одна из них — реализация нового типа памяти ОЗУ, стандарт LPCAMM2. Именно такой модуль представлен компанией Micron. Аналогичные продукты готовят и другие компании. В чём их преимущества и недостатки и какие и...

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

Пункт назначения — Squadus. Наш опыт переезда на альтернативу Microsoft Teams В марте 2024-го рынок встряхнула новость от Microsoft о грядущем отключении доступа к облачным сервисам компании для корпоративных клиентов из России. Оперативно делая бэкапы, одни побежали искать «обходные пути», вторые — подбирать альтернативы продуктам Microsoft. А я реши...

[Перевод] Как утереть нос NumPy с помощью двумерного БПФ Двумерное преобразование Фурье — один из важнейших алгоритмов компьютерной науки этого столетия. Он нашел широкое применение в нашей повседневной жизни — от фильтров Instagram до обработки MP3-файлов.Наиболее частой реализацией, используемой рядовым пользователем, иногда даж...

Новая файловая система Composefs для Linux: что это такое и как она работает В ноябре 2022 года Александр Ларсон, сотрудник Red Hat, разработавший Flatpack, предложил реализацию файловой системы Composefs. Она в некоторых моментах похожа на Squashfs, подходит для монтирования образов в режиме «Только для чтения». Особенности новой ФС — совместное хра...

REST API сервер на Bash с использованием сокетов и Apache Всем привет! Ранее рассказывал о том, как создать REST API и Web-сервер на PowerShell для Windows, а также упоминал, что подобный сервер будет работать и в системе Linux, благодаря кроссплатформенной версии PowerShell Core. Безусловно, для подобных целей лучше используются с...

Одноклассники представили самое масштабное обновление социальной сети за 5 лет Одноклассники представили обновленную Ленту новостей, основной сервис соцсети, которым пользуется свыше 90% дневной аудитории (DAU). Обновление стало одним из главных продуктовых изменений платформы в 2023 году.

Vivo Y100 4G официально представили на мировом рынке Сегодня сразу в нескольких азиатских странах был представлен новый смартфон от компании Vivo под названием Y100 4G. Этот смартфон оснащён процессором Qualcomm Snapdragon 685 и фактически является моделью Vivo V30 Lite 4G, которую переименовали для мировых рынков. Стоит отмет...

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

Детектируем горизонтальное перемещение с WMIExec Привет, Хабр!Ранее мы рассказывали о возможных способах выявления горизонтального перемещения (Lateral Movement) с помощью таких инструментов, как PsExec, SMBExec и AtExec. Сегодня мы продолжим "работать" с данной техникой и рассмотрим еще один инструмент - WMIExec. В статье...

DLC Atomic Heart: Limbo ecosystem появилось на всех основных платформах Разработчики из студии Mundfish представили релизный трейлер дополнения Limbo ecosystem для Atomic Heart и выпустили DLC для всех основных платформ: ПК, PlayStation 4|5, Xbox One и Xbox Series X|S. Также обновка появилась в стриминговых сервисах — в виде нового альбома из 8 ...

Системы автоматизации, SGRC Современная кибербезопасность включает в себя множество различных аспектов, объектов и субъектов защиты: информационные активы компании (ИТ-системы, бизнес-приложения, серверы, рабочие станции, сетевое оборудование), файлы и данные в самых разных форматах (от структурированн...

ИОЛА (IOLANET2): уникальная ретро-сеть отечественного производителя и безуспешный эксперимент Доброго всем здоровья! Речь пойдет о попытке организации простейшей сети — объединении двух компьютеров, содержащих сетевые ISA-карта ИОЛА при помощи коаксиального кабеля, и о возникшей тупиковой ситуации. Одна из целей этой статьи — сбор комментариев для продолжения эксп...

Можно ли использовать DMA вместо memcpy в Linux В интернете можно найти описание проблем, связанных с использованием DMA для стандартной функции копирования данных из памяти в память:Linux – DMA memcpy operation in LinuxДавайте попробуем разобраться, как можно использовать интерфейс к DMA для реализации стандартной операц...

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

Яндекс Браузер кратко перескажет видеоролики Пользователи Браузера и Поиска смогут читать пересказы русскоязычных видео. Новая функция позволит быстро ознакомиться с содержанием ролика и понять, есть ли в нём ответ на нужный вопрос. А авторам контента это поможет создать описание видео с таймкодами — в него можно добав...

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

DiHouse стал владельцем производителя детских умных часов Elari Дочерняя компания «Ланита» — diHouse — зарегистрировала новое юридическое лицо ООО «Элари айти», сообщают «Ведомости» со ссылкой на данные базы «СПАРК-Интерфакс». Основным видом деятельности компании указана разработка компьютерного программного обеспечения, а также производ...

Развертываем Кибер Бэкап самостоятельно. Часть 3 В предыдущей части мы привели рекомендации по установке и использованию нашего продукта в компаниях малого и среднего бизнеса. Сегодня мы, Дмитрий Ермолаев и Алексей Федоров, затронем вопросы установки и использования Кибер Бэкапа в крупных компаниях.Примечание: если вы...

Спецификация уникальных идентификаторов UUIDv7 для ключей баз данных и распределенных систем по новому стандарту RFC9562 Долгожданный стандарт RFC9562 "Universally Unique IDentifiers (UUID)" с тремя новыми версиями идентификаторов UUID (6, 7 и 8) вместо малопригодного RFC4122 наконец-то вступил в силу. Я участвовал в разработке нового стандарта. Обзор стандарта можно посмотреть в статье.Введен...

[Перевод] Вспоминая IBM PC и совместимые компьютеры Немного личных впечатлений от IBM PC XT и Amstrad PC1640 — как это было в 80-е.Оригинальный компьютер IBM PC был выпущен в 1981 году и с первых дней ему сопутствовал успех. Помимо звучного названия IBM, имелись и более серьёзные причины его популярности. Среди основных можно...

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

Protestware: найти и обезвредить Protestware: найти и обезвредить Привет, Хабр! Меня зовут Владимир Исабеков, я работаю в Swordfish Security, где занимаюсь динамическим анализом приложений. Сегодня мы поговорим о таком явлении, как Protestware, когда вредоносный код встраивается в открытые программные компо...

Microsoft DirectSR вскоре появится во множестве игр Месяц назад на конференции разработчиков Game Developers Conference 2024 было представлено новое технологическое решение под названием Microsoft DirectSR. Это своеобразная попытка упростить реализацию методов масштабирования изображения, которая была разработана в сотрудниче...

Twitch добавил возможность запрещать просмотр стримов Менеджер по продуктам Twitch Тревор Фишер рассказал о реализации на сервисе новой функции — блокировке просмотра стрима для выбранных пользователей.

Volkswagen и Stellantis будут использовать в своих машинах новую китайскую платформу Leapmotor Stellantis, итало-американская группа производителей автомобилей, подпишет инвестиционное соглашение с Leapmotor, китайским стартапом по производству электромобилей. Это соглашение будет включать лицензирование платформы LEAP 3.0 для новых автомобилей Stellantis. Leapmo...

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

Право на ремонт продолжает распространяться по миру. Отношение к частному ремонту у Apple, Microsoft, Sony Концепция «права на ремонт» становится все более популярной среди ремонтных сервисов и обычных пользователей. Благодаря усилиям сторонников этой инициативы, многие крупные и не очень компании улучшают ремонтопригодность своих девайсов. При этом идею поддерживают даже те ор...

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

Нагрузи меня, Gatling Привет. Это статья-туториал про выбор технологии и реализацию проекта нагрузочных тестов для API REST микросервисов. Про себя и специфику продукта, над которым работаю, я подробно описывал тут, когда рассказывал о интеграционных тестах. Здесь этому уделять внимание не буду. ...

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

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

Лучшие практики для надёжной работы с RabbitMQ Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.В этой статье я постарался кратко и последовательно изложить основные моменты, о которых полезно помнить при...

Продажи Honda в Китае снижаются Honda сегодня объявила о продажах автомобилей в Китае. С января по март 2024 года совокупные продажи Honda в Китае составили 206 907 единиц, что на 6,1% меньше, чем за тот же период годом ранее. Совокупный объем продаж автомобилей Guangqi Honda с января по март 2024 год...

Discord банит ботов сервиса Spy Pet Разработчики Discord заблокировали множество аккаунтов, связанных с сервисом Spy Pet, который привлек внимание СМИ на прошлой неделе. Сервис занимается сбором и продажей данных пользователей, включая сообщения, оставленные людьми на разных серверах, и логи подключений к голо...

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

FAQ из жизни Википедии: кто закрылся, зачем закрылся, как всё это устроено После недавней статьи о том, что закрывается некоммерческое партнёрство «Викимедиа РУ», у читателей возникли вопросы и развернулась полемика. Теперь мы обсудим неточности первой статьи и добавим больше, больше фактов. Читать дальше! Узнать больше!

Российские сайты начали удалять статьи о VPN Газета «Коммерсант» заметила, что некоторые российские сайты начали досрочно удалять статьи о VPN в преддверии запрета на их «популяризацию». В заметке «Рунет самоочищается к весне» они сообщили, что форум 4PDA и корпоративное медиа Skillfactory, полностью удалили информацию...

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

Использование On-Logon триггеров в СУБД Postgres Pro Enterprise Триггеры On-Logon хорошо знакомы разработчикам приложений для СУБД Oracle Database.On-Logon триггер является одним из видов триггеров событий базы данных, и автоматически срабатывает при подключении пользователя к БД.В СУБД Postgres Pro Enterprise, еще в версии 14, среди про...

Обзор флагманского планшета Samsung Galaxy Tab S9: лучший из лучших или просто дорогая игрушка? Линейка планшетов Samsung Galaxy Tab S9 вышла в августе и состоит из моделей Galaxy Tab S9, Galaxy Tab S9 Plus и Galaxy Tab S9 Ultra. В основном они отличаются между собой диагональю экрана. Если в обычной версии это классические 11″, то в версии Plus уже 12,4″, а в Ultra&nb...

Линейный дискриминантный анализ (LDA). Принцип работы и реализация с нуля на Python Линейный дискриминантный анализ (Linear Discriminant Analysis или LDA) — алгоритм классификации и понижения размерности, позволяющий производить разделение классов наилучшим образом. Основная идея LDA заключается в предположении о многомерном нормальном распределении признак...

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

Плагин для анализа планов PostgreSQL в IDE JetBrains и его разработка Для пользователей explain.tensor.ru - нашего сервиса визуализации PostgreSQL-планов, мы создали плагин "Explain PostgreSQL" для всех IDE от JetBrains, теперь есть возможность форматировать запросы и анализировать планы непосредственно в IDE.Как использовать плагин и детали ...

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

Распределенный SQL в Picodata Недавно мы выпустили новую значительную версию Picodata — распределенной in-memory СУБД с открытым исходным кодом. Это продукт на основе Tarantool c поддержкой плагинов на Rust и некоторыми другими интересными особенностями, о которых можно почитать в статье Picodata: просто...

Микросервис на Python+ FastAPI Микросервис — это подход к разбиению большого монолитного приложения на отдельные приложения, специализирующиеся на конкретной услуге/функции. Этот подход часто называют сервис-ориентированной архитектурой или SOA.В монолитной архитектуре каждая бизн...

VK Сloud представила новую версию частного облака для бизнеса VK обновила Private Cloud - платформу для построения частного облака в ЦОДе заказчика. Версия 4.0 обеспечивает повышенный уровень защищенности - ядро облака соответствует 17 приказу ФСТЭК. На обновленной платформе разработчикам стал доступен маркетплейс приложений. Компании...

Уловимые частицы: как сервисы Яндекса помогают прогнозировать последствия извержений вулканов На территории России насчитывается от 200 до 300 вулканов. Около 13 из них находятся под особым наблюдением: это действующие вулканы, которые извергались в течение последних 25 лет. Самые активные расположены на территории Камчатки и Курильских островов, так что экстренные с...

Kandinsky 3.1 — новая быстрая модель генерации изображений по тексту 2023 год можно смело называть годом бурного развития генеративного искусственного интеллекта. Это касается не только привычной нам модальности изображений (Kandinsky 2.1, 2.2, 3.0, Stable Diffusion XL, IF, Шедеврум и др.), но и текстовой (ChatGPT, GPT-4, LLaMA, Falcon, GigaC...

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

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

Как пополнить Steam и Epic Games из России в 2024 году Рассказываю о наиболее простых, актуальных и доступных способах пополнения популярных игровых сервисов Steam и Epic Games для пользователей, находящихся в России

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

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

Cotea: программный контроль исполнения Ansible Привет! Я Давид Бадалян, работаю в Исследовательском центре доверенного искуственного интеллекта ИСП РАН. В статье я хочу поговорить об Ansible – одной из самых популярных систем по автоматизации развёртывания. Стоит запустить Ansible программно, и он становится черным ...

В сети появились первые рендеры Xiaomi 14 Pro Сегодня на просторах интернета появилась информация о грядущем флагмане Xiaomi 14 Pro и даже появились рендеры, на которых можно заметить основные преимущества данного смартфона. Например, компания решила использовать систему из четырёх камер, что достаточно необычно даже по...

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

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

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

Как мы управляем инфраструктурой на более 1000 серверов при помощи Ansible Привет, Хабр! Мы системные инженеры X5 Tech — Алексей Кузнецов и Борис Мурашин. У нас за плечами больше 15 лет опыта, в том числе поддержка сервисов Rapida, CyberPlat, TeleTrade, сопровождение стека BigData и внедрение кластеров Hadoop. В этой статье мы расскажем, как выбира...

Устройство TCP/Реализация SYN-flood атаки В данной статье мы поговорим об устройстве протокола TCP, самой популярной атаке на него – SYN-flood, а также реализуем её на практике и рассмотрим как от неё защититься. Изучить матчасть

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

У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868 Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи. Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 p...

Оптимизация нейронки в Tensorflow? В отличие от Pytorch, где структура данных выстраивается налету после начала обучения нейронки – в TensorFlow граф статичен. В этой статье мы кратко расскажем про некоторые способы ускорения обучения путем изменения графа вычислений: XLA, GraphTransform Tool, квантизация, за...

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

Конвертация в один клик! Как перенести код из Teradata в GreenPlum без лишних затрат и усилий Привет, Хабр! Миграция баз данных из одной СУБД в другую представляет собой особо сложную задачу, требующую тщательного планирования, подготовки и исполнения. В 2023 году в Сбербанке завершился масштабный проект по миграции крупного аналитического хранилища данных с платформ...

Многопоточный Python на примерах: токены отмены В этой статье мы обсудим паттерн "Cancellation Token", популярный в некоторых других языках, но почему-то обойденный вниманием в Python-сообществе. Он о том, как безопасно и красиво завершать работу функции, треда или корутины. keep_on()

Дата-центр в Нью-Йорке: как мы случайно начали предоставлять серверы и решения, как в NL и расти в США Долгое время нашей основной локацией оставались Нидерланды, где мы обеспечивали максимальную гибкость, а последний переезд в Maincubes, позволил не только успешно расти за счёт крутого уровня сервиса и многообразия опций к виртуальным и выделенным серверам, но и задуматься о...

[recovery mode] Сканируем сеть. Собираем информацию об организациях Снова рад приветствовать всех подписчиков и читателей! Сегодня хочу представить вашему вниманию несколько инструментов OSINT подходящих для сканирования сети и сбора информации об организациях. В этой статье подробно разберём установку, настройку и использование каждого инст...

OpenVMS: операционная система для атомных станций. Redis Мы продолжаем погружение в основы операционной системы OpenVMS. В прошлых статьях мы установили её в качестве виртуальной машины, настроили сеть и активировали лицензии. Бонусом поставили туда SSH и даже организовали Web-интерфейс для удобного управления. Теперь пришла пора ...

Бэггинг и случайный лес. Ключевые особенности и реализация с нуля на Python Далее пойдёт речь про бэггинг и мой самый любимый алгоритм — случайный лес. Не смотря на то, что это одни из самых первых алгоритмов среди семейства ансамблей, они до сих пор пользуются большой популярностью за счёт своей простоты и эффективности, зачастую не уступая бустинг...

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

Реализация Avalon-MM Master в виде конечного автомата на VHDL Шина Avalon-MM является одной из стандартных шин передачи данных, используемых в ПЛИС фирмы Intel. Использование этой шины в своих модулях для передачи данных существенно повышает их возможность повторного применения и повышает надежность проектов. Также упрощается интеграци...

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

[Перевод] Clean architecture и MVVM в iOS разработке В этой статье мы покажем на примерах проектов как паттерны MVVM и Clean Architecture могут быть применены в iOS приложении. Читать далее

Как разработчику организовать личную базу знаний: систематизация информации из книг, статей, видео и курсов Привет, Хабр!Хочу поделиться своими мыслями и опытом («сыном ошибок трудных») в организации своей базы знаний, регулярно приобретаемых после прочтения разных книг, статей, просмотра видосов, прохождения курсов и прочих самообразовательных активностей.Начнем с краткой предыст...

Сервисы Apple испытали перебои в работе по всему миру Пользователи Apple прошлой ночью столкнулись с повсеместными перебоями в работе нескольких ключевых сервисов компании, включая App Store, Apple Music и App Store Connect. Перебои затронули пользователей по всему миру.

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