О плюсах и минусах 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) типизация статическая: если вы в коде передаёте не тот объект, который нужно, компилятор вам об этом сообщит.
— Если кратко, в чём преимущество 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) типизация статическая: если вы в коде передаёте не тот объект, который нужно, компилятор вам об этом сообщит.
Продвинутый поиск в google.
https://zen.yandex.ru/media/id/5cbb4adabc785500b3b6b47b/prodvinutyi-poisk-v-gugl-5ec1804cbb51c50914675d7f
https://zen.yandex.ru/media/id/5cbb4adabc785500b3b6b47b/prodvinutyi-poisk-v-gugl-5ec1804cbb51c50914675d7f
Яндекс Дзен
Продвинутый поиск в Гугл.
Одновременно можно искать и по заголовку, и по тексту статьи. В результатах поиска будут показаны страницы, которые удовлетворяют обоим этим требованиям. Можно использовать как обычные фразы...
Django 3.1 alpha 1 released
https://www.djangoproject.com/weblog/2020/may/14/django-31-alpha-1-released/
https://www.djangoproject.com/weblog/2020/may/14/django-31-alpha-1-released/
Capital One - Lessons From Adopting Python as a Team
В статье рассказывается об опыте перехода на Python команды из шести разработчиков.
http://pyfound.blogspot.com/2020/05/capital-one-lessons-from-adopting.html?m=1
В статье рассказывается об опыте перехода на Python команды из шести разработчиков.
http://pyfound.blogspot.com/2020/05/capital-one-lessons-from-adopting.html?m=1
Blogspot
Capital One - Lessons From Adopting Python as a Team
By Akshay Prabhu, Software Engineering Manager, Capital One Rewriting Legacy ETL Jobs in Python When You’re Not Python Devs So how...
Эту задачу предлагали решить для вступления в Школу анализа данных в феврале 2014 года
Игра состоит из одинаковых и независимых конов, в каждом из которых выигрыш происходит с вероятностью p. Когда игрок выигрывает, он получает 1 доллар, а когда проигрывает — платит 1 доллар. Как только его капитал достигает величины N долларов, он объявляется победителем и уходит.
Вопрос: Найдите вероятность того, что игрок рано или поздно проиграет все деньги, в зависимости от его стартового капитала K.
Игра состоит из одинаковых и независимых конов, в каждом из которых выигрыш происходит с вероятностью p. Когда игрок выигрывает, он получает 1 доллар, а когда проигрывает — платит 1 доллар. Как только его капитал достигает величины N долларов, он объявляется победителем и уходит.
Вопрос: Найдите вероятность того, что игрок рано или поздно проиграет все деньги, в зависимости от его стартового капитала K.
Мониторинг веб-сайтов при помощи Zabbix: проверка доступности и ssl-сертификата
Небольшая обзорная статья о том, как систему мониторинга сетей Zabbix можно применить для проверки доступности и скорости загрузки веб-сайтов, а также для настройки уведомлений об окончании срока действия SSL-сертификата на сайте.
https://vk.com/@kangarooteampy-monitoring-veb-saitov-pri-pomoschi-zabbix-proverka-dostupnos
Небольшая обзорная статья о том, как систему мониторинга сетей Zabbix можно применить для проверки доступности и скорости загрузки веб-сайтов, а также для настройки уведомлений об окончании срока действия SSL-сертификата на сайте.
https://vk.com/@kangarooteampy-monitoring-veb-saitov-pri-pomoschi-zabbix-proverka-dostupnos
VK
Мониторинг веб-сайтов при помощи Zabbix: проверка доступности и ssl-сертификата
Zabbix – это система мониторинга и отслеживания разнообразных сетевых ресурсов. Я столкнулась с ней, когда выполняла задание от преподава..
Создатель Linux Линус Торвальдс перешел на AMD. До этого он 15 лет использовал только ПК на базе CPU Intel
Анонсируя на днях кандидата в релиз очередной версии ядра Linux 5.7 RC7, создатель Linux Линус Торвальдс сделал еще одно важное заявление, которое никак не связано с этим обновлением. Он рассказал, что перешел на использование процессоров AMD, выбрав представленный в прошлом году монструозный 32-ядерный CPU Threadripper 3970X в качестве основы для своего нового ПК. На протяжении последних 15 лет Торвальдс пользовался только ПК, в которых использовались конкурирующие CPU Intel.
Анонсируя на днях кандидата в релиз очередной версии ядра Linux 5.7 RC7, создатель Linux Линус Торвальдс сделал еще одно важное заявление, которое никак не связано с этим обновлением. Он рассказал, что перешел на использование процессоров AMD, выбрав представленный в прошлом году монструозный 32-ядерный CPU Threadripper 3970X в качестве основы для своего нового ПК. На протяжении последних 15 лет Торвальдс пользовался только ПК, в которых использовались конкурирующие CPU Intel.
Python — нетипизированный язык. Поэтому в нём тесты, которые проверяют всё, что вы написали (каждый if, каждую строчку кода), — это must have.
Предположим, вы под if написали строчку кода и ошиблись в ней с названием переменной — например, забыли, что это название встречается где-нибудь выше в глобальном имени. Такую ошибку очень легко совершить. И Python в ответ ничего не скажет, никакой код-чекер не подсветит — хотя в целом чекеры помогают и подсвечивают совсем уж полные глупости.
Если ты не «зашёл» в строку своими тестами — значит, с ненулевой вероятностью (скажем, 10%) эта строка может просто не работать. В типизированных языках с этим чуточку получше. Компилируемость гарантирует больше, чем простые чекеры в Python. Так что пишите тесты.
Предположим, вы под if написали строчку кода и ошиблись в ней с названием переменной — например, забыли, что это название встречается где-нибудь выше в глобальном имени. Такую ошибку очень легко совершить. И Python в ответ ничего не скажет, никакой код-чекер не подсветит — хотя в целом чекеры помогают и подсвечивают совсем уж полные глупости.
Если ты не «зашёл» в строку своими тестами — значит, с ненулевой вероятностью (скажем, 10%) эта строка может просто не работать. В типизированных языках с этим чуточку получше. Компилируемость гарантирует больше, чем простые чекеры в Python. Так что пишите тесты.
Макросы в python
https://zen.yandex.ru/media/id/5cbb4adabc785500b3b6b47b/makrosy-v-python-ili-macropy-5ecffdb61ac0ac6c2f39e843
https://zen.yandex.ru/media/id/5cbb4adabc785500b3b6b47b/makrosy-v-python-ili-macropy-5ecffdb61ac0ac6c2f39e843
Яндекс Дзен
Макросы в python или MacroPy
Писать макросы не просто. Вы должны свести к минимуму то, что делают макросы, избегать их полностью, когда в этом нет необходимости, быть осторожными с количеством фич, которое вы используете, и тщательно продумывать, что именно вы хотите с ними делать.
Результаты опроса python разработчиков в 2019
https://www.jetbrains.com/lp/python-developers-survey-2019/
https://www.jetbrains.com/lp/python-developers-survey-2019/
JetBrains: Developer Tools for Professionals and Teams
Python Developers Survey 2019 Results
Official Python Developers Survey 2019 by Python Software Foundation and JetBrains: more than 24k responses from more than 150 countries.
Hy-lang как альтернатива по синтаксису python
https://zen.yandex.ru/media/id/5cbb4adabc785500b3b6b47b/hylang-ili-alternativnyi-sintaksis-python-5ed6975a589ce712947de3a9
https://zen.yandex.ru/media/id/5cbb4adabc785500b3b6b47b/hylang-ili-alternativnyi-sintaksis-python-5ed6975a589ce712947de3a9
Яндекс Дзен
Hy-Lang или альтернативный синтаксис python
многопарадигальный язык программирования общего назначения в семействе Lisp...своего рода альтернативный синтаксис для 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.
Это только 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, лишь спустя несколько лет его обнаружил...
© Роман Татаринов
© Роман Татаринов
Изучаю язык Go и нашел вот такую интересную статью
https://medium.com/@karafizi/5-%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD-%D0%BF%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BC%D1%8B-%D0%BF%D0%B5%D1%80%D0%B5%D1%88%D0%BB%D0%B8-%D1%81-python-%D0%BD%D0%B0-go-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-9eac70757043
https://medium.com/@karafizi/5-%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD-%D0%BF%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BC%D1%8B-%D0%BF%D0%B5%D1%80%D0%B5%D1%88%D0%BB%D0%B8-%D1%81-python-%D0%BD%D0%B0-go-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-9eac70757043
Medium
5 причин, почему мы перешли с Python на Go (перевод)
Всем привет! Решил выкладывать здесь свои переводы статей, так как это удобно и не требует особых усилий в оформлении. На этот раз это…
Предотвращение SQL-инъекций: взгляд одного из создателей Django.
https://r2c.dev/blog/2020/preventing-sql-injection-a-django-authors-perspective/
https://r2c.dev/blog/2020/preventing-sql-injection-a-django-authors-perspective/
Preventing SQL injection: a Django author's perspective
Первые впечатления от работы с Golang, оказались такими что я был не в восторге, представьте себе такое ООП где ты создаёшь объект, и не вкладываешь туда методы, а пишешь их как функции, отдельно, и указываешь их принадлежность этим объектам...Как вам?
Anonymous Poll
31%
Круто
31%
Довольно странно
14%
Непонятно
3%
Плохо
17%
Only python
4%
Only JS