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

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

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

По всем вопросам: @Lodhel
Download Telegram
О плюсах и минусах 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. Так что пишите тесты.
19 мая на сайте Python Software Foundation было объявлено о старте бета-версии python 3.9 (Python 3.9.0b1).

Это только 1я из 4х бета-версий, которые планируют выпустить. PSF уже советует знакомиться с изменениями и готовить проекту к “переезду”.

Вчера вышла статья с полным разбором, что же нового в версии 3.9. Советуем почитать – https://docs.python.org/3.9/whatsnew/3.9.html

Посмотреть на новую версию и поучаствовать в тестировании можно здесь – https://www.python.org/downloads/release/python-390b1/

Выход следующей беты запланирован на 2020-06-08.
Моей первой компьютерной программой был так называемый вирус на windows xp, я написал его в блокноте, это были несколько команд, выполняемых в командной строке, и после я изменил формат файла на .msi и он реально способен был повредить систему. Даже антивирус Dr. Web, лишь спустя несколько лет его обнаружил...

© Роман Татаринов
Предотвращение SQL-инъекций: взгляд одного из создателей Django.

https://r2c.dev/blog/2020/preventing-sql-injection-a-django-authors-perspective/
Первые впечатления от работы с Golang, оказались такими что я был не в восторге, представьте себе такое ООП где ты создаёшь объект, и не вкладываешь туда методы, а пишешь их как функции, отдельно, и указываешь их принадлежность этим объектам...Как вам?
Anonymous Poll
31%
Круто
31%
Довольно странно
14%
Непонятно
3%
Плохо
17%
Only python
4%
Only JS