Введение в аннотации типов Python

Введение


Автор иллюстрации — Magdalena Tomczyk

Python — язык с динамической типизацией и позволяет нам довольно вольно оперировать переменными разных типов. Однако при написании кода мы так или иначе предполагаем переменные каких типов будут использоваться (это может быть вызвано ограничением алгоритма или бизнес логики). И для корректной работы программы нам важно как можно раньше найти ошибки, связанные с передачей данных неверного типа.

Сохраняя идею динамической утиной типизации в современных версиях Python (3.6+) поддерживает аннотации типов переменных, полей класса, аргументов и возвращаемых значений функций:

Аннотации типов просто считываются интерпретатором Python и никак более не обрабатываются, но доступны для использования из стороннего кода и в первую очередь рассчитаны для использования статическими анализаторами.

Меня зовут Тихонов Андрей и я занимаюсь backend-разработкой в Lamoda.

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

Читать дальше →
Введение в аннотации типов Python
Source: habrahabr

Как мы вышли на рынок облачных провайдеров и влюбились в B2B. Кейс MCS

Mail.Ru Group — это множество подразделений и проектов, от Mail.Ru Леди и онлайн-игр до социальных сетей и IT-решений для бизнеса. Сегодня мы хотим поговорить об одном из них — облачной платформе Mail.Ru Cloud Solutions (MCS), которой в январе официально исполняется год, но история которой началась ещё раньше. Мы побеседовали с заместителем вице-президента Mail.Ru Group, руководителем направления облачных и бизнес-сервисов Егором Ганиным, который рассказал, с чего начинался этот проект, как B2C-подход помогает в работе на B2B-рынке и зачем облачному провайдеру собственная лаборатория для «опытов» над железом.
Читать дальше →
Как мы вышли на рынок облачных провайдеров и влюбились в B2B. Кейс MCS
Source: habrahabr

Вырастить и научить. Как мы подружились с PEGA

В группе компаний ЛАНИТ работают более десяти тысяч человек. Кажется, что в таком коллективе всегда найдётся подходящий специалист. Однако с каждым годом на рынке появляется всё больше новых продуктов, методик, решений. ИТ-профессионалам интересны новинки отрасли, но для того, чтобы изучить их, нужны время и деньги. Поэтому компании сталкиваются с ситуацией, когда есть перспективная технология, решение или платформа, но нет специалистов, которые могли бы их использовать.

Из этой статьи вы узнаете, как команда «ЛАНИТ — Би Пи Эм» смогла освоить платформу, которая на тот момент только-только появилась на российском рынке. Разработчики компании расскажут, что было самым трудным при знакомстве с новой технологией и поделятся опытом, как лучше всего переходить к работе с незнакомой разработкой.

Источник
Читать дальше →
Вырастить и научить. Как мы подружились с PEGA
Source: habrahabr

Инсайды #1542: Huawei Y7 (2019), NVIDIA GeForce MX250, Huawei P30 Pro, новые консоли Microsoft

В этом выпуске Инсайдов: два новых смартфона Huawei Y готовятся к релизу в России; Apple совместит Face ID и Touch ID в одном устройстве; Microsoft выпустит четыре новых модели Xbox; первая информация […]
Инсайды #1542: Huawei Y7 (2019), NVIDIA GeForce MX250, Huawei P30 Pro, новые консоли Microsoft
Source: 4pda

Возможно ли загрузить непроходимый уровень в Super Mario Maker?

Данная запись — вольный пересказ видео Is it Possible to Upload an Impossible Level in Super Mario Maker?. В ролике есть отсылка на видео The Impossible Level, поэтому перескажу и его. Мой пересказ не претендует на точность, я просто хочу поделиться интересным материалом.

О чём пойдёт речь

Поиск ошибок в ПО бывает очень разным. Я занимаюсь поиском ошибок в исходных кодах, в бинарных файлах, в больших комплексах программ и даже в каких-то железках. Но есть область, в которой я практически никогда ничем не занимался — поиск ошибок в компьютерных играх.

Люди тратят уйму времени, чтобы найти ошибки в играх. Это могут быть логические, математические и даже программистские ошибки. Кто-то делает это, чтобы посмотреть на игру под новым углом, а кто-то пытается пройти игру хоть на несколько секунд быстрее, чем любой другой игрок. Мне кажется именно сообщество спидранеров (людей, проходящих игры на скорость) внесло огромный вклад в дело поиска игровых глюков и ошибок. Но экономить время при прохождении мы будем в другой раз, сегодня просто рассказ о поиске ошибки в игровой логике.

В сентябре 2015 года компания Нинтендо выпустила Super Mario Maker — платформер про известного сантехника Марио. Одной из ключевых особенностей игры стала возможность пользователям самостоятельно создавать уровни (здесь они называются курсы) и делиться ими с другими игроками. Кто-то уровни создаёт, отслеживает процент успешных прохождений, а кто-то, собственно, проходит эти уровни. Именно в этот момент у игроков-исследователей зачесались руки — а можно ли опубликовать непроходимый уровень?

Рисовать что-то такое нет смысла, уровень хоть и действительно непроходимый, но и опубликовать мы его не сможем.
Читать дальше →
Возможно ли загрузить непроходимый уровень в Super Mario Maker?
Source: geektimes

Пост №3758063

Автор: Лональдо

«Сова — эффективный менеджер применяет эффективный гипноз.»ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3758063″ }, «headline»: «"Сова — эффективный менеджер применяет эффективный гипноз." / Xander Toons :: gif :: менеджмент», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/Xander-Toons-gif-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%BC%D0%B5%D0%BD%D1%82-4904494.gif», «height»: 500, «width»: 500 }, «datePublished»: «2018-12-18T10:54:39+03:00», «dateModified»: «2018-12-18T10:54:39+03:00», «author»: { «@type»: «Person», «name»: «Лональдо» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3758063
Source: Joyreactor

Новые законодательные инициативы в деле защиты информации

На прошлой неделе в Государственную Думу были внесены три законопроекта, направленные на внесение изменений в Федеральный закон от 27 июля 2006 года № 149-ФЗ «Об информации, информационных технологиях и о защите информации». Данные законопроекты, скорее всего, будут рассмотрены на весенней сессии Государственной Думы. Предлагаю ознакомиться с их содержанием уже сегодня.
Полные тексты законопроектов можно найти по адресам:

1. http://sozd.parliament.gov.ru/bill/605945-7
2. http://sozd.parlament.gov.ru/bill/606594-7
3. http://sozd.parlament.gov.ru/bill/606593-7

Первый законопроект предусматривает внесение в законодательство изменений, направленных на осуществление на основании решения Банка России «блокировки сайтов», используемых с нарушениями законодательства о финансовом рынке, в том числе для совершения мошеннических действий. В пояснительной записке к законопроекту указано, что Банком России отмечается увеличение масштабов использования сайтов для совершения мошеннических действий на финансовом рынке.
Читать дальше →
Новые законодательные инициативы в деле защиты информации
Source: geektimes

Цитата #453703

xxx: а я со своей расстался
ууу: и как ты? как настроение?
ххх: ну как… цвет настроения чёрный, сижу в уборной, листаю порно (((
Цитата #453703
Source: bash

Цитата #453702

(про подешевевшие видеокарты)
xxx: Только учти, что при определенном везении можно наткнуться на продавца — особо упоротого майнера, который выжимал из видюх все, что можно и даже больше, в результате чего у них остаточной ресурс чуть ниже плинтуса… С другой стороны, для такого их износа, владелец должен быть что-то вроде профессора Нимнула: умный, но изрядно ударенный на голову… Так что у бормочущих себе под нос и мерзко хихикающих нёрдов видеокарты лучше не покупать =)
yyy: Таких в принципе лучше стороной обходить, и вилки им не давать
xxx: И тем более лучше не покупать у них видеокарты…. А то представь, сколько они на вырученные деньги смогут вилок купить?!
Цитата #453702
Source: bash

Пост №3758060

Автор: alisher1

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3758060″ }, «headline»: «Heroes of Might and Magic III :: Heroes of Might and Magic :: татуировка :: Игры», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D1%82%D0%B0%D1%82%D1%83%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0-Heroes-of-Might-and-Magic-III-Heroes-of-Might-and-Magic-%D0%98%D0%B3%D1%80%D1%8B-4904491.jpeg», «height»: 1200, «width»: 1600 }, «datePublished»: «2018-12-18T10:43:41+03:00», «dateModified»: «2018-12-18T10:43:41+03:00», «author»: { «@type»: «Person», «name»: «alisher1» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3758060
Source: Joyreactor