传统上,Python用于创建网络服务,Web后端,当然还用于收集和处理通常为Big的数据。 我们将在即将举行的Moscow Python Conf ++上尝试与生态系统报告平等地讨论这些领域。 这次Python开发人员大会将于10月22日至23日在莫斯科举行,我将领导其程序委员会。 有人可能会说,该计划受到了打击,我们设法按计划准确地实现了它的多样化。 后端,大数据和语言功能,我们与有关测试,人工智能,安全性和DevOps的报告和谐地结合在一起。 我想提前与您分享结果,因此,我将对本节的报告进行审核-可以忽略那些不适用于您的报告。

虽然,等等,不要急于跳到下一个主题。 上面的图片显示:“专业会议”-即是针对专业开发人员的。 但是我们看到的来宾不仅是Python开发人员本身,还是主要使用不同堆栈的程序员,但他们对Python用于辅助任务的功能感兴趣。 最后要去的是有关Apache Kafka,Wagtail,SQLAlchemy或linter的报告。
所有报告的构建方式都使您即使不了解演讲的特定主题也可以理解,从而扩大了视野,但与此同时,专业人士将能够解决最复杂的问题。 按照惯例,主题分为以下三个部分:“杂项”:
我们的会议主要是关于交流。 据了解,演讲者提出了一个有趣的话题,讲述了自己的观点,分享了他的经验,并建议讨论与同事讨论可能的方法。 这一切都意味着,如果您设法抑制自己的内向并最大程度地利用所有可能性,那么在会议之后,您将充满新思想和解决旧问题的方法。 讨论什么问题,继续阅读。
网络,后端和Web开发
我们从一个严肃且相当普遍的部分开始进行审查,其中包括几乎所有报告的三分之一。
Python中的高性能数据处理
目前,Python是转换大型非结构化数据的主要工具。
numpy和
numba是流行的库,但是当与它们一起使用时,开发人员很容易陷入陷阱并失去所有生产力。
唐纳德·怀特 (
Donald Whyte) (工程师门)将
解释 numpy / numba如何在后台运行,以及它们如何使用矢量化快速处理大量数据。 这些工具使Donald可以将科学计算速度提高
10倍或更多倍 ,采用他的经验将非常有用。
在《战车世界》中使用Apache Kafka的经验
Levon Avakyan在他的
报告中将介绍在Wargaming项目中如何使用Apache Kafka,在此方面出现什么困难以及如何克服这些困难。 Wargaming广泛使用Python进行开发也是众所周知的。 Levon将分享他
在Python中为
Apache Kafka使用各种库的经验。

g:当您想要比Django更好的东西时
在PHP开发领域中,几乎所有人都可以在WordPress上创建一个简单的网站,并在以后需要扩展此网站时与专家联系。 在Python世界中,直到最近,还没有类似的东西。 但是现在
Wagtail项目已经
出现-用于现代网站
的成熟的基于Django的CMS 。 来自Lamoda的
Igor Mosyagin 将告诉您 Wa的工作原理,使用方便的地方以及它真的那么简单。
显微镜下的Django
从Core开发人员Django Channels
Artyom Malyshev的
报告 (例如,本次
演讲中我们已经很熟悉),您将了解内部Django机制的所有细节,从
HTTP请求的第一个字节到响应的最后一个字节 。
真正的盛宴在等您解析器表单如何工作,如何编译SQL,如何实现HTML的模板引擎,如何管理连接池等。 所有这些都按时间顺序处理WSGI对象。
除了Jupyter。 数据处理管道建设系统
Andrey Popov将告诉您Positive Technologies使用了哪些Python框架来收集
大量数据并对其进行威胁分析。
报告将重点介绍如何正确收集此数据并将其存储为便于公司中不同团队使用的形式。 但是除此之外,我们将涉及以下问题:
- 什么时候适合使用celery / rabbit,什么时候适合建立数据管道。
- 气流与路易吉的比较。
- Luigi 101-基本概念和使用示例。
结果,我们可以确定在特定情况下选择哪种技术,以及在代码中的外观。
项目架构更新历史
亚历山大·博尔加特(Alexander Borgardt) 将分享一个项目发展的不平凡的历史。 它从龙卷风开始,然后部分用C ++重写以提高驾驶性能。 然后到了2018年,事实证明
现在不需要许多旧的技巧了 。 asyncio + uvloop + aiohttp捆绑包通常会给性能带来不小的损失。 关于这种情况,我们将在亚历山大的报告中使用一个具体的例子,并给出明确的建议。

50种芹菜色
Oleg Churkin从事Python开发已有8年,现在在TechOps金融科技初创公司中扮演techlide的角色。 当我们说金融科技时,我们的意思是-
大数据 。 从Oleg的
报告中,我们了解了使用
Celery调度程序处理大数据的复杂性:
- Celery可以并且应该使用什么类型的任务;
- 如何启动50万个任务并使数据库和外部服务保持活动状态;
- 如何监控任务绩效;
- 部署时如何不丢失任务;
- 如何编写支持的任务代码。
我们还将看一下作者的库,这些库可以成功扩展Celery并监视Grafana和Prometheus中的队列/任务。 也许您已经
在这里看到了一些破坏者。
Python语言及其发展和使用
在继续介绍我心爱的Python之前,我会注意到我们的会议程序使任何来宾都可以选择一个对自己感兴趣的案例,听取演讲者的意见,最重要的是,与所有参加同一份报告的人进行交流。
社会作弊。 该报告的主题越重要,坐下来就越有意义。 首先,向演讲者提问会更方便。 其次,其他感兴趣的专家也会这样做,您可以与他们讨论性能,并在喝咖啡休息时间继续进行讨论。
让我提醒您,我认为这次会议是关于交流的,这个机会不容忽视。
将Python 2.7更新到Python 3.6而不死
进化是自然现象。 她也没有通过Python,但由于一个简单的原因-由于
版本之间迁移的
复杂性,一些项目仍使用Python 2.7。
亚历山大·波兰楚克 (安全法规)提议
分享他
艰辛的复兴之路。 从该报告中,我们了解到了前角和塞满的锥体,并通过一个生动的例子了解到,结果当然是值得的。
好莱坞林特报告
wemake.services studio
的创始人
Nikita Sobolev在我们的多次会议中都有演出,并且已经与您熟悉。 我们设法吸引Nikita录制
Python Junior播客,在此期间创建了该报告的应用程序。
顾名思义 ,这次我们将重点
介绍 Python中的
自动代码验证 。 该棉绒是直接在Nikita的工作室中开发的,也就是说,我们将有机会直接询问工具开发人员。 此外,
还承诺了
交互性 ,这意味着它将不仅内容丰富,而且很有趣。
如何教人们编程和享受生活
讲师痛苦地喃喃自语,解释了写在黑板上的术语。 您的邻居在桌子上画东西。 从睡眠中,您无需记下讲师的每个单词。 熟悉吗? 不幸的是,学习过程并没有太大变化。 无聊的演讲变成无聊的网络研讨会,无聊的测试变成无聊的在线测试,无聊的任务变成无聊和无用的任务。
Ilya Lebedev是一位经验丰富的Python开发人员,也是devman.org学习平台的创建者。 作为一个组织者,MoscowPython已经在learning.python.ru上进行开发和教学。 Ilya在他的报告中将提出对程序员的教育问题,与他们进行的一切都不是很完美。 而且,一般而言。 从特定大学,教职员工或专业毕业生中招聘大三学生的简单方法不起作用。 伊利亚(Ilya)将根据他的经验,尝试
解释在学习发展中遇到的困难,并就如何提高自己的技能并帮助他从属的问题提供建议。
Python中的重构:设计模式和方法
来自Kiwi.com(捷克共和国)的TinMarković
将分享他在组织
大量极其复杂的 Python
代码方面的经验 。 如何恢复顺序,如何更新代码,防止开发新的混乱,并且通常在代码库中
遵守高标准 。 所有这些都是我们在真实示例和个人经验上所钟爱的方式。
从内到外的皮林特。 他是怎么做到的
Maxim Mazaev在CIAN从事Python开发,对语言内部,异步和函数式编程感兴趣。 他的报告与Nikita Sobolev
关于短绒的 报告相呼应,但将重点放在一种主要工具上,
我们将对其进行全面了解 。 有了这些知识,我们将以提高代码质量的名义应用它-
我们将为Pylint编写插件 。
用Python创建DSL编译器
在
单个主题领域 (DSL)中使用小型
编程语言可以使您在需要时处理软件系统的复杂性。 结果,出现了DSL编译器快速原型制作的问题。 例如,在来自MIREA的
Peter Sovetov之前,这项任务是在加速
FPGA上专用
处理器内核的开发的背景下产生的。 彼得
将讲述他在Moscow Python Conf ++中的工作阶段和令人印象深刻的成果。
Django应用程序体系结构中的常见错误
来自Agima的
Alexey Polovinkin设定了该
报告的宏伟目标-向后端开发团队展示如何构建Django应用程序的体系结构,如何避免超过100个陷阱并且不会在所有截止日期之前失效。 考虑在开发初期
最常见的团队
错误的示例。 让我们讨论如何设计Django应用程序的体系结构,为什么要
使用分布式体系结构并使静态变量远离Django。 让我们忘记
重构 ,涉及许多重要问题,熟悉Agima开发人员的经验。
机器学习,人工智能和数据可视化
机器学习和Python是持久的结合。 而且,当然,在莫斯科,Python Conf ++不会没有关于它的所有内容的报告。
如何将现代ML嵌入苛刻的遗产中
当涉及到ML模型的自动化时,最常见的意思是,首先是新项目,其次是Jupyter及其周围的某种环境。 这种方法不适用于通常有很多遗留物的银行中的分析系统。
但是,Oleg Mangutov借助通用胶-Python在使用Oracle和SOAP的环境中设法结识了现代机器学习的朋友。 我认为,该
报告的主要结论是,经过认真努力的普通开发人员可以在现有项目中实现机器学习算法,而无需从头开始重写所有内容,也无需深入研究Oracle的工作原理。 这样做的好处是巨大的,实时业务用户可以使用开发的界面。
神经网络理论
博卡恩斯(Beau Carnes)在教授IT主题方面拥有丰富的经验,目前正在准备一门新的深度学习课程。 他的报告将分为两个部分(中间的午餐是为了消化知识)。 在
报告的第一部分中
,我们将探讨基本概念:有老师和没有老师的教育; 用于预测的神经网络; 梯度下降。 我们将讨论
深度学习方法与传统机器
学习方法的区别,我们将对其进行处理,而不仅限于框架。
在演示的第二部分中,我们正在等待Jupyter Notebook中的
实时编码 。 Bo将从头开始使用纯Python进行开发,它将创建一个学习和识别的神经网络...但是它所识别的内容,您将在10月22日学习。
如何从对抗性例子中保护机器学习算法
当我们使用公共数据进行机器学习时,我们必须依靠它们来完整和干净。 但是,正如您在Google翻译器的示例中可以轻松看到的那样,数据看起来像是正确的,但实际上,不是正确地翻译,而是教系统意外的解释。 这是对抗示例的一种变体。
数字安全数据分析专家
Sergey Dudorov将向我们详细
介绍这个问题,讨论攻击,防御和测试机器学习算法的方法,以使用
CleverHans和
Adversarial-robustness-toolbox库来应对此类操纵。
Python虚拟助手
Oleg Plichko承诺展示使用通用工具TensorFlow,Celery和Django创建
具有人工智能的
聊天机器人的可能性 。 我们将从
报告中学习如何使我们的虚拟助手真正有用,并且我们将看到一个非常有趣的聊天机器人的示例,我们中的许多人可能会在将来发现有用。 我们可以向Oleg询问有关机器人和认知服务的所有问题。
Hadoop上的Jupyter和PySpark用于大数据分析
机器学习是一个快速发展的新领域;仍然没有很多成熟的实践。 因此,每个数据科学家都进行了大量实验,并希望尽快进行。 好吧,如果这些都是简单的假设,例如是否有足够的数据以及它们是否正确。 但是,如果您需要将复杂的自写函数应用于大量对象该怎么办? 此外,必须在生产集群上解决所有任务,生产集群上还要有50名员工。
Pavel Tarasov 将告诉您如何使用最少数量的工具和代码快速测试复杂的假设。 在这种情况下,您可以从Jupyter和PySpark建立一个摊位,而不必花一个星期的时间来准备环境,而大数据通常是这样,因为它们很大。
会议将在Infrasprismst举行,将为用户生成的内容分配一个小房间。 也就是说,找到志趣相投的人的主要东西是任何人都可以收集的杂物。 可以在现场组织,但如果您提前注册,将有安排。
杂项:测试,安全性,DevOps
进一步的单个报告,它们没有进入大的部分,而是解决了多样性的问题。 顺便说一下,主题是非常重要和有趣的,一个社会工程值得什么,或者这里是“黑客指南”。
保护Python Web应用程序的黑客指南
我希望您的Web项目永远不会受到攻击或黑客攻击,但是您朋友中的某个人很可能面临他们的悲惨后果。 我们的同事(尼日利亚PyCon的组织者之一)
Eyitemi Egbejule 声称 ,有了安全的编码实践和一些有用的库,您就可以
永远忘记 Python Web应用程序中的
漏洞 。 基于他
在Web项目安全审核中的丰富经验,Eyitemi会告诉您网络服务开发人员最常犯哪些错误,首先在哪里寻找漏洞,以及哪些漏洞最快可以解决。 不一定是软件,问题可能出在逻辑上或在使用通用但不正确的默认设置时。
我们希望该报告将使开发人员可以重新审视他们的代码,甚至可以在会议上开始应用技巧。
高效的硒基础设施
您是否正在使用Selenium进行自动测试,但对处理刹车和碰撞感到厌倦? 然后
, Ivan Krutov (Aerokube)开设的关于有效Selenium基础架构的
大师班适合您。
在大师班上,Ivan承诺将基于开源项目
Selenoid和Ggr从头开始几个简单的步骤,展示如何部署Selenium集群,该项目允许替换过时的Selenium Grid并停止对Selenium的折磨。 您将看到录制运行测试的视频,添加新版本的浏览器以及实时观看日志非常容易。
太多的材料使这个大师班在10月23日(午餐前后)需要花费两个小时,以便有时间仔细考虑所有事情。
Dark Python:社交工程和骇客,成功率达70%
如果您认为最可靠的信息源-电影,那么黑客现在可以使用
社交工程方法而不是控制台。
Twisto.cz的Lukas Hurych作为业余爱好,尝试对同事采取各种攻击方法。 结果令人震惊-成功率达70%。 此外,我们的Python在自动执行此过程中扮演着重要角色。
卢卡斯(Lucas)将帮助您
了解敌人的面貌以及最常用和有效的方法,以便我们在后端和UX中防御敌人。
适用于建筑宇航员的SQLAlchemy加速
SQLAlchemy的巨大优势在于它是一种
非常常见的ORM,并且是与高级语言进行数据库通信的最佳解决方案之一。 但是有时这种便利有时会变成意外。 显然,这种便利有时会变成意外。 Qrator Labs的
Alexei Starkov以具有大量(数十万)记录的流量过滤网络配置为例,
将展示如何
实现高性能 。 为此,我们需要从最简单的SQLAlchemy ORM使用转到批量操作和
SQLAlchemy Core的使用,详细信息在10月23日16:00进行。
编写可测试代码的好与坏做法
来自kiwi.com的
Dmitry Dygalo在他的报告
中将 讨论有助于
使代码更易于理解 ,可靠和可测试的方法。 让我们讨论各种问题并获得具体建议,例如,全局变量是一个方便的概念,经常在不需要的地方使用。 如何在测试数据库的隔离度和速度之间找到折衷方案。 关于
依赖注入以及使用流行库中的示例将执行与实现分离。 当然,这还不是全部。
看来这足以形成对会议将要发生的想法的认识。 对于该计划的工作,我要感谢计划委员会的所有成员:弗拉基米尔
·菲洛诺夫( Vladimir Filonov),兹拉塔
·奥布霍夫斯卡娅 (Zlata Obukhovskaya),
亚历山大·卡约洛夫 (
Alexander Khayorov) ,
伊万 ·齐加诺夫 (
Ivan Tsyganov) ,列昂尼德
·卡洛尼斯 (Leonid Kalneus)。
通过复杂的逻辑运算,我们已经将所有报告
安排在一个协调的
进度表中 (
此处是pdf,带有按主题的可视化)。 事实证明,六个月前开始筹备会议时我们想到的是:这些主题分布在Python的各种使用,一定数量的说英语的人身上,在晚会上谈论一杯咖啡和一杯啤酒是有话可说的。
在莫斯科Python Conf ++ 2018上见 !