Python: Advanced Automation
- The understanding and analytic method for finding automation possibilities in any given complex system
- The principles for how to actually implement maximum automation to reduce manual tasks to the minimum, to what actually needs human intervention/choice and leave machine tasks to machine
- A practical, hands on approach on how to implement automation in real life, using python with a working, live automation system
- ... Starting with all the required ground courses on Python, CMses, Bash, Databases..
-
CMS / JOOMLA - DATABASES
- A quick history of CMSes: How they came to be, what need they filled, what their purpose is - 15 MNS
THE ARCHITECTURE AND PRINCIPLES OF A CMS - 1H
DATABASE - 5H
- What is a Database?
- For what and how is it used?
- What are the different types/topologies?
- Db, Table, rows, Keys (Primaty, Foreign, Index)
- SQL language: CRUD
- Tools: Functions, Stored procedures, Queues…
- Processes: Indexation, Optimization, Load management...
EXERCISE
- Simple INSERT from studens databases
- Complex INSERT
- Simple SELECT from studens databases
- Complex SELECT (JOIN)
- Simple UPDATE on single rows
- Complex UPDATE on multiple rows
- Simple DELETE on single rows
- Complex DELETE on multiple rowsTHE ELEMENT AND TOOLS OF A CMS (ARTICLE / PAGE, LISTS, EDITOR, EXTENSIONS) - 1H
JOOMLA - 3H
- Components
- Code: Principles, Architecture
- Plugin, modules (components)
* Major: K2
* Advanced modules
* Providers: Previously Shape5EXERCISE
- Write and publish a well formatted article, with at least one intro image
|Home page modules|
- Set the article in at least Home page module
- Have the article appear in the main slider
|Evaluation|- How much time did this take you?
- How much time would it take to do the same for, say, 20 articles...? -
PYTHON TRAINING PROGRAM
THE PRINCIPLES OF A PROGRAM - 3H
We'll quickly go through this and keep this map opened, to fill it on the go...
- What is a program?
- Writing a program: syntax and instructions.
- What is a function, what is a library? What are their roles and uses ?
- The Python language and ecosystem.EXERCISE
- | Writing and running a "Hello world" Python programFUNDAMENTALS OF PROGRAMMING LANGUAGES AND PYTHON - 6H
Based on real life, simple and practical example...
- Variables, what are they?
- Types of variables: integers, reals, character strings...
- Declaration, definition and initialization...
- The different (boolean) operators
- Control structures (loops, tests).
- Advanced data structures (tuples, lists, dictionaries).
- The most useful functions.
EXERCISE
- Various exercises to become familiar with the syntax: manipulation of variables, operators, selection and loops.ALGORITHMIC - 2H
Same, based on real life, simple and practical example… using all of the above...PYTHON PROGRAMMING, ENVIRONMENTS - 3H
Use a Python distribution.
Libraries
Tools: pip - Install third-party packages and libraries
IDE power, flavors and choice
Virtual environment (mention only)EXERCISE
- Choose a python distribution, specify compatibility/upgrade path
- Structure your project with an IDE
- Search for a library, for a specific need/usageEXTRA - 1H
> This is will be seen in practice/effect during the course, within the real life system we will work with:
- Learn error handling and debugging
- Use logging to debug your code
- Learn how to document your code
> This will be seen as an extra example
- ⚠️VERY IMPORTANT: How to test your code with unit testsBASH
- A quick history and view of the evolution of the commande live
WHY IT'S (VERY) IMPORTANT - 15mns
- Why using BASH/The command line gives you the deeper access and understanding to (your) machines you need to more efficiently use them...
PRINCIPLES - 2H
- OS & API
- Commands, (types of) arguments
- Input, Output, Piping
- Regular expressions
- Advanced commands
- Most common commands
- MySql Commands
- Using python in combination with BASH
EXERCISES
- Navigate to your downloads folder and list the files
| As a simple list
| As a human readable detailed list
| Ordering files inverse chronologically (most recent first)
| Search text in files, in all subdirectories too
- Open a connection to our local database
| List all tables
| Select 10 results from a table of your choice
- BONUS: Replace '2022' by '2023' in a folder with one command -
PYTHON: ADVANCED AUTOMATION - I
PURPOSE
- (Dramatic) time gain
- Process simplification
- Ultimately: Empowering the end userINTRODUCTION - 1H
Based on the live, running scripts that we will be working with:
- A case study of the initial problem
- Presentation and demo of the Solution
- General presentation of the architectureANALYSIS - 2H
- A full (functional and technical) analysis of the Issue/Problem
- Solution project: Definition, and proposal for an end result, and the step-by-step process with Intermediate results
- Feasibility: Components, flows, automations, simplifications
YOUR PROJECT - 1H
EXERCISE
- Presentation
- General view: Collective analysisIMPLEMENTATION - 7H
ANALYSIS
- Mistakes, errors, and possible improvements...
HANDS-ON
- Component - Database: Queries, DAL, cmd
- Component - Generators: Structured texts, html, json, SQL...
- Component - CMD: commands, sequences, parameters...
- Component - Application: Launch, input/output, termination -
PYTHON: ADVANCED AUTOMATION - II
YOUR PROJECT - 1H
EXERCISE
- Implementation: Collective overviewIMPROVEMENT - 2H
HANDS-ON
- Implementation of a chosen improvement of existing solutionUSER INTERFACE - 5H
ANALYSIS
- Native vs Web
- Web: Full UI switch analysis
| Modules
| Calls, Results, Reads...
| Implementation analysisHANDS-ON
- Implementation: Chosen moduleYOUR PROJECT - 2H
EXERCISE
- Full UI Switch implementation analysisCONCLUSION - 2H
- General principles review
- General reviewEXERCISE
- Your projects: We end working on your projectsNext steps...
About your trainer
Programmer by trade, project manager and business developer by experience and training, psychologist by natural concern... 20 years of various experiences in development, management and leadership are the basis of these courses....