Рубрика «python3» - 8

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

Появилась вторая идея — искать в переписке даты и вставлять их в техническое задание, документы, автоматически.

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

Предисловие

Думаю, нужно коротко пояснить, почему вдруг такая, казалось бы, тривиальная тема с подсчетом энергобюджета и почему именно спутники CubeSat? Ну, здесь всё достаточно просто: моя короткая педагогическая практика показала (мне), что тема эта хоть и базисная, но далеко не всеми с первого раза понимаемая, а более того имеющая несколько неочевидных в первом прочтении вопросов. Тем более, что, казалось бы, по таким базовым вещам до сих пор публикуют статьи в IEEE и делают это далеко не студенты. Почему именно CubeSat? Здесь всё ещё проще: формат спутника интересный (сам факт существования микро- и наноспутников, как выяснилось, повергает многих в состояние короткого шока), а потому как нельзя кстати подходящий для учебных целей.

Подсчитываем энергобюджет радиолинии для спутника формата CubeSat - 1

Читать полностью »

Вместо вступления

Unittest — наверное самый известный фреймворк для написания тестов в Python. Он очень прост в освоении и его легко начать использовать в вашем проекте. Но ничто не бывает идеальным. В этом посте я хочу рассказать об одной возможности, которой лично мне (думаю, не одному) не хватает в unittest.
Читать полностью »

aaspcats

Предисловие

Начну своё вступление издалека. Давным-давно, в далеких 2016-2017 годах вашему покорному слуге удалось съездить на полугодовое обучение в далекий город Ильменау (Германия), где он успешно (в общем и целом) закончил магистерскую программу Communications and Signal processing. Программа оказалась не из простых, однако сейчас о ней вспоминать даже приятно. Иногда...

Читать полностью »

Что такое исключения? Из названия понятно — они возникают, когда в программе происходит исключительная ситуация. Вы спросите, почему исключения — анти-паттерн, и как они вообще относятся к типизации? Я попробовал разобраться, и теперь хочу обсудить это с вами, читатели.

Проблемы исключений

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

Исключения трудно заметить

Существует два типа исключений: «явные» создаются при помощи вызова raise прямо в коде, который вы читаете; «скрытые» запрятаны в используемых функциях, классах, методах.

Проблема в том, что «скрытые» исключения и правда трудно заметить. Покажу на примере чистой функции:

def divide(first: float, second: float) -> float:
    return first / second

Функция просто делит одно число на другое, возвращая float. Типы проверены и можно запустить что-то такое:  

result = divide(1, 0)
print('x / y = ', result)

Заметили? На самом деле до print исполнение программы никогда не дойдет, потому что деление 1 на 0 – невозможная операция, она вызовет ZeroDivisionError. Да, такой код безопасен с точки зрения типов, но его все равно нельзя использовать.
Читать полностью »

DHCP+Mysql сервер на Python - 1

Целью данного проекта было:

  • Изучение протокола DHCP при работе в сети IPv4
  • Изучение Python (немножко более чем с нуля ;) )
  • замена серверу DB2DHCP (мой форк), оригинал здесь, который собирать под новую ОС всё труднее и труднее. Да и не нравится, что бинарник, который нет возможности «поменять прям щас»
  • получение работоспособного сервера DHCP с возможностью выборки IP адреса абонента по mac абонента или связке mac свича+порт (Option 82)
  • написание очередного велосипеда (О! это моё любимое занятие)
  • получение люлей про свою косорукость на Хабрахабр (а лучше инвайта) ;)

Результат:  работает ;) Опробовано на ОС FreeBSD и Ubuntu. Теоретически код можно попросить работать под любой ОС, т.к. специфических привязок в коде как будто нет.
Осторожно! Дальше много.
Читать полностью »

Привет!

Я подумал о том чего мне не хватает в Python, и что мне не нравится.

Дисклеймер: это мое субъективное мнение, оно может не совпадать с Вашим.

Я с удовольствием программирую на Python, но у любой технологии (языка программирования в частности) есть свои недостатки, хотя возможно Вы не согласитесь со мной.
Читать полностью »

Довольно часто происходят ситуации, когда доступ к серверу нужен здесь и сейчас. Однако, не всегда подключение по SSH является наиболее удобным способом, потому что под рукой может не оказаться SSH клиента, адреса сервера или связки «пользователь/пароль». Конечно, есть Webmin, который упрощает администрирование, но он также не даёт моментальный доступ.
Читать полностью »

Введение в аннотации типов Python. Продолжение - 1
Автор иллюстрации — Magdalena Tomczyk

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js