<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>PyVideo.org - javascript</title><link href="https://pyvideo.org/" rel="alternate"></link><link href="https://pyvideo.org/feeds/tag_javascript.atom.xml" rel="self"></link><id>https://pyvideo.org/</id><updated>2022-06-03T00:00:00+00:00</updated><subtitle></subtitle><entry><title>Objects and classes in Python (and JavaScript)</title><link href="https://pyvideo.org/europython-2011/objects-and-classes-in-python-and-javascript.html" rel="alternate"></link><published>2011-07-21T00:00:00+00:00</published><updated>2011-07-21T00:00:00+00:00</updated><author><name>Jonathan Fine</name></author><id>tag:pyvideo.org,2011-07-21:/europython-2011/objects-and-classes-in-python-and-javascript.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Jonathan Fine - 23 June 2011 in &amp;quot;Training Pizza Napoli&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python has a well-thought out system for classes. Beginners can use it
without understanding it all. Experts can use it to produce code that is
both elegant and powerful (such as models and class-based views in
Django …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Jonathan Fine - 23 June 2011 in &amp;quot;Training Pizza Napoli&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python has a well-thought out system for classes. Beginners can use it
without understanding it all. Experts can use it to produce code that is
both elegant and powerful (such as models and class-based views in
Django). Python classes can be used for many purposes.&lt;/p&gt;
&lt;p&gt;This tutorial arises from the author's experience in using classes to
solve problems, such as:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Add custom methods and attributes to objects that are, at root, just an integer&lt;/li&gt;
&lt;li&gt;Construct dictionaries whose values are functions&lt;/li&gt;
&lt;li&gt;Construct classes on-the-fly&lt;/li&gt;
&lt;li&gt;Implement JavaScript object semantics in Python (advanced topic)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The outline syllabus is:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Review of the class statement in Python (and decorators)&lt;/li&gt;
&lt;li&gt;Subclassing built-in types such as int and tuple&lt;/li&gt;
&lt;li&gt;How to define classes without using a class statement&lt;/li&gt;
&lt;li&gt;How to define a dispatch dictionary using a class statement&lt;/li&gt;
&lt;li&gt;Metaclasses as syntactic sugar for class construction&lt;/li&gt;
&lt;li&gt;Metaclasses to provide new class semantics&lt;/li&gt;
&lt;li&gt;Review of JavaScript object semantics&lt;/li&gt;
&lt;li&gt;Using Python classes to implement JavaScript object semantics&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For Guido on the history of Python classes see:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://python-history.blogspot.com/2010/06/new-style-classes.html"&gt;http://python-history.blogspot.com/2010/06/new-style-classes.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://python-history.blogspot.com/2010/06/inside-story-on-new-style-classes.html"&gt;http://python-history.blogspot.com/2010/06/inside-story-on-new-style-classes.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="http://python-history.blogspot.com/2010/06/method-resolution-order.html"&gt;http://python-history.blogspot.com/2010/06/method-resolution-order.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tutorial is for Intermediate or Advanced Python programmers.
(Beginners will find it very hard going.) The aim of the course is to
explain exactly what happens when a class in constructed, and to learn
ways of using this knowledge.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="dictionaries"></category><category term="javascript"></category><category term="tutorial"></category></entry><entry><title>PyHP and the art of dating girls</title><link href="https://pyvideo.org/europython-2011/pyhp-and-the-art-of-dating-girls.html" rel="alternate"></link><published>2011-07-18T00:00:00+00:00</published><updated>2011-07-18T00:00:00+00:00</updated><author><name>Fabio Rotondo</name></author><id>tag:pyvideo.org,2011-07-18:/europython-2011/pyhp-and-the-art-of-dating-girls.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Fabio Rotondo - 21 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This will be both technical and light talk, introducing these important
subjects:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;the new scripting language PyHP, a solution to create dynamic web
pages using the Python scripting language server side, a-la PHP, but
smarter.&lt;/li&gt;
&lt;li&gt;the LiWE (Lightweight …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Fabio Rotondo - 21 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This will be both technical and light talk, introducing these important
subjects:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;the new scripting language PyHP, a solution to create dynamic web
pages using the Python scripting language server side, a-la PHP, but
smarter.&lt;/li&gt;
&lt;li&gt;the LiWE (Lightweight Web Environment) Web Framework, a new and
robust web framework written in both JavaScript and Python that will
help you creating amazing websites.&lt;/li&gt;
&lt;li&gt;how this new amazing technologies can help you date girls (this will
be the light and funny part of the talk)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Prerequisites:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Very basic knowledge of PHP&lt;/li&gt;
&lt;li&gt;Basic Python&lt;/li&gt;
&lt;li&gt;Basic / None JavaScript&lt;/li&gt;
&lt;/ul&gt;
</content><category term="EuroPython 2011"></category><category term="art"></category><category term="framework"></category><category term="javascript"></category><category term="web"></category></entry><entry><title>Getting started with Plone CMS development - Part 1</title><link href="https://pyvideo.org/europython-2013/getting-started-with-plone-cms-development-part-1.html" rel="alternate"></link><published>2013-07-05T00:00:00+00:00</published><updated>2013-07-05T00:00:00+00:00</updated><author><name>Nejc Zupan</name></author><id>tag:pyvideo.org,2013-07-05:/europython-2013/getting-started-with-plone-cms-development-part-1.html</id><content type="html"></content><category term="EuroPython 2013"></category><category term="scm"></category><category term="web"></category><category term="continuous-integration"></category><category term="testing"></category><category term="buildout"></category><category term="javascript"></category><category term="framework"></category><category term="html"></category><category term="zope"></category><category term="best-practices"></category><category term="CMS"></category><category term="plone"></category><category term="tutorial"></category></entry><entry><title>Getting started with Plone CMS development - Part 2</title><link href="https://pyvideo.org/europython-2013/getting-started-with-plone-cms-development-part-2.html" rel="alternate"></link><published>2013-07-05T00:00:00+00:00</published><updated>2013-07-05T00:00:00+00:00</updated><author><name>Nejc Zupan</name></author><id>tag:pyvideo.org,2013-07-05:/europython-2013/getting-started-with-plone-cms-development-part-2.html</id><content type="html"></content><category term="EuroPython 2013"></category><category term="scm"></category><category term="web"></category><category term="continuous-integration"></category><category term="testing"></category><category term="buildout"></category><category term="javascript"></category><category term="framework"></category><category term="html"></category><category term="zope"></category><category term="best-practices"></category><category term="CMS"></category><category term="plone"></category><category term="tutorial"></category></entry><entry><title>Server side story</title><link href="https://pyvideo.org/europython-2013/server-side-story.html" rel="alternate"></link><published>2013-07-04T00:00:00+00:00</published><updated>2013-07-04T00:00:00+00:00</updated><author><name>Simone Deponti</name></author><id>tag:pyvideo.org,2013-07-04:/europython-2013/server-side-story.html</id><content type="html"></content><category term="EuroPython 2013"></category><category term="HTTP"></category><category term="networking"></category><category term="deploy"></category><category term="mobile"></category><category term="javascript"></category><category term="desktop"></category><category term="sysadmin"></category><category term="json"></category><category term="gevent"></category><category term="design"></category><category term="software-engineering"></category><category term="best-practices"></category><category term="application-design"></category><category term="websockets"></category><category term="architecture"></category></entry><entry><title>Dash: Interactive Data Visualization Web Apps with no Javascript</title><link href="https://pyvideo.org/europython-2019/dash-interactive-data-visualization-web-apps-with-no-javascript.html" rel="alternate"></link><published>2019-07-10T00:00:00+00:00</published><updated>2019-07-10T00:00:00+00:00</updated><author><name>Dom Weldon</name></author><id>tag:pyvideo.org,2019-07-10:/europython-2019/dash-interactive-data-visualization-web-apps-with-no-javascript.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Your data science or machine learning project probably won't just
produce a written report. Instead, projects are increasingly expected to
produce interactive tools to allow end-users to explore data and results
with rich, interactive visualizations. Inevitably, this will be done in
a web browser, meaning you'll need to add …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Your data science or machine learning project probably won't just
produce a written report. Instead, projects are increasingly expected to
produce interactive tools to allow end-users to explore data and results
with rich, interactive visualizations. Inevitably, this will be done in
a web browser, meaning you'll need to add a quantitatively trained web
developer to your team, or have your data scientists spend time learning
HTML, Javascript and CSS. Dash, a project by the team that makes Plotly,
solves some of these problems by allowing data scientists to build rich
and interactive websites in pure python, with minimal knowledge of HTML
and absolutely no Javascript.&lt;/p&gt;
&lt;p&gt;At decisionLab, a London-based data science consultancy producing
decision tools, we've embraced Dash to produce proof-of-concept models
for our projects in alpha. Although we're not officially connected to
the plotly/Dash project, by using the library daily across many
projects, we've learned many lessons and what we feel are best practises
we'd like to share, and hear feedback on!&lt;/p&gt;
&lt;p&gt;This talk will give an overview of Dash, how it works and what it can be
used for, before outlining some of the common problems that emerge when
data scientists are let loose to produce web applications, and web
developers have to work with the pydata ecosystem. The talk also covers
effective working practises to start producing cool interactive
statistical web applications, fast. We'll also identify some of the
pitfalls of Dash, and how and when to make the decision to stop using
Dash and start building a proper web application.&lt;/p&gt;
&lt;p&gt;Slides: &lt;a class="reference external" href="http://domweldon-europython-2019-dash.s3.eu"&gt;http://domweldon-europython-2019-dash.s3.eu&lt;/a&gt;-
west-2.amazonaws.com/index.html&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="Data Science"></category><category term="JavaScript"></category><category term="Visualization"></category><category term="Web"></category><category term="Web Servers and MicroFWs"></category></entry><entry><title>Full Stack Type Safety</title><link href="https://pyvideo.org/europython-2020/full-stack-type-safety.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Szymon Pyżalski</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/full-stack-type-safety.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Beyond PEP-484 – ensure type consistency between layers&lt;/p&gt;
&lt;p&gt;The introduction of PEP-484 gave us an option to enforce the internal type consistency of our Python applications. Our web projects, however, consist of multiple layers, with the Python app taking the role of an HTTP backend. What options do we have …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Beyond PEP-484 – ensure type consistency between layers&lt;/p&gt;
&lt;p&gt;The introduction of PEP-484 gave us an option to enforce the internal type consistency of our Python applications. Our web projects, however, consist of multiple layers, with the Python app taking the role of an HTTP backend. What options do we have to ensure consistency across our stack?
In this talk, we will see some technologies that we can employ to enforce the contract between the layers of our stack. Especially between the frontend and backend. We will demo, how this can be achieved with REST/Swagger and with GraphQL. As both the Graphene library and the open API support for django-rest-framework are both a work-in-progress, we would check, what is possible, and what is still lacking. We will also discuss various approaches to the design: backend first, auto-generating backend from the spec, and TDD, with their advantages and disadvantages.
The topic would be discussed on a simple web application. We would try to play some realistic scenarios, where a careless developer breaks the contract to see how such a mistake can be spotted in the CI phase of the development cycle.
Basic knowledge of Django and JavaScript is required to understand the talk. Some familiarity with TypeScript and ReactJS would also be helpful. However, I plan to explain the code to the listeners that didn’t have prior exposure to these technologies.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="APIs"></category><category term="Django"></category><category term="JavaScript"></category><category term="Type-Hinting"></category><category term="Web Protocols"></category></entry><entry><title>The Joy of Creating Art with Code.</title><link href="https://pyvideo.org/europython-2020/the-joy-of-creating-art-with-code.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Neeraj Pandey</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/the-joy-of-creating-art-with-code.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Art is everywhere and it’s beautiful. Unleash the creative artist inside you with the beauty of Generative Art. Learn how algorithms are used to create these aesthetic art forms, how motion and structures emit sounds and what toolkits are required to do so. This talk looks at Python …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Art is everywhere and it’s beautiful. Unleash the creative artist inside you with the beauty of Generative Art. Learn how algorithms are used to create these aesthetic art forms, how motion and structures emit sounds and what toolkits are required to do so. This talk looks at Python as an artistic and visual programming language with the simplicity and beauty of generative art using Processing, PyCairo and webGL. The audience will see an evolution of generative art over the last 50 years, how autonomously these art forms are created using algorithms and how we can stimulate paints and other media. The talk will be showing how to create artworks inspired by geometric and mathematical patterns which also includes randomness with hands-on examples (Two such examples are added here: &lt;a class="reference external" href="https://imgur.com/a/lycAYnj"&gt;https://imgur.com/a/lycAYnj&lt;/a&gt; ).&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="Algorithms"></category><category term="Analytics"></category><category term="JavaScript"></category><category term="Physics"></category><category term="Python 3"></category></entry><entry><title>HTMX + Flask: Modern Python Web Apps, Hold the JavaScript</title><link href="https://pyvideo.org/flaskcon-2021/htmx-flask-modern-python-web-apps-hold-the-javascript.html" rel="alternate"></link><published>2021-12-04T00:00:00+00:00</published><updated>2021-12-04T00:00:00+00:00</updated><author><name>Michael Kennedy</name></author><id>tag:pyvideo.org,2021-12-04:/flaskcon-2021/htmx-flask-modern-python-web-apps-hold-the-javascript.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;See how to combine htmx for building dynamic, interactive web apps in 100% Flask and Python without the need for frontend frameworks like Vue.js and others.&lt;/p&gt;
</content><category term="FlaskCon 2021"></category><category term="flask"></category><category term="htmx"></category><category term="javascript"></category></entry><entry><title>Fanstatic zum Einbinden statischer Ressourcen - Was es kann und was es können sollte.</title><link href="https://pyvideo.org/pycon-de-2012/fanstatic-zum-einbinden-statischer-ressourcen-w.html" rel="alternate"></link><published>2012-11-01T00:00:00+00:00</published><updated>2012-11-01T00:00:00+00:00</updated><author><name>Daniel Havlik</name></author><id>tag:pyvideo.org,2012-11-01:/pycon-de-2012/fanstatic-zum-einbinden-statischer-ressourcen-w.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;Fanstatic ist ein einfaches und doch mächtiges Werkzeug zum Einbinden
statischer Ressourcen in Webanwendungen. In diesem Vortrag werden die
Grenzen von Fanstatic aufgezeigt und Lösungen für diese vorgeschlagen.&lt;/p&gt;
&lt;p&gt;Die Autoren setzen Fanstatic in fast jedem Projekt ein. Doch immer
wieder stolpern wir über Probleme wie das Einbinden von Stylesheets …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;Fanstatic ist ein einfaches und doch mächtiges Werkzeug zum Einbinden
statischer Ressourcen in Webanwendungen. In diesem Vortrag werden die
Grenzen von Fanstatic aufgezeigt und Lösungen für diese vorgeschlagen.&lt;/p&gt;
&lt;p&gt;Die Autoren setzen Fanstatic in fast jedem Projekt ein. Doch immer
wieder stolpern wir über Probleme wie das Einbinden von Stylesheets für
spezielle IE- Versionen (Conditional Stylesheets) oder die fehlenden
Möglichkeit, Stylesheets für den Druck zu spezifizieren. Auch wäre eine
Integration mit z.B. CoffeeScript wünschenswert.&lt;/p&gt;
</content><category term="PyCon DE 2012"></category><category term="css"></category><category term="fanstatic"></category><category term="javascript"></category></entry><entry><title>Echtzeit Browsergames</title><link href="https://pyvideo.org/pycon-de-2012/echtzeit-browsergames.html" rel="alternate"></link><published>2012-10-30T00:00:00+00:00</published><updated>2012-10-30T00:00:00+00:00</updated><author><name>Michael P. Jung</name></author><id>tag:pyvideo.org,2012-10-30:/pycon-de-2012/echtzeit-browsergames.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;Mit gevent und browserseitigem JavaScript können Mehrspieler
Browsergames entwickelt werden, die Spielerinteraktionen in Echtzeit
zulassen. Dieser Vortrag versucht Lust auf das Echtzeit Web zu machen
und zeigt anhand eines konkreten Spieles (KODEX, &lt;a class="reference external" href="http://kodexgame.com/"&gt;http://kodexgame.com/&lt;/a&gt;)
Lösungen für Entwicklung, Hosting und Vertrieb auf.&lt;/p&gt;
&lt;p&gt;Der Vortrag beleuchtet neben den Implikationen des …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;Mit gevent und browserseitigem JavaScript können Mehrspieler
Browsergames entwickelt werden, die Spielerinteraktionen in Echtzeit
zulassen. Dieser Vortrag versucht Lust auf das Echtzeit Web zu machen
und zeigt anhand eines konkreten Spieles (KODEX, &lt;a class="reference external" href="http://kodexgame.com/"&gt;http://kodexgame.com/&lt;/a&gt;)
Lösungen für Entwicklung, Hosting und Vertrieb auf.&lt;/p&gt;
&lt;p&gt;Der Vortrag beleuchtet neben den Implikationen des Realtime Web wie
Caching, Scaling, Same-Origin-Policy und Cross-Origin-Resource-Sharing
auch Strategien zur horizontalen Skalierbarkeit, oder: Wie löst man das
&lt;a class="reference external" href="http://www.kegel.com/c10k.html"&gt;C10K&lt;/a&gt; Problem?&lt;/p&gt;
&lt;p&gt;Während NodeJS oft als &lt;em&gt;die&lt;/em&gt; Lösung für Echtzeitanwendungen angepriesen
wird, kommt hier auf der Serverseite gezielt Python mit gevent zum
Einsatz.&lt;/p&gt;
</content><category term="PyCon DE 2012"></category><category term="django"></category><category term="echtzeit"></category><category term="game"></category><category term="gevent"></category><category term="javascript"></category><category term="python"></category><category term="rabbitmq"></category><category term="realtime"></category><category term="socketio"></category><category term="spiel"></category></entry><entry><title>Echtzeit Web-Apps mit Mushroom</title><link href="https://pyvideo.org/pycon-de-2013/echtzeit-web-apps-mit-mushroom.html" rel="alternate"></link><published>2013-10-15T00:00:00+00:00</published><updated>2013-10-15T00:00:00+00:00</updated><author><name>Michael P. Jung</name></author><id>tag:pyvideo.org,2013-10-15:/pycon-de-2013/echtzeit-web-apps-mit-mushroom.html</id><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;&lt;a class="reference external" href="https://bitbucket.org/terreon/mushroom"&gt;Mushroom&lt;/a&gt; ist ein einfach zu
verwendendes Echtzeit-Web-Messaging-Framework, welches neben
Browser-Push-Nachrichten auch Funktionen für die
Interprozesskommunikation zur Verfügung stellt.&lt;/p&gt;
&lt;p&gt;Dieser Vortrag versucht, Lust auf das Echtzeit-Web zu machen und
beantwortet grundlegende Fragen zu Themen wie Skalierbarkeit und
Deployment.&lt;/p&gt;
</content><category term="PyCon DE 2013"></category><category term="echtzeit"></category><category term="gevent"></category><category term="http"></category><category term="ipc"></category><category term="javascript"></category><category term="long polling"></category><category term="messagin"></category><category term="mushroom"></category><category term="network"></category><category term="python"></category><category term="real-time"></category><category term="websocket"></category></entry><entry><title>Geospatial three amigos: Python, Leaflet, and ElasticSearch</title><link href="https://pyvideo.org/pycon-italia-2017/geospatial-three-amigos-python-leaflet-and-elasticsearch.html" rel="alternate"></link><published>2017-04-07T00:00:00+00:00</published><updated>2017-04-07T00:00:00+00:00</updated><author><name>Roberto Rosario</name></author><id>tag:pyvideo.org,2017-04-07:/pycon-italia-2017/geospatial-three-amigos-python-leaflet-and-elasticsearch.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;One of the many jobs we do at our company is custom spatial solutions.
Over time we’ve narrowed down the stack of products that are best suited
for their jobs. Crime maps, construction zone mapping, public routes,
and real state, we’ve done it all using these three …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;One of the many jobs we do at our company is custom spatial solutions.
Over time we’ve narrowed down the stack of products that are best suited
for their jobs. Crime maps, construction zone mapping, public routes,
and real state, we’ve done it all using these three components and this
talk shows you how can do it too.&lt;/p&gt;
</content><category term="PyCon Italia 2017"></category><category term="OpenStreetMap"></category><category term="maps"></category><category term="geospatial"></category><category term="elasticsearch"></category><category term="javascript"></category></entry><entry><title>Sviluppo lato client con Odoo</title><link href="https://pyvideo.org/pycon-italia-2017/sviluppo-lato-client-con-odoo.html" rel="alternate"></link><published>2017-04-07T00:00:00+00:00</published><updated>2017-04-07T00:00:00+00:00</updated><author><name>Davide Corio</name></author><id>tag:pyvideo.org,2017-04-07:/pycon-italia-2017/sviluppo-lato-client-con-odoo.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;&lt;a class="reference external" href="http://odoo.com"&gt;Odoo&lt;/a&gt; è un framework utilizzato prevalentemente per
lo sviluppo di soluzioni business, dall’ambito all’ERP all’e-commerce.
E’ famoso per essere estremamente malleabile e scritto interamente in
Python. Linguaggio con il quale può essere facilmente personalizzato ed
esteso. Ma lo sviluppo di componenti client-side si fa sempre più …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;&lt;a class="reference external" href="http://odoo.com"&gt;Odoo&lt;/a&gt; è un framework utilizzato prevalentemente per
lo sviluppo di soluzioni business, dall’ambito all’ERP all’e-commerce.
E’ famoso per essere estremamente malleabile e scritto interamente in
Python. Linguaggio con il quale può essere facilmente personalizzato ed
esteso. Ma lo sviluppo di componenti client-side si fa sempre più
sentire (hey, siamo nel 2017, non lamentarti) ed è ormai necessario
comprendere come arricchire i nostri moduli Odoo scritti in Python con
qualche riga di codice JavaScript.&lt;/p&gt;
</content><category term="PyCon Italia 2017"></category><category term="Python"></category><category term="javascript"></category><category term="ecommerce"></category><category term="Odoo"></category></entry><entry><title>Going Isomorphic with Django and React</title><link href="https://pyvideo.org/pycon-italia-2018/going-isomorphic-with-django-and-react.html" rel="alternate"></link><published>2018-04-21T00:00:00+00:00</published><updated>2018-04-21T00:00:00+00:00</updated><author><name>Mattia Larentis</name></author><id>tag:pyvideo.org,2018-04-21:/pycon-italia-2018/going-isomorphic-with-django-and-react.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;In web development, an isomorphic application is one whose code (in this
case, JavaScript) can run both in the server (in this case, Django) and
the client. In this talk we will understand how it works and why it can
be useful in the daily life. This talk is …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;In web development, an isomorphic application is one whose code (in this
case, JavaScript) can run both in the server (in this case, Django) and
the client. In this talk we will understand how it works and why it can
be useful in the daily life. This talk is for developers (both
backenders and frontenders) who believe in “DRY” and will love to learn
something new.&lt;/p&gt;
&lt;p&gt;repo: &lt;a class="reference external" href="https://github.com/nostalgiaz/django-react-ssr"&gt;https://github.com/nostalgiaz/django-react-ssr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;in __on &lt;strong&gt;sabato 21 aprile&lt;/strong&gt; at 18:30 &lt;a class="reference external" href="/p3/schedule/pycon9/"&gt;**See
schedule**&lt;/a&gt;&lt;/p&gt;
</content><category term="PyCon Italia 2018"></category><category term="typescript"></category><category term="Python"></category><category term="reactjs"></category><category term="isomorphic"></category><category term="django"></category><category term="rendering"></category><category term="javascript"></category><category term="browser"></category></entry><entry><title>How to use Web-Sockets in Python</title><link href="https://pyvideo.org/pycon-italia-2018/how-to-use-web-sockets-in-python.html" rel="alternate"></link><published>2018-04-21T00:00:00+00:00</published><updated>2018-04-21T00:00:00+00:00</updated><author><name>Anton Caceres</name></author><id>tag:pyvideo.org,2018-04-21:/pycon-italia-2018/how-to-use-web-sockets-in-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Modern web-apps require bi-directional communication, reacting not only
to user actions but also to server events. This can be achieved
elegantly using Web Sockets, a protocol standardized by W3C to be a
default tool for full- duplex connections on the Web.&lt;/p&gt;
&lt;p&gt;Although most of web-frameworks do not support Web …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Modern web-apps require bi-directional communication, reacting not only
to user actions but also to server events. This can be achieved
elegantly using Web Sockets, a protocol standardized by W3C to be a
default tool for full- duplex connections on the Web.&lt;/p&gt;
&lt;p&gt;Although most of web-frameworks do not support Web Socket integration
out of the box, Python has multiple options available making it a piece
of cake. This talk showcases running Web Sockets with Python web-apps,
starting from situations that can make a good use of it, and followed by
an implementation with most practical frameworks: Tornado and Django
Channels. We will explore a similar style but different underlying
technologies of both, and finish with a live demo.&lt;/p&gt;
&lt;p&gt;in __on &lt;strong&gt;sabato 21 aprile&lt;/strong&gt; at 12:00 &lt;a class="reference external" href="/p3/schedule/pycon9/"&gt;**See
schedule**&lt;/a&gt;&lt;/p&gt;
</content><category term="PyCon Italia 2018"></category><category term="tornado"></category><category term="javascript"></category><category term="websockets"></category><category term="web-applications"></category><category term="web development"></category><category term="asyncio"></category></entry><entry><title>Building real time applications with Django</title><link href="https://pyvideo.org/pycon-italia-2018/building-real-time-applications-with-django.html" rel="alternate"></link><published>2018-04-20T00:00:00+00:00</published><updated>2018-04-20T00:00:00+00:00</updated><author><name>Iacopo Spalletti</name></author><id>tag:pyvideo.org,2018-04-20:/pycon-italia-2018/building-real-time-applications-with-django.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Since the introduction of Channels, real time web has become much easier
to work with in Django. It’s now possible to build real time
applications with much less effort in managing the idiosyncrasies of the
async programming and a lot of batteries are included. Starting with a
brief …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Since the introduction of Channels, real time web has become much easier
to work with in Django. It’s now possible to build real time
applications with much less effort in managing the idiosyncrasies of the
async programming and a lot of batteries are included. Starting with a
brief introduction to Channels, we will see how to build a real time
application, both on the Django and the frontend side and how easy it’s
to start experimenting with it. The talk has a very hands-on approach,
to allow the attendees to experiment with the proposed solution and
approach and starting immediately building their own real time
applications with Django.&lt;/p&gt;
&lt;p&gt;in __on &lt;strong&gt;venerdì 20 aprile&lt;/strong&gt; at 14:30 &lt;a class="reference external" href="/p3/schedule/pycon9/"&gt;**See
schedule**&lt;/a&gt;&lt;/p&gt;
</content><category term="PyCon Italia 2018"></category><category term="web"></category><category term="javascript"></category><category term="websockets"></category><category term="django"></category></entry><entry><title>Evolution or stagnation programming languages</title><link href="https://pyvideo.org/pycon-italia-2018/evolution-or-stagnation-programming-languages.html" rel="alternate"></link><published>2018-04-20T00:00:00+00:00</published><updated>2018-04-20T00:00:00+00:00</updated><author><name>Daniele Esposti</name></author><id>tag:pyvideo.org,2018-04-20:/pycon-italia-2018/evolution-or-stagnation-programming-languages.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Programming languages evolves with the need to the developers, but not
all of them evolves at the same speed and sometimes some languages stays
almost the same for decades. Is this a sign of stagnation? Is it
possible to evolve a language without breaking retrocompatibility?&lt;/p&gt;
&lt;p&gt;This talk will cover …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Programming languages evolves with the need to the developers, but not
all of them evolves at the same speed and sometimes some languages stays
almost the same for decades. Is this a sign of stagnation? Is it
possible to evolve a language without breaking retrocompatibility?&lt;/p&gt;
&lt;p&gt;This talk will cover how Python and Javascript approached the problem in
a radically different way, with their pro and cons and with the
consequences on the community.&lt;/p&gt;
&lt;p&gt;The main points of this talk are:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;comparation of the new features in both languages&lt;/li&gt;
&lt;li&gt;strategies used to port or run the code on different versions of the
language&lt;/li&gt;
&lt;li&gt;impact of the new features and tool on the respective developer’s
communities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The intent is to start a constructive discussion about the
retrocompatility in Python.&lt;/p&gt;
&lt;p&gt;For this talk you don’t need to have a deep knowledge of Python or
Javascript.&lt;/p&gt;
&lt;p&gt;in __on &lt;strong&gt;Friday 20 April&lt;/strong&gt; at 11:45 &lt;a class="reference external" href="/en/sprints/schedule/pycon9/"&gt;**See
schedule**&lt;/a&gt;&lt;/p&gt;
</content><category term="PyCon Italia 2018"></category><category term="Python"></category><category term="javascript"></category><category term="programming-languages"></category></entry><entry><title>Decoupling Django with Django REST (and a sprinkle of React)</title><link href="https://pyvideo.org/pycon-italia-2019/decoupling-django-with-django-rest-and-a-sprinkle-of-react.html" rel="alternate"></link><published>2019-05-05T00:00:00+00:00</published><updated>2019-05-05T00:00:00+00:00</updated><author><name>Valentino Gagliardi</name></author><id>tag:pyvideo.org,2019-05-05:/pycon-italia-2019/decoupling-django-with-django-rest-and-a-sprinkle-of-react.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="section" id="abstract"&gt;
&lt;h4&gt;Abstract&lt;/h4&gt;
&lt;p&gt;With the rise of JavaScript as the lingua-franca of the web and the
steady growth of libraries like React, today’s web developers can build
rich and well structured frontend experiences. Pair that with Django and
Django REST framework and you get the perfect combination. But it’s …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="section" id="abstract"&gt;
&lt;h4&gt;Abstract&lt;/h4&gt;
&lt;p&gt;With the rise of JavaScript as the lingua-franca of the web and the
steady growth of libraries like React, today’s web developers can build
rich and well structured frontend experiences. Pair that with Django and
Django REST framework and you get the perfect combination. But it’s not
all bells and whistles. What challenges are we going to face when
decoupling Django with Django REST? What are the best practices? How to
structure such a project? In this talk I’ll guide Django developers
(both beginners and intermediate) from 0 to structuring a decoupled
Django project.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="description"&gt;
&lt;h4&gt;Description&lt;/h4&gt;
&lt;p&gt;The goal of this talk is to give Django developers an overview of a
Django REST project, paired with React, as well as the tradeoffs of the
decoupled approach. By the end of the talk the developer should be able
to configure a new Django REST project and use a frontend library for
interacting with the API.&lt;/p&gt;
&lt;div class="section" id="why-and-when-to-decouple-django"&gt;
&lt;h5&gt;1. Why and when to decouple Django&lt;/h5&gt;
&lt;p&gt;There are many ways for decoupling a Django application and each one
depends on the use case. In this section we’ll outline what decoupling
is, why decoupling is a great approach and why sometimes it is not the
right thing to do. We’ll see what the challenges of such approach are
and how to deal with authentication in a decoupled context.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="django-rest-fundamentals"&gt;
&lt;h5&gt;2. Django REST fundamentals&lt;/h5&gt;
&lt;p&gt;Django REST framework is a Django application for exposing API endpoints
from a Django project. It this section we’ll see the building blocks of
a Django API app: the model, the serializer and the view. Models should
not be a surprise for the audience, they come from Django. Serializers
instead are provided by Django REST. We’ll also see how a Django REST
view looks like and how to leverage both function based views and
generic views within the project.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="setting-up-the-frontend"&gt;
&lt;h5&gt;3. Setting up the frontend&lt;/h5&gt;
&lt;p&gt;The key for a truly decoupled experience is a frontend for consuming and
interacting with the API. In this section we’ll see how to structure a
Django REST project alongside with React. We will explore two
approaches: fully decoupled frontend and mixed frontend.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="a-note-on-testing-and-closing-words"&gt;
&lt;h5&gt;4. A note on testing and closing words&lt;/h5&gt;
&lt;p&gt;In the context of a decoupled Django site we move from the typical
Django tests to testing the API’s response instead. We will see how a
simple API test looks like. And for the JavaScript frontend we’ll take a
look at the current available tooling for functional testing.&lt;/p&gt;
&lt;p&gt;Questions?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Feedback form:&lt;/strong&gt; &lt;a class="reference external" href="https://python.it/feedback-1735"&gt;https://python.it/feedback-1735&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;in __on &lt;strong&gt;Sunday 5 May&lt;/strong&gt; at 10:15 &lt;a class="reference external" href="/en/sprints/schedule/pycon10/"&gt;**See
schedule**&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><category term="PyCon Italia 2019"></category><category term="javascript"></category><category term="django-rest-framework"></category><category term="REST"></category><category term="django"></category></entry><entry><title>Costruire un sito e-commerce con Odoo</title><link href="https://pyvideo.org/pycon-italia-2019/costruire-un-sito-e-commerce-con-odoo.html" rel="alternate"></link><published>2019-05-03T00:00:00+00:00</published><updated>2019-05-03T00:00:00+00:00</updated><author><name>Davide Corio</name></author><id>tag:pyvideo.org,2019-05-03:/pycon-italia-2019/costruire-un-sito-e-commerce-con-odoo.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;In questa presentazione vedremo come costruire un sito e-commerce con
Odoo in pochi passi. Parleremo brevemente dell’installazione del
framework e della sua configurazione di base per arrivare alle modalità
di personalizzazione.&lt;/p&gt;
&lt;p&gt;Il focus sarà ovviamente la vendita online, ma mostreremo come un
ambiente integrato come Odoo ci permette …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;In questa presentazione vedremo come costruire un sito e-commerce con
Odoo in pochi passi. Parleremo brevemente dell’installazione del
framework e della sua configurazione di base per arrivare alle modalità
di personalizzazione.&lt;/p&gt;
&lt;p&gt;Il focus sarà ovviamente la vendita online, ma mostreremo come un
ambiente integrato come Odoo ci permette di gestire tutti i flussi
legati all’e-commerce nella loro interezza. Partendo quindi dalla
registrazione dei clienti fino alla spedizione del materiale.&lt;/p&gt;
&lt;p&gt;Per quanto riguarda le personalizzazioni, parleremo dei vari market
place dove è possibile trovare funzionalità aggiuntive, ma tratteremo
anche le basi del SDK di Odoo che richiedono conoscenze sia di Python
che di Javascript.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Feedback form:&lt;/strong&gt; &lt;a class="reference external" href="https://python.it/feedback-1762"&gt;https://python.it/feedback-1762&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;in __on &lt;strong&gt;Friday 3 May&lt;/strong&gt; at 18:00 &lt;a class="reference external" href="/en/sprints/schedule/pycon10/"&gt;**See
schedule**&lt;/a&gt;&lt;/p&gt;
</content><category term="PyCon Italia 2019"></category><category term="ERP"></category><category term="javascript"></category><category term="enterprise"></category><category term="sales"></category><category term="payments"></category><category term="Odoo"></category><category term="ecommerce"></category></entry><entry><title>Mappe 🗺️ con GeoDjango 🌎, PostGIS 🐘 e Leaflet 🍃</title><link href="https://pyvideo.org/pycon-italia-2019/mappe-con-geodjango-postgis-e-leaflet.html" rel="alternate"></link><published>2019-05-03T00:00:00+00:00</published><updated>2019-05-03T00:00:00+00:00</updated><author><name>Paolo Melchiorre</name></author><id>tag:pyvideo.org,2019-05-03:/pycon-italia-2019/mappe-con-geodjango-postgis-e-leaflet.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Una &lt;em&gt;mappa&lt;/em&gt; permette agli utenti di visualizzare e ricercare i dati in
maniera spaziale ed è comune l’esigenza di aggiungerne una al proprio
progetto web.&lt;/p&gt;
&lt;blockquote&gt;
In questo talk vedremo come abbiamo integrato una &lt;em&gt;mappa&lt;/em&gt; in un
progetto web già in produzione usando &lt;strong&gt;GeoDjango&lt;/strong&gt; , &lt;strong&gt;PostGIS&lt;/strong&gt; e
&lt;strong&gt;Leaflet&lt;/strong&gt; ed eseguiremo …&lt;/blockquote&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Una &lt;em&gt;mappa&lt;/em&gt; permette agli utenti di visualizzare e ricercare i dati in
maniera spaziale ed è comune l’esigenza di aggiungerne una al proprio
progetto web.&lt;/p&gt;
&lt;blockquote&gt;
In questo talk vedremo come abbiamo integrato una &lt;em&gt;mappa&lt;/em&gt; in un
progetto web già in produzione usando &lt;strong&gt;GeoDjango&lt;/strong&gt; , &lt;strong&gt;PostGIS&lt;/strong&gt; e
&lt;strong&gt;Leaflet&lt;/strong&gt; ed eseguiremo una dimostrazione di integrazione da zero
di una mappa in un progetto &lt;strong&gt;Django&lt;/strong&gt;.&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;GeoDjango&lt;/strong&gt; è un modulo incluso in &lt;strong&gt;Django&lt;/strong&gt; che lo trasforma in un
&lt;em&gt;framework&lt;/em&gt; Web geografico di classe mondiale.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PostGIS&lt;/strong&gt; è un estensione del &lt;em&gt;database&lt;/em&gt; &lt;strong&gt;PostgreSQL&lt;/strong&gt; che aggiunge
il supporto per gli oggetti geografici consentendo di eseguire query
spaziali.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Leaflet&lt;/strong&gt; è la principale libreria &lt;strong&gt;JavaScript&lt;/strong&gt; &lt;em&gt;open source&lt;/em&gt; per
mappe web interattive ottimizzate per dispositivi mobili.&lt;/p&gt;
&lt;hr class="docutils" /&gt;
&lt;p&gt;Durante il primo meetup &lt;strong&gt;#PyRoma&lt;/strong&gt; del 2019 abbiamo presentato una
versione ridotta di questo talk limitandoci al solo &lt;strong&gt;caso d’uso&lt;/strong&gt;. Info
qui:
&lt;a class="reference external" href="https://www.paulox.net/2019/01/21/pyroma-2019/"&gt;www.paulox.net/2019/01/21/pyroma-2019/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Feedback form:&lt;/strong&gt; &lt;a class="reference external" href="https://python.it/feedback-1608"&gt;https://python.it/feedback-1608&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;in __on &lt;strong&gt;Friday 3 May&lt;/strong&gt; at 18:00 &lt;a class="reference external" href="/en/sprints/schedule/pycon10/"&gt;**See
schedule**&lt;/a&gt;&lt;/p&gt;
</content><category term="PyCon Italia 2019"></category><category term="web"></category><category term="postgresql"></category><category term="javascript"></category><category term="postgis"></category><category term="django"></category><category term="leaflet"></category><category term="maps"></category><category term="geospatial"></category><category term="gis"></category><category term="geodjango"></category><category term="python3"></category></entry><entry><title>Leaflet on steroids with Django</title><link href="https://pyvideo.org/pycon-italia-2022/leaflet-on-steroids-with-django.html" rel="alternate"></link><published>2022-06-03T00:00:00+00:00</published><updated>2022-06-03T00:00:00+00:00</updated><author><name>Valentino Gagliardi</name></author><id>tag:pyvideo.org,2022-06-03:/pycon-italia-2022/leaflet-on-steroids-with-django.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Leaflet on steroids with Django - PyCon Italia 2022&lt;/p&gt;
&lt;p&gt;Django fornisce potenti strumenti per costruire applicazioni
geospaziali. Ma cosa succede quando i dati da visualizzare diventano
troppi, e gli strumenti di base non bastano più? Basato su un caso
reale, in questo talk vedremo come rendere fruibile una mappa
inizialmente …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Leaflet on steroids with Django - PyCon Italia 2022&lt;/p&gt;
&lt;p&gt;Django fornisce potenti strumenti per costruire applicazioni
geospaziali. Ma cosa succede quando i dati da visualizzare diventano
troppi, e gli strumenti di base non bastano più? Basato su un caso
reale, in questo talk vedremo come rendere fruibile una mappa
inizialmente lentissima da caricare. L’obiettivo del talk è quello di
fornire spunti e strumenti per affrontare ottimizzazioni lato backend e
frontend su Leaflet e Django, molto utili nel caso di grandi quantità di
dati geospaziali. In particolare vedremo nel dettaglio:&lt;/p&gt;
&lt;p&gt;Il problema, ovvero, una grande quantità di dati geospaziali da
visualizzare in mappa, che prima dell’ottimizzazione sono praticamente
inutilizzabili.&lt;/p&gt;
&lt;p&gt;La soluzione lato backend. Vedremo l’impiego di:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;filtri geospaziali intelligenti.&lt;/li&gt;
&lt;li&gt;stream per servire grandi quantità di dati.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La soluzione lato frontend. Vedremo l’impiego di:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;tecniche di ottimizzazione per il caricamento dinamico dei livelli
Leaflet.&lt;/li&gt;
&lt;li&gt;stream per il rendering progressivo dei dati geospaziali.&lt;/li&gt;
&lt;li&gt;filtri intelligenti e relative librerie per ottimizzare le richieste
verso il backend.&lt;/li&gt;
&lt;li&gt;test unitari e funzionali per verificare tutte le feature della
mappa.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Speaker: Valentino Gagliardi&lt;/p&gt;
</content><category term="PyCon Italia 2022"></category><category term="apis"></category><category term="django"></category><category term="GIS"></category><category term="javascript"></category><category term="rest"></category></entry><entry><title>Patti chiari, amicizia lunga. Disaccoppiamo lo sviluppo con test di contratto</title><link href="https://pyvideo.org/pycon-italia-2022/patti-chiari-amicizia-lunga-disaccoppiamo-lo-sviluppo-con-test-di-contratto.html" rel="alternate"></link><published>2022-06-03T00:00:00+00:00</published><updated>2022-06-03T00:00:00+00:00</updated><author><name>Daniele Pompa</name></author><id>tag:pyvideo.org,2022-06-03:/pycon-italia-2022/patti-chiari-amicizia-lunga-disaccoppiamo-lo-sviluppo-con-test-di-contratto.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Patti chiari amicizia lunga. Come disaccoppiamo lo sviluppo tramite i
test di contratto - PyCon Italia 2022&lt;/p&gt;
&lt;p&gt;Front-end, vi è mai capitato che nonostante vi siate messi d’accordo con
il back-end l’endpoint non vi espone qualcosa? Noi abbiamo risolto
utilizzando il Contract testing, vi mostrerò i vantaggi e …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Patti chiari amicizia lunga. Come disaccoppiamo lo sviluppo tramite i
test di contratto - PyCon Italia 2022&lt;/p&gt;
&lt;p&gt;Front-end, vi è mai capitato che nonostante vi siate messi d’accordo con
il back-end l’endpoint non vi espone qualcosa? Noi abbiamo risolto
utilizzando il Contract testing, vi mostrerò i vantaggi e alcuni casi
reali di come scrivere un patto aiuta a rendere più semplice lo sviluppo
per tutti. Quando sono entrato in 20tab l’azienda seguiva già le
metodologie Lean e Agile ed era composta principalmente da sviluppatori
Python/Django. Quando abbiamo deciso di disaccoppiare i servizi
(back-end in Django e front-end in React JS) siamo andati incontro a
difficoltà dovute ai differenti tempi di sviluppo o limiti tecnici. Come
prima soluzione avevamo provato con alternare lo sviluppo dei due
servizi prima iniziava il back-end, una volta completato partiva lo
sviluppo front-end. Questo ci rendeva inefficienti a volte i dati che
arrivavano al front-end erano insufficienti o eccessivi rispetto
all’interfaccia che doveva costruire. Quindi abbiamo provato a
dettagliare con maggior rigore tutti i requisiti tecnici necessari per
partire in parallelo, ma lato front-end dovevamo sempre costruirci un
server finto per procedere con lo sviluppo. In questo ci è venuto
incontro il contract testing, entrambi i rappresentanti dei servizi si
riuniscono prendono il design lo analizzano insieme e il front-end
scrive un test di contratto dopo di che entrambi i servizi possono
procedere con i rispettivi sviluppi in maniera svincolata tra di loro.
Il front-end può sfruttare il pact-stub-server per scrivere test
funzionali con cypress e per lavorare senza neanche tirare su il
servizio back-end. Questo ha portato il front-end a riorganizzare il
proprio template, ora abbiamo 3 tipi di test diversi, quelli unitari sui
componenti, quelli funzionali con cypress e quelli di contratto con Pact
JS. Tutti questi test tramite Docker vengono eseguiti nelle nostre
pipeline e bloccano il nostro processo di deploy in caso di fallimento.&lt;/p&gt;
&lt;p&gt;Slide:&lt;/p&gt;
&lt;p&gt;Speaker: Daniele Pompa&lt;/p&gt;
</content><category term="PyCon Italia 2022"></category><category term="apis"></category><category term="django"></category><category term="docker"></category><category term="javascript"></category><category term="testing"></category></entry><entry><title>Javascript for people who know Python</title><link href="https://pyvideo.org/pycon-us-2011/pycon-2011--javascript-for-people-who-know-python.html" rel="alternate"></link><published>2011-03-11T00:00:00+00:00</published><updated>2011-03-11T00:00:00+00:00</updated><author><name>Ian Bicking</name></author><id>tag:pyvideo.org,2011-03-11:/pycon-us-2011/pycon-2011--javascript-for-people-who-know-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Javascript for people who know Python&lt;/p&gt;
&lt;p&gt;Presented by Ian Bicking&lt;/p&gt;
&lt;p&gt;Javascript as a diff on Python.&lt;/p&gt;
&lt;p&gt;Abstract&lt;/p&gt;
&lt;p&gt;You know Python. You should know Javascript. The two aren't so
different, but this talk will explain exactly how they are different --
lists, dicts, objects, functions, loops and all the other details …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Javascript for people who know Python&lt;/p&gt;
&lt;p&gt;Presented by Ian Bicking&lt;/p&gt;
&lt;p&gt;Javascript as a diff on Python.&lt;/p&gt;
&lt;p&gt;Abstract&lt;/p&gt;
&lt;p&gt;You know Python. You should know Javascript. The two aren't so
different, but this talk will explain exactly how they are different --
lists, dicts, objects, functions, loops and all the other details of
Javascript described in terms of Python.&lt;/p&gt;
</content><category term="PyCon US 2011"></category><category term="javascript"></category><category term="pycon"></category><category term="pycon2011"></category></entry><entry><title>Saturday Afternoon Lightning Talks</title><link href="https://pyvideo.org/pycon-us-2011/pycon-2011--saturday-afternoon-lightning-talks.html" rel="alternate"></link><published>2011-03-11T00:00:00+00:00</published><updated>2011-03-11T00:00:00+00:00</updated><author><name>Various speakers</name></author><id>tag:pyvideo.org,2011-03-11:/pycon-us-2011/pycon-2011--saturday-afternoon-lightning-talks.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;Saturday afternoon lightning talks&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Saturday Afternoon Lightning Talks&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;00:00 Eric Holscher - Read the Docs
(&lt;a class="reference external" href="http://readthedocs.org/"&gt;readthedocs.org&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;05:25 Nate Aune - DjangoZoom
(&lt;a class="reference external" href="http://djangozoom.com/"&gt;DjangoZoom&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;09:40 Paul Smith - Update on Japan&lt;/li&gt;
&lt;li&gt;12:40 Phillip von Weitershausen - The English of Programming
Languages (JavaScript)&lt;/li&gt;
&lt;li&gt;18:15 Henrique Bastos - Community Bootstrap&lt;/li&gt;
&lt;li&gt;24 …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;Saturday afternoon lightning talks&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Saturday Afternoon Lightning Talks&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;00:00 Eric Holscher - Read the Docs
(&lt;a class="reference external" href="http://readthedocs.org/"&gt;readthedocs.org&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;05:25 Nate Aune - DjangoZoom
(&lt;a class="reference external" href="http://djangozoom.com/"&gt;DjangoZoom&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;09:40 Paul Smith - Update on Japan&lt;/li&gt;
&lt;li&gt;12:40 Phillip von Weitershausen - The English of Programming
Languages (JavaScript)&lt;/li&gt;
&lt;li&gt;18:15 Henrique Bastos - Community Bootstrap&lt;/li&gt;
&lt;li&gt;24:00 Barry Warsaw - flufl.i18n library
(&lt;a class="reference external" href="https://launchpad.net/flufl.i18n"&gt;https://launchpad.net/flufl.i18n&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;31:20 Aron Griffis - Window Manglement with PyWO
(&lt;a class="reference external" href="http://code.google.com/p/pywo/"&gt;http://code.google.com/p/pywo/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;35:00 Josiah Carlson - Over-Engineering for Dummies&lt;/li&gt;
&lt;li&gt;40:35 Grace Law - Get the job you want&lt;/li&gt;
&lt;/ul&gt;
</content><category term="PyCon US 2011"></category><category term="lightning talks"></category><category term="djangozoom"></category><category term="engineering"></category><category term="flufl.i18n"></category><category term="interviewing"></category><category term="javascript"></category><category term="pycon"></category><category term="pycon2011"></category><category term="pywo"></category><category term="readthedocs"></category><category term="sphinx"></category></entry></feed>