Python Fundamentals Object Oriented Python: Web Development With Django Unit Testing With Python (Pytest) Design Patterns
Python Fundamentals Object Oriented Python: Web Development With Django Unit Testing With Python (Pytest) Design Patterns
We are ready to serve Latest Testing Trends, Are you ready to learn.
START DATE :
TIMINGS :
DURATION :
TYPE OF BATCH :
FEE :
FACULTY NAME :
Python Fundamentals
Getting Started
1. Getting Started with Python
a. Python 2 vs Python 3
b. Python Installation
c. Python Culture and Zen of Python
d. Significant Whitespace
e. Python Standard Library
f. Python Syntax
2. How Python Runs Programs
a. Introduction to Python Interpreter
b. Program Execution
c. Execution Model Variants
3. How You Run Programs
a. Interactive Prompt
b. System Command Lines and Files
c. Unix Style Executable Scripts
d. Clicking File Icons
e. Module Imports and Reloads
f. Using exec to Run Module Files
g. The IDLE User Interfaces
h. Other IDEs
i. Other Launch Options
j. Which Option Should I Use?
4. Developer Environment Setup
a. Visual Studio Code
b. PyCharm
Types and Operators
5. Introduction to Python Object Types
a. Conceptual Hierarchy
b. Why use Built-in Types?
c. Python’s core Data types
d. Numbers
e. Strings
i. Sequence Operations
ii. Immutability
iii. Type-Specific Methods
iv. Getting Help
v. Other Ways to Code Strings
vi. Unicode Strings
vii. Pattern Matching
f. Lists
i. Sequence Operations
ii. Type Specific Operations
iii. Bound Checking
iv. Nesting
v. Comprehensions
g. Dictionaries
i. Mapping Operations
ii. Nesting
iii. Missing Keys
iv. Soring Keys
v. Iterations & Optimization
h. Tuples
i. Why tuples?
i. Files
j. Other Core Types
6. Numeric Types
a. Basics
b. Numbers in Action
c. Other Numeric Types
i. Decimal
ii. Fraction
iii. Sets
iv. Booleans
d. Numeric Extensions
7. Dynamic Typing
a. Missing Declaration Statements
b. Shared References
c. Dynamic Typing Is Everywhere
8. String Fundamentals
a. String Basics
b. String Literals
i. Single, Double, Triple Quotes
ii. Escape Sequences
c. Strings in Action
i. Basic Operations
ii. Indexing and Slicing
iii. String Conversion Tools
d. String Methods
e. String Formatting Expressions and Methods
9. Lists and Dictionaries
a. Lists
b. Lists in Action
c. Dictionaries
d. Dictionaries in Action
10. Tuples, Files
a. Tuples
i. Tuples in Action
b. Files
i. Opening Files
ii. Using Files
iii. Files in Action
iv. Text and Binary Files
v. Storing Python Objects in Files: Conversions
vi. Storing Native Python Objects: pickle
vii. Storing Python Objects in JSON Format
viii. File Context Mangers
ix. Other File Tools
c. Core Types Review & Summary
i. Object Flexibility
ii. References vs Copies
iii. Comparisons, Equality and Truth
iv. Meaning of True and False in Python
v. Python Type Hierarchies
vi. Type Objects
d. Function Gotchas
25. Effective Python (Python Best Practices)
a. Functions
b. Comprehensions and Generators
e. Metaclass Methods
12. Logging and Tracing
a. Logger Objects
b. Logger Levels
c. Formatter
d. Filter Objects
e. Log Record Objects and Attributes
f. Logger Adapter Objects
13. Concurrency
a. Starting and Stopping Threads
b. Thread Communications
c. Locking Critical Sections
d. Locking with Deadlock Avoidance
e. Storing Thread Specific State
f. Creating a Thread Pool
g. Performing a d Simple Parallel Programming
h. Dealing with GIL
i. Defining an Actor Task
j. Implementing Publish/Subscribe Messaging
k. Polling Multiple Thread Queues
14. Effective Python (Best Practices)
a. Classes and Interfaces
b. Metaclasses and Attributes
c. Concurrency and Parallelism
d. Robustness and Performance
e. Testing and Debugging
f. Collaboration
1. Simple tags
2. Inclusion tags
3. Assignment tags
h. Advanced custom template tags
i. A quick overview
ii. Writing the compilation function
iii. Writing the renderer
iv. Auto-escaping Considerations
v. Thread-safety Considerations
vi. Registering the tag
vii. Passing template variables to The Tag
viii. Setting a variable in the context
1. Variable scope in context
ix. Parsing until another block tag
x. Parsing until another block tag, and saving contents
9. Advanced Models
a. Related objects
i. Accessing ForeignKey values
ii. Accessing many-to-many values
b. Managers
i. Adding extra manager methods
ii. Modifying initial manager QuerySets
c. Model methods
i. Overriding predefined model methods
d. Executing raw SQL queries
e. Performing raw queries
i. Model table names
ii. Mapping query fields to model fields
iii. Index lookups
iv. Deferring model fields
v. Adding annotations
vi. Passing parameters into raw()
f. Executing custom SQL directly
i. Connections and cursors
ii. Adding extra Manager methods
10. Generic Views
a. Generic views of objects
b. Making "friendly" template contexts
c. Adding extra context
d. Viewing subsets of objects
e. Dynamic filtering
f. Performing extra work
11. User Authentication in Django
a. Overview
b. Using the Django authentication system
c. User objects
i. Creating superusers
ii. Creating users
iii. Changing passwords
d. Permissions and authorization
i. Default permissions
ii. Groups
iii. Programmatically creating permissions
iv. Permission caching
e. Authentication in web requests
i. How to log a user in
ii. How to log a user out
iii. Limiting access to logged-in users
1. The raw way
2. The login_required decorator
3. Limiting access to logged-in users that pass a test
4. The permission_required() decorator
5. Session invalidation on password change
f. Authentication views
i. Login
ii. Logout
iii. Logout_then_login
iv. Password_change
v. Password_change_done
vi. Password_reset
vii. Password_reset_done
viii. Password_reset_confirm
ix. Password_reset_complete
x. The redirect_to_login helper function
xi. Built-in forms
g. Authenticating data in templates
i. Users
ii. Permissions
h. Managing users in the admin
i. Creating users
e. Testing Plugins
f. Creating a Distribution
6. Configuration
a. Understanding pytest Configuration Files
b. Changing the Default Command-Line Options
c. Registering Markers to Avoid Marker Typos
d. Requiring a Minimum pytest Version
e. Stopping pytest from Looking in the Wrong Places
f. Specifying Test Directory Locations
g. Changing Test Discovery Rules
h. Disallowing XPASS
i. Avoiding Filename Collisions
7. Using Pytest with Other Tools
a. pdb: Debugging Test Failures
b. Coverage.py: Determining How Much Code Is Tested
c. mock: Swapping Out Part of the System
d. tox: Testing Multiple Configurations
e. Jenkins CI: Automating Your Automated Tests
f. Unit Test: Running Legacy Tests with pytest
Design Patterns
1. The Factory Pattern
2. The Builder Pattern
3. Other Creational Patterns
a. Prototype Pattern
b. Singleton Pattern
4. The Adapter Pattern
5. The Decorator Pattern
6. The Bridge Pattern
7. The Facade Pattern
8. Other Structural Patterns
a. The flyweight Pattern
b. Model View Controller Pattern
c. Proxy Pattern
9. The Chain of Responsibility Pattern
10. The Command Pattern
11. The Observer Pattern
12. The State Pattern
13. Other Behavioral Patterns
a. Interpreter Pattern
b. Strategy Pattern
c. Memento Pattern
d. Iterator Pattern
e. Template Pattern
14. Microservices and the Pattern for the Cloud
a. The Microservices Pattern
b. The Retry Pattern
c. The Circuit Breaker Pattern
d. The Cache-Aside Pattern
e. Throttling
Unit Testing
Micro Database Design with Python
Services Programming Patterns (pytest)
Introduction to Microservices
1. Design, Plan and Execute
a. The traditional monolith approach and its problems
b. The characteristics of a microservices approach
i. Docker containers
ii. Container orchestration and Kubernetes
c. Parallel deployment and development speed
d. Strategic planning to break the monolith
i. The replacement approach
ii. The divide approach
iii. Change and structure approach
e. Executing the move
i. The load balancer
ii. Keeping the balance between new and old
1. Pilot phase
2. Consolidation phase
3. Final phase
1. Grafana UI
2. Querying Prometheus
3. Updating dashboards
xi. Being proactive
1. Alerting
2. Being prepared
10. Handling Change, Dependencies, and Secrets in the System
a. Understanding shared configurations across microservices
i. Adding the ConfigMap file
1. Using kubectl commands
ii. Adding ConfigMap to the deployment
1. Thoughts Backend ConfigMap configuration
2. Users Backend ConfigMap configuration
3. Frontend ConfigMap configuration
iii. Handling Kubernetes secrets
1. Storing secrets in Kubernetes
2. Creating the secrets
a. Storing the secrets in the cluster
b. Secret deployment configuration
c. Retrieving the secrets by the applications
iv. Defining a new feature affecting multiple services
1. Deploying one change at a time
2. Rolling back the microservices
v. Dealing with service dependencies
1. Versioning the services
a. Semantic versioning
2. Adding a version endpoint
a. Obtaining the version
b. Storing the version in the image
c. Implementing the version endpoint
3. Checking the version
a. Required version
b. The main function
4. Checking the version
Design Patterns
15. The Factory Pattern
16. The Builder Pattern
17. Other Creational Patterns
a. Prototype Pattern
b. Singleton Pattern
18. The Adapter Pattern
19. The Decorator Pattern
20. The Bridge Pattern
21. The Facade Pattern
22. Other Structural Patterns
a. The flyweight Pattern
b. Model View Controller Pattern
c. Proxy Pattern
23. The Chain of Responsibility Pattern
24. The Command Pattern
25. The Observer Pattern
26. The State Pattern
27. Other Behavioral Patterns
a. Interpreter Pattern
b. Strategy Pattern
c. Memento Pattern
d. Iterator Pattern
e. Template Pattern
28. Microservices and the Pattern for the Cloud
a. The Microservices Pattern
b. The Retry Pattern
c. The Circuit Breaker Pattern
d. The Cache-Aside Pattern
e. Throttling
e. Testing Plugins
f. Creating a Distribution
13. Configuration
a. Understanding pytest Configuration Files
b. Changing the Default Command-Line Options
c. Registering Markers to Avoid Marker Typos
d. Requiring a Minimum pytest Version
e. Stopping pytest from Looking in the Wrong Places
f. Specifying Test Directory Locations
g. Changing Test Discovery Rules
h. Disallowing XPASS
i. Avoiding Filename Collisions
14. Using Pytest with Other Tools
a. pdb: Debugging Test Failures
b. Coverage.py: Determining How Much Code Is Tested
c. mock: Swapping Out Part of the System
d. tox: Testing Multiple Configurations
e. Jenkins CI: Automating Your Automated Tests
f. Unit Test: Running Legacy Tests with pytest