Search
Write a publication
Pull to refresh
@resetmeread⁠-⁠only

Скромный пастух нулей и единиц…

Send message

А давайте… по ГОСТу

Reading time3 min
Views11K

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

Хотелось бы вспомнить одну из парадигм Agile " Работающий продукт важнее исчерпывающей документации ", но в данном случае это не наша история, поэтому сегодня поговорим немного о ГОСТах.

Стоит сделать небольшое лирическое отступление и начать с формального определения:

Читать далее

Как писать конспекты на компьютере быстрее, чем от руки, при помощи VS Code

Reading time5 min
Views55K

Привет всем!

В этой статье говорится о том, как я конспектирую на компьютере, а точнее описываются способы ускорения набора LaTeX-овского текста.

Читать далее

Задача коммивояжера (TSP) точное решение — метод целочисленного линейного программирования (Integer programming)

Reading time20 min
Views25K

Дочитав эту статью до конца, вы сможете решать точно задачу коммивояжёра на сотню элементов за считанные секунды!

Заинтригованы? Тогда, добро пожаловать под кат.

Читать далее

Тестирование автоматизации Ansible с помощью Molecule Часть 1

Reading time9 min
Views17K

Molecule – это проект Red Hat, призванный помочь в тестировании ролей Ansible. Он обеспечивает поддержку тестирования с различными операционными системами и дистрибуями. Molecule также является весьма разноплановым проектом, позволяющим использовать множество провайдеров виртуализации, тестовых фреймворков и тестовых сценариев. Такой подход обеспечивает последовательность в разработке и обслуживании ролей.

В статье много информации об Ansible. Давайте посмотрим, как тестировать роли с помощью Molecule, Docker и Testinfra.

Читать далее

Пишем драйвер ядра Linux для неизвестного USB-устройства

Reading time15 min
Views19K
image

В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет рассказано о простом инструменте для пользовательского пространства; при помощи этого инструмента можно управлять таким устройством. Конечно, придется углубиться в подробности, касающиеся конкретного прибора, но не сомневайтесь – описанный процесс с тем же успехом применим и к другим USB-устройствам.
Читать дальше →

Polars: библиотека для работы с данными, написанная на RUST

Reading time6 min
Views26K

Настоящий хреновый программист всегда находится на гребне волны новых технологий. Зачем ему это? Чтобы при случае можно было повыделоваться багажом своих знаний, и заработать немного очков уважения в окружении своих менее осведомлённых коллег. Stay toxic, brothers. Я с вами.

Когда-то давно мне нужно было обработать чуть больше тысячи жирнейших excel-таблиц и сделать это нужно было быстро. Буквально за час я вкатился в Python и Pandas, а за второй час выполнил все необходимые манипуляции. Так я и познакомился с этими двумя. С тех самых пор приходилось выполнять самые разные задачи по анализу данных и всё бы ничего, но хотелось бы, чтобы Pandas работал побыстрее. Оказывается хотелось не одному мне, а целой команде разработчиков, на Rust.

Как и полагается, всё что на Rust то Blazingly-Fast, и Polars не стала исключением. За счёт чего Polars быстрее Pandas? Что это за библиотека и стоит ли на неё переходить? Давайте попробуем разобраться в этой статье.

Читать далее

Бритва Оккама и другие острые бритвы познания — как использовать в IT и в жизни

Reading time5 min
Views30K

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

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

Читать далее

Нужны ли изменения в работе команды? Рассчитываем ответ по формуле Глейчера

Reading time8 min
Views5.2K

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

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

Слепые капитаны ищут дно: почему российский бизнес – это болото, в котором барахтаются идиоты-«менеджеры»

Reading time12 min
Views144K

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

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

Читать далее

Более 12 лет ставлю цели на год: рассказываю, как и почему этот процесс работает у меня

Reading time13 min
Views39K

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

Читать далее

Для чего нужен CJM?

Reading time5 min
Views14K

Вы уже наверное много слышали про CJM - Customer Journey Map. Давайте не будем открывать Америку, и попробуем разобраться на примерах - почему нужно делать CJM, отслеживать его на пути становления вашего продукта и актуализировать, когда продукт находится на стадии роста.

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

Один из пунктов, почему так происходит - правильно выстроенный и отточенный клиентский путь.

Читать далее

Как распознать синтезированную речь

Reading time5 min
Views8K

Привет, Хабр! Меня зовут Елизавета Петрова я Data Scientist и являюсь участником профессионального сообщества NTA. В современном мире технологии синтеза речи и клонирования голоса стремительно развиваются и уже достигли впечатляющих результатов. С 2015 года проводится специальное соревнование ASV Spoofing, на котором ежегодно презентуют новые методы проведения спуфинг-атак (атаки, когда один человек или программа маскируется под другую путем фальсификации данных) с помощью видео-дипфейков и синтеза речи. Существующие речевые системы способны синтезировать речь и тембр голоса, на слух неотличимые от настоящих. Технологии клонирования голоса привлекают всё большее внимание и находят широкое применение в таких сферах, как голосовое управление, робототехника, голосовые ассистенты (например, Siri и Алиса) и т.д. Однако вместе с этим открываются новые возможности для мошенничества. Особенно уязвимы системы, использующие голосовую биометрию для идентификации пользователей: используя синтез речи, мошенники могут получить доступ к аккаунтам и данным пользователей.

Читать далее

Проверка корректности А/Б тестов

Reading time8 min
Views26K

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

Читать далее

YOLOR — Объяснение статьи и выводы – Углубленный анализ

Reading time20 min
Views3.1K

В последние годы наблюдается огромный прогресс в серии YOLO, в настоящее время в ней используются как модели обнаружения объектов без привязки, так и модели обнаружения объектов на основе привязки. Вместо того, чтобы сосредоточиться исключительно на архитектурных изменениях, YoloR выбирает новый маршрут. Он черпает вдохновение в том, как люди сочетают неявные знания с явными знаниями для решения новых задач. Предлагаемые методы значительно улучшают производительность Обнаружение объектов YoloR модели, в результате которых они будучи на ~88% ?быстрее и лучше (? 57,3% на Набор для тестирования COCO) с минимальными дополнительными затратами.

Читать далее

Распределенные сервисы с применением gRPC

Reading time12 min
Views31K

Часто бывает так, что эффективная коммуникация – один из основных движущих факторов в современных программных системах, даже в мире, живущем по законам микросервисной архитектуры. Технология gRPC может справляться с этими требованиями. В этой статье будут рассмотрены некоторые основы gRPC, а еще мы реализуем первое клиент-серверное приложение с применением .NET. Кроме того, клиент на основе Python демонстрирует, насколько эффективной может быть коммуникация между различными сервисами.

Читать далее

Celery: проясняем неочевидные моменты

Reading time8 min
Views91K

Да, действительно, в этом посте не будет гайда, как поднять Celery в Django. Это статья для тех, кто уже пощупал Celery и хочет погрузиться в детали.

Мотивацией перевести эту статью были следующие вопросы, на которые я не знал ответа: при запуске создается процесс или поток? В какую очередь попадают отложенные задачи с ETA? А какие бывают очереди (спойлер: она не одна)? А в какой момент задача удаляется из очереди? Если я создам задачу с ETA=завтра_в_12:00, она ровно в этот момент и выполнится (спойлер: нет)?

Ответы на все эти вопросы в статье, велком!

Запустить таску

gRPC — альтернатива REST API от Google

Reading time4 min
Views35K

Проблема

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

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

Зачем нужен gRPC

gRPC (Remote Procedure Calls) — это система удалённого вызова процедур (RPC) с открытым исходным кодом, первоначально разработанная в Google. В качестве основного протокола передачи применяется HTTP/2, для описания процедур применяется “Protocol Buffers”. Это в свою очередь приносит дополнительные преимущества: сжатие HTTP-заголовков и мультиплексирование запросов.

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

Читать далее

Гистограммы и графики распределения в Python

Reading time11 min
Views141K

Визуализация одномерных данных в Python



Построение графика одной переменной кажется простой задачей. Но насколько это просто в действительности — эффективно отобразить данные со всего одним измерением? Долгое время я обходился стандартной гистограммой, которая показывает расположение значений, разброс и форму распределения данных (нормальное, скошенное, двухпиковое и др). Но недавно я столкнулся со случаем, когда гистограмма не помогла. И тогда понял, что настало время узнать больше о построении графиков. Я нашёл в сети отличную бесплатную книгу о визуализации данных и попробовал некоторые методы. Я решил, что (и мне, и другим людям) будет полезно, если я поделюсь этими знаниями и составлю руководство по построению на Python гистограмм и их крайне полезной альтернативы — графиков распределения плотности (density plots). Подробности — к старту нашего курса по анализу данных.

Читать дальше →

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

Reading time13 min
Views24K

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

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

Читать далее

Information

Rating
Does not participate
Registered
Activity