A mix of conceptual and hands-on training: how to tame complexity, and increase developer happiness, in medium and large size Plone and Pyramid projects. Motto: don’t just do, think!

Instructor: Carlos de la Guardia, Guido Stevens

Length: 2 day

Target Audience: Developer

 

  • Prerequisites: Experience as a python developer with either Plone or Pyramid. It is not a requirement to have followed Mastering Plone 5 development.
  • Things to Bring: Laptop with to-be-provided development buildout. The coding examples will be in a Plone-flavoured Pyramid (so actually not in Plone).
  • What topics will be covered? 
      • Why the path of least resistance predictably ends in a hairball hell maze
      • How you too can use Test Driven Development to write robust, flexible, maintainable code with more fun in less time
      • Specify contracts with Interfaces, singletons with Utilities
      • Separate concerns with Adapters: loose coupling, high cohesion
      • Views are Multi-Adapters, and templates should be dumb string interpolators
      • Inter-Object Communication with Events, Subscribers
      • Selectively modify a complex system, without touching upstream code 
  • What will you learn? 
      • As a web developer, learn how to solve complex problems by combining relatively simple building blocks in smart ways, so you can write more powerful code in less time
      • As a web developer, understand how both Pyramid and Plone pervasively rely on the Zope Component Architecture, so you can be more effective in re-using and selectively overriding existing add-on and core code behaviours
      • As a Plone core developer, or Pyramid core developer, deepen your technical proficiency in contributing to, and working with, your framework of choice 
  • Notes: 
    • While this course covers the Zope Component Architecture, it has nothing to do with the Zope system. This course is about smart python programming with powerful tools that happen to live in the zope.* namespace. To make that point abundantly clear, the coding exercises require neither Plone nor Zope.