Code: PRG404
Duur in dagen: 3
Download: Open Rooster.pdf
Download: Infosheet
€ 1499

Cursus Advanced Python Programmeren

20-12 t/m 22-12-2017
15-01 t/m 17-01-2018
14-02 t/m 16-02-2018
14-03 t/m 16-03-2018
15-04 t/m 17-04-2018
Uw startdatum
Regio:

Doelgroep Cursus Advanced Python

Cursus-Advanced-Python-Programming Deze cursus is bedoeld voor Python developers die meer willen weten over de Python taal en die zich willen bekwamen in geavanceerde aspecten van Python.

Voorkennis Python

Om aan deze cursus te kunnen deelnemen is kennis van en ervaring met programmeren in Python vereist.

Uitvoering Training Python

De theorie wordt behandeld aan de hand van presentatie slides. Illustratieve demo’s verduidelijken de concepten. De theorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Advanced Python Programmeren

De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Advanced Python Programmeren.

Inhoud Cursus Advanced Python Programmeren

In de cursus Advanced Python komen geavanceerde aspecten van de programmeertaal Python aan de orde die de development van Python software vereenvoudigen en versnellen. Zo komen modules and packages aan de orde en leren deelnemers packages te uploaden en installeren in een virtuele omgeving. Aandacht wordt besteed aan het benaderen van XML en JSON data en wordt besproken hoe logging kan worden geimplementeerd in Python programma’s. Voorts komen iterators aan de orde die lazy evaluation mogelijk maken, evenals generators en coroutines waarmee concurrent geprogrammeerd kan worden. Tevens wordt ingegaan op decorators waarmee functionaliteit zoals caching en proxying, aan bestaande functies en classes kan worden toegevoegd. In de module patterns wordt de Python implementatie van verschillende Design Patterns behandeld en wordt vervolgens aandacht besteed hoe deze in de Python Library zijn geimplementeerd. Verder wordt aandacht besteed aan geavanceerde features zoals meta programming. Vervolgens wordt ingegaan op de creatie van processes en threads, synchronisatie tussen threads en het optimaliseren van de performance van Python code. Vervolgens wordt interproces communicatie door middel van sockets en pipes besproken. Tenslotte komt unit en mock testing aan bod in het kader van test automation.

Module 1 : Modules and Packages

Module 2 : XML en JSON Access

Module 3 : Logging

Creating modules
init_py and importing
Load and use modules
Role of Python path
Put modules into packages
Distribution of Packages
Installing packages
pip install
Using Python Package index
PyPI commands
Uploading package with setup
Creating a virtual environment
XML parsing
Pull versus Push parsing
Python XML Libraries
DOM and SAX
Minidom
ElementTree
Reading and Writing XML
Searching and Validating XML
XML Manipulation
JSON library
Dictionary to JSON conversion
Loading and Dumping JSON
Importance of Logging
Python logging
Logger Objects
Log levels
Handler objects
Formatters
Filters
LogRecord Objects
LogRecord Attributes
Log Adapters
Module level functions

Module 4 : Generators and Decorators

Module 5 : Patterns in Python

Module 6 : Meta Programming

What are Iterators?
Lazy evaluation
yielding versus returning
itertools module
What are Generators?
Generator expressions
Bidirectional communication
Chaining generators
Coroutines
What are Decorators?
Tweaking original object
Replacing original object
Decorators on classes
Decorators on functions
Examples in library
Deprecation of functions
while-loop removing decorator
EFAP principle
Singletons
Singleton variants
null Objects
null versus None
Proxies
Proxy examples
Observer
Publish and subscribe
Constructor
Pythonic principles
Dependency injections
Factories
Duck typing
Monkey patching
Callbacks
What are meta classes?
Default meta class
Dynamic classes
Creating classes
Creating object
Adding base classes
Adding fields
Adding methods
Meta class hook
Examining Objects
Introspection

Module 7 : Threads and Processes

Module 8 : Networking

Module 9 : Unit Testing

Multiple Processes
os module
Forking processes
Exec functions
Multiple threads
Types of threads
Kernel threads and user threads
threading module
Creating threads
Global Interpreter Lock (GIL)
Thread class
Managing threads
Thread synchronization
Locking and joining
Using queues
Optimization strategies
Caching
Psyco JIT Compiler
Network Layering
TCP/IP Layering
UDP versus TCP
TCPv4 versus TCPv6 sockets
Connectionless Services
Connection Oriented Services
Socket utility functions
Asynchronous Servers
Using pipes
Anonymous pipes
Named pipes
unittest module
Test cases
Assert statements
Test fixtures
Setup and Teardown
Test suites
Test runners
Command Line Interface
Test harnass
Test discovery
Skipping tests
Test automation
Mocking

Kantooradres:
SpiralTrain BV

Gebouw "De Sijnsmeester"
Standerdmolen 8 – 1.11
3995 AA Houten

IP Computer Training Centrum
Diemerhof 32-36
1112 XN Diemen

020 7600027
http://www.ip-computer-training-centrum.nl

Compu Act Opleidingen
Slinge 303
3085 ER Rotterdam

023 - 551 3409
www.computertraining.nl

Trainspot
Kleine Singel 33
3572 CG Utrecht

030 - 737 05 81
http://www.trainspot.nl

IP Computer Training Centrum
Leenderweg 292
5644 AE Eindhoven

040 - 256 65 20
http://www.ip-computer-training-centrum.nl