'Y'

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.
Code: SCRIPT-007
Duration: 30 hours

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.

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

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


Schedule in Online Prices
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
Online €450
Bucharest €450
Krakow €450
Wroclaw €450

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. Price does not include VAT.

Courses you may be interested in:
SCRIPT-002
20 hours
SCRIPT-006
40 hours

Sign up

First Name*
Last Name*
Company
Email*
Preferred Location
Phone
Your Comment
Still have questions?
Connect with us
Thank you.
Your request has been received.