Python Programmering Videregående
Beskrivelse
Kurset er henvendt til dig, der virkelig skal i dybden med Python som udvikler, og som skal anvende sproget til store opgaver hvor sikkerhed og korrekthed er i højsædet.
Python kan meget mere end simple scripts - det kan anvendes til at lave meget avancerede datamodeller, der går ud over de rent objektorienterede dele af sproget. I mange konkrete situationer fra den virkelige verden, er funktioner mere anvendelige. Vi kommer i kurset ind på, hvordan man kan anvende funktioner, der kører optimalt og uden skjulte sideeffekter, som kompromitterer kodesikkerheden - lambdaer og closures.
Vi også kommer ind på, hvordan Python bærer sig an med at få forbindelse til traditionelle relationsdatabaser, der anvender SQL til at udtrække data fra store databaser som Microsofts SQL Server, Oracle, DB2. Hvis man ikke passer på, kan man åbne databasen for angreb udefra. Her har Python sine metoder til at sikre data-integriteten.
Vi sammenkobler SQL med det objektorienterede i form af SqlAlchemys ORM-koncept - en mekanisme, der skjuler SQL-niveauet til fordel for klasser, hvilket gør at man ikke skal kode direkte i SQL.
Samtidig dækker kurset performance i Python og vi arbejder med bl.a. multithreading og multiprocessing til at forbedre through-put. Vi kommer ind på elementer, der kan ødelægge performance, fx deadlocks, race-conditions og overdreven låsning af ressourcer. Hvis mekanismerne bruges korrekt, kan vi danne det første kode-grundlag for store systemer som e-commerce og customer-management systemer.
For at få disse systemer til at fungere, kræver det at Python kan benytte client/server modellen. Vi gennemgår mulighederne i socket-baserede vs. URI-baserede programmer, og øver os i at få både klient-koden og server-koden til at fungere.
I stedet for at sende information mellem klient og server, kan vi med fordel anvende XML til at strukturere data på en måde, hvorpå data bliver selvverificerende. I praksis vil Python helst bruge JSON-formatet, da dette er langt nemmere at arbejde med. Dette får du også erfaring med på kurset.
Certificeringspakker
Moduloversigt
- Modul 1Avancerede datastrukturer i Python
Lambdaer, anonyme funktioner og functors
Closures til sikker programmering uden side-effekter
Traditionelle lambda-operationer (filter, map, reduce)
Comprehensions
Decorator-funktioner og generators
Pipelines og data-streams
- Modul 2Objektorienteret Python
Basale design patterns i python
Multiple versus singular inheritance
Interface- og mixin klasser
Operator-overload
- Modul 3Python og multiprogrammering
Threads
Basal låsning og kritiske regioner
Reentrant locks og conditionals
Producer/consumer problematikken
Threads versus processer
Sub-processes - kommunikation med operativsystemet
Interaktion mellem processer - Queues og pipelines
asyncio - sikring af maksimal I/O uden brug af tråde
- Modul 4Python og client/server programmering
Socket baseret programmering
URL-baseret programmering
- Modul 5Python og anvendelse af databaser
Valg af korrekt driver til databasen
SQLAlchemy og Object Relational Model (ORM)
- Modul 6Python og markup-formater
XML, korrekthed og verificerbarhed
JSON som erstatning for XML
Er du i tvivl?
Det ligger os meget på sinde, at du finder det kursusforløb, der skaber størst værdi for dig og din arbejdsplads. Tag fat i vores kursusrådgivere, de sidder klar til at hjælpe dig!