Use Software Architecture with Python course and lab to get to know how Python fits into an application architecture. The lab is cloud-based, device-enabled, and can easily be integrated with an LMS. The software architecture training will help you gain an understanding of the different architectural quality requirements to help build a product that satisfies business needs. The course also provides knowledge and skills required to work with various techniques such as incorporating DevOps, Continuous Integration, and more to make your application robust.

starstarstarstarstar_outline

* Actual course outline may vary depending on offering center. Contact your sales representative for more information.

Learning Objectives

The course provides knowledge and skills required to work with various techniques such as incorporating DevOps, Continuous Integration, and more to make your application robust.

1
  • Preface

  • What this course covers
    Conventions

2
  • Principles of Software Architecture

  • Defining software architecture
    Characteristics of software architecture
    Importance of software architecture
    System versus enterprise architecture
    Architectural quality attributes
    Summary

3
  • Writing Modifiable and Readable Code

  • What is modifiability?
    Aspects related to modifiability
    Understanding readability
    Fundamentals of modifiability – cohesion and coupling
    Exploring strategies for modifiability
    Metrics – tools for static analysis
    Refactoring code
    Summary

4
  • Testability – Writing Testable Code

  • Understanding testability
    White-box testing principles
    Summary

5
  • Good Performance is Rewarding!

  • What is performance?
    Software performance engineering
    Performance testing and measurement tools
    Performance complexity
    Measuring performance
    Profiling
    Other tools
    Programming for performance – data structures
    Summary

6
  • Writing Applications that Scale

  • Scalability and performance
    Concurrency
    Thumbnail generator
    Multithreading – Python and GIL
    Multithreading versus multiprocessing
    Pre-emptive versus cooperative multitasking
    The asyncio module in Python
    Waiting for a future – async and await
    Concurrent futures – high-level concurrent processing
    Scaling for the web
    Scaling workflows – message queues and task queues
    Celery – a distributed task queue
    Summary

7
  • Security – Writing Secure Code

  • Information security architecture
    Secure coding
    Common security vulnerabilities
    Is Python secure?
    Security issues with web applications
    Strategies for security – Python
    Secure coding strategies
    Summary

8
  • Design Patterns in Python

  • Design patterns – elements
    Categories of design patterns
    Patterns in Python – creational
    Patterns in Python – structural
    Patterns in Python – behavioral
    Summary

9
  • Python – Architectural Patterns

  • Introducing MVC
    Event-driven programming
    Microservice architecture
    Pipe and Filter architectures
    Summary

10
  • Deploying Python Applications

  • Deployability
    Tiers of software deployment architecture
    Software deployment in Python
    Deployment – patterns and best practices
    Summary

11
  • Techniques for Debugging

  • Maximum subarray problem
    Simple debugging tricks and techniques
    Logging as a debugging technique
    Debugging tools – using debuggers
    Advanced debugging – tracing
    Summary

12
  • Appendix - A

  • Installing Python
    Running Python
    Basic syntax
    Conditional statements and loops
    Data structures
    Functions
    Summary

13
  • Appendix - B

  • Object-oriented programming
    Modules and packages
    File operations
    Error and exception handling
    Summary

Audience

Developers and software architects looking to improve their Python skills will benefit.

Language

English

Prerequisites

While there are no prerequisites for this course, please ensure you have the right level of experience to be successful in this training.

Length: 365.0 days ( hours)

Level:

Not Your Location? Change

Course Schedule:

To request a custom delivery, please chat with an expert.

Loading...