Собрали в одном месте самые важные ссылки
консультируем про IT, Python
В предыдущих статьях я описывал мой опыт в части "наколенной" разработки системы алертинга и проверки состояния для сервиса, работающего на удаленном сервере, коммуникации с которым происходят через телеграм бота. Такой способ коммуникации удобен, потому что телефон с телегой всегда под рукой, а ноутбук иногда даже доставать лень, когда все можно быстро проверить в телеге.В этой части я опишу процесс регулярного сбора данных и формирования графиков о функционировании сервиса, которые также можно получать через бота.
В этом посте мы расскажем о том, как structlog может помочь вам писать логи, которые не только помогают в повседневной работе, но и реализуют лучшие практики для согласованного логирования во всём проекте.Также мы рассмотрим распространённые сложности логирования и узнаем, как их позволяет решать structlog.
Мой друг и коллега по цеху, блоггер Сэм, недавно опубликовал своё третье иллюстрированное руководство, темой которого стало хеширование. Нет острой необходимости читать его руководство перед прочтением моей статьи, но я очень рекомендую вам это сделать. Хотя бы ради того, чтобы посмотреть на восхитительные анимации, от которых невозможно оторваться. Честно — они просто потрясающие. Тут, к сожалению, анимаций вы не найдёте, поэтому насмотритесь на них в той статье, а потом возвращайтесь сюда. Здесь вы сможете немного позабавиться поиском коллизий алгоритма хеширования MurmurHash3.
На прошлой неделе вышла бета-версия нового FastAPI 0.100-beta1, а это значит что? Правильно, пришло время performance-тестов!
В статье будет рассмотрено решение задачи анализа открытых метеорологических данных сервиса meteo.ru Федеральной службы по гидрометеорологии и мониторингу окружающей среды. Анализ будет произведен в Jupyter Notebook при помощи Python библиотеки Pandas, а также будут сделаны выводы относительно того какие изменения произошли в климате за последние 50 лет в нашей стране.
Если занимаетесь автотестами на python, часто работаете с многопоточностью и хотите уменьшить количество boiler-plate кода в ваших тестах – имеет смысл посмотреть на библиотеку easypy.
RuGPT3 - коллекция моделей от Сбер. Проводим автоматическое тестирование циклическим перебором вариантов. Работаем в Colab, тестируем Small, Mediub, Large.
Мои прошлые статьи были посвящены протоколу BGP, но в этот раз я приготовил нечто поинтереснее. В прошлом году мне захотелось расширить своё портфолио навыков в сторону автоматизации задач. Не последнюю роль в этом желании сыграла книга «Автоматизация программируемых сетей», выпущенная известным в IT-кругах издательским домом O'Reilly. В ней примеры скриптов написаны на Python. Позже я в учебном центре прошёл курс повышения квалификации по программе «Python для сетевых инженеров. Автоматизация сетевых задач», а затем продолжил самостоятельно постигать это искусство. Недавно подвернулась интересная задача, о решении которой при помощи Python я вам сегодня и расскажу.
Пригодится для решения задач по организации рассылок, а также как средство предварительной проверки эл. почты при регистрации.
Это пересказ довольно старой статьи (2015 г)некоего Скотта Бради. Автор предупреждает, что попытка реализовать предложенный подход в промышленных масштабах приведёт вас в списки спамеров, и вообще всё это крайне ненадежно и сомнительно. А реализовано больше с целью познакомиться с процессом, что собственно предлагаю и сделать.
Чтобы обучать нейросети понимать и генерировать человеческие языки, нужно много качественных текстов на нужных языках. «Много» – не проблема в эпоху интернета, но с качеством бывают сложности. В этом посте я предлагаю использовать BERT-подобные модели для двух задач улучшения качества обучающих текстов: исправление ошибок распознавания текста из сканов и фильтрация параллельного корпуса предложений. Я испробовал их на башкирском, но и для других языков эти рецепты могут оказаться полезны.
Если никогда не слышали о hypothesis и хотите дополнить свои функциональные интеграционные тесты чем-то новым и попробовать найти баги там, где вроде бы уже искали – добро пожаловать в статью.
Осторожно - не production код
Параллелизм играет важную роль в задачах Data Science, так как может значительно ускорить вычисления и обработку больших объемов данных. В посте расскажу о возможностях применения параллельных вычислений в интерактивной среде Jupyter notebook языка Python.
Недавно мой коллега @Doctor_IT попросил помочь с его проектом — VR-жилетом, который «проецирует» ощущения урона, которые получает персонаж, на тело игрока. С моей стороны — мод, который будет отправлять данные из Cyberpunk 2077 на сам жилет. Информации по теме моддинга мало, на русском языке материалов практически нет, а существующие статьи местами устарели — пора это исправить.
Суть задачи была в следующем: нужно было добавить в мобильное приложение AR (то есть, дополненную реальность). Оно нужно, чтобы товар с Маркета можно было «примерить» в интерьер. Например, оно полезно, когда вы хотите купить телевизор, но вам сложно представить, будет ли он гармонировать с мебелью и влезет ли он вообще в имеющееся пространство.
If you’re doing numeric calculations, NumPy is a lot faster than than plain Python—but sometimes that’s not enough. What should you do when your NumPy-based code is too slow? Your first thought might be parallelism, but that should probably be the last thing you consider. There are many speedups you can do before parallelism becomes helpful, from algorithmic improvements to working around NumPy’s architectural limitations. Let’s see why NumPy can be slow, and then some solutions to help speed up your code even more.
Рекомендаци по составлению моделей в DJango
Разберу простую задачу, получение rss-ленты, и то, чем будет отличаться код, который просто получает ленту, от того, который собственно используется в производстве. Надеюсь материал будет полезен начинающим программистам и покажет, как примерно должна осуществляться разработка с прицелом на получение результата применимого в проектах.
Сегодня, юный падаван, на примере простой игры «крестики-нолики» мы разберём, как создают подобные приложения, продумывают для них требования и создают игровую логику. Мы не будем устанавливать много требований, в идеале поведение нашего кода должно соответствовать правилам игры на 100%. Если я вдруг где-то с этим не справился, прошу в комменты. Цель — сделать вас более уверенными при кодировании в парадигме ООП.