Building a Real Project with Python. Advanced Level
Discover how to use the Python programming language for the development of real back-end software products.
30 hours
Online
English
SCRIPT-007
Building a Real Project with Python. Advanced Level
Sign Up
Duration
30 hours
Location
Online
Language
English
Code
SCRIPT-007
Schedule and prices
€ 500
Training for 7-8 or more people? Customize trainings for your specific needs
Building a Real Project with Python. Advanced Level
Sign Up
Duration
30 hours
Location
Online
Language
English
Code
SCRIPT-007
Schedule and prices
€ 500
Training for 7-8 or more people? Customize trainings for your specific needs

Description

Python is an extremely powerful and dynamic programming language that can be used in various application areas (including telecommunications). It is often compared with Tcl, Perl, Ruby, Scheme, or Java. This training will help you acquire advanced Python programming skills by taking part in the development of a real back-end software product.

During the course we will go through some of the key areas such as: file system interactions, object-oriented programming, cryptography, asynchronous programming, back-end software development, interactions with databases, multithreading, and package assembly.
After completing the course, a certificate
is issued on the Luxoft Training form

Objectives

  • How to use Python for file system interactions
  • Learn to properly support code
  • Write automated tests based on the Pytest framework
  • Review the paradigm of object-oriented programming
  • How to use Python for solving cryptography tasks
  • Transferring program code from Python 2 to Python 3
  • Explore the concept of asynchronous programming in Python
  • Learn to develop a web server
  • Explore the capabilities of Python for working with databases
  • Manage access to application resources
  • How to write a multithread file loader
  • Build your own installable Python package
  • Create your own software product

Target Audience

This training is aimed at software developers, system administrators, and QA engineers who want to learn how to develop, automate, and test applications and systems using one of the most powerful programming languages available today.

Prerequisites

  • Medium level knowledge of programming
  • Medium level knowledge of script languages
  • Understanding the principles of object-oriented programming
  • Basic knowledge of relational databases
  • Understanding the principles of HTTP
  • Passing the courses SCRIPT-002, SCRIPT-003
  • Ability to understand logical code threads

Roadmap

  • Introduction. Brief introduction into the course

    • Key features of Python
    • Version control systems (Git)
    • Gitflow model
    • Virtual environments
    • Virtual environment deployment
  • File server. Project description

    • Description of the project and project requirements
    • Project architecture
  • First prototype. Working with the file system

    • Working with the file system, context manager
    • Modules and imports
    • Environment variables
    • First prototype architecture
    • Developing the first prototype of a file server
  • Testing and maintenance

    • Main principles of code maintenance in Python
    • Standards of code formatting and documenting
    • Code testing. Pytest framework
    • Logging
    • Supporting Docstrings
    • Developing tests with the Pytest framework
    • Adding logging
  • Resources protection. Cryptography. Object-oriented programming

    • Object-oriented programming
    • Static class, singleton, meta-classes
    • Encapsulation in Python
    • Cryptography in Python, digital signatures
    • Hash functions
    • Symmetric and asymmetric encryption, hybrid encryption
    • Implementing OOP in a project
    • Implementation of static classes and singletons
    • Developing the functionality of file digital signatures
    • File encryption
  • Code transfer from Python 2 to Python 3

    • Differences between Python 2 and Python 3
    • Future package, algorithm of code transfer from Python 2 to Python 3
    • Code transfer from Python 2 to Python 3
  • Developing an asynchronous web server

    • GIL
    • Asynchronous programming in Python, asyncio
    • Coroutines and awaitable objects, event loop
    • Aiohttp server
    • Writing your own coroutines
    • Developing an aiohttp web server
    • Testing the developed web server
  • Authorization. Authentication. Using a database

    • Database structure
    • PostgreSQL DBMS
    • Database interactions in Python
    • Building SQL enquiries in Python
    • Supporting user accounts
    • User authentication and request authorization
    • Application interaction with a database
  • Assembly of Python packages

    • Python packages, package structure
    • Package assembly and installation
    • Assembly and installation of your own package
  • ADDITIONAL PART (based on audience expertise)

    • Implementation of a role-based access model
    • Role-based access model
    • ORM, SQL Alchemy
    • Implementing a role-based access restriction model
    • ORM implementation
    • Multithreaded file loader
    • Threads, demons, queues
    • Developing a multithreaded file loader
  • Show Entire Program
Schedule and prices
View:
Register for the next course
Registering in advance ensures you have priority. We’ll notify you when we schedule the next course on this topic
+
Courses you may be interested in
Python® Basics
This Python® training course leads the students from the basics of writing and running Python® scripts to more advanced features such as file operations, regular expressions, error handling, system and network programming and the use of the extensive functionality of Python® modules.
Object-oriented Programming in Python
We cover the application of object-oriented approach in Python. From encapsulation to polymorphism, from the simplest custom type of data to complex classes deeply integrated in Python.
Python Fundamentals
This complex training course helps participants understand the Python language from the basic aspects to the more advanced functions.
View Catalog
Your benefits
Expertise
Our trainers are industry experts, involved in software development project
Live training
Facilitated online so that you can interact with the trainer and other participants
Practice
A focus on helping you practice your new skills
Still have questions?
Connect with us
Thank you.
Your request has been received.
Thank you!
The form has been submitted successfully.