Создатели Ruby on Rails выпустили инструмент для отказа от JS в веб-приложениях.
Разработчики заявляют, что Hotwire позволяет достигнуть скорости одностраничного веб-приложения без написания JavaScript-кода.
В основу Hotwire лёг фреймворк Turbo. Он интегрирует между собой бэкенд, который отправляет HTML вместо JSON, и клиент, ожидающий обновлений с бэка по web-сокету и подменяющий части приложения HTML-кодом.
#kangaroo #it #news
Разработчики заявляют, что Hotwire позволяет достигнуть скорости одностраничного веб-приложения без написания JavaScript-кода.
В основу Hotwire лёг фреймворк Turbo. Он интегрирует между собой бэкенд, который отправляет HTML вместо JSON, и клиент, ожидающий обновлений с бэка по web-сокету и подменяющий части приложения HTML-кодом.
#kangaroo #it #news
Магические методы в Python
Создание объекта dict, принимающего только целые и плавающие числа в качестве значений
В этом сценарии мы реализуем класс, который создает объекты-словари, принимающие только целые и плавающие значения.
При добавлении других типов данных, таких как строки, списки и кортежи, будет появляться исключение, указывающее пользователю, что пользовательский объект dict может принимать только целые и плавающие числа в качестве значений.
Для реализации этого процесса используются следующие методы:
Для начала создаем пользовательский класс 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
Создание объекта 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
Когда старт: 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
GitHub Docs
Set up Git - GitHub Docs
At the heart of GitHub is an open-source version control system (VCS) called Git. Git is responsible for everything GitHub-related that happens locally on your computer.
doc142751228_583209755.pdf
1.3 MB
Перевод статьи о Django и Django REST Framework, в которой разрабатывается простое веб-приложение для учета книг. Показан переход от обычных представлений, возвращающих HttpResponse, к JsonResponse и Django REST Framework для использования в дальнейшем библиотеки React.
#it #kangaroo #python
#django #react
#it #kangaroo #python
#django #react
Как и обещал, начал цикл из серии SOLID. Разобрал первый принцип, принцип единой ответственности. Решил обновить канал новым названием и в скором времени, думаю обновлю логотип. Да и вы можете принять в этом участие, присылайте свои варианты для нового логотипа в личку. Итак, ссылка на тему принцип единой ответственности внизу. Приятного чтения уважаемые подписчики канала.
https://telegra.ph/Single-Responsibility-Principle---princip-edinoj-otvetstvennosti-07-05
#PuzzleCore #SOLID #IT #dev
https://telegra.ph/Single-Responsibility-Principle---princip-edinoj-otvetstvennosti-07-05
#PuzzleCore #SOLID #IT #dev
Telegraph
Single Responsibility Principle - принцип единой ответственности.
Single Responsibility Principle, он же Принцип единой ответственности, в дальнейшем просто SRP. Термин SRP был введён Робертом С. Мартином в одноимённой статье как часть SOLID, ставших популярными благодаря его книге "Быстрая разработка программ. Принципы…
👍12
А мы продолжаем публиковать материалы, для наших дорогих подписчиков.
https://telegra.ph/Princip-otkrytostizakrytosti-07-19
#puzzlecore #solid #ооп #it #программирование
https://telegra.ph/Princip-otkrytostizakrytosti-07-19
#puzzlecore #solid #ооп #it #программирование
Telegraph
Принцип открытости/закрытости
Продолжаю писать на тему SOLID. И перехожу к следующему пункту OCP(open-closed principle).
👍4
Деструкторы
При уничтожении экземпляра класса в большинстве языков вызывается специальный метод, который называется деструктор.
В Python деструктор можно переопределять с помощью магического метода __del__, который вызовется автоматически при удалении объекта.
Вообще деструкторы крайне редко переопределяется в Python, но полезно знать, что именно эти методы отвечают за очистку при удалении объекта.
#puzzlecore #программирование #it
При уничтожении экземпляра класса в большинстве языков вызывается специальный метод, который называется деструктор.
В Python деструктор можно переопределять с помощью магического метода __del__, который вызовется автоматически при удалении объекта.
Вообще деструкторы крайне редко переопределяется в Python, но полезно знать, что именно эти методы отвечают за очистку при удалении объекта.
#puzzlecore #программирование #it
👍8👎1
Принцип подстановки Лисков
Liskov Substitution Principle (LSP).
https://telegra.ph/Princip-podstanovki-Liskov-08-22
#puzzlecore #solid #ооп #it #программирование
Liskov Substitution Principle (LSP).
https://telegra.ph/Princip-podstanovki-Liskov-08-22
#puzzlecore #solid #ооп #it #программирование
Telegraph
Принцип подстановки Лисков
Liskov Substitution Principle (LSP). Доброго времени, уважаемый читатель. Сегодня поговорим о принципе из цикла SOLID, который имеет имя. =) Сама Барбара Лисков, дает очень понятное описание этому методу, на столько понятное, что, по всему видимому, дошло…
👍5
Всем продуктивной недели! А у нас сегодня рекомендации к читателям))
«Плохой код может работать, но он будет мешать развитию проекта и компании - разработчика, требуя дополнительные ресурсы на поддержку...»
Итак, что если я выделю несколько ключевых слов, тех слов, которые могут быть полезны в практическом применении. Например я скажу - префиксы, компактность, комментарии к коду, акроним - FIRST, или же TDD (разработка через тестирование), ну или вот четыре правила простой архитектуры Кента Бека. Согласно этому правилу, архитектура может считаться простой, если она:
- обеспечивает прохождение всех тестов,
- не содержит дублирующего кода,
- выражает намерения программиста,
- использует минимальное количество классов и методов...
Все это и не только в книге Роберта Мартина - Чистый код.
#рекомендации #книги #программирование #it #puzzlecore
«Плохой код может работать, но он будет мешать развитию проекта и компании - разработчика, требуя дополнительные ресурсы на поддержку...»
Итак, что если я выделю несколько ключевых слов, тех слов, которые могут быть полезны в практическом применении. Например я скажу - префиксы, компактность, комментарии к коду, акроним - FIRST, или же TDD (разработка через тестирование), ну или вот четыре правила простой архитектуры Кента Бека. Согласно этому правилу, архитектура может считаться простой, если она:
- обеспечивает прохождение всех тестов,
- не содержит дублирующего кода,
- выражает намерения программиста,
- использует минимальное количество классов и методов...
Все это и не только в книге Роберта Мартина - Чистый код.
#рекомендации #книги #программирование #it #puzzlecore
👍4❤1
Interface Segregation Principle (Принцип разделения интерфейса)
https://telegra.ph/Interface-Segregation-Principle-Princip-razdeleniya-interfejsa-09-22
#puzzlecore #solid #ооп #it #программирование
https://telegra.ph/Interface-Segregation-Principle-Princip-razdeleniya-interfejsa-09-22
#puzzlecore #solid #ооп #it #программирование
Telegraph
Interface Segregation Principle (Принцип разделения интерфейса)
Interface Segregation Principle (ISP)
👍4