Как стать автором
Обновить
0
@QuAzIread⁠-⁠only

Лучше недостаток кармы, чем мозгов и совести

Отправить сообщение

Пишем АПИ автотесты на Python по шагам

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

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

Читать далее

Управляем конвектором и термостатом Electrolux из Home Assistant. Часть 1

Время на прочтение3 мин
Количество просмотров10K

Около 2-х лет я являюсь пользователем Home Assistant и постепенно обживаюсь устройствами, которые хочется туда интегрировать. Одним из таких устройств стало мое относительно недавнее приобретение: конвектор от Electrolux.

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

Читать далее

Извлечение текста из файлов PDF при помощи Python

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

▍ Введение


В эпоху больших языковых моделей (Large Language Model, LLM) и постоянно расширяющейся сферы их применений непрерывно растёт и важность текстовых данных.

Существует множество типов документов, содержащих подобные виды неструктурированной информации, от веб-статей и постов в блогах до рукописных писем и стихов. Однако существенная часть этих данных хранится и передаётся в формате PDF. В частности, выяснилось, что за каждый год в Outlook открывают более двух миллиардов PDF, а в Google Drive и электронной почте ежедневно сохраняют 73 миллионов новых файлов PDF (2).

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

Преобразование markdown в pdf на Python

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров7.9K

Каждому, кто ходил извилистой тропкой автоматической генерации pdf из markdown файлов ведомы связанные с этой задачей пеньки решения: Pandoc, LaTex, wkhtmltopdf и т.п.

Хочу поделиться с сообществом новым (по крайней мере для меня) вариантом решения этой задачи в Python.

Этот вариант имеет следующие плюсы.

Читать далее

Неограниченный доступ к знаниям: библиотека Стандартных Шаблонных Конструкций

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

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

Во-первых, это прекрасно

Во-вторых...

Симпсоны-ТВ: руководство по сборке

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

Гик-энтузиаст Brandon Withrow собрал устройство под названием Simpsons TV. Это миниатюрный телевизор, который безостановочно крутит эпизоды из мультсериала «Симпсоны», и ничего более. Если вы тоже хотите себе такой, воспользуйтесь этим руководством.

Читать далее

Собираем машину для стринг-арта

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

Творческие люди такие творческие, что могут рисовать чем угодно на чём угодно. Например, нитками по гвоздям. Этот вид искусства называется стринг-арт (побудем капитаном очевидность и скажем, что нет, стринги тут ни при чём). На самом деле, итоговый результат выглядит красиво и необычно. Правда, работа очень тонкая и кропотливая, далеко не все с ней справятся. А что, если попробовать автоматизировать это искусство? Оказалось, что задача хоть и сложная, но реальная.

Читать далее

P2P-форум с нуля | от NAT hole punching до автономной и полностью децентрализованной сети

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

Многие, кто работают с интернет-сокетами в любой сфере IT, задаются вопросом о пробросе портов. Связано это с тем, что практически во всех домашних/общественных/корпоративных роутерах реализован механизм NAT, который перекрывает прямой доступ к устройствам в этих подсетях извне, общаясь с внешним интернетом от их имени.

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

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

Разнообразные сервисы работают на серверах, т. е. имеют некую ноду, которая имеет белый адрес в интернете (находится не за NAT). Все пользователи же подключаются к этому единому серверу. В таком случае проблема «невидимости» пользователей отпадает. Однако чисто серверное взаимодействие ограничивает скорость участников, так ещё и не отказоустойчиво. Если сервер упадёт, то все клиенты отправятся за ним (считаем, что это одноклеточный сервис не на всяких там kubernetes).

Как вы уже могли были догадаться, даже в реалиях, когда практически все устройства находятся за NATами, P2P реален. Когда вы являетесь участником bittorrent-раздачи, трансфер больших данных осуществляется напрямую. Как это работает? Поиск ответа на этот вопрос завёл меня в глубокие дебри, разгребая которые я написал оверлейную p2p-сеть, где трекерами являются сами её участники. Интересно? Тогда добро пожаловать под кат.
Читать дальше →

Многопоточность в Python: очевидное и невероятное

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

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

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

Читать далее

Комбинированное зарядное устройство GP P461

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.9K
Это необычное зарядное устройство (ЗУ) для NiMh аккумуляторов состоит из трёх модулей, которые могут работать как вместе, так и отдельно.

Сейчас на Озоне идёт распродажа и такое ЗУ в комплекте с восемью хорошими аккумуляторами GP ReCyko Pro 2000 продают за 2037 рублей, что по нынешним временам весьма недорого.


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

Передача и обработка IAsyncEnumerable в Typescript с ASP.NET Core Web

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров3.9K

Всем привет, Меня зовут Олег и я .NET разработчик в компании Bimeister. Я хотел поделиться своим интересным опытом по связи проекта на ASP.NET Core Web App с использованием IAsyncEnumerable коллекций и современного фронт-енд SPA приложения на Typescript.и Vue.js 3 версии.

Все эти технологии не новы и, на самом деле, фреймворк и технологии для веб части могут быть любые на ваш вкус: Angular, или React, или что-либо еще. Весь интерес представляет собой именно унификация процесса обмена с бэкендом на C# с современной асинхронной коллекцией. Я не буду заострять внимание на структуре обеих половин приложения подробно, скажу лишь, что использовал один из сложившихся в моей практики шаблонов для запуска  ASP.NET Core Web приложения с SPA. Все детали можно будет посмотреть в приложенном репозитории.

Читать далее

Как настроить сбор статистики и автоматическое отключение пользователей WireGuard в ispmanager с помощью Python и API

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

Привет! Меня зовут Вячеслав, и я руководитель отдела маркетинга. Я поднял VPN-туннель по подписке на базе ispmanager. Однако мне этого было мало: нужно было, чтобы по окончании подписки туннель автоматически отключался и статистика по каждому пользователю собиралась ежедневно.

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

Читать далее

Построение пайплайна обработки данных в реальном времени с использованием Python

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

Привет, Хабр!

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

В этой статье мы рассмотрим как построить пайплайн обработки данных в реальном времени с использованием Python.

Читать далее

Сборка прошивки из исходников для Orange PI i96(Orange PI 2g-iot)

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

Здраствуйте меня завут Дмитрий. Как-то я купил OpangePI i96, но к сожалению производитель давно забыл об этой плате, прошивки для неё построены на ядре 3.10.62(актуальная версия на момент написаня статьи 6.5.1). Поэтому я решил собрать собственную прошивку на актуальной версии ядра. Сборка будет проходить полностью из исходников.

Читать далее

Самодельные инструменты для тестирования продукта, или DIY в разработке

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров30K

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

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

Читать далее

Почему я использую эргономичную сплит-клавиатуру и не собираюсь возвращаться к обычным

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров59K

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

Читать далее

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию от Mentorpiece

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

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

Читать далее

25 Гбит/с дома, часть 1

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

Я живу в маленьком сельском городке в Швейцарии и довольно давно являюсь клиентом init7 (местный провайдер). Этот провайдер хорошо известен тем, что в данный момент только они начали пару лет назад рекламировать доступное для частных лиц 25 Гбит/с подключение. Впрочем, им требуется время, чтобы обновить оборудование в точке присутствия, а, в моем случае, им нужно было открыть где-нибудь поблизости новую точку присутствия (до этого у них был договор с другим провайдером об аренде части оборудования и места в стойке, что по прежнему давало мне оптику в квартиру, она по прежнему была не GPON'ом, но скорость была ограничена гигабитом). Но в 2023 году они наконец анонсировали скорое открытие POPа и перевод всех пользователей на их основной продукт (fibre7). То что это новый POP для меня означает, что там сразу будет доступен 25 Гбит/с тариф.

Читать далее

Как перейти ко всеобщему базовому доходу в следующем году

Время на прочтение15 мин
Количество просмотров22K

Главная проблема безусловного базового дохода (universal basic income, UBI) в том, что, как бы положительно люди не относились к этой идее — ежемесячные государственные выплаты «карманных» населению — даже самые большие энтузиасты её воспринимают как некий теоретический разговор о фантастической версии будущего. Практически экономический сайфай.

В головах обывателя реализация ББД в реальной жизни находится где-то рядом с коммунизмом. На самом деле UBI гораздо ближе, чем кажется. В современном мире среди развитых государств уже есть вся необходимая инфраструктура для его реализации. Как это возможно? Задача этой статьи: показать, что всеобщий базовый доход возможен а) технически (текущая мощность государственного механизма это позволяет), б) экономически — деньги на ВБД уровня прожиточного минимума в экономике есть. 

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

Читать далее

Идея: дифференцированный безусловный базовый доход

Время на прочтение13 мин
Количество просмотров7K

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

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

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

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность

Специализация

Фулстек разработчик, DevOps-инженер
Средний
C#
.NET
ASP.NET
Git
SQL
Linux
Docker
Python
Базы данных
Bash