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

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

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

По всем вопросам: @Lodhel
Download Telegram
Шпаргалки по python

#kangaroo #python
Гвидо ван Россум, создавший язык Python и до 2018 г. носивший титул «великодушного диктатора» проекта, присоединился к команде разработчиков Microsoft. Пока неизвестно, чем именно он займется в команде, ради этой работы он решил бросить пенсию, на которую вышел больше года назад.

#kangaroo #news
Сложность алгоритмов

#kangaroo #science
❤1
GitHub назвал самый популярный язык программирования в 2020 году

Крупнейший сервис для хостинга IT-проектов подвёл собственные итоги года. Топ-3 популярных языков в сервисе остался прежним: JavaScript, Python, Java. TypeScript рванул за год с 7-го на 4-е место. PHP же наоборот — упал с 4-го места на 6-е. Замыкает пятёрку лидеров C#.

#kangaroo #news
Создатели Ruby on Rails выпустили инструмент для отказа от JS в веб-приложениях.

Разработчики заявляют, что Hotwire позволяет достигнуть скорости одностраничного веб-приложения без написания JavaScript-кода.

В основу Hotwire лёг фреймворк Turbo. Он интегрирует между собой бэкенд, который отправляет HTML вместо JSON, и клиент, ожидающий обновлений с бэка по web-сокету и подменяющий части приложения HTML-кодом.

#kangaroo #it #news
Специально для нашего сообщества мы составили топ 10 языков программирования 2020 года:

1) Python
2) Java
3) JavaScript
4) C++
5) C#
6) C
7) PHP
8) Swift
9) R
10) Kotlin

#kangaroo #top_list #it #news
Магические методы в Python

Создание объекта dict, принимающего только целые и плавающие числа в качестве значений

В этом сценарии мы реализуем класс, который создает объекты-словари, принимающие только целые и плавающие значения.

При добавлении других типов данных, таких как строки, списки и кортежи, будет появляться исключение, указывающее пользователю, что пользовательский объект dict может принимать только целые и плавающие числа в качестве значений.

Для реализации этого процесса используются следующие методы:

__int__, __setitem__ и __str__


Для начала создаем пользовательский класс CustomIntFloat и передаем dict в список наследования аргументов. Это означает, что созданный объект будет вести себя как словарь, за исключением тех мест, в которых это поведение будет выборочно изменено.

Затем создаем метод init, чтобы сконструировать объект dict CustomIntFloat, который принимает ключ и значение в список аргументов, установленный в тип None по умолчанию. Таким образом, если пользователь создает объект класса CustomIntFloat без передачи ключа или значения, будет сгенерирован пустой dict. Данное условие гласит: если ключ не передан, то параметру ключа по умолчанию присваивается аргумент None, а пустой dict создается путем ссылки на объект CustomIntFloat с атрибутом класса empty_dict.

Если пользователь указывает ключ length и соответствующее значение, которое является экземпляром класса int или float, то ключ и значение будут установлены в объекте.

Наконец, если пользователь указывает несколько ключей и значений в качестве итерируемых в операторе else, то они будут заархивированы функцией zip и им будет присвоено имя переменной zipped. Выполняем цикл на zipped, чтобы проверить, имеет ли значение тип int или float. Если нет, то будет сгенерировано пользовательское исключение CustomIntFloatError.

Класс исключения CustomIntFloatError и метод str

При генерации исключения CustomIntFloatError создается экземпляр класса CustomIntFloatError.

Таким образом, этот пользовательский класс исключений нуждается в помощи magic-методов init и str. Созданный экземпляр принимает переданное значение и устанавливает его в качестве значения атрибута в классе CustomIntFloatError.

Это означает, что при появлении сообщения об ошибке значение, переданное в init объекта CustomIntFloat, может быть установлено как атрибут (self.value) в классе CustomIntFloatError и с легкостью проверено.

Метод setitem

setitem — это magic-метод, который вызывается при установке ключа и значения в словаре. Если после создания объекта CustomIntFloat пользователь попытается добавить значение, которое не относится к типу int или float, появится то же исключение CustomIntFloatError.

Понравилась статья, есть желание подбросить монет?

Это возможно, для всего остального есть master card
5599005078807943

#kangaroo #it #python #science
С 2021 года GitHub меняет правила доступа к репозиториям Git — вместо паролей придётся вводить SSH-ключи или токены. Это касается операций с командной строкой, работой десктопных программ и браузерных сервисов, которые напрямую обращаются к Git через сайт GitHub.com.

Когда старт: 13 августа 2021 года. Тесты пройдут 30 июня и 28 июля — в эти дни появится трёхчасовое окно, когда вход в аккаунт возможен только с помощью нового способа аутентификации.

Обновить метод аутентификации: https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/set-up-git#next-steps-authenticating-with-github-from-git

Подробности: https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

#kangaroo #news #it
doc142751228_583209755.pdf
1.3 MB
Перевод статьи о Django и Django REST Framework, в которой разрабатывается простое веб-приложение для учета книг. Показан переход от обычных представлений, возвращающих HttpResponse, к JsonResponse и Django REST Framework для использования в дальнейшем библиотеки React.
#it #kangaroo #python
#django #react
CamelCase vs snake_case: как появился каждый стиль и где что использовать
В программировании есть несколько популярных способов именования переменных и функций, и каждый из них имеет свои особенности. CamelCase и snake_case — самые распространенные стили, которые выбирают в зависимости от языка программирования и его традиций. Появление и использование этих стилей обусловлено многими факторами, включая читабельность, удобство написания и восприятие кода. Ну и, конечно, Go тут тоже не остался в стороне со своим mixedCase.

CamelCase
Этот стиль именования получил название из-за того, что заглавные буквы в середине имени похожи на горбы верблюда. Здесь каждое новое слово начинается с заглавной буквы, но без разделителей. CamelCase чаще всего встречается в JavaScript, Java, C# и Swift. Пример: myVariableName.

Почему так? Всё просто: это делает код более компактным, особенно в языках, где используется много коротких слов. Если вспомнить JavaScript, там это прям повсеместная практика, да и в Java аналогично — это стандарт для методов и переменных.

snake_case
Этот стиль именования использует символ подчеркивания для разделения слов. Все буквы в нем пишутся строчными, что добавляет аккуратности и ясности при работе с длинными именами переменных. Snake_case широко принят в Python и Ruby. Пример: my_variable_name.

Здесь подчеркивание выступает естественным разделителем, делая переменные с несколькими словами легко читаемыми. Особенно этот стиль нравится тем, кто предпочитает четкость в коде и использует более длинные описательные имена.

mixedCase в Go
Теперь к Go. В этом языке принято использовать mixedCase, который выглядит как CamelCase, но с упрощениями. Например, myVariableName для переменных и DoSomething для методов. Отличительная черта Go — это строгое разделение между экспортируемыми и приватными именами. Если имя начинается с заглавной буквы, оно доступно в других пакетах. Если с маленькой — доступно только внутри текущего пакета.

Go избегает snake_case, делая акцент на упрощении и лаконичности. Такой подход делает код Go легко читаемым и структурированным, следуя правилу минимализма в языке.

#CamelCase #snake_case #Go #mixedCase #программирование #стилиименования #код #разработка #программист #kangaroo