Python: метапрограммирование в продакшене. Часть первая

Многие считают, что метапрограммирование в Python излишне усложняет код, но если использовать его правильно, то можно быстро и элегантно реализовать сложные паттерны проектирования. Помимо этого, такие известные Python-фреймворки, как Django, DRF и SQLAlchemy, используют метаклассы, чтобы обеспечить легкую расширяемость и простое переиспользование кода.

В этой статье расскажу, почему не стоит бояться использовать метапрограммирование в своих проектах и покажу, для каких задач оно подходит лучше всего. Еще больше о возможностях метапрограммирования можно узнать на курсе Advanced Python.

Читать дальше →
Python: метапрограммирование в продакшене. Часть первая
Source: habrahabr

Пост №3670654

Автор: Aksafan

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3670654″ }, «headline»: «промежутки :: утки :: уточки :: промежуточки», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D1%83%D1%82%D0%BA%D0%B8-%D1%83%D1%82%D0%BE%D1%87%D0%BA%D0%B8-%D0%BF%D1%80%D0%BE%D0%BC%D0%B5%D0%B6%D1%83%D1%82%D0%BA%D0%B8-%D0%BF%D1%80%D0%BE%D0%BC%D0%B5%D0%B6%D1%83%D1%82%D0%BE%D1%87%D0%BA%D0%B8-4754005.jpeg», «height»: 750, «width»: 864 }, «datePublished»: «2018-10-09T12:51:40+03:00», «dateModified»: «2018-10-09T12:51:40+03:00», «author»: { «@type»: «Person», «name»: «Aksafan» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3670654
Source: Joyreactor

Пост №3670649

Автор: Aksafan

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3670649″ }, «headline»: «бой :: Конор Макгрегор :: Хабиб Нурмагомедов :: горбатая гора», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%9A%D0%BE%D0%BD%D0%BE%D1%80-%D0%9C%D0%B0%D0%BA%D0%B3%D1%80%D0%B5%D0%B3%D0%BE%D1%80-%D0%A5%D0%B0%D0%B1%D0%B8%D0%B1-%D0%9D%D1%83%D1%80%D0%BC%D0%B0%D0%B3%D0%BE%D0%BC%D0%B5%D0%B4%D0%BE%D0%B2-%D0%B1%D0%BE%D0%B9-%D0%B3%D0%BE%D1%80%D0%B1%D0%B0%D1%82%D0%B0%D1%8F-%D0%B3%D0%BE%D1%80%D0%B0-4754000.jpeg», «height»: 1031, «width»: 779 }, «datePublished»: «2018-10-09T12:46:45+03:00», «dateModified»: «2018-10-09T12:46:45+03:00», «author»: { «@type»: «Person», «name»: «Aksafan» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3670649
Source: Joyreactor

Пост №3670648

Автор: Aksafan

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3670648″ }, «headline»: «Earth-Chan :: пещера :: показалось», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Earth-Chan-%D0%BF%D0%B5%D1%89%D0%B5%D1%80%D0%B0-%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D0%BB%D0%BE%D1%81%D1%8C-4753999.jpeg», «height»: 1280, «width»: 542 }, «datePublished»: «2018-10-09T12:44:49+03:00», «dateModified»: «2018-10-09T12:44:49+03:00», «author»: { «@type»: «Person», «name»: «Aksafan» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3670648
Source: Joyreactor

Пост №3670646

Автор: Aksafan

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3670646″ }, «headline»: «отец :: дочь :: шлюхи», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%BE%D1%82%D0%B5%D1%86-%D0%B4%D0%BE%D1%87%D1%8C-%D1%88%D0%BB%D1%8E%D1%85%D0%B8-4753997.jpeg», «height»: 796, «width»: 960 }, «datePublished»: «2018-10-09T12:42:26+03:00», «dateModified»: «2018-10-09T12:42:26+03:00», «author»: { «@type»: «Person», «name»: «Aksafan» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3670646
Source: Joyreactor

Пост №3670645

Автор: Arterton

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3670645″ }, «headline»: «полиция :: собакен», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%BF%D0%BE%D0%BB%D0%B8%D1%86%D0%B8%D1%8F-%D1%81%D0%BE%D0%B1%D0%B0%D0%BA%D0%B5%D0%BD-4753996.jpeg», «height»: 900, «width»: 900 }, «datePublished»: «2018-10-09T12:42:20+03:00», «dateModified»: «2018-10-09T12:42:20+03:00», «author»: { «@type»: «Person», «name»: «Arterton» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3670645
Source: Joyreactor

[Перевод] Конференция DEFCON 20. Как поиметь плохих парней (и мафию) с помощью JavaScript ботнета. Часть 1

Я рад представить сегодняшнюю тему «Как поиметь плохих парней и мафию, используя JavaScript ботнет». Сначала я хочу представить себя и мою страну – я Чема Алонсо, работаю в маленькой компании под названием Informatica64. Я также занимаюсь безопасностью Microsoft и живу в Испании.

Если вы ещё не были в Испании, то обязательно должны её посетить, здесь есть множество мест, заслуживающих внимания. Это Мадрид, город, который никогда не спит, вы видите его на первом слайде, он меньше, чем Нью-Йорк. Это Барселона со своим удивительным храмом Святого Семейства, и, конечно же, Памплона, где люди убегают от разъярённых быков. Здесь всего одно правило: если ты пьян, не беги! А так всё просто: вы просто должны бежать быстрее, чем бык.

Если вам нравятся особые праздники, то вот битва томатов Томатина. Я не уверен насчёт истории этого обычая, но вам всего лишь требуется кидаться помидорами, и это довольно интересно. Да, такова Испания!

Давайте начнём нашу тему. Она довольно проста: создайте ботнет, и всё. Кто из вас подумывал о том, чтобы создать ботнет? А кто его реально создал? Так, понятно, только я. Идея создания ботнета довольно интересна, но я ленивый человек. Я из Испании, поэтому это нормально. Кроме того, у нас нет денег, у нас не было «дня зеро», мы не ФБР или АНБ, которые могут бесплатно пользоваться сетями, и мы не Google, Apple или Microsoft, чьё оборудование существует по всему миру.

Я хочу показать вам увеличенную картинку на экране – это изобретение испанцев, они сидят в бассейне и подключили электронику через удлинитель, который плавает благодаря одетым на него резиновым тапочкам.

Эта прекрасная иллюстрация того, как мы в Испании пользуемся разными вещами. Мы, испанцы, действуем по-своему, не так, как другие. Итак, идея создания ботнета довольно проста – давайте их всех заразим! Очень простая идея, которую мы хотели воплотить в ботнете – чтобы участвующие в нём компьютеры захотели сами себя заразить. Читать дальше →
[Перевод] Конференция DEFCON 20. Как поиметь плохих парней (и мафию) с помощью JavaScript ботнета. Часть 1
Source: habrahabr

Пост №3670644

Автор: Aksafan

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3670644″ }, «headline»: «Доктор :: боль», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%94%D0%BE%D0%BA%D1%82%D0%BE%D1%80-%D0%B1%D0%BE%D0%BB%D1%8C-4753995.jpeg», «height»: 604, «width»: 543 }, «datePublished»: «2018-10-09T12:39:41+03:00», «dateModified»: «2018-10-09T12:39:41+03:00», «author»: { «@type»: «Person», «name»: «Aksafan» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3670644
Source: Joyreactor

Пост №3670641

Автор: Arterton

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3670641″ }, «headline»: «Кокорин и Мамаев :: все плохо», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%9A%D0%BE%D0%BA%D0%BE%D1%80%D0%B8%D0%BD-%D0%B8-%D0%9C%D0%B0%D0%BC%D0%B0%D0%B5%D0%B2-%D0%B2%D1%81%D0%B5-%D0%BF%D0%BB%D0%BE%D1%85%D0%BE-4753992.png», «height»: 968, «width»: 822 }, «datePublished»: «2018-10-09T12:38:05+03:00», «dateModified»: «2018-10-09T12:38:05+03:00», «author»: { «@type»: «Person», «name»: «Arterton» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3670641
Source: Joyreactor

Пост №3670638

Автор: Arterton

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3670638″ }, «headline»: «эстетика ебеней», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D1%8D%D1%81%D1%82%D0%B5%D1%82%D0%B8%D0%BA%D0%B0-%D0%B5%D0%B1%D0%B5%D0%BD%D0%B5%D0%B9-4753989.jpeg», «height»: 2231, «width»: 3084 }, «datePublished»: «2018-10-09T12:34:00+03:00», «dateModified»: «2018-10-09T12:34:00+03:00», «author»: { «@type»: «Person», «name»: «Arterton» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3670638
Source: Joyreactor