class: center, middle, inverse # How I Spent My Summer: # Europython 2014 Berlin ####Filipp Kucheryavy ####f_kucheryavy@wargaming.net --- class: center, inverse # Download slides here: ![https://github.com/Friz-zy](./img/slides.png) ####https://friz-zy.github.io/europython2014/slides.html#1 --- class: center, inverse, middle # Trends --- class: center, inverse # Trends ## Life after Snowden ####P2P + Encryption ![nsa](./img/nsa.png) --- class: center, inverse #Holy War ![](./img/danger.jpg) --- class: center, inverse # Trends ## Test Driven Development #### And ## Test Driven Infrastructure ![foo](./img/foo.png) --- class: inverse # .center[Trends] ## .center[Big Data] #### .center[Travis Oliphant | [Continuum Analytics](http://www.continuum.io/)]
.left-column[ .left[![Travis](./img/toliphant.png)] ] .right-column[ .right[![continuum](./img/continuum_analytics_logo_s.png)] ] --- class: center # Trends ## Clouds ![cloud](./img/cloud.jpeg) --- class: inverse # .center[Development] .left-column[## Web] --- class: inverse # .center[Development] .left-column[## Web] .right-column[ * ####[Full Stack Python](http://www.fullstackpython.com/) Full Stack Python is an open book that explains each Python web application stack layer and provides the best web resources for those topics ] --- class: inverse # .center[Development] .left-column[## Web] .right-column[ * ####[Full Stack Python](http://www.fullstackpython.com/) * ####[Morepath](http://morepath.readthedocs.org/en/latest/) Morepath is an Python WSGI microframework. It uses routing, but the routing is to models. Morepath is model-driven and flexible, which makes it expressive ] --- class: inverse # .center[Development] .left-column[## Web] .right-column[ * ####[Full Stack Python](http://www.fullstackpython.com/) * ####[Morepath](http://morepath.readthedocs.org/en/latest/) * ####[Eve](http://python-eve.org/) Python REST API Framework ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ] .right-column[ * ####[Jigna](https://github.com/enthought/jigna) Jigna is a bridge between Traits and the HTML, CSS and Javascript world ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ] .right-column[ * ####[Jigna](https://github.com/enthought/jigna) * ####[PySide](http://qt-project.org/wiki/PySide) The PySide project provides LGPL-licensed Python bindings for the Qt ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ] .right-column[ * ####[Jigna](https://github.com/enthought/jigna) * ####[PySide](http://qt-project.org/wiki/PySide) * ####[Pythonista](http://omz-software.com/pythonista/) Pythonista is an integrated development environment for writing Python™ scripts on iOS ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ] .right-column[ * ####[Jigna](https://github.com/enthought/jigna) * ####[PySide](http://qt-project.org/wiki/PySide) * ####[Pythonista](http://omz-software.com/pythonista/) * ####[Kivy](http://kivy.org/#home) Kivy - Open source Python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ## Backend ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ## Backend ] .right-column[ * ####[Storm](https://storm.incubator.apache.org/) and [Kafka](https://kafka.apache.org/) Apache Kafka - Distributed messaging system Apache Storm - Real Time Message Processing ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ## Backend ] .right-column[ * ####[Storm](https://storm.incubator.apache.org/) and [Kafka](https://kafka.apache.org/) * ####[Celery](http://www.celeryproject.org/) Celery - Distributed Task Queue ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ## Backend ] .right-column[ * ####[Storm](https://storm.incubator.apache.org/) and [Kafka](https://kafka.apache.org/) * ####[Celery](http://www.celeryproject.org/) * ####[Vumi](https://github.com/praekelt/vumi) Messaging engine for the delivery of SMS, Star Menu and chat messages to diverse audiences in emerging markets and beyond ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ## Backend ## Modules ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ## Backend ## Modules ] .right-column[ * ####[Gevent](https://sdiehl.github.io/gevent-tutorial/) Gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev event loop ] --- class: inverse # .center[Development] .left-column[ ## Web ## Frontend ## Backend ## Modules ] .right-column[ * ####[Gevent](https://sdiehl.github.io/gevent-tutorial/) * ####[Jython](http://www.jython.org/) Jython is an implementation of the language Python seamlessly integrated with the Java platform ] --- class: inverse # .center[Testing] .left-column[## Modules] --- class: inverse # .center[Testing] .left-column[## Modules] .right-column[ * ####[Pytest](http://pytest.org/latest/) A mature full-featured Python testing tool ] --- class: inverse # .center[Testing] .left-column[## Modules] .right-column[ * ####[Pytest](http://pytest.org/latest/) * ####[Doctest](https://docs.python.org/2/library/doctest.html) Writing tutorial documentation for a package with examples ] --- class: inverse # .center[Testing] .left-column[## Modules] .right-column[ * ####[Pytest](http://pytest.org/latest/) * ####[Doctest](https://docs.python.org/2/library/doctest.html) * ####[Pythontesting.net](http://pythontesting.net) Python Test Frameworks and Strategies ] --- class: inverse # .center[Testing] .left-column[ ## Modules ## Tools ] --- class: inverse # .center[Testing] .left-column[ ## Modules ## Tools ] .right-column[ * ####[Nix](http://nixos.org/nix/) The Purely Functional Package Manager ] --- class: inverse # .center[Deployment] .left-column[## Tools] --- class: inverse # .center[Deployment] .left-column[## Tools] .right-column[ * ####[Ansible](http://www.ansible.com/home) Ansible is the simplest way to automate IT ] --- class: inverse # .center[Deployment] .left-column[## Tools] .right-column[ * ####[Ansible](http://www.ansible.com/home) * ####[Fabric](http://www.fabfile.org/) Fabric is a library and cli for streamlining the use of SSH for application deployment or systems administration tasks ] --- class: inverse # .center[Deployment] .left-column[## Tools] .right-column[ * ####[Ansible](http://www.ansible.com/home) * ####[Fabric](http://www.fabfile.org/) * ####[Docker](https://www.docker.com/) Docker - An open platform for distributed applications for developers and sysadmins ] --- class: inverse # .center[Deployment] .left-column[## Tools] .right-column[ * ####[Ansible](http://www.ansible.com/home) * ####[Fabric](http://www.fabfile.org/) * ####[Docker](https://www.docker.com/) * ####[Openstack](http://www.openstack.org/) Open source software for building private and public clouds ] --- class: inverse # .center[Post Production] .left-column[## Logging] --- class: inverse # .center[Post Production] .left-column[## Logging] .right-column[ * ####[Logstash](http://logstash.net/) + [Elasticsearch](http://www.elasticsearch.org) + [Kibana](http://www.elasticsearch.org/guide/en/kibana/current/_introduction.html) Search & analyze any data — freaky fast - The ELK Stack ] --- class: inverse # .center[Post Production] .left-column[## Logging] .right-column[ * ####[Logstash](http://logstash.net/) + [Elasticsearch](http://www.elasticsearch.org) + [Kibana](http://www.elasticsearch.org/guide/en/kibana/current/_introduction.html) * ####[Graphite](http://graphite.wikidot.com) Graphite - Scalable Realtime Graphing ] --- class: inverse, center, middle # what to do if I missed it? =( --- class: inverse, center, middle #[Python Brasil 2014](http://2014.pythonbrasil.org.br/) .footnote[[Thousands of them!](http://lanyrd.com/topics/python/)] --- class: inverse, center, middle # [ep2014.europython.eu](https://ep2014.europython.eu/en/schedule/schedule/#day1) .footnote[[you << youtube](https://www.youtube.com/playlist?list=UUadZ6_NWdCN6YolgQdfV8Pg)] --- class: center, inverse #thank you, questions? ## fork me on github ![https://github.com/Friz-zy](./img/frizzy.png) https://github.com/Friz-zy