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

На что способны виртуальные потоки Java в обработке файлов Привет, Хабр!ПредисловиеНачнем с того,что я не специалист по Java и у меня нет коммерческого опыта на этом языке. Я просто обычный кодер, который по вечерам пилит проекты на Java, а основной мой стек состоит из PHP и смеси Python + Go. В данной статье хочу с вами поделиться ...

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

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

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

Практический гайд по процессам и потокам (и не только) в Python За то время что я занимаюсь менторством я заметил, что большинство вопросов новичков связаны с темами: конкурентность, параллелизм, асинхронность. Подобные вопросы часто задают на собеседованиях, в работе эти знания позволяют писать более эффективные и производительные систе...

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

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

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

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

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

[Перевод] SwiftUI: Разбираемся с identity на примере переходов Концепция идентификации (identity) в SwiftUI не так проста, как могло бы показаться на первый взгляд. Один из лучших способов разобраться в ней — понять роль идентичности в переходах (transitions).В SwiftUI идентификация является ключом к пониманию работы системы рендеринга....

Практические аспекты ранжирования ответов виртуального ассистента Салют Всем привет! Меня зовут Аня Максимова, я занимаюсь NLP в команде Нейронные сети продукта Собеседник! 5 апреля проходила конференция Giga R&D Day, где мой коллега — Артем Снегирев рассказывал про практические аспекты ранжирования ответов виртуального ассистента ...

Расстаемся с облаками на примере Sonoff Привет всем! В своем «умном доме» я решил, что все устройства должны быть завязаны на локальном сервере, чтобы без интернета он не превратился в тыкву. Но почти всё так или иначе привязано к облаку. Этот пост о том, как отвязать устройства Sonoff от облаков. Да, я знаю,...

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

[Перевод] Выделение памяти для DMA в Linux Это перевод Поста Allocating Memory for DMA in LinuxВ этом посте мы рассмотрим распределение памяти в Linux с использованием очень больших страниц с тем, чтобы совместно использовать эту память с устройствами PCIe, использующими DMA. Читать далее

Поток входящих запросов: когда пора менять процесс обработки – на примере запуска первой линии технической поддержки Привет, Хабр! Меня зовут Дима, я руковожу отделом информационных технологий бэк-офиса в “Петрович-Тех”.Представьте: пользователи не могут начать работу в системе. Не испытывают сложности через день или неделю, а прямо на старте не имеют возможности начать пользоваться продук...

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

Создаём виртуальную сеть, как это делает Docker Как известно, Docker умеет создавать виртуальные сети для безопасного и удобного сетевого взаимодействия внутри контейнеров. В этой статье мы рассмотрим, как именно он это делает на примере базовых манипуляций с сетью в рамках одного хоста с операционной системой Linux. Чита...

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

[recovery mode] Фильтруем логи санитайзеров и valgrind на примере приложения с Qt Периодически встречающаяся проблемами кода на С и C++ являются утечки памяти и неопределенное поведение. Даже если вы используете умные указатели, то от ошибок в библиотеках сторонних разработчиков вы не застрахованы. Для поиска ошибок в коде существуют специальные инструмен...

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 6. Блокировки Ядро ОС выполняет программы параллельно и переключает потоки по таймеру. Каждый процессор выполняет поток независимо от других. Процессоры используют оперативную память совместно, поэтому важно защитить структуры данных от одновременного доступа. Потоки испортят данные, если...

Разгоняем медиану в OLAP Этот пост для тех, кто сталкивался с проблемой производительности, при расчете медианы в OLAP кубе. Одним из главных достоинств OLAP технологии является скорость получения результатов при обращении к базе. Расчеты происходят «на лету». Однако с медианой, не все так просто. ...

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

Применяем Java Sealed Classes на практике В этой статье применим Sealed Classes для улучшения читаемости кода, используя пример из реальной разработки. В статье используется Java 21 т.к. это первая LTS версия Java с релизным Pattern Matching. Также в примере используется Spring Boot, но этот подход можно использоват...

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

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

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

Проблематика RaaS или почему вымогатель BlackCat так быстро прогрессирует Приветствую, читатели. Не так давно в сети была обнаружена новая версия вымогателя BlackCat, и на этот раз злоумышленники начали использовать передовой инструмент под названием Munchkin. Он позволяет вредоносу развертываться из виртуальной среды на другие сетевые устройства....

Проблемы при переходе с MS SQL на PostgreSQL. Типы данных Исходя из того, что предыдущую статью не заминусовали и даже не сильно критиковали, попробую продолжить серию и поделиться с проблемами некоторых различий типов данных в MS SQL и PostgreSQL. Читать далее

DIY: Ваше собственное облако на базе Kubernetes (часть 2) Продолжаем серию постов про то как построить своё собственное облако в экосистеме Kubernetes. В прошлой статье мы разобрали как можно подготовить базовый дистрибутив Kubernetes на базе Talos Linux и Flux CD. Теперь нам предстоит обсудить возможность запуска виртуальных машин...

Как мы (не) вкатились в геймдев. Часть 1 Привет, Хабр! Это мой первый пост и рассказывает он о попытке нашего небольшого коллектива сделать свою игру, начатую в рамках дипломного проекта. О том, как шла разработка и почему в итоге не получилось — постараюсь рассказать в этой ...

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

Рынок BI (business intelligence) в России Давайте попробуем начать разбирать тему рынка Аналитических платформ в России. Есть ли он, насколько сильно отстает от топ 3 из Гартнера, и когда наступит светлое будущее BI для пользователя. В этом коротком посте напишу тезисно, то, что я наблюдаю сейчас и какие проблемы ви...

Project Loom. Не только виртуальные потоки Начиная с Java 19 нам доступны виртуальные потоки, которые отличаются от обычных, тем что умеют освобождать поток операционной системы во время блокирующих I/O операций. Для этого на уровне JVM был реализован механизм сохранения в хипе и восстановления из хипа стека вызова....

Как установить GOWIN EDA для запуска примеров Школы Синтеза Одной из проблем первых сезонов Школы цифрового синтеза является малое число поддерживаемых плат, на которых можно легко и быстро повторить упражнение.Чтобы справиться с данной проблемой, группа энтузиастов, под руководством Юрия Панчула, добавила поддержку множества плат и ...

Виртуальная клавиатура на Python+OpenCV В данной статье разберемся, как написать виртуальную клавиатуру, используя Python+Opencv.Идея заключается в создании виртуальной клавиатуры, выводе на экран и возможности ее использования. Подразумевается, что клавиатура будет работать с текстовыми редакторами. Для того, что...

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 4: Прерывания и системные вызовы Глава расскажет, как xv6 обрабатывает прерывания на RISC-V и о хитростях виртуальной памяти: как использовать ошибки доступа к страницам, чтобы оптимизировать работу ОС.Глава расскажет о копировании страниц при записи, ленивой выдаче страниц, выдаче страниц по необходимости ...

Merlion Framework или как упростить работу с временными рядами Единственная причина для существования времени — чтобы все не  случилось одновременно.Альберт ЭйнштейнПривет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и о...

SAGE: коррекция орфографии с помощью языковых моделей Коррекция правописания является одной из основополагающих задач в области Natural Language Processing (NLP). Достаточно прозаичная формулировка и кажущаяся жёсткой структура орфографической системы скрывают под собой нетривиальные внутриязыковые взаимодействия, являющиеся тр...

Async/await, There is no thread – легко обмануть тех, кто сам обманываться рад Когда нам показывают на некотором примере, что асинхронная операция не создает потока, нам пытаются внушить, что асинхронная операция НИКОГДА не создает потока и в принципе не может его создать, но это не правда! Простой пример с работающим кодом доказывает обратное. Давайте...

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

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

Как приручить виртуальные машины …и попутно воспитать сотрудниковВсем привет! Хочу поделиться опытом борьбы с большим «зоопарком» гипервизоров и виртуальных машин (далее – ВМ), а точнее историей по созданию внутреннего сервиса по контролю за виртуальными машинами, благодаря которому нам в IT стало силь...

[Перевод] Рекурсивные CTE Одним из наиболее важных применений CTE являются рекурсивные запросы, для которых CTE является фактически единственным средством реализации. Как отмечалось в предыдущей статье, в Books Online есть несколько примеров использования CTE, включая и рекурсивный CTE...

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

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

Apache NiFi как доступный ETL инструмент: кейс применения + тестовый стенд Docker В статье расскажу о практических аспектах использования Apache NiFi, опишу преимущества и проблемы, с которыми я столкнулся.Для наглядности собрал "песочницу" в контейнере Docker, в которой представлены упрощенные примеры пайплайнов, аналогичные тем, которые были использован...

Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта Привет, Хабр! Меня зовут Сергей Скубач, я работаю в VK и разрабатываю облачное хранилище WorkDisk. Мы используем Tarantool в своём продукте, так как его разрабатывают и развивают наши коллеги. Я впервые столкнулся с Tarantool именно в VK, и для более глубокого понимания реши...

Пристегнуться ремнём или вращаться на дисках: почему виртуальная реальность ещё не пришла в каждый дом Недавно в фокусе новостных лент вновь оказалась дополненная реальность — Apple наконец-то выпустила свой шлем Vision Pro. Устройство рассчитано на повседневное использование и постоянное ношение, свидетельством чего уже стало множество забавных роликов из США и других стран....

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

Прививка от ошибки выбора: что спросить работодателя «на берегу» Меня зовут Настя, я руководитель службы инструментов репозитория в Yandex Infrastructure. Больше 15 лет я проработала в IT-индустрии: сначала как разработчик, потом тимлид, техлид, менеджер проектов и руководитель службы. За это время несколько сотен человек рассказали мне о...

Как использовать ChatGPT для разработки и учебы. Четыре сценария Привет, Хабр! В 2023 году искусственный интеллект (далее ИИ)  вышел на тот уровень популярности, когда о нем не говорил только ленивый. Все больше компаний активно начали обсуждать свои разработки в этой области, а такие модели как Midjourney, ChatGPT, Gemini (ex-Bard),...

Танцы с парсингом, kubernetes и миграция в Yandex Cloud: как мы делали «Контрагентио» Речь пойдёт о сервисе, который изначально мы задумали как внутрикорпоративную систему проверки контрагентов, а затем разработали как коммерческий продукт. Коротко расскажем о том, что делает система, с какими проблемами столкнулись при разработке и как их решали, как запуска...

Эпоха цифровых двойников: как виртуальные модели выводят промышленность на новый уровень Мы обратили внимание, что за последние два года новости о цифровых двойниках стали выходить чаще. Причина понятна: в 2022-ом случился прорыв в изучении и внедрении искусственного интеллекта (ChatGPT и Midjourney), который сильно «взбодрил» сферу. Технологии применяют, чтобы ...

XMG1930-30HP: AV over IP для ЦОД Мы уже не раз в нашем блоге на Хабре рассказывали о технологии AV over IP, которая позволяет гонять 4K-видеопотоки не с помощью HDMI, а используя для этой цели IP-сети. Можно ошибочно думать, что это актуально лишь для каких-нибудь спортивных баров и концертных площадок. Эт...

[Перевод] Отладка дедлока FUSE в ядре Linux Наша команда вычислительных ресурсов Netflix (Compute team) отвечает за администрирование AWS, в том числе за автомасштабирование и развертывание контейнеризованных приложений, включая решение возникающих проблем. В мои обязанности входит разбор разного рода странных ошибок,...

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

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

Packer: мультисборка, пост-процессоры и пользовательские плагины Привет, Хабр!Packer — это open-source инструмент для создания идентичных машинных образов для множества платформ из одного исходного файла конфигурации. Т.е с пакером можно автоматизировать создание образов для Amazon EC2, VMware, Docker и т.д, используя единый процесс сборк...

OpenAI GPTs: пошаговое руководство для создания с практическими примерами, ACTIONS и внешние API Я часто использую ChatGPT в повседневных задачах. Он реально помогает в обучении, разработке и решении небольших проблем, которые легко описать. Но с другой стороны бывает сложно дать ему нужный контекст, чтобы он начал делать то, что нужно вам, а не выдавал ложь за действит...

Меняем формат розыгрышей призов в Telegram-чатах Привет, Хабр!Меня зовут Денис, и сегодня я расскажу вам о проекте, над которым я и мой друг работали последние 7 месяцев. Называется он PLAY365 — и это наш игровой бот для групповых чатов Telegram.В посте будет много информации: о причинах и эта...

Когда переключаются потоки в Spring WebFlux Работа с библиотекой WebFlux вызывает затруднения у многих Java/Kotlin разработчиковКод выглядит непривычно, непонятно в каких потоках выполняется логика и как этим управлятьСегодня я попытаюсь объяснить простым языком такой важный аспект, как момент переключения потоков в W...

Как менять команды, не увольняясь из компании. Культура горизонтальной мобильности в Контуре Меня зовут Настя Миронова, я менеджер разработки в Контуре и уже около двух лет  руковожу командой Рейнджеров – это разработчики без своего продукта, такие мобильные инженеры. Команда появилась в конце 2020 года, и за это время мы постоянно исследуем, чем можем помочь п...

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

Оптимизируем параметры запуска приложения Spark. Часть первая Привет! Меня зовут Андрей Чучалов, я работаю в билайне, и в этом посте я расскажу про оптимизацию параметров запуска приложений в Spark, поиск проблем и повышение производительности. Разберем запуск приложений Spark в базовой и расширенной версиях, покажу методы расчёта осно...

Telegram бот для доставки torrent контента с телефона до телевизора Всем привет! Этой мой первый пост на Habr (да и вообще где либо, за исключением GitHub). Хочу поделиться работой, на реализацию который у меня ушло около месяца, но тем не менее сейчас используя ежедневно и планирую развивать в дальнейшем. Задумка была таковой, что бы донест...

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

10+ причин посещать некоторые конференции Привет! В начале октября мы писали пост о том, почему не стоит ходить на некоторые IT-конференции. Хотя мы пару раз в тексте отметили, что это не наезд и не претензии, никакого хейта, а, скорее, подборка фактов «на подумать», ряд человек всё равно успели пообижаться.Но зато ...

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

ASCII-арты на python Здравствуйте уважаемые читатели, в этой статье я расскажу Вам как делать ASCII-арты при помощи языка python, на примере моего кода. Читать далее

[Перевод] Шпаргалка по модели памяти С++11 Модель памяти представляет из себя спецификацию допустимого поведения многопоточных программ, работающих с разделяемой памятью (shared memory) [1]. Наиболее примитивной моделью является последовательная согласованность (sequential consistency), где все инструкции из всех пот...

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

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

Backup and Restore — виртуальные машины в облаках/хостингах Постановка задачи — есть виртуальная машина в облаке — мы хотим решить две задачи:1. Резервировать ее по расписанию на наш сервер(а), находящиеся под нашим полным контролем.2. Иметь возможность в любой момент сконвертировать нужную версию и...

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

App Clip и тысяча проблем Menusa - проект Dodo Brands. Инструмент по автоматизации процессов для малого бизнеса в сфере общепита.В этой статье расскажу как мы добавляли функционал вызова официанта в App Clip и с какими проблемами столкнулись. Читать далее

СЕО с вашей прошлой работы: к тебе придет ФСБ Это небольшой пост про очередной вид мошенничества и способы борьбы с ним.Для человека информационно чистоплотного я ничего нового не скажу. Но все-таки считаю важным об этом рассказать и предложить способы проверки. В целом типичный телефонный развод, но удивила таргетирова...

[Перевод] Подписки на GraphQL: Почему мы используем SSE/Fetch вместо Websockets WunderGraph предоставляет подписки GraphQL через SSE (Server-Sent Events) или Fetch (в качестве резервного варианта). В этом посте объясняется, почему мы решили выбрать этот подход и считаем его лучше, чем использование WebSockets. Читать далее

Детектирование атак на контейнеры с помощью eBPF Привет, Хабр!Меня зовут Илья Зимин, я аналитик-исследователь угроз в компании R-Vision. Сегодня в статье я расскажу о возможностях обнаружения атак на контейнеризированные приложения с помощью такого инструмента, как eBPF, на примере приемов, связанных с побегом из Docker-ко...

[recovery mode] АТС за 5 минут Не так давно знакомый попросил помочь справиться с обычной задачей: телефонизировать их небольшую фирму. Давать всем клиентам свой мобильный уже не могут, электронной почты не достаточно, вот и появилась у них идея установить АТС. За 5 минут, не вставая из мягких кресел, м...

Web Application and API Protection (WAAP): эволюция WAF (Web Application Firewall) WAAP (Web Application and API Protection) является брандмауэром веб-приложений следующего поколения WAF (Web Application Firewall). Термин впервые начал использовать Gartner для описания защиты современных, постоянно меняющихся web-сервисов. Так как в мир...

[recovery mode] Как мы делали редизайн сайта МКБ Привет! Сегодня расскажем вам, как мы делали редизайн сайта МКБ. Пост разбит на две части — продуктовая (о смысле редизайна и методах выявления основных проблем) и техническая. Читать далее

Что может пойти не так на хардварном проекте? Спойлер: всё Долго придумывал вступление. И пришёл к выводу, что оно не нужно. Просто расскажу о том, чем занят менеджер при разработке, производстве и внедрении электронного устройства. Сразу скажу: совсем не тем же самым, чем менеджер разработки чистого софта. Своим друзьям я обычно ...

[recovery mode] Решаем дифференциальные уравнения с помощью Python часть 1 Начнем пожалуй с того, что решать дифференциальные уравнения вручную может быть не совсем просто. На данном ресурсе http://mathprofi.ru/differencialnye_uravnenija_primery_reshenii.html есть шпоры как это делать вручную, там есть множество подсказок по различным разделам высш...

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

Есть ли жизнь на arm'е? Заметка написана с целью рассказать о переходе от macOS к Fedora Asahi Remix, встреченных проблемах, попытке их решения и умозаключениях, а не ради холивара в поисках идеальной ОС. Тем более, спорить тут не о чем. Есть плюсы, минусы, предпочтения и обстоятельства, остальное ...

АСМОграф — замена Microsoft Visio, MapInfo и в какой-то мере даже AutoCAD Многим компаниям сегодня приходится менять привычное программное обеспечение, потому что лицензии на западное ПО не удается продлить, а работа приложений становится нестабильной. В этом посте мы подробнее расскажем про векторный редактор АСМОграф, который уже несколько лет я...

Медленная сборка кода с .NET Roslyn: как найти и устранить причину .NET разработчики знают, что такое ждать сборки кода. Работать при этом невозможно: пока не увидишь, как обновится приложение, — не перейдешь к следующему шагу. А переключиться на другую задачу за это время не успеешь. Получается, если в день переписать к...

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

Введение в Apache Flink: осваиваем фреймворк на реальных примерах Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет ...

Карантин UI-тестов в iOS Всем привет! Я Тимур — iOS разработчик в платформенной команде hh.ru. Сегодня я расскажу о нестабильных UI-тестах в iOS, и как мы с ними справляемся.Мы уделяем массу внимания UI-тестам, ведь именно они обеспечивают качество и стабильность в наших iOS-приложениях. Сейчас...

[Перевод] Как построить локальный self-managed Kubernetes-кластер Возможно, у вас была мысль запустить собственную услугу Infrastructure as a Service (IaaS) либо разместить свои проекты на Kubernetes, но не платить за managed-услуги, или ваш проект — это и есть self-managed Kubernetes. У full-stack-разработчика и предпринимателя Нейта Бака...

Как мы в 2 раза ускорили решение MILP-проблем за счет ML Многие задачи, с которыми мы имеем дело при цифровизации производства (неважно какого), – это задачи оптимизации: оптимизация производственного расписания, оптимизация цепочек поставок и размещения объектов, оптимизационное планирование и прочее. Многие из них сводятся к про...

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

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

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

Виртуальная реальность из 90-х возвращается: появился эмулятор Virtual Boy для Nintendo 3DS. Как игры выглядят сейчас? В 1993 году компания Nintendo начала разработку устройства виртуальной реальности, которое позже получило название Virtual Boy. Планировалась полноценная портативная VR-система, которая позволяет отслеживать движение головы игрока. Да и игр собирались сделать немало. К сожал...

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

Cloud Native или cloud-native: как мы разбирались с написанием термина и почему Open Source тоже пишут без дефиса На днях мы работали над переводом глоссария CNCF и начали спорить о том, как писать словосочетание cloud-native. Раньше мы использовали название с дефисом — такое правило применяется к составным прилагательным в английском языке (пример — well-known actor). «Википедия» в ста...

Как установить MikroTik CHR в облаке? Шпаргалка MikroTik Cloud Hosted Router (CHR) — удобное решение для создания виртуальных маршрутизаторов в облаке. С помощью него можно эффективно управлять сетевым трафиком, регулировать безопасность и оптимизировать работу в облачной среде. Меня зовут Кирилл, в этой статье я подроб...

Библиотека на Go для работы с RuStore API Привет, Хабр!Меня зовут Энрике, и я работаю Go-разработчиком в RuStore. Сегодня хочу рассказать про библиотеку на Go для комфортной работы с API магазина приложений RuStore. Иногда авторизация через API и получение JWE-токена занимают больше времени, чем хотелось бы. С ...

[Перевод] Введение в оптику в Scala На протяжении всего этого блога я неоднократно упоминал о преимуществах сильной системы типов. Я рассказывал об уточнении типов (type refinement) для проверки значений, о рассчитанном на новичков и продвинутом подходе к выведению классов типов (type-class derivation) или о т...

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

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами Привет, Хабр)Публикую шпаргалку по SQL, которая долгое время помогала мне, да и сейчас я периодически в неё заглядываю.Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.Здесь есть и примеры довольно сложных запросов с агре...

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

[Перевод] Как создать API в облаке менее чем в 200 строках кода Современные облачные инструменты и пакеты Python стали настолько мощными, что с их помощью можно создать (масштабируемый) облачный API менее чем в 200 строках кода. В этом посте будет рассмотрено, как при помощи lines Google Cloud, Terraform и FastAPI развернуть в облаке пол...

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

Простой пример ИИ для управления роботом. TensorFlow + Node Js Немного слов обо мне: мое хобби это робототехника. На данный момент экспериментирую с шагающим роботом на базе SunFounder PiCrawler. Последнее время тема искусственного интеллекта (ИИ) приобретает все большую популярность. Причиной этому служит в том числе совершенствование ...

Как мы ускорили Golang-тесты на CI Привет, Хабр

Внедрение процесса тестирования Google Tag Manager: увлекательная история Даши-путешественницы Март принес с собой проблему: у некоторых клиентов начали подвисать страницы, на которых монолитный js был разделен на чанки. На таких страницах в основном бандле содержится минимум для отрисовки первого экрана, а остальные чанки мы загружаем отложено. Однако из-за неправиль...

Проекции в Vertica: что это, как использовать, и почему не стоит создавать их под каждый запрос Иван Якунин, продуктовый аналитик команды Fintech Marketplace, рассказал про то, как в Авито работают с Vertica, и на примерах объяснил, что такое проекции, и когда их стоит использовать. Читать далее

[Перевод] Angular на стероидах: наращиваем производительность при помощи WebAssembly В этом посте продемонстрировано, как с лёгкостью использовать WebAssembly внутри приложения, написанного на Angular. Иногда в приложении на Angular требуется выполнить задачу, которая в JavaScript завершается не слишком быстро. Конечно, можно переписать алгоритм на другом яз...

Смартфоны на Android получили поддержку iMessage и FaceTime Экосистема Apple является крайне распространенной, а одними из ключевых ее составляющих являются мессенджер iMessage и сервис звонков FaceTime, позволяющий совершать как голосовые звонки, так и видеозвонки. Тем не менее, поддержка данных сервисов реализована исключительно н...

Отечественная видеосвязь в отечественном VDI. Что может быть хуже? Сага о Termidesk, FreeIPA, Брест и TrueConf. 1/2 “Я отечественный … вы отечественные, компания отечественная…” © Отечественный Никита.Компаниям приходится тратить немалую сумму, чтобы поддерживать парк оборудования в офисе. Цены на ноутбучную конфигурацию с 4 CPU, 8 Gb RAM и 256 Gb SSD стартуют от 27 тыс. рублей. Для небол...

[Перевод] Время изменений: депрекация datetime.utcnow() в Python Как-то я изучал release notes новой версии Python 3.12, и в разделе о депрекациях моё внимание привлекла следующая фраза:utcnow() и utcfromtimestamp() из datetime.datetime устарели и будут удалены в будущей версии.Если вы следили за моими туториалами по в...

[Перевод] GROUPING SETS В двух последних статьях приводились примеры агрегации WITH ROLLUP и WITH CUBE. В SQL Server 2008 появился новый, более мощный синтаксис, совместимый с ANSI SQL 2006. В этой статье будет рассказано об этих изменениях. Читать далее

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

Илон Маск написал сообщение, из-за которого начали появляться криптомонеты-мемы Илон Маск написал в соцсети Х пост с намёком на криптомонеты. Маск известен поддержкой монет-мемов и является ярым сторонником революции в той сфере.

Node Pools в AKS Привет, Хабр!В Kubernetes кластер состоит из множества узлов (nodes), которые представляют собой виртуальные или физические машины, на которых запущены приложения. Node Pools — это группы узлов с одинаковой конфигурацией, управляемые как единое целое. С Node Pools можно имет...

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

Архитектура RISC-V продолжает развиваться: сразу пять крупных компаний займутся внедрением технологии по всему миру На днях стало известно о том, что несколько известных компаний, включая Robert Bosch GmbH, Infineon Technologies AG, Nordic Semiconductor ASA, NXP® Semiconductors, Qualcomm Technologies, Inc., основали новую организацию, которая получила название Quintauris GmbH. Она будет з...

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

Виртуальная камера для WebRTC Создаем персонифицированную виртуальную вебкамеру для WebRTC:создаем "честную" 3D модель по нескольким фото,"препарируем ее"анимируем и рендерим ее в бразуере в реальном времени, синхронно с аудиодорожкой пользователя Читать далее

Кодирование числа в Micro QR Code версии М2 (по ГОСТ) Задание: необходимо создать кодовое слово, состоящее из 8 цифр (на примере – 01234567) на основе алгоритма, приведенного в ГОСТ Р ИСО/МЭК 18004-2015 (п. 7.4.3, пример 2). Затем создать для полученного кода Micro QR Code вер. М2. Данный режим невозможно прочитать стандартными...

Как я собрал красивое ведро для гидропоники Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.Пока Монстр плодоносил ...

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

HappyX vs Karax: что проще? Хотите узнать, как с помощью Nim создавать клиентские веб-приложения?В этой статье я расскажу вам о веб-фреймворках в Nim и их возможностях, а также приведу примеры в сравнении друг с другом и другими фреймворками. Читать далее

Яндекс, Банк России и Louis Vuitton: 7 компаний, которые неожиданно для всех выпустили успешные мобильные игры На рынке мобильных игр неожиданность часто становится ключом к успеху и популярности. Особенно когда за тайтлами стоит компания, которая до этого никогда не выпускала подобные проекты. В посте — несколько примеров брендов, сумевших привнести нечто новое в индустрию и выпусти...

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

Разбор примера BLE Audio от Nordic Semiconductor (или переходник I2S->BLE-Audio) Обзор технологии беспроводной передачи данных BLE 5.3. Представлен разбор примера Ble Audio от Nordic Semiconductor для микроконтроллера nRF5340. Это пример передачи звука по Bluetooth 5.3. Читать далее

[Перевод] Работа со временем и датой в C# с применением библиотеки Humanizer Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуман...

Нескучная стеганография, или как мы зашифровали секретные ключи пользователей в джипегах Рассказываем, как использовать методы стеганографии и шифрования в децентрализованных сервисах на IPFS. Исключаем риски, связанные с централизованным хранением логинов и паролей. Используем метод LSB, «наименьший значащий бит». Внутри статьи — примеры кода на C# и алгоритме ...

Как мы оптимизировали процессы обеспечения качества Привет! Меня зовут Таня, я куратор в SM Lab. В этом посте я расскажу вам о нашем пути оптимизации тестирования — узнаете, какие на нашем продукте были проблемы в процессах тестирования, как мы их решали, почему не надо отвлекать тестировщиков и в чём польза интуитивного тест...

Китайский паяльный робот: тыкаем палкой и заставляем работать Раньше паяльные роботы стоили миллионы рублей, но в последнее время подешевели.Почему бы не попробовать такого робота в деле? Сможет ли он заменить «кожаный мешок» с паяльником?Сказано-сделано! Мы купили четыре робота и начали их настраивать. Путь оказался весьма тернист, но...

[Перевод] Что нового в планировщике / оптимизаторе запросов Postgres 16 PostgreSQL 16 вносит немало улучшений в планировщик запросов и позволяет выполнять многие SQL-запросы быстрее, чем в предыдущих версиях PostgreSQL.Если вы посмотрите на PG16 release notes, то увидите некоторые из этих улучшений. Но из-за объема изменений, вносимых ...

Как сделать Kubernetes еще круче: секреты безупречной работы Отказоустойчивость информационных систем необходима для обеспечения непрерывности работы системы и минимизации возможности потери данных в случае сбоев или отказов в работе оборудования. Это особенно важно для критических для бизнеса систем. Мы начали использовать геора...

Что такое semantic-release и как с ним работать Привет! Я — Алексей Бондаренко, работаю в команде Платформа Банки.ру. Сегодня хочу рассказать о semantic-release и его практическом применении на примере упрощения разработки и внедрения библиотеки в проект.  Читать далее

Где Моя Эффективность, Босс? Как использовать метрики в управлении командой Привет! Я Саша, тимлид одной из команд первичной недвижимости в Циан. Мы активно используем данные для принятия управленческих решений. Не только продуктовых, но и при управлении командами разработки. В статье я расскажу, как это устроено у нас в компании, и покажу на пример...

Полиномиальные корневые методы синтеза САУ ч.3 (заключение) Леонид Маркович Скворцов. Широко известный в узких кругах математик, профессионально занимающийся математическими проблемами автоматического управления. Например, его авторские методы использованы в SimInTech. Данный текст, еще готовится к публикации. Но с разрешения ав...

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

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

[Перевод] Доклад Алексея Старовойтова на Linux Security Summit Europe 2023: BPF и безопасность Виртуальная машина eBPF, работающая в ядре Linux, приближается к десятилетнему юбилею своего включения в состав Linux; за это время она успела превратиться в инструмент, имеющий целое множество применений в этой экосистеме. Алексей Старовойтов (Alexei Starovoitov), который я...

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

Установка обратного VPN: нет ничего проще Сейчас многие граждане РФ, которые находятся за границей, испытывают проблемы с доступом к некоторым российским ресурсам. По каким-то причинам несколько десятков российских сайтов запрещают доступ с IP-адресов за пределами РФ. К счастью, эту проблему довольно легко решит...

Несколько советов как новичкам не забросить изучение IT Я создаю IT-курсы уже 6 лет, являюсь руководителем направления обучения Бэкенд-разработке в онлайн-школе и даже развиваю свои собственные курсы по программированию на Python. Еще веду корпоративные обучения, работаю в универе и провожу консультации о построении пути в I...

[Перевод] Common Table Expressions Common Table Expressions (CTE) или обобщенное табличное выражение, впервые появилось в версии SQL Server 2005, и это простой способ разбить сложный запрос T-SQL на несколько запросов, что придаёт больше гибкости и управляемости. CTE во многом очень похожи на представлен...

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

In RISC-V Rust Превращаем простой пример распознавания нот из лабораторных работ Школы синтеза цифровых схем в Enterprise. Используем компилятор Rust для RISC-V микроконтроллера YRV-Plus. Читать далее

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

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

Тестируем китайские rack-серверы TTY В нашу лабораторию Jet RuLab на тестирование попали серверы бренда TTY, довольно успешно продающиеся на китайском внутреннем рынке, но малоизвестные в России. В этом посте рассказываем о моделях двух поколений, возникших проблемах и можно ли с этим жить.  Читать далее

iMessage для Android просуществовал всего несколько дней. Приложение Nothing Chats удалено из Google Store и имеет проблемы с безопасностью На днях на рынке достаточно незаметно произошло достаточно любопытное событие. Компания Nothing представила приложение Nothing Chats, которое можно было бы назвать очередным мессенджером, однако суть в том, что это приложение фактически позволяет владельцам Android обме...

[Перевод] Механика Async Await В этом посте исследована механика async await на языке Elixir. Принятая в Elixir модель конкурентности отлично подходит в качестве платформы для реализации такой механики. Тем не менее, не расценивайте этот пост как руководство для разработки реальных приложений на Elixir. ...

[Перевод] Что ты делаешь для безопасности Active Directory? (часть 1) Привет! Если ты не понимаешь с чего начать защищать Active Directory я привожу краткий перевод публикации "The Complete Active Directory Security Handbook. Exploitation, Detection, and Mitigation Strategies" от Picus Security. На своем опыте могу сказать, что восстановление ...

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

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

Команда «Kcell» путь к победе на KazHackStan 2023 Привет, Username, в данной статье я хочу рассказать тебе о конференции KazHackStan, которая прошла 13-15 сентября 2023 года. Также, поделиться информацией о некоторых векторах атак на полигоне и подготовке, которая позволила нам - команде "Kcell" - завоевать почетное первое ...

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

Книга «C++ для начинающих. 2-е изд." Привет, Хаброжители! Книга Герберта Шилдта начиная с таких базовых понятий языка, как типы данных, массивы, строки, указатели и функции, книга охватывает также важнейшие элементы объектно-ориентированного программирования — классы и объекты, наследование, виртуальные функц...

[Перевод] Как мы сократили время тестирования на 70% благодаря переходу с Cypress на Playwright «Remove .only from Cypress test» — знаком ли вам такой комментарий к коммиту? Если вы используете Cypress для сквозного тестирования, то вы знаете, о чем я говорю. Мы создали обширный набор из более чем 200 тест-кейсов с помощью Cypress. Хотя Cypress является мощным инстр...

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

В аэропорту Пулково начнут использовать отечественное ПО для контроля багажа В аэропорту Пулково завершился переход на отечественное ПО для контроля у чёта багажа

[Перевод] Как устроен протокол iMessage В этом посте я вкратце расскажу о внутреннем устройстве iMessage, изученном мной в процессе работы над pypush — опенсорсным проектом воссоздания реализации iMessage.Ради краткости и понятности я не буду вдаваться в технические подробности. Если вы хотите узнать, как конкретн...

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

О внутрикластерной маршрутизации через Istio Привет, Хабр! Я Степан, DevOps‑инженер, занимаюсь созданием CI/CD процессов с учётом проверки кода на безопасность, поддержкой и разверткой новых кластеров Kubernetes, соблюдением требований безопасности и созданием системы мониторинга и логирования — все это ...

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

«Once you go Rust, you never go back»: создаем игру для программистов на Bevy Привет, Хабр! В прошлой статье я рассказал о своем переходе в геймдев и моей концепции «хакерской» игры. Здесь же сосредоточился именно на разработке, а также на инструментах Bevy и Rust, которые использовал для игрового движка. Интересно узнать из первых уст, как создаются...

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

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

Особенности проектирования интерфейсов в ИБ продуктах на примере Ampire Привет хабр! Меня зовут Виталий Матыцин, я отвечаю за дизайн в Ampire. Cегодня хочу рассказать об особенностях и подводных камнях, с которыми мне пришлось столкнуться во время редизайна. Читать далее

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

[Перевод] Делаем двоичные файлы Rust меньше по умолчанию Вы когда-нибудь пробовали компилировать program helloworld на Rust в режиме --release? Если да, то видели, какой размер двоичного файла получается? Достаточно сказать, что он не очень маленький. Или, по крайней мере, не был таким до недавнего времени. В этом посте я расскажу...

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

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

Знакомство с CAD Dassault Solidworks 2022 на примере проектирования модели «рука T-800*» *Прежде всего стоит отметить, что модель является художественной, многие элементы и решения с точки зрения механики и робототехники не имеют смысла. Читать далее

5 стадий принятия необходимости изучения «плана запроса» или почему может долго выполняться запрос Всем привет! Меня зовут Виктор, я работаю в Компании БФТ-Холдинг руководителем группы разработки. В этой статье разберем подходы и рекомендации по выявлению и устранению проблем с производительностью в системе базы данных Greenplum. Материал будет особенно полезен начинающим...

Что будет общего у GeForce RTX 50 и SoC Apple M3? Новые GPU Nvidia также перейдут на техпроцесс 3 нм Видеокарты линейки GeForce RTX 50 будут основаны на графических процессорах, которые будут производиться по техпроцессу 3 нм.  Текущее поколение GPU Ada Lovelace производится по нормам 5 нм на мощностях TSMC. Новое будет производиться там же, но уже по нормам 3 нм...

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

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

Coroutine Stacks — плагин для отладки корутин Kotlin Всем привет!В рамках программы Google Summer of Code 2023 мы с моим студентом разработали плагин для Intellij IDEA, который является аналогом Parallel Stacks из Visual Studio, CLion и Rider для Kotlin coroutines. Плагин анализирует стек трейсы каждой корутины в приложении и ...

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

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

Манифест Киберправды Данный текст является ответом на опубликованную накануне «Оду бесполезности споров» с целью рассказать о проекте, который намерен принципиально решить проблему анализа достоверности информации в Интернете и оценки репутации ее авторов. Я считаю, что новые никогда ранее не су...

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года) При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспеч...

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

Разработка децентрализованных приложений на Spring Boot: инструменты Web3 Tech Привет! Меня зовут Даниил, я разработчик в Web3 Tech. Недавно в JVM-инструментарии для нашей основной платформы «Конфидент» состоялся новый релиз, в который вошли библиотеки клиента для взаимодействия с нодой и Spring Boot стартеры. Далее в посте я расскажу об этих библиотек...

Новый вид получения личных данных при поиске вакансий Приветствую всех. Меня зовут Дмитрий, я Junior Frontend разработчик. Как и многие джуны нахожусь в поиске работы. Кто проходил этот путь знает на сколько он не прост. Но пост не об этом. Сегодня вам хочу рассказать как я попался на уловку "мошенников" на hh.ru. В один прекра...

Compile Time Dependency Injection в С++: как обуздать зависимости не прибегая к позднему связыванию Начав свою карьеру в качестве C# разработчика, я постоянно сталкивался с использованием техники внедрения зависимостей (Dependency Injection). За то время, что я работаю с C++, я не заметил здесь такого же широкого распространения этой идеи.В то же время мне показалась весьм...

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

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

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

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

KMP перешёл в stable. Что это значит? 1 ноября состоялся релиза Kotlin 1.9.20, beta компилятора k2. Но для нас интереснее глобальное изменение статуса KMP. Мы используем эту технологию в мобильной разработке и написали про неё несколько статей.В статье подробнее рассмотрим, что изменилось в технологии с пер...

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

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

Глубина кроличьей норы: бинарная граница и ABI C++ Вопрос ABI (Application Binary Interface), бинарной границы и бинарной совместимости в C++, раскрыт на просторах интернета не так хорошо как хотелось бы. Особенно сложно в его изучении приходится новичкам, потому что эта тема связана со множеством деталей нарочно скрытой от ...

«Галя, у нас инцидент!» или зачем мы написали SIEM-чатбота для MaxPatrol Привет, Хабр! Меня зовут Кирилл Орлов, я CISO Oxygen Data Centers & Clouds и в этом посте я поделюсь с вами нашим опытом внедрения MaxPatrol (MP): расскажу, как удобно настроить защиту разных сегментов инфраструктур на базе этого решения, объясню, зачем мы сделали своего...

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

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

[Перевод] Мы использовали слишком много абстракций, и будущее выглядит мрачным Большой процент так называемых «экспертов» сегодня знают только, как использовать какой-нибудь хайповый инструмент, но они ничего не понимают в том, как все работает на более глубоком уровне. Это реальный вызов и большая проблема на будущее. Читать далее

Запрет на съемку концертов, виртуальные носки и машина без окон: 8 необычных патентов Apple Apple не всегда быстро внедряет новые технологии. Но как показали бесчисленные патенты, полученные за последнее десятилетие, компания постоянно экспериментирует с причудливыми концепциями. Некоторые из них довольно странные. Читать далее

Samsung обвиняет Google в проблеме с сенсором экрана на смартфонах серии Galaxy S23 Компания утверждает, что основной причиной проблемы с экраном серии мобильных телефонов является ошибка в приложении Google Discover Feed.

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

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

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

Почему происходит подмена телефонных номеров. Часть 1. Кейс МегаФона Волна телефонного мошенничества, к сожалению, продолжается. Запуск системы «Антифрод» немного снизил накал страстей. Операторы перестали пачками получать запросы из МВД. Но проблемы это не решает. И вот почему. Разбираем кейс на примере МегаФона. Читать далее

10 причин не участвовать в некоторых IT-конференциях Привет! У нас тут накопился неплохой опыт в плане работы с конференциями со всех точек зрения — как организатора своих собственных событий, так и активного участия в больших регулярных IT-конференций. Собственно, им мы с вами и поделимся.Наверняка пост будут читать организат...

[Перевод] Hono vs. H3 vs. HatTip vs. Elysia — современные замены Express для сервера (или без сервера) H3 отмечает, что Express.js - старый и малоразвивающийся фреймворк, являющийся не оптимальным выбором для новых проектов из-за потенциальных проблем безопасности и утечек памяти, что, к слову, касается и Koa.В нашей статье мы сделаем акцент на фреймворках, поддерживающих зап...

Проблемы при переходе с MS SQL на PostgreSQL.Активное использование временных таблиц Сначала я думал просто перечислить наиболее распространенные проблемы, возникающие при переходе с MS SQL на PostgreSQL. Но решил, что просто перечисление будет мало информативным. Поэтому, пока ограничился наиболее частой проблемой, приводящей к деградации производительности...

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

Реальность существует и это надо учитывать Я полгода собирался написать эту статью и одной из причин постоянного откладывания её написания было то, что я не знал как её начать. Поэтому, начну банально.Привет, меня зовут Михаил Елисейкин, я более 20 лет в IT, более 20 лет изучаю историю техники, и сейчас хочу сказать,...

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

Пишем приложение на Python для подготовки к собеседованиям по Python На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возник...

Transition Animation: настраиваем анимацию переходов во Flutter Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. Современное приложение почти невозможно представить без анимации. И один из ее типов — Transition Animation, или анимация переходов. Ее используют, чтобы переход с одной страницы на другую был плавным и крас...

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

[Перевод] В каких аспектах улучшилась производительность в ASP NET Core 8 ASP.NET Core 8 и .NET 8 обогатились многочисленными потрясающими нововведениями, благодаря которым повышается производительность. В этом посте мы подчеркнём некоторые улучшения, сделанные в ASP.NET Core, и покажем, как с их помощью можно нарастить скорость и эффективность ра...

fsspec и вообще зачем оно нам нужно Привет! Сегодня я расскажу вам про fsspec, его киллер фичи и почему он является незаменимым инструментом любого python разработчика. Читать далее

[Перевод] Призыв писать компактное ПО, версия 2024 года (с примером кода) Этот пост посвящён памяти Никлауса Вирта, первопроходца в сфере вычислительных наук, ушедшего от нас 1 января этого года. В 1995 году он написал важную статью A Plea for Lean Software, и в своём посте я постараюсь воспроизвести её почти тридцать лет спустя, с учётом современ...

Кратко про язык программирования Triton Triton был разработан специально для выполнения на GPU и предоставляет удобную Python-ориентированную среду.Triton позволяет использовать модель программирования, основанную на блоках, которая значительно отличается от традиционной модели CUDA. Вместо управления потоками на ...

[Перевод] Управление памятью в Linux Управление памятью (memory management) является важной подсистемой операционной системы Linux, которая обеспечивает эффективное использование ресурсов физической и виртуальной памяти. В Linux управление памятью в основном подразумевает обработку запросов к памяти от про...

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

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

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

История облачного переезда: как мы отказались от гибридного деплоя и полюбили Terraform Привет, меня зовут Максим Качинский, я ведущий DevOps-инженер в компании RocketData. Более 6 лет мы развиваем одноимённую платформу для управления репутацией — за это время она выросла с монолитного MVP на единственном сервере до 15+ микросервисов с пятью разными видами баз ...

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

[recovery mode] Ваша емайл-рассылка нуждается в AMP-emails прямо сейчас В данной статье я расскажу про AMP-emails из личного опыта разработки , покажу примеры какие бывают емайлы, как их можно отправлять, в каких областях емайл-маркетинга они могут использоваться. У меня более 4 лет опыта работы с AMP-emails и мне есть чем с вами поделиться Чита...

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

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

Zabbix, PostgreSQL и pg_stat_statements Я хочу поделиться своим опытом использования Zabbix для анализа проблем с производительностью PostgreSQL, используя расширение pg_stat_statements. Читать далее

Превращаем TV-box в мини-компьютер: установка Linux Armbian на примере X96 Max+ 100W Одноплатные компьютеры своим появлением взяли на себя огромное количество задач и с каждым днём решают всё больше наших проблем. Но многие окружающие нас бытовые устройства являются одноплатными компьютерами с практически с идентичной многим привычным SBC (single board compu...

2FA для 1С по протоколу OpenID Connect на базе Keycloak Очередной пост о том, что мы делаем. В этот раз расскажу вам о том, как мы обеспечили безопасность информационных баз 1С с использованием сервиса аутентификации Keycloak через протокол OpenID Connect и настройку двухфакторной аутентификации с&nb...

[Перевод] Как оптимизировать медленные SQL запросы? Большинство проблем, связанных с БД, во время разработки остаются незамеченными, потому что мы пишем код и проверяем его правильность только при малой "заполненности" нашей БД. Поэтому, когда приложение выкатывается в продакшн, через некоторое время начинают появляться пробл...

[Перевод] Разработка SQL Expert Bot: подробный гайд по использованию Vercel AI SDK и API OpenAI OpenAI заложила фундамент для революции в сфере искусственного интеллекта с появлением ChatGPT, открывая новую эру в области AI, которую активно используют как отдельные люди, так и бизнес‑сообщества. OpenAI даже предоставила API для разработки ...

[Перевод] Vue 3: Ваше первое знакомство с компонентом Transition Мы можем значительно улучшить юзер экспириенс, добавив плавную анимацию перехода между различными состояниями в нашем веб-приложении. Vue.js 3 предоставляет мощный компонент Transition, который упрощает процесс внедрения переходов во Vue-приложениях. В этой статье мы рассм...

Пик цен на IP-адреса, государственное регулирование и попытка разблокировать блок 240/4 — что там с переходом на IPv6 Кризис на фоне затянувшегося перехода на IPv6 продолжается до сих пор. Его усугубляет нехватка и подорожание адресов IPv4. Есть мнение, что улучшить ситуацию на рынке можно, если разморозить ранее заблокированный блок 240/4 — его зарезервировали под эксперименты еще на заре ...

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

[Перевод] Удачный переход Netflix на GraphQL В 2022 году с приложениями Netflix для iOS и Android произошли серьезные изменения. Мы перевели мобильные приложения Netflix на GraphQL с нулевым временем простоя, что повлекло за собой полное перепроектирование от клиента до уровня API.До недавнего времени наши мобильные пр...

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

[Перевод] Как я сделал переполнение кучи в curl В связи с выпуском curl 8.4.0 мы публикуем рекомендации по безопасности и все подробности о CVE-2023-38545. Эта проблема является самой серьезной проблемой безопасности, обнаруженной в curl за долгое время. Для неё установили ВЫСОКИЙ приоритет.Хотя рекомендации содержат все ...

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

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

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

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

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

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

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

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

[Перевод] Minecraft и REPL: взаимодействие История одной оптимизации во время мастер-класса Clojure MinecraftВ июне компания JUXT приняла участие в ClojureD, ежегодной замечательной конференции по Clojure в Берлине. В течение дня проводился ряд семинаров, на которых рассказывалось о конкретной идее или инструменте и ...

На смену скайп-курсам и вебинарам Привет, Хабр! В прошлом посте мы рассказали о том, как выглядит российский рынок e-learning в общих чертах и представили его основных игроков. В этом материале мы сосредоточимся на его нижнем сегменте – потребностях для проведения небольших тренингов, начинающих учителей, ...

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

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

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

Запускаем кодек OPUS на микроконтроллере Исходные данные – есть контроллер STM32 с очень ограниченной памятью, а мы хотим записывать на нем звук. Допустим, что примеров с подключением выбранного нами микрофона гора и маленькая тележка. В итоге имеем контроллер, который умеет выдавать нам WAV-подобный сигнал. Хотел...

Нестандартный подход. Toyota улучшила аэродинамику Toyota GR Corolla 2024 при помощи четырех листов алюминия Toyota проявила оригинальный подход к модернизации горячего хетчбэка Toyota GR Corolla 2024. С переходом в новый модельный год автомобиль получил несколько новых воздуховодов и улучшенную аэродинамику за счет… четырех специально разработанных тонких листов алюмин...

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

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

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

[Перевод] Поисковый движок в 80 строках Python В сентябре я устроился на должность поискового дата-саентиста и с тех пор часть моих обязанностей заключается в работе с Solr — опенсорсным поисковым движком на основе Lucene. Я знал основы работы поискового движка, но мне хотелось понять его ещё лучше. Поэтому я закатал рук...

Одно и то же лекарство можно купить и дешево и дорого. Что-то и вовсе не лекарство. И что за лекарство — вода с солью Заходя в аптеку мы удивляемся тому, как подорожали за последние годы таблетки. И капли. Конечно на нас наживаются. Расскажу о довольно частых примерах. Вот к примеру обычный насморк. Что не так с лечением насморка?Если покупать лекарства не по названию бренда, а по действую...

Один на 150 миллионов операций. Расследуем причины выброса времени отклика в операциях ввода-вывода Привет! Я Александр Пищулин, перфоманс-инженер в компании YADRO. Сегодня расскажу об одном интересном случае траблшутинга в работе с системой хранения данных — он касается выброса времени отклика. Поиск причин сбоев, наверное, одно из самых увлекательных занятий в моей работ...

Google завершил переход на Mobile-First индексацию Сканирование сайтов, работающих исключительно для десктопов, сократится.

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

[Перевод] Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример.Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна...

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

Обзор библиотеки Stan в R Приветствую! Stan - это библиотека на C++, предназначенная для байесовского моделирования и вывода. Она использует сэмплер NUTS, чтобы создавать апостериорные симуляции модели, основываясь на заданных пользователем моделях и данных. Так же Stan может использовать алгоритм о...

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

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

Yggdrasil-mesh глазами пентестера В наше время растет популярность децентрализованных альтернатив современным подходам к маршрутизации трафика в вычислительных сетях (например, для обхода санкционных блокировок недружественных стран и анонимизации трафика). Одним из примеров такого подхода является Yggdrasil...

Путь исследователя цифровых продуктов в «Магните»: проблемы и решения «Магнит» — это не только продукты съедобные, но и продукты цифровые: мобильные приложения, веб-сервисы. Команда пользовательского опыта старается делать их лучше: для этого есть исследователи, которые проводят исследования внутренних (для сотрудников) и внешних (для клиентов...

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

Как появились веб-пуши Apple в Тинькофф Всем привет! Мы — архитектор разработки публичных веб-приложений Борис и разработчик системы-шлюза отправки нотификаций Данила. Расскажем о том, как создавались веб-пуши iOS в Тинькофф, как их настраивали и с какими проблемами столкнулись в процессе разработки. Читать д...

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

[Перевод] Итак, вы думаете, что знаете Git? Часть первая: старый добрый Git Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git. В первом посте из этой короткой серии ...

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

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

Переход с Vue-CLI на Vite: ускоряем разработку Vue 3 Одним из новых инструментов в арсенале Vue 3 является Vite - быстрый и легковесный бандлер, который значительно упрощает процесс разработки и ускоряет сборку проекта. В этой статье мы рассмотрим, как перейти от стандартного подхода с использованием Vue-CLI и Webpack к более ...

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

Есть ли жизнь после Microsoft Teams и OneDrive? Неизбежность отключения корпоративных пользователей от «облачных» продуктов Microsoft (и не только) стала очевидной последние два года. В текущий известный список продуктов, которые точно будут отключены, входят корпоративный мессенджер Teams, Office 365, облачное хранилище ...

Разбираемся, почему Google Play Protect посчитал 2ГИС вредоносным ПО Что случилось10 января Google Play Protect ошибочно посчитал 2ГИС вредоносным приложением. Пользователи 2ГИС на Android начали получать системное сообщение, что 2ГИС — вредоносное приложение. Мы стали массово получать сообщения от пользователей и разбираться в ситуации....

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

Топ-3 причины, почему вы должны использовать Copilot Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot п...

Необычный RxJS Всем привет! А вы знали, что RxJS содержит в себе более 100 операторов? Но если ваш проект использует эту библиотеку - скорее всего вы с трудом насчитаете у себя больше пары десятков. Интересная ситуация, да? Не знаю почему так получается, но сегодня я хочу поделиться реальн...

Ваша карта не будет бита: как добавить Impact Map, CJM и USM в документ и не пострадать Наверняка у многих бизнес-аналитиков есть цель использовать особые артефакты: Impact Map, CJM (Customer Journey Map), USM (User Story Map). Особые, т. к. не так часто они встречаются в бизнес-требованиях, и даже бывалый аналитик может с непривычки растеряться, если не создаё...

Разработка производительного распознавателя автономеров для edge-устройств «Мы всего лишь хотели пофиксить баги в своем продукте, а психанули и создали аналог одной из библиотек» — CV-инженеры CodeInside.Итак, в созданной нами системе мониторинга транспортного потока Smart Traffic System доступен функционал по распознаванию номерных знаков автомоби...

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

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

С 1 декабря. Сотовые операторы «МТС», «МегаФон», «Билайн» и Tele2 начнут выдавать SIM-карты по новым правилам Ни для кого не является секретом, что вот уже как более 15 лет на территории России действуют достаточно жесткие правила получения SIM-карт у любого оператора связи. Причиной всего этого является закон, который обязывает телекоммуникационные компании Читать полную версию пу...

[Перевод] Инженеры NASA добились прогресса в понимании проблемы «Вояджера-1» 13.03.2024, Дениз Хилл, blogs.nasa.gov3 марта команда миссии «Вояджер» увидела активность в одном разделе данных FDS, которая отличалась от остального нечитаемого потока данных компьютера. Новый сигнал все еще не был в том формате, который использовался «Вояджером-1», когда ...

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

Как не провалить аудит в новых условиях? Время от времени компании проводят аудит. Это комплексный взгляд на ИТ-инфраструктуру и варианты ее развития. Когда чаще всего проводят аудит? • Непонятна картина реального состояния ИТ-инфраструктуры. Такая ситуация может возникнуть, например, при смене руководства или уход...

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

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

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

[Перевод] Увлекательный лексический анализ языка Rust Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока л...

А/Б тестирование с CUPED: детальный разбор Хабр, привет! Сегодня обсудим, как применять CUPED для повышения чувствительности А/Б тестов. Рассмотрим на простом примере принцип работы CUPED, покажем теоретически за счёт чего снижается дисперсия и приведём пример оценки эксперимента. Обсудим, как выбирать ковариату, как...

Развлекаемся с Джулией Считается, что Julia – это нишевый язык созданный для лабораторий, научных симуляций и HPC. Хотя на самом деле благородя свой экспрессивности и динамизму Julia можно и нужно использовать для автоматизации и скриптинга. Давайте на паре простых примеров посмотрим как Julia мож...

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

iMessage появился на смартфонах Nothing, но не спешите радоваться Сколько же лет мы уже слышим о том, что на Android может появиться доступ к iMessage! Многим это действительно нужно даже несмотря на то, что есть много других отличных кроссплатформенных мессенджеров. Серьезность проблемы совместимости разнится от страны к стране, но ситуа...

SETI@Home, или Как миллионы людей искали следы внеземного разума SETI@Home — краудсорсинг-проект для обработки данных радиотелескопов, запущенный в 1999 году, и первый масштабный проект в сфере распределенных вычислений в принципе. В этом посте мы подробней расскажем предысторию проекта, в котором на протяжении более 20 лет в разное время...

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

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

Поздравление-загадка от Хабра Итак, через 24 часа наступит новый, 2024 год. Красивые цифры:‑) Нам досталось последнее окошко в виртуальном адвент‑календаре. Попробуйте разгадать послание, найти ключ и пришлите его @Exosphere в личку. Первые трое получат в новом году симпатичный м...

О кастомных HTML-тегах по-человечески и как их использовать Расскажу вам о том, как использовать чудо-юдо под названием «Кастомные HTML‑теги» понятно, но подробно. Читать далее

Открываем курс по Kubernetes и рассказываем, зачем разработчику знать DevOps Два года назад мы запустили в школе Metaclass курс «Деплой приложений в Kubernetes». С сегодняшнего дня мы делаем его бесплатным и приглашаем пройти всех, кто хочет прокачаться и попасть на стажировку к нам в команду.В нашей компании все сотрудники проходят этот курс, поэтом...

Скорее жив, чем мёртв: тенденция по развитию iOS технологий Подготовьте кружечку чая, запаситесь терпением и дочитайте всю статью до конца.После 24 февраля 2022 года, события в iOS разработке начали меняться не в лучшую сторону. Приложения "крупных" компаний удаляются из App Store (пример Сбербанк, Альфа банк, ВТБ, Тинькофф). Кажется...

«Винтажная» метавселенная Second Life с NASA, IBM и Dell: внезапное возрождение Если вы думаете, что метавселенные — это исключительно современная история, начавшаяся с Цукерберга, то вы сильно ошибаетесь. В этом году одна из самых старых метавселенных Second Life (SL) отметит свой 21-й день рождения. Да-да, %USERNAME% — эта метавселенная была запущена ...

Anvil Utils: Assisted injection в многомодульных Android проектах без боли Привет, Android разработчики!Хотел бы рассказать вам про мою библиотеку (Anvil Utils) - кодогенератор позволяющий слегка уменьшить количество боилерплейта в многомодульных проектах использующих Dagger 2 и Anvil. Читать далее

AutoML на практике — как делать автоматизацию, а не её иллюзию Привет, Хабр! Меня зовут Алексей Рязанцев, я Junior Data Scientist в Лаборатории Машинного обучения Альфа-Банка. Свой путь в Лаборатории я начал со стажировки летом-осенью 2023-го года, на которой для меня была интересная задача — разработать с нуля собственный AutoML в Альф...

Обзор смартфона Nothing Phone (2a): манифест технологичности и стиля Nothing Phone (2a) это пожалуй самый интересный смартфон среднего класса вышедший в 2024 году. Первый доступный аппарат от компании Nothing, который пошел по стопам Google Pixel А и фактически является его прямым конкурентом. Nothing Phone (2a) это смартфон, который привлека...

Как мы разрабатываем игры для Pixel Quest, публикуем исходники и делимся частью выручки Полгода назад я писал про наш путь к открытию первой пиксельной игровой Pixel Quest: путь от прототипа до первого игрового заведения. Сегодня хочу рассказать, как мы решили проблему разработки игр путём перехода с Go на Lua и публикации исходников, а также о планах делиться ...

Reuters: Samsung может использовать технологию SK hynix для увеличения производства памяти HBM Ключевая технология, используемая для производства чипов искусственного интеллекта, является причиной того, что крупнейший в мире производитель памяти, корейская компания Samsung Electronics, отстает от конкурентов из своей страны и США

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

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

В США заявили о непричастности к увольнению Залужного с поста главкома ВСУ Представитель Белого дома обозначил, что это было исключительно решение Зеленского.

Как быстро и недорого проверить продуктовую гипотезу, не считая А/B-тестов Привет! Я Аля — продакт-менеджер выделенных серверов Selectel. Люблю быстрое тестирование гипотез (и да, верю, что в B2B это возможно), общаться с целевой аудиторией и чистить бэклог. Думаю, что каждый продакт рано или поздно сталкивается с ситуацией, когда протестировать ...

[Перевод] YDB знакомится с TPC-C: раскрываем производительность наших распределенных транзакций В нашем предыдущем посте о производительности YDB, посвященном Yahoo! Cloud Serving Benchmark (YCSB), мы упоминали, что готовим к публикации результаты других бенчмарков. Мы придерживаемся плана и сегодня рады представить вашему вниманию наши первые результаты бенчмарка TPC-...

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

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

Maybelline New York произвел фурор на Roblox – цифровое приключение с макияжем и музыкой  Maybelline New York отважилась войти в виртуальный мир Roblox и завоевала новую аудиторию любителей макияжа. В партнерстве со Splash бренд запустил кампанию из 360 брендов, целевой аудиторией которой является динамичное музыкальное сообщество в Roblox. В виртуальном мире May...

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

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

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

Стеганография в файлах формата .m4a Стеганография - это искусство и наука передавать сокрытые данные внутри других, не сокрытых данных.Подробнее можно прочитать здесь.Часто, когда говорят о стеганографии, не выходят за рамки LSB в картинках (хотя и в картинках можно сделать нечто более оригинальное ). В д...

Бэкапить или не бэкапить — вот в чем вопрос Неделю назад платный хостинг (VPS), где находятся мои блоги, завалили злобные хакеры. Сделали они это через дыру в системе управления виртуальными машинами LXLabs. Все упало около 100000(!) сайтов. Однако даун-тайм длиной в неделю оказался не самым страшным. Хуже всего было ...

Современный способ организации зависимостей в Android. Version catalog и Gradle convention plugin Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о современном подходе организации зависимостей в Android. Вы узнаете как использовать version catalog и convention plugin в вашем проекте. Читать далее

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

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

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

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

Виртуальная видеокарта QXL на реальном железе Продолжаем переваривать специи SPICE RedHat Desktop Virtualization. В данной заметке будет рассмотрен SPICE-сервер исключительно как альтернатива VNC-серверу также будет рассмотрен эксперимент по настройке в операционной системе Fedora 17 и в операционных системах семейства ...

Разбор crackme от KilLo (.net) Предупреждение Crackme (как, впрочем, следует из названия) это программы, созданные специально для того, чтобы их взломать (понять алгоритмы, заложенные разработчиком, и используемые для проверки введенных пользователем паролей, ключей, серийных номеров). Подходы и методик...

Пэнос Панай возглавил подразделение устройств и сервисов Amazon Компания Amazon объявила, что Пэнос Панай стал новым руководителем подразделения устройств и сервисов компании. На этом посту он заменит Дэйва Лимпа (Dave Limp), который в конце этого года покинет Amazon. «Я знаю Пэноса много лет и считаю, что он внесёт большой вклад в разв...

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

Linux на ПК получил 4% рынка десктопов. Это новый рекорд, но чем он объясняется? Доля операционной системы Linux на настольных компьютерах никогда не была большой. Тем не менее она постепенно продолжает увеличиваться. Сейчас, в 2024 г., этот показатель достиг 4% — за три года он вырос на 2%. Что послужило причиной такого активного роста? Об этом — в прод...

Part 1. Инструменты автоматизации тестирования Привет! Я Вадим Лунин, QA Manager в Альфа Банке в Беларуси. Это продолжение цикла статей по инструментам, которые мы используем для тестирования наших продуктов в Альфа Банке. В настоящей статье я хочу рассказать вам, какие инструменты мы используем для автоматизации тестиро...

CPU планировщики в Linux В статье будет рассказано про основные алгоритмы, которые ядро Linux использует для планирования задач, готовых к выполнению. Как влияет приоритет задач и указанная для неё политика на то, как она будет получать процессорное время и сколько. Читать далее

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

Кодирование числа в Micro QR Code версии М1 Задача: необходимо прочитать Micro QR Code версии М1, содержащее кодовое слово, состоящее из цифр (на примерах – 7, 77, 777, 7777 и максимальное кодовое расстояние – 77777) на основе алгоритма, приведенного в ГОСТ Р ИСО/МЭК 18004-2015 (п. 7.4.3, пример 2). Данный режим невоз...

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

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

Как начать нанимать в штат студентов: опыт создания инженерной школы в МойОфис Развитие любого крупного ИТ-проекта рано или поздно приводит к потребности в новых сотрудниках. Не всегда её просто покрыть: даже при наличии в компании зрелых HR-процессов и нужных бюджетов, поиск одного специалиста легко может растянуться на месяцы. Например, в связи сит...

Как выживать среди заказчиков Всем привет! Меня зовут Фефилов Александр, я работаю в QA с 2017 года. По большей части это были компании, которые занимались аутсорсингом, но затем я присоединился к SM Lab.Как вы уже поняли из названия поста, я расскажу о том, как взаимодействовать с заказчиком (а иногда и...

[Перевод] Анимации CSS, основанные на времени Демонстрация анимацийВ моем предыдущем посте Time Uniform For CSS Animation я рассказал о способе создания CSS-анимации с использованием тиков вместо ключевых кадров. Он был ограничен в применении, поскольку в CSS отсутствовала возможность выполнять сложные математические вы...

Java Unsafe API для низкоуровневого манипулирования памятью Привет, Хабр!Иногда приходится сталкиваться с задачами, которые требуют выхода за рамки стандартных абстракций и безопасности Java. Мы ищем способы оптимизации, решения проблем производительности, или, возможно, просто хотим расширить свой кругозор в Java. Для таких случаев ...

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

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

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

Симулятор электронных схем Qucs-S: обзор новшеств версии 2.1.0 Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. Для работы Qucs рекомендуется использовать также открытый движок моделир...

[Перевод] Итак, вы думаете, что знаете Git? Часть вторая: новое в Git Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git. Далее в нашей серии постов из трёх час...

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

Запускаем Matlab внутри Docker-контейнера с поддержкой GUI в ОС GNU/Linuxх Возникла задача запускать графические приложения в полностью изолированной среде: как от Интернета, так и от файловой системы «хозяйской» ОС. В моём случае это был Matlab. Пишут, что в последних версиях он стал шибко «умным»: сам без спроса постоянно лезет в сеть и чем-то та...

Apple рассказала о причинах выгорания экранов iPhone 15 Pro После запуска iPhone 15 Pro, многие пользователи столкнулись с проблемой «выгорания» экрана устройства.

Что такое NOC-команда, и какие 5 KPI на нее вешать для улучшения аптайма вашей платформы В работе с Incident Management-фреймворком мы в инжиниринге преследовали две основные цели: довести uptime до 99,99% (в API / SDK), и всегда знать о проблеме раньше пользователей.В наши первые дни у нас не было всеобъемлющей системы оповещения и мониторинга. А если и была, т...

Обеспечение обратной совместимости gRPC API с помощью protolock в GitHub Actions В этом посте я поделюсь с вами подробной инструкцией по настройке автоматической проверки обратной совместимости gRPC API с помощью protolock в GitHub Actions. Читать далее

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

[Перевод] Частичная агрегация В нескольких предыдущих статьях обсуждалось, как в SQL Server реализована агрегация, были рассмотрены операторы агрегирования потока и хеш-агрегат. Я также использовал хеш-агрегат в качестве примера в статье Введение в распараллеливание исполнения за...

Алгоритм деления 2W-разрядных чисел с использованием операций с числами разрядностью W На примере 32-битных целых чисел рассматривается масштабируемый алгоритм деления, использующий числа с двукратно меньшей (16 бит) разрядностью. Для иллюстрации работоспособности алгоритма приведен код тестового приложения на языке С++. Читать далее

Управление загрузкой с помощью PostgreSQL и pg_headerkit Привет, Хабр!Supabase – это крутой open-source аналог Firebase, с его помощью можно организовать крутые штуки вроде ограничения скорости запросов.Supabase – это инструмент, который дает возможность создавать масштабируемые серверные решения, используя PostgreSQL. С его помощ...

Войти в айти — советы от программиста по призванию Дисклеймер. Сначала хочу выразить свое личное отношение к тем, кого в индустрии порой презрительно называют "вайтишниками". В середине 80-х мой отец из инженера переквалифицировался в рабочего-наладчика на заводе. Причина проста - платили банально больше (особенности тарифн...

Зонтичный мониторинг в X5 Group, или как построить цифровую карту здоровья бизнеса с миллионом объектов Привет, Хабр! Хотим рассказать о том, как и зачем Х5 Group внедряет зонтичный мониторинг Monq, почему сущность и состояние «магазина» для бизнеса важнее виртуальных объектов, ну и как вообще стало возможным не только собрать под один зонтик >1.1 млн объектов и данные...

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

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

Соединяем Flutter, Firebase и ESP32 в единую систему Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. Сегодня расскажу, как использовать микроконтроллер ESP32 в связке с Flutter-приложением. В качестве примера ...

Зачем грузовой компании идти в разработку — опыт ПГК Привет, Хабр! Я — Аня Анциферова, продакт «Цифрового вагона» (это одна из разработок Первой грузовой компании). Сегодня на примере опыта ПГК я хочу рассказать о том, почему даже консервативные отрасли вроде железнодорожных перевозок имеют огромный потенциал для развития цифр...

Смартфон Samsung Galaxy S24 Ultra получит только чип Snapdragon 8 Gen 3 Согласно отчету корейского издания The Elec, Samsung Galaxy S24 Ultra будет использовать исключительно чипсет Snapdragon 8 Gen 3, независимо от региона, в котором он будет продаваться.

Покупать OLED-мониторы стало чуточку безопаснее. Asus расширила гарантию на такие модели до двух лет, а MSI и вовсе до трёх Несмотря на то, что экраны OLED стали намного распространённее, чем условные 10 лет назад, проблема выгорания никуда не делась. Мониторы OLED пока что являются довольно редкими, и, видимо, чтобы простимулировать спрос, компании начали увеличивать гарантийные сроки. ...

Как Яндекс создал свою шину данных, чтобы передавать сотни гигабайт в секунду 10 лет назад сотни серверов Яндекса работали на Apache Kafka®, но в этом продукте нам нравилось далеко не всё. Наши задачи требовали единой шины для передачи всех видов данных: от биллинговых до журналов приложений. Сегодня объёмы дост...

USM (Unified Service Management)_Шаблон User Story Mapping - это методика визуализации пользовательских историй, которая помогает командам разработки программного обеспечения лучше понять пользовательский опыт и определить приоритеты для разработки функциональности продукта. USM строится на основе пользовательских...

Все проблемы с вариатором Lada Vesta — на особом контроле у АвтоВАЗа АвтоВАЗ особо тщательно будет отслеживать сообщения о проблемах с вариатором Lada Vesta. Об этом рассказал источник ресурса «Лада.онлайн», близкий к заводу. Изображение: Lada «Все претензии, которые будут выявлены в ходе проведения предпродажной подго...

[recovery mode] Меньше работы с людьми, больше работы с данными: кому подойдет мир аналитики В мире, где каждый клик, каждое взаимодействие и каждая транзакция превращаются в данные, способность понимать и интерпретировать этот поток информации становится все более ценной. Данные — это золото нашего времени, невидимый актив, который в правильных руках способен преоб...

Китайская компания SMIC скоро запустит производство 5-нм чипов. На этот раз по-настоящему Примерно месяц назад мы публиковали статью «Чуда не произошло: "китайский" 5-нм процессор Kirin 9006C выпускала фабрика TSMC». В ней говорилось о том, что на самом деле чип Kirin 9006C, который установила Huawei в своём ноутбуке, произведён не в Китае, его поставила в Поднеб...

Как рендерить R Markdown в PDF на кириллице Так получилось, что за всё время, что я использую в работе R, мне не доводилось рендерить markdown-файлы в формат PDF. Иногда я хранил наработки просто в фалах .R, а исследования оформлял в Google Docs, накидывая туда скринов из viewer-а. Иногда это был рендер в .html, с инт...

Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.Поэтому, когда было решено мигрировать объемные базы данных с легаси-решений на общедоступные платформы, возник вопрос — можно ли...

Максимально простая игра на C++ (в консоли) Мой выбор остановился на простецкой игре - виселице, запускаемой в консоли (cmd), которую я решил написать на С++?. Здесь я хочу рассказать о том, как я её реализовал, что использовал и т.д. Читать далее

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

Установка iOS 5. Активация UDID. Success-story Несмотря на то, что с момента выхода iOS 5 Beta 1 прошло уже больше недели, статья будет полезна тем, кто хотел бы установить себе iOS 5, но не совсем в курсе ньюансов установки бета-версий прошивок на iДевайсы. С момента появления ссылок для скачивания iOS 5 в интернете, у...

Выгорание. Ответственность. Well-being Привет, Хабр! Меня зовут Даниэла, я руковожу направлением корпоративных льгот в Росбанке. В этом посте я расскажу, что такое выгорание, как оно проходит, как уберечь себя от выгорания, отслеживать его у сотрудников и, наконец, что мы для этого делаем в компании. Читать далее

[Перевод] Очередной инцидент с Ledger: Атака на цепочку поставок В этом посте мы объясним, что произошло c Ledger, почему это важно и как вы можете обезопасить свои активы. Читать далее

Проблемы «лайва» Нет, это не про Albeton Live, а про живые выступления в целом и про выступления с использованием ПК в частности. В данном посте я расскажу о своем опыте живых выступлений, а в комментариях хотелось бы почитать про опыт Хабрапользователей и, так сказать, поделиться друг с дру...

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

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

Биржа Binance получила разрешение на предоставление услуг виртуальных активов в Дубае Этот этап является предварительным перед получением полной лицензии VASP

Запуск MacOS 13+ в VMware на процессорах AMD (OpenCore) Всем привет. Делюсь своими изысканиями по запуску виртуальных машин MacOS на процессорах AMD. Возможно кому-то будет полезным.Предыстория: в наличии несколько виртуалок, с которыми долгое время не было никаких проблем. Версии - от Mojave до Monterey, они даже обновлялись шта...

Генеративный ИИ — это просто «замыленный JPEG интернета», который убедительно косит под интеллект ИИ чат-боты любят ловить глюки и выдавать всякую чушь. Так массово, что словом 2023 года признали "галлюционировать". В чем причина такого явления? Является ли генеративный ИИ интеллектом (спойлер - и да, и нет)? И что общего у ChatGPT и копировального аппарата Xerox? Разбир...

CI/CD в каждый дом: сборочный цех базовых docker-образов Привет, Хабр.Последнее время DevOps и CI/CD де-факто стали повсеместным стандартом независимо от размера команды, в интернетах хватает статей, почему это важно, в чём собственно идея, полезных практик и других материалов. Я же решил подойти с несколько другой стороны и макси...

Как сделать СКУД на стойку своими руками за 20 тыс. рублей Привет! Меня зовут Иван, я отвечаю за СКУД, видеонаблюдение и системы противопожарной безопасности в дата-центре Nubes Alto. Сегодня расскажу о том, как своими руками и за вменяемые деньги установить СКУД на стойку в серверной или в ЦОД. Решение буду показывать на примере ст...

Метаморфозы сознания. Про ревью и комментарии в технической документации Привет! Меня зовут Дмитрий Миронюк, я старший технический писатель в компании Bercut. До этого работал системным администратором, специалистом внедрения и поддержки, программировал IP-телефонию, успел поработать тимлидом. Но как в итоге стал техническим писателем расскажу в ...

Континент 4 Getting Started 2.0. Контроль доступа Если Вы рассматриваете Континент 4 NGFW как решение, на которое планируете мигрировать с иностранного решения, настоятельно рекомендуем ознакомиться с заключением к данной статье. Там вы найдете перечень полезных материалов.Все используемые вирт...

Парадигму UNITS в массы У первой статьи («Реальность существует и это надо учитывать») были очень интересные и содержательные комментарии, среди которых были озвучены идеи о необходимости примеров. С одной стороны это правильно, потому что на примерах можно вырабатыват...

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

TOTP без смартфона Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.Б...

Помощь логистам: как сделать SMS-уведомления о разгрузке товара на складе на основе FastAPI Привет, Хабр! Меня зовут Анастасия Иванова, я технический писатель МТС Exolve. Сегодня расскажу о системе SMS-уведомлений, созданной с помощью FastAPI. Она оповещает логистов о прибытии автомобилей на склад и автоматически назначает приёмщиков.  Система интегрирована с ...

Bybit Web3 и LightCycle — виртуальный концерт в честь 25-летнего юбилея Р. Уильямса В рамках новаторского сотрудничества с Hape2.0-LightCycle, официальным партнером по организации виртуального концерта в честь 25-летия сольной карьеры Робби Уильямса, Bybit, третья в мире по объему сделок криптовалютная биржа, готовится произвести фурор в среде Web3, устроив...

Причины и следствия крупных слияний и поглощений в индустрии развлечений и технологий. Часть 1 В статье говорится о причинах и следствиях крупных слияний и поглощений в индустрии развлечений и технологий за последние годы на примере крупных представителей рассматриваемого сегмента

Направо пойдешь — в бэкенд придешь, налево — в мобилки… Размышляете, куда податься, какое карьерное направление будет перспективнее? Дело ведь не только в используемых технологиях, но и в распространенных подходах и практиках. И объективное сравнение от того, кто видел разные сегменты лично, встретишь не часто.В этой статье наш к...

Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой Привет

[recovery mode] Разработка расширения для PHP на C++. Хуки встроенных функций и методов PHP - это мощный и широко используемый язык программирования для веб-разработки. Однако, иногда требуется расширение функциональности или модификация стандартного поведения PHP с использованием более низкоуровневых языков, таких как C++. В этой статье мы рассмотрим, как с...

Польза создания однородных задач для параллельного вычисления Как правильно использовать возможности параллельного программирования?Зачем программистам математика и зачем знать алгоритмы?На примере небольшой задачи мы вместе ответим на эти вопросы. А так же хочу наглядно продемонстрировать преимущества создания однородных задач.Весь к...

Еще про фото неба Навеяно постом engine9 Немного собственных снимков с пояснениями, так или иначе связанных с наблюдениями природных и астрономических явлений. Читать далее

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

40 креативных меню (перевод) Одна из первых вещей, которые делают при планировании нового веб-сайта — это готовят контент, который будет на сайте. Затем разделяют на разделы, а затем на различные уровни навигации. В результате получается скучный список ссылок. Этот список ссылок является одним из наиб...

[Перевод] Проблемы функции Golang init Прежде чем говорить о функции init в Golang, необходимо понять, что такое пакет в Golang. Программа go организована в пакеты. Пакет собирает несколько исходных файлов в одном каталоге. Он похож на ящик, в котором находятся некоторые инструменты или небольшая машина. Он являе...

Разбор crackme от timotei_ (assembler) Предупреждение Crackme (как, впрочем, следует из названия) это программы, созданные специально для того, чтобы их взломать (понять алгоритмы, заложенные разработчиком, и используемые для проверки введенных пользователем паролей, ключей, серийных номеров). Подходы и методик...

Реальная реальность Write-up | Tinkoff CTF 2024 Разбор задания Реальная реальность с Tinkoff CTF 2024.Сотрудники пришли на совещание в шлемах виртуальной реальности. Они никого не слушают и тайком что-то смотрят. Узнайте, что именно. Читать далее

Обход блокировок на OpenWRT с помощью v2rayA (xray-core) и баз GeoIP, Geosite Antifilter В данном гайде будем устанавливать пакет v2rayA на OpenWRT на примере стабильной 23.05.0. Рекомендуется роутер минимум с 128 МБ RAM (256 предпочтительно) и памятью более 16 Мб (установка занимает около 30МБ памяти)v2rayA — это простой в использовании...

В России продаются самые дешёвые iPhone 15 в мире — дешевле 65 тысяч рублей В настоящее время в России можно купить iPhone 15 по самой низкой цене в мире, всего 65 тысяч рублей и меньше. Это даже дешевле, чем в таких странах, как Германия (106 тысяч рублей), Турция (174 тысячи рублей) и даже США (73 тысячи рублей). На маркетплейсах цены мо...

Глава Роспотребнадзора рассказала о переходе коронавируса в сезонные болезни Глава Роспотребнадзора Анна Попова, читая лекцию о санитарно-эпидемиологическом благополучии населения на выставке-форуме «Россия», рассказала о текущей эпидситуации, связанной с COVID-19.

Портретная гармонизация изображений Привет! В данной публикации команда RnD CV из SberDevices познакомит вас с нашим подходом к решению задачи повышения степени реалистичности портретных изображений (по-научному — портретной гармонизации изображений). Мы не только расскажем о задаче портретной гармонизации, но...

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

Настраиваем минимальный WEB-сервер на Repka Pi 3. NGINX+PFP-FPM+MySQL и ставим Wordpress В этой статье я расскажу как установить на Repka Pi 3 полноценный WEB сервер на Nginx с php-fpm и MySQL для того, чтоб в конечном счете установить WordPress и начать делать и размещать Ваш сайт на данной платформе. Ставить будем на родную ОС Repka Pi от 11.12.23 (последняя а...

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

Part 0. Инструментарий QA в Альфа Банке Всем привет! Меня зовут Вадим Лунин. Я — QA Manager из Альфа Банка в Беларуси. Этой статьёй  хочу начать цикл статей по инструментам, которые мы используем для тестирования наших продуктов в Альфа Банке. Читать далее

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

Дружим FreeBSD и HomeAssistant Привет, Хабр!Многие из вас наверное слышали о Home Assistant (далее HA) - система домашней автоматизации с открытым исходным кодом, которая прекрасно работает на различных аппаратных решениях и поддерживает операционные систем Linux, macOS, Windows. К сожалению, в списке под...

Используем Elasticsearch вместе со Spring Boot Всем привет! Это моя первая статья на Хабре и в ней я хочу рассказать о том, как мы можем интегрировать Elasticsearch в наше Spring Boot приложение. Этот проект предназначен для ознакомления с технологиями и служит скорее шпаргалкой/пособием или же фундаментом для дальнейшег...

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

Точка доступа Wi-Fi из камеры видеонаблюдения на OpenIPC Пару десятков лет назад меня впечатлила новость, что какая-то корпорация смогла использовать настолько крутые технологии, что впихнули веб-сервер в коннектор RJ45. Для чего это нужно было уже и не вспомню, но сейчас, ковыряясь со своими камерами видеонаблюдения, меня осени...

Недельный геймдев: #143 — 15 октября, 2023 Из новостей: Джон Ричителло покинул пост главы Unity, Microsoft закрыла сделку по приобретению Activision Blizzard, Nekki пробует Веб3, первая бета Godot 4.2, O3DE 23.10, разработчиков обяжут использовать смс‑верификацию при выпуске новых версий игр в Steam.Из...

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

Лазейку с ключами Windows 7 и 8 заблокировали и начались сбои: Microsoft расследует проблемы с активацией Windows 10 и 11 Чуть больше месяца назад Microsoft заблокировала возможность активации Windows 10 и 11 ключами Windows 7 и Windows 8. Вслед за решением о блокировке пользователи начали сталкиваться с проблемами - активированная таким образом ОС может «деактивироваться» при ...

Виртуальный день открытых дверей в дата-центре TELHosting Здравствуйте, Хабрахабровчане! День своего Рождения на хабре мы решили отметить постом о повседневной работе нашего Центра Обработки Данных. Театр начинается с вешалки, а дата-центр… с бахил. Каждое утро для сотрудников дата-центра TELHosting начинается с переобувания в до...

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

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

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

[Перевод] Предел мастерства Нашла у Сергея Абдульманова (Milfgard) пост 4 крутые штуки про разработку игр. В посте ссылки на 4 перевода из блога геймдизайнера Тайнана Сильвестра, создателя игры «RimWorld». Но ссылки мертвые. С разрешения автора публикую переводы из архива. Пост ниже из далекого 2009...

Декодирование файла, поиск уязвимости и взлом пароля. Решаем задачи по сетям из KnightCTF 2024 Привет, Хабр! В прошлой статье я рассказывал о турнире KnightCTF 2024, который организовала команда из Бангладеша. Но туда вошли не все задачи. Под катом расскажу еще о четырех из категории networking. Читайте далее — узнаете, как получить секретную информацию в bash-histor...

Простой и удобный шаблон для bash-скриптов выполняемых по расписанию Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала мое...

[Перевод] Почему некоторые проекты угасают после ухода программиста из компании Зачастую судьба цифрового продукта заботит не только компанию, которой он принадлежит, но и специалистов, непосредственно участвовавших в его разработке. Для многих программистов (и команда beeline cloud — не исключение) проект, к которому они приложили руку, — это не просто...

Если Apple Pay недоступен: в iOS 17.4 появилась новая функция iOS 17.4, которая в настоящее время доступна для бета-тестеров, включает в себя значительные изменения для пользователей Apple Cash. Пользователи Apple Cash теперь могут настроить номер виртуальной карты, которую можно использовать для покупок, когда Apple Pay онлайн не...

Первый квантово-устойчивый блокчейн на основе постквантовых алгоритмов: зачем это нужно и как работает Квантовые вычисления начали активно развиваться еще в 1970-х, но до конца прошлого века представляли лишь научный интерес. А в 1994 году математик Питер Шор представил алгоритм факторизации целых чисел и дискретного логарифмирования в конечной группе, и квантовые вычисления ...

[Перевод] Как я пишу на C по состоянию на конец 2023 года Этот год выдался переломным для моих навыков по программированию на C. Можно сказать, что я пережил слом парадигмы, что побудило меня пересмотреть привычки и весь стиль программирования. Это была крупнейшая метаморфоза моего личного профессионального стиля за долгие годы, та...

Компиляция Record для Android В Android Developers Blog выходила статья Records in Android Studio Flamingo о том как компиляторы R8/D8 преобразуют классы java.lang.Record. В ней рассказывается как добиться минификации компонентов toString() у Kotlin data-классов. Меня заинтересовала эта тема и я решил чу...

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

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

В iOS 17.2 Apple исправит проблему с Wi-Fi в iPhone После выхода финальной версии iOS 17 некоторые владельцы iPhone начали жаловаться на проблемы с Wi-Fi. Пользователи сообщали о нестабильном подключении, скачках скорости и высоких пингах. При этом ни в небольших обновлениях iOS 17, ни в iOS 17.1 проблема так и не была решена...

Надёжность граничных прокси в контейнеризированных приложениях на примере Platform V Synapse Service Mesh Привет, Хабр! Меня зовут Данила Трушин, я руководитель направления в СберТехе. Мы с командой развиваем Platform V Synapse Service Mesh — продукт, который обеспечивает надёжную безопасную интеграцию и оркестрацию микросервисов в облаке.При промышленно...

TypeScript: infer и conditional types. Продвинутый TS на примерах Разбираемся, что же такое conditional types и как написать свои утилиты, такие как ReturnType, InstanceType, NonNullable и др., при помощи ключевых слов infer и extends. Читать далее

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

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

NumPy для самых маленьких Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сф...

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

Интернационализация от i до n: как мы переводим интерфейсы в Фантехе Яндекса Привет! Меня зовут Александр Поляков, я руководитель команды i18n-разработки в Фантехе Яндекса. Мы помогаем сервисам компании выходить на международные рынки, а именно решаем задачи, связанные с интернационализацией и локализацией интерфейсов.В этом посте расскажу:• какие им...

Samsung выпустит чипы по 2 нм уже в 2025 году Компании Samsung и TSMC, по информации инсайдеров, начнут массовое производство чипов по технологическому процессу в 2 нм уже в 2025 году. И чтобы получить преимущество, по данным журналистов их Южной Кореи, Samsung рассматривает возможность предоставления потенциальным клие...

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

Что выбрать: Npm, Yarn или Pnpm? На данный момент у нас используются три самых популярных менеджера пакетов (Npm, Yarn и Pnpm). И всё бы ничего, но разные команды начали периодически обращаться с проблемой несоответствия типов Typescript из наших транзитивных зависимостей. Выяснилось что это проблема Npm и ...

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

Kaspresso для самых маленьких Привет! Меня зовут Элчин, я занимаюсь автоматизацией мобильных приложений в hh.ru и расскажу вам о том, как написать первый тест на Android. В разработке автотестов мы используем Kotlin и нативный фреймворк Kaspresso, о котором я напишу подробней в этой статье. Читать далее

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

Конец «тарабарщине»: инженеры NASA определили причину проблемы с межпланетным зондом-ветераном Voyager 1 и работают над решением Американское управление по аэронавтике и исследованию космического пространства NASA рассказало о новости неполадках межпланетного зонда Voyager 1 («Вояджер-1»). Инженеры подтвердили, что небольшая часть поврежденной памяти в одном из компьютеров на борту &l...

Красавица и HTML Injection. Почему HTMLi не только про дефейс Привет, Хабр. Сегодня мы посмотрим на достаточно тривиальную тему с совсем нетривиальной стороны. Пожалуй, для каждого вебера HTML-инъекции являются темой, которой зачастую уделяют не очень много внимания. Взять даже собеседования: когда в последний раз вас спрашивали не об ...

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

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

[Перевод] NumPy: оттачивайте навыки Data Science на практике В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты ку...

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

История об одном экзамене Всем привет! Меня зовут Полина, я специалист по тестированию в ITFB Group. Хотела бы поднять тему сдачи экзаменов для повышения квалификации, а конкретно — экзамена ISTQB (International Software Testing Qualifications Board). Эта международная организация разрабатывает ...

[Перевод] Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, PostgreSQL В данной публикации я поделюсь двумя основными причинами, по которым я предпочитаю избегать использования автоинкрементных полей в PostgreSQL и MySQL в будущих проектах. Вместо этого я предпочитаю использовать UUID-поля, за исключением случаев, когда есть очень веские аргуме...

Впихнуть невпихуемое, или Как мы боролись с сервисами, которые слишком много «ели» Всем привет! Меня зовут Максим, я релиз-инженер Ozon, и в этой статье я расскажу про впихивание невпихуемого, или про оптимальную с точки зрения используемых ресурсов стратегию деплоя в Kubernetes, которая позволила нам сэкономить тысячи ядер CPU и терабайты RAM. Читать дале...

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

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

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

WF2M сеть. Формализм и математика workflow Кому нужны книжки без картинок … или хоть стишков, не понимаю! – думала АлисаКому нужны регламенты бизнес-процессов без схемок … или хоть скриптов, не понимаю! –осенило бизнес-аналитика АлисуАлгоритмы бизнес-процессов можно формализовать (построить модель процесса) по-разном...

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

Названа основная причина крушения космического аппарата «Луна-25» О причинах крушения российского космического аппарата «Луна-25» рассказали представители «Роскосмоса».

Microsoft отозвала сертификаты драйверов устройств — последствия для пользователей Если после установки накопительных обновлений безопасности Windows 10 (разных, актуальных версий) вышедших в июле 2023 года и позже вы столкнулись с проблемой в работе (сетевых) устройств - предлагаю ознакомится с данной статьёй. Здесь изложена причина появления ошибки с код...

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

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз У одного из клиентов нашей системы мониторинга PostgreSQL серверов возникла проблема сильного замедления запросов при запуске базы в Docker. В этой статье расскажем о возможных последствиях использования PostgreSQL в Docker с конфигурацией по умолчанию. Читать далее

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

Российские учёные рассказали о причинах массовой гибели тюленей в 2022 году Учёные из России узнали, что стало причиной массовой гибели редких тюленей в 2022 году

Разбор новой атаки кибершпионов Sticky Werewolf с использованием Rhadamanthys Stealer 5 апреля 2024 года на платформу VirusTotal была загружена вредоносная ссылка кибершпионской группы Sticky Werewolf. Внимание аналитиков тогда привлекла новая для группы полезная нагрузка – злоумышленники использовали Rhadamanthys Stealer, стилер с модульной архитек...

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

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

Прокрастинация, youtube и горящий дедлайн — что мешает нам учиться? Всем привет! Меня зовут Лиза, я методолог обучающих программ в ЕДИНОМ ЦУПИС. Даже во время прохождения очень интересного и полезного курса сосредоточиться может быть крайне сложно. В мире, наполненном информацией, учиться мешает буквально любой внешний фактор. В статье я рас...

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 1 Библиотека pandas 2.0 вышла в начале апреля, в ней появилось много улучшений нового режима Copy‑on‑Write (CoW, копирование при записи). Ожидается, что в pandas 3.0 режим CoW будет использоваться по умолчанию. Сейчас полный переход на к...

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

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

Уроки химии в российских школах усилят с помощью отечественной VR-лаборатории Российские школы начнут использовать виртуальный симулятор химической лаборатории для проведения практических занятий.

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

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

App Puzzle15. Дорога в Питер за android-фоном Совсем недавно в славном городе на Неве проводился конкурс ребятами из местного GTUG, анонс конкурса ютится в этом топике. О самом конкурсе, проведении его и результатах будет подробно написано в отчёте от arkady112. Я же хочу рассказать немного о приложении Puzzle15, котор...

Автоматизация Swimlanes на досках Jira В досках Kanban и Scrum есть удобный инструмент горизонтальной группировки задач swimlanes (дорожки). С помощью дорожек задачи можно группировать по разным категориям: типам задач, проектам, пользовательским полям и прочему. Многие из вас наверняка уже знакомы с этим инструм...

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

Недельный геймдев: #167 — 31 марта, 2024 Из новостей: Blender 4.1, Hasbro выделила 1 млрд долларов на разработку AAA-игр, Take-Two Interactive покупает Gearbox Entertainment за 460 млн, Canva купила разработчика Affinity.Из интересностей: 6 лет из жизни инди-разработчика, игра исключительно на CSS, как появилась...

Как я перешёл на тёмную сторону: путь из Андроида в бэкенд Привет, Хабр! Меня зовут Андрей. 7 лет я разрабатываю под Android. Год назад я писал код для мобильного приложения банка и особо не задумывался о переходе на другие задачи. В один прекрасный день мне прилетела таска — добавить параметр в диплинк на Андроиде. Потом меня попро...

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

В Россию приедет такой Tank 700, которого нет в Китае Появились официальные подробности о том, каким будет Tank 700 для России. Как рассказал исполнительный директор «Хавейл Мотор Рус» Андрей Акифьев, на отечественном рынке автомобиль будет представлен как с гибридной силовой установкой, так и с обычным бензино...

Очередной показатель того, что для современных CPU Intel очень важен планировщик потоков. Компания выпустила патч для Linux, повышающий производительность Гетерогенные процессоры Intel сильно зависят от эффективности планировщиков потоков. Отличный тому пример — повышение производительности CPU Intel в Linux на 14% после выхода нового патча.  Фото: Intel Intel выпустила патч, который улучшает работу планировщи...

10 из 10: в firewall PAN-OS от Palo Alto Networks найдена критическая 0-day-уязвимость. Что происходит? В сфере информационной безопасности много неожиданностей, а проблемы часто возникают там, где их и не ждали. Сейчас, например, обнаружилось, что файерволлы PAN-OS содержат 0-day-уязвимость, очень серьёзную. Причём появилась она не вчера, а несколько недель назад. Подробнее о...

Решение проблемы N+1 при работе с Kotlin Exposed К написанию этой статьи я подошёл после продолжительного использования Kotlin Exposed в рабочих, а также персональных проектах, когда я начал анализировать генерируемые SQL запросы. В тот момент я познакомился с проблемой N+1) Читать далее

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

В поисках ПАК: импортозамещаем немецкое «железо» в российском ЦОД Привет, Хабр! Меня зовут Артем Золотарев, я инженер по виртуализации в Oxygen Data Centres & Clouds. Любой облачный провайдер и оператор ЦОД может столкнуться с задачей проброса USB-портов виртуальным машинам, которым нужен доступ к определенным устройствам. И чем с...

Будет ли пенсия у родившихся в восьмидесятых? Сразу извиняюсь за большую стену текста. Но тема сложная и важная, так что по-другому никак. В самом конце поста есть выжимка, содержащая суть публикации в 6 предложениях. Читать далее

MemSess — очередной сервер для работы с сессиями В этой статье будет рассмотрен самописный сервер для работы с сессиями и пример работы с ним на PHP. Читать далее

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

[Перевод] Я изучила 900 самых популярных инструментов ИИ на базе open source — и вот что обнаружила Четыре года назад ИТ-эксперт Чип Хуэн* проанализировала экосистему ML с открытым исходным кодом. С тех пор многое изменилось, и она вернулась к изучению темы, на этот раз сосредоточившись исключительно на стеке вокруг базовых моделей.О результатах исследования читайте под ка...

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

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 3. Таблицы страниц ОС управляет виртуальной памятью с помощью таблиц страниц. Виртуальная память процесса - адресное пространство, защищенное от других процессов. ОС делит память на страницы одинакового размера и отображает страницы виртуальной памяти на страницы физической памяти. Так ОС пред...

Синхронизация локальных изменений с docker/kubernetes контейнером Салют!Хочу рассказать вам про такие замечательные инструменты как docker compose(быть точнее про новую возможность watch), skaffold, tilt.Рассказать для чего они полезны, как пользоваться и с примерами. Читать далее

Первое приложение на SolidJS В этой статье познакомимся с SolidJS − JavaScript-библиотекой для создания пользовательских интерфейсов без виртуального DOM. Мы создадим легкий список задач с использованием TypeScript и разберем некоторые особенности библиотеки. Читать далее

Алгоритм MiniMax. Использование минимакса в Unity на примере игры Поймай Овечку Минимакс - популярный алгоритм для принятия решений в играх с нулевой суммой (один выиграл - другой проиграл). Казалось бы, раз он так популярен, то всё что можно было про него сказать уже сказано? Не совсем. Информация сильно раздроблена, иногда ошибочна, а найти какие-либо...

Простой GPT-ассистент в Telegram на базе Яндекса и Node.js Всем привет! Это моя первая публикация на хабре, поэтому буду благодарен за любую обратную связь, которая поможет мне писать ещё лучше.В статье вас ждёт "сборка" очень простой связки из распознавания и синтеза речи, а также запросов в модель YandexGPT на Node.js. Наш телегра...

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