Kangaroo
2.27K subscribers
112 photos
61 files
432 links
Kangaroo — о программировании и технологиях.

Python, серверная разработка, инфраструктура, ИИ и собственные проекты. Статьи, технические разборы, эксперименты и наблюдения из практики.

Иногда — математика и котики :)

По всем вопросам: @Lodhel
Download Telegram
Чистый код - это как красиво написанный роман, в котором, для каждого действия подобраны нужные речевые обороты, они позволяют красочнее передать атмосферу читаемого сюжета.

©Роман Татаринов & Ярослав Бакланов
Подготовлен релиз СУБД Redis 6.0, относящейся к классу NoSQL-систем. Redis предоставляет похожие на Memcached функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua. Код проекта поставляется под лицензией BSD. Дополнительные модули, в которых предлагаются расширенные возможности для корпоративных пользователей, такие как RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, с прошлого года поставляются под проприетарной лицензией RSAL. Развитие открытых вариантов данных модулей под лицензией AGPLv3 продолжено проектом GoodFORM.

https://www.opennet.ru/opennews/art.shtml?num=52848
Введение в работу с модулем functools, частью стандартной библиотеки.

https://florian-dahlitz.de/blog/introduction-to-functools
О плюсах и минусах Python 🐍 Рассказывает Егор Овчаренко из Яндекс.Такси:

— Если кратко, в чём преимущество Python? На нём можно быстро писать код. Это, конечно, очень субъективно — люди, которые круто пишут на C++ или Go, могут с этим поспорить. Но в среднем писать на Python быстрее.

В чём минусы? Первый и, наверное, основной минус — Python медленнее. Он может быть медленнее других языков в 30 раз, вот исследование на эту тему: https://ya.cc/t/b1LV9UT-Anui5. Но его скорость зависит от задачи. Есть два класса задач:
— CPU bound, задачи, зависящие от процессора, ограниченные по CPU.
— I/O bound, задачи, ограниченные вводом-выводом: или по сети, или в базах данных.

Если вы решаете задачу CPU bound, то да, Python окажется медленнее. Если I/O bound (а это большой класс задач), то для понимания скорости выполнения вам надо запускать бенчмарки и, возможно, сравнивая Python с другими языками, вы даже не заметите разницы в производительности.

Кроме того, Python обладает динамической типизацией: интерпретатор в момент компиляции не проверяет типы. В версии 3.5 появились type hints (позволяют статически указывать типы), но они не очень строгие. То есть некоторые ошибки вы будете отлавливать уже в продакшене, а не на этапе компиляции. У других популярных языков для бэкенда (Java, C#, C++, Go) типизация статическая: если вы в коде передаёте не тот объект, который нужно, компилятор вам об этом сообщит.
Capital One - Lessons From Adopting Python as a Team

В статье рассказывается об опыте перехода на Python команды из шести разработчиков.

http://pyfound.blogspot.com/2020/05/capital-one-lessons-from-adopting.html?m=1
Эту задачу предлагали решить для вступления в Школу анализа данных в феврале 2014 года

Игра состоит из одинаковых и независимых конов, в каждом из которых выигрыш происходит с вероятностью p. Когда игрок выигрывает, он получает 1 доллар, а когда проигрывает — платит 1 доллар. Как только его капитал достигает величины N долларов, он объявляется победителем и уходит.

Вопрос: Найдите вероятность того, что игрок рано или поздно проиграет все деньги, в зависимости от его стартового капитала K.
Мониторинг веб-сайтов при помощи Zabbix: проверка доступности и ssl-сертификата

Небольшая обзорная статья о том, как систему мониторинга сетей Zabbix можно применить для проверки доступности и скорости загрузки веб-сайтов, а также для настройки уведомлений об окончании срока действия SSL-сертификата на сайте.

https://vk.com/@kangarooteampy-monitoring-veb-saitov-pri-pomoschi-zabbix-proverka-dostupnos
Создатель Linux Линус Торвальдс перешел на AMD. До этого он 15 лет использовал только ПК на базе CPU Intel

Анонсируя на днях кандидата в релиз очередной версии ядра Linux 5.7 RC7, создатель Linux Линус Торвальдс сделал еще одно важное заявление, которое никак не связано с этим обновлением. Он рассказал, что перешел на использование процессоров AMD, выбрав представленный в прошлом году монструозный 32-ядерный CPU Threadripper 3970X в качестве основы для своего нового ПК. На протяжении последних 15 лет Торвальдс пользовался только ПК, в которых использовались конкурирующие CPU Intel.
Python — нетипизированный язык. Поэтому в нём тесты, которые проверяют всё, что вы написали (каждый if, каждую строчку кода), — это must have.

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

Если ты не «зашёл» в строку своими тестами — значит, с ненулевой вероятностью (скажем, 10%) эта строка может просто не работать. В типизированных языках с этим чуточку получше. Компилируемость гарантирует больше, чем простые чекеры в Python. Так что пишите тесты.