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

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

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

По всем вопросам: @Lodhel
Download Telegram
📌 Важность постоянного активного обучения в IT!

• 💬 Если вы планируете продолжить карьеру в какой либо из областей IT, важно учитывать, что удовлетворение ваших интересов в этих областях - одна из самых разумных инвестиций, которые вы можете сделать. Ищите любую возможность участвовать и погрузиться в разговоры, самостоятельные проекты или исследования. Понимание того, что ваше образование может устареть к тому времени, когда вы закончите обучение, но, помните что ваш долгосрочный успех будет точнее определяться тем, насколько вы сможете учиться и оставаться активным учеником в своем собственном опыте.

• ❗️Другим важным фактором для достижения успеха в IT является ранний поиск наставников.
Я могу с уверенностью сказать, что, наиболее активные ученики, проявляющие большой интерес к своим областям, часто очень тесно сотрудничали с опытным наставником и впоследствии дарят свое время и опыт следующему поколению учеников, которые идут за ними. Роль, которую наставник играет в поддержании вашей заинтересованности и любопытства, невозможно переоценить. Не говоря уже о том, что наставник может показать вам все лучшие способы «завоевать друзей и повлиять на людей».

• ⏳ Продолжая изучение какой либо области, уделите время изучению и освоению новых и появляющихся технологий. Имейте в виду, что после окончания обучения могут появиться совершенно новые области и отрасли, которые могут вас заинтересовать. Это серьезный плюс IT - он постоянно развивается!

• 🌏 Стать увлечённым к отрасли с глобальной точки зрения.
Читайте о том, что происходит в мире IT, черпайте вдохновение из последних исследований или достижений, когда вы исследуете свой собственный потенциал. Но обязательно соблюдайте баланс между работой и жизнью тоже. Существует множество социальных возможностей повеселиться и завести друзей на таких мероприятиях, как встречи, хакатоны или соревнования, и довольно часто эти отношения составляют основу прочных и длительных личных и профессиональных отношений. Эти отношения поддержат вас, когда вы создадите репутацию в данной области, и даже предоставят вам профессиональные возможности, которые многие обычно не имеют доступа к классическим путям.

• 📌 Заключение
Помните, что изучение развитие в IT - это серьезно, и редко бывает, что все будет идти гладко каждый раз. Нет экспертов, только люди, которые сделали (и извлекли уроки) больше ошибок, чем вы. Ожидайте неожиданного, но сохраняйте свое остроумие и чувство юмора обо всем этом. Используйте время, чтобы узнать свои собственные предпочтения - вам нравится точность и методология лабораторной работы, или вы более свободны духом, кто предпочитает работать в поле? Изучив эти варианты на ранней стадии, вы сможете выяснить, что вам больше всего нравится, и наметить свой курс на целью.
Анализ и прогнозирование динамики запасов с помощью Python

https://morioh.com/p/8e9d9d4161c5
Чистый код - это как красиво написанный роман, в котором, для каждого действия подобраны нужные речевые обороты, они позволяют красочнее передать атмосферу читаемого сюжета.

©Роман Татаринов & Ярослав Бакланов
Подготовлен релиз СУБД 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. Так что пишите тесты.