SQL alapismeretek
Adatbázisok történelme, fejlődése
- Mik az adatbázisok
- Fejlődésük
- Felhasználásuk kulcspontjai
A különböző adatbázismotorok áttekintése, telepítési lehetőségeik, főbb felhasználási területeik
Relációs adatbázisok alapjai
- Alapfogalmak
- Inkonzisztencia
- Redundancia
- Elemek
- Entitások
- Attribútumok
- Másodlagos
- Elsődleges
- Idegen
- Kapcsolatok
- Normalizálás
- 1. normálforma
- 2. normálforma
- 3. normálforma
- Boyce-Codd normálforma
- ER (Entity-Relationship) diagram
- Létrehozása, értelmezése, szabályai
- Gyakorlati megvalósítás
- Adatbázisok
- Táblák
- Rekordok
- Kapcsolatok
Az SQL nyelv alapjai
- Kifejlődése, fontossága
- Részegységei
- DDL (Data Definition Language)
- DML (Data Manipulation Language)
- DQL (Data Query Language)
- DCL (Data Control Language)
- DDL nyelv részei
- Az adatbázis szerkezeti felépítése
- Adatbázis, tábla, nézettábla, esemény indítók létrehozása (CREATE)
- Adatbázis, tábla, nézettábla, esemény indítók módosítása (ALTER)
- Adatbázis, tábla, nézettábla, esemény indítók törlése (DROP)
- DML nyelv részei
- Az adatbázis adatainak kezelése
- Adatok beszúrása (INSERT)
- Adatok módosítása (UPDATE)
- Adatok törlése (DELETE)
- DQL nyelv részei
- Az adatbázis adatainak kiolvasása, megjelenítése
- Adatbázis szerkezetének megtekintése (SHOW)
- Adatok lekérdezése táblából, nézettáblából (SELECT)
- DCL nyelv
- Az adatbázis jogok kiosztása
- Adatbázis jogok biztosítása (GRANT)
- Adatbázis jogok megtagadása (REWOKE)
Komplexebb lekérdezések
- Egybeágyazott lekérdezések
- Több táblás lekérdezések (JOIN)
Betekintés a tranzakciós adatbázisok működésébe
- Tranzakció lényege, működése
- ACID elvek
- TCL (Transaction Control Language) nyelv részei
- Különböző adatbáziskezelők tranzakciókezelésének áttekintése
NoSQL (mongoDb)
Mik azok a NoSQL rendszerek
- Adatbázisok történeti bevezetése
- Az adatbázisszemlélet áttekintése
- A relációs adatmodell és a NoSQL rendszerek összehasonlítása
- A Big Data és annak feldolgozásának hátterének alapszintű megismerése
Felhasználási logika
A NoSQL rendszerek felhasználási területei
- Az adatok új feldolgozási logikája
A NoSQL adatbázisok háttérlogikája
- Kulcs-érték alapú tárolás
- Az object storage és document storage mint NoSQL rendszerek jelentése
- Szűrési mechanizmusok
- Adathalmazok feldolgozása
A MongoDB mint NoSQL rendszer megismerése
- Telepítés
- Futtatási lehetőségek
- Replikálási lehetőségek
- A BSON (Binary JSON) megismerése
- A Mongo Shell működése
- A MongoDB Compass használata
Adatbázisok létrehozása
- Felépítés
- Document ID-k és Object ID-k jelentése és használata
- Alapvető beállítások
Alapvető CRUD (Create, Read, Update, Delete) műveletek
- Adatok beszúrása
- Adatok listázása
- Szűrés és keresés megadott tulajdonságok alapján
- Szűrés és keresés a strukturálatlan adatok között
- Rendezések
- Adatok frissítése
- Adatok törlése
Felhő alapú MongoDB Atlas alapjainak megismerése
- Előnyei, hátrányai a rendszernek
Python programozás
A környezet alapja
- A Python 2 és 3 közti különbségek
- A Python 3 telepítése, konfigurálása
- Fejlesztőkörnyezet bemutatása
Nyelvi alapok
- Python konzol használata
- Időzítések alkalmazása
- Változók, konstansok
- Adattípusok
- Számok (Numbers)
- Szövegek (Strings)
- Logikai típus (Boolean)
- Listák (Lists)
- Szótárak / kulcs-érték típusok (Dictionaries)
- Sorok (Tuples)
- Sorozatok (Ranges)
- Halmazok (Sets)
- Operátorok
- Aritmetikai
- Logikai
- Bináris
- Hozzárendelő
- Speciális
- Vezérlésiszerkezetek
- Elágazás (if-elif-else)
- Bejáró ciklus (for)
- Elöltesztelős ciklus (while)
- Reguláris kifejezések
Beépített funkciók használata
Fájlkezelés
- Szöveges állományok létrehozása, olvasása
- Python Shelve alkalmazása
- Mappák, fájlok, a fájlrendszer kezelése, használata
Procedurális programozás Python-ban
- Metódusok és funkciók felépítése, felhasználása
- Lambda kifejezések, anonymus funkciók alkalmazása, írása
Objektum-Orientált programozás Python-ban
- Objektum-Orientált alapelvek
- Osztályok, objektumok
- Láthatósági szintek
- Üres osztályok
- Származtatás, Öröklés
- Polimorfizmus
Kivételek, hibák
- Kivételek kezelése
- Kivételek küldése
- Felhasználásuk Objektum-Orientált környezetben
Modulok és kiegészítők
- Modulok kezelése, használata
Dekorátorok (Python Decorators)
Generátorok (Python Generators)
Komplexebb modulok felhasználása
Adatbázis-kezelés
- SQLite adatbázisok kezelése, felhasználása
- MySQL adatbázisok kezelése, felhasználása
- ORM-ek (Object Rational Mapper) és natív SQL script-ek alkalmazása, felhasználásuk tulajdonságai
Hálózati kommunikáció
- Hálózati eszközök
- Socketek alkalmazása
Képfeldolgozás
- Az OpenCV alkalmazása Python-ban
- Alapvető képfeldolgozás
- Képmanipulációk
- Élek detektálása
- Arcfelismerés és objektum felismerés
- OCR (Optical Character Recognition), karakterfelismerés
IoT (Internet of Things), Raspberry Pi
- A Raspberry Pi áttekintése
- A hardver rövid bemutatása, verziói, felhasználásának területei
- Operációsrendszerek (Raspbian, Microsoft Windows 10 IoT Core) áttekintése, összehasonlítsa
- A Python és a Raspberry Pi
- Python mint alapértelmezett programozási környezet a Raspberry Pi-n
- Kiegészítő modulok
- GPIO (General-Purpose Input/Output) vezérlése Python-ból
- Raspberry Pi-re csatolt eszközök vezérlése, kezelése Python-nal
- Kamera kezelése
- Érzékelők kezelése
- Távolság mérés
- Hőmérséklet mérés
- Mozgás érzékelés
- Veszélyes gázok érzékelése
Tkinter bemutatása
- Root ablak
- Widgetek
- Geometria
- Események
- Stílusok
- Tkinter változók
- Tkinter előnyei és hátrányai
- Tkinter alternatívák
Interaktív elemek bemutatása
- Widgetek beállítása
- Indexelés és jelölések
- Űrlapok és dialógus ablakok
- MessageBox-ok bemutatása
- Ikonsáv készítése
- Eseménykezelő és kontextusok
OOP Tkinterben
- GUI felépítése OOP használatával
- Minták elkészítése
- Perzisztencia
- Tkinter osztályhierarchia
Felépítés
- Programok felépítése
- Egyedi logika implementálása
Rajzolás
- Canvas
- Egérmozgások kezelése
Gyakorlati feladatok és alkalmazások készítése
Bevezetés a Django világába
- Adatbázis struktúra és modellezés
- Modellek és mixinek használata
- URL metódusokkal történő modell mixin létrehozása
- Általános kapcsolatok kezelése modell mixinekkel
- Mezők kezelése
- Űrlapok és nézetek
- HttpRequest továbbítása az űrlapnak
- Mentés
- Képek feltöltése
- Űrlap létrehozása egyedi sablonokkal
- Objektumlista szűrése
- Sablonok és JavaScript
- Beállítások megjelenítése JavaScriptben a Python szemszögéből
- A base.html sablon elrendezése a Python nézőpontjából
- Ajaxszal történő képfeltöltés a Python szemszögéből
- Sablonszűrők és Tagek testreszabása
- A saját sablonszűrőkre és Tagekre vonatkozó egyezmények követése
- Sablonszűrők és Tagek készítése
- Biztonság és teljesítmény
- Az űrlapok biztonságos létrehozása és a CSRF
- Jelszó validáció
- Engedélyezett fájlok letöltése
- Vízjel hozzáadása a képekhez
- Dinamikus vízjelezés
- Django CMS
- Sablonok készítése Django CMS számára
- A menü strukturálása
- Saját navigáció
- Hierarchikus felépítés
- Hierarchikus kategóriák létrehozása és kezelése
- Mezők létrehozása és összekötése a kategóriákkal