Software Architecture with Python

(SOFTWARE-ARC-PYTHON.AJ1) / ISBN : 978-1-64459-218-2
This course includes
Interactive Lessons
Gamified TestPrep
Hands-On Labs
AI Tutor (Add-on)
193 Reviews
Get A Free Trial

About This Course

Skills You’ll Get

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
-

Appendix - A

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

Appendix - B

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

1

Writing Modifiable and Readable Code

  • Documenting the Code
  • Understanding the Concept of Cohesion
  • Finding the McCabe Metric
  • Running a Static Checker
  • Fixing Code Smells by Refactoring the Code
  • Fixing Code Complexity by Refactoring the Code
2

Testability – Writing Testable Code

  • Measuring Code Coverage
  • Unit Testing a Module
  • Using Test-Driven Development
  • Unit Testing Using doctest
3

Good Performance is Rewarding!

  • Measuring the Performance of Code Using timeit
  • Collecting and Reporting Statistics
  • Profiling with cProfile
  • Implementing an LRU Cache Dictionary
4

Writing Applications that Scale

  • Using the Multiprocessing Pool Object
  • Creating a Co-operative Multitasking Scheduler Using Simple Python Generators
  • Using the asyncio Module
  • Using async and await
  • Using the concurrent.futures Module
5

Security – Writing Secure Code

  • Serializing an object using code jail
  • Making the Code Secure for Input
6

Techniques for Debugging

  • Debugging Maximum Subarray Problem
  • Generating Random Patient Data Using the schematics Library
  • Debugging the Word Searcher Program
  • Creating a Log File Using Logger Objects
  • Creating a Simple Log File
  • Debugging with pdb

Software Architecture with Python

$ 433.42

Buy Now

Related Courses

All Course
scroll to top