Python developer - course 35,000 rub. from Slurm, training, Date: November 30, 2023.
Miscellaneous / / December 03, 2023
Program
276 hours of theory
37 hours of practice
2 years access 14 topics
Introductory lecture
Let us introduce you to the speaker using the example of an introductory lecture to the workshop.
Introduction
Introduction to the course
Access to the course repository
Before you start
Goal: configured with Git, knowledge of alternatives and understanding of basic terms
Theory (0.8 academic. h):
Creating an account and setting up Github.
Setting up SSH.
Basic knowledge about memory and processor.
A story about compilers and interpreters.
Practice (1 academic. h):
Create a new repository.
Describe its purpose in READ.ME.
Push to Github.
Make repository visibility settings.
Basics
Goal: Fully configured infrastructure (dependency management, version control, virtual environments).
Theory (0.7 academic. h):
The first programs from the IDE or from a file.
IDE: Visual Studio Code, benefits and customization, alternatives.
PyCharm - Idea.
PEP8.
linter code standards.
Practice (14 academic. h):
Download the project from Github.
Make VE via PIPENV.
Install dependencies and run.
Use Poetry instead of PIPENV, use it inside the IDE.
Automatic check by linters.
Python programming language
Goal: learn to write simple programs, solve basic problems, and correctly use data types.
Theory (1.6 academic. h):
Variables and built-in types.
Data structures.
Strings and formatting.
Dictionaries and sets.
Comprehensions, lambda, filter, map, collections.
Practice (12 academic. h):
Modify examples.
Working with libraries: connect, use functions.
Recursive traversal of dictionaries and graph traversal, complex filtering, nested components.
Bracket validator.
Testing
Goal: understand the terms, learn to write unit tests and completely cover your solutions with tests.
Theory (0.6 academic. h):
Testing basics: unittest, pytest, coverage.
Practice (14 academic. h):
Cover previous tasks that were launched on Github with tests and check them through Coverage.
Set up Github actions for tests and Coverage.
Interaction with the OS
Goal: to understand standard issues and general principles of working with the network.
Theory (1.5 academic. h):
What is OS, process and thread, GIL, Linux\POSIX, file system.
Working with the network in the OS.
Practice (14 academic. h):
Repeat and modify use cases.
Working with a random string generator to a file.
Reading a file, sorting lines, writing a file.
Speeding up the string generator using multiprocessing.
Desktop – PyQt
Goal: understand standard issues, learn how to use inheritance and write a simple program in Qt.
Theory (3.4 academic. h):
OOP basics: inheritance, polyorphism, MRO.
OOP in Python.
PyQt widgets.
Review of QML technology: comparison with JavaScript, discussion of MVC, separation of frontend and backend.
Practice (20 academic. h):
Repeat and modify use cases.
Write a simple application of 6-10 elements.
Rewrite the previous example from widgets to QML.
PyGame Desktop
Goal: learn to use pygame and consolidate previous knowledge.
Theory (0.7 academic. h):
Search for examples on Github.
Launch, demonstration without code analysis.
Practice (3 academic. h):
Expand the functionality of what you wrote.
Write a menu with buttons and your own cursor.
Database
Goal: understand what SQL is, what types of storage and tools there are.
Theory (0.9 academic. h):
SQL Basics.
Types of storage and databases.
Review of the most popular tools.
ORM general information, CRUD.
Active Record vs Data Mapper.
Practice (2 academic. h):
Modify the code from the lesson.
Combine the results of practice from this module and from the lesson about working with the network.
Writing a bot
Goal: understand how bots work and what the API is.
Theory (0.5 academic. h):
What is an API? Read the documentation.
Download the library and try a simple example.
We write our own simple bot, like a request from YouTube or Wikipedia.
Practice (15 academic. h):
Combine the result of previous practice with the bot.
Write your own bot with buttons in Telegram.
WEB basics
Goal: to understand how websites and web services are written, what protocols and API design tools are available.
Theory (0.8 academic. h):
What is web and what is it eaten with?
The place of Python in the web, an overview of frameworks.
How to design: ApiFirst, design styles, OpenAPI.
SOAP, RPC.
Practice (6 academic. h):
Working on the final project.
Django
Goal: learn to write a backend in Django.
Theory (0.9 academic. h):
Django basics: connecting a database, setting up Hello World.
We design an API for the backend.
We connect DRF.
Create a controller for posts.
Practice (15 academic. h):
Write a controller for comments and tests for controllers.
Add a system of dialogues (responses) in the comments.
Add authorization.
Further development
Course "Git for Beginners" - only on the "Retraining" tariff
Required minimum theory (3 academic. h) and 67 practical tasks (32 academic. h):
Team development philosophy.
Popular software development hosting sites.
Git Basics.
Practices of using Git in teams.
Personal Git configuration for convenient work.
Course "Basic administration of Linux servers" - only on the "Retraining" tariff
Knowledge and skills that are necessary to learn how to use the Linux operating system (7 academic. h theory and 40 academic. hours of practice):
Introduction.
How to connect to the server via SSH.
Basics of working with the OS (permissions, commands). How to work with the server. How to copy files, folders.
Analysis of system services. How Linux works.
Network basics.
How to install the necessary software on the server.
How to manually deploy your site.
Virtualization, virtual machines and their features.
Possible server problems, their diagnosis and solutions.
Server optimization.
Basics about Docker containerization.
Working with Git.
Course “Docker: from zero to hero” - only on the “Retraining” tariff
Maximum practical knowledge about Docker. From the basics to running an application in Docker and working with images at an advanced level (15 academic. h. theory and 88 academic. h. practices):
Introduction to Docker.
Basic Docker commands and abstractions. CLI. General scheme of how Docker works.
Docker and data storage.
Docker-compose file.
Docker and CI/CD.
Networking in Docker.
Docker under the hood.
Features of using Docker with various programming languages, including compiled languages.
Logging and monitoring of Docker containers.
Advanced work with images. Setting up your own Registry.
Security in Docker.
Analogues of Docker.
Docker orchestration. Kubernetes, Docker SWARM. Differences, features, why it is needed.