kategória školenia programovanie .net obsahuje kurzy · kurz Úvod do programovania je určený...

18
Kategória školenia Programovanie .NET obsahuje kurzy: Umelá inteligencia – základy Cieľom kurzu umelá inteligencia – základy je všeobecné oboznámenie sa so základnými pojmami a prístupmi umelej inteligencie. Popis jednotlivých pojmov v oblasti umelej inteligencie (UI) Čo je to umelá inteligencia? Kde sa UI využíva? Porovnanie názvosloví „deep learning“, „machine learning“, a „neural network“ Rozdelenie UI Ako naprogramovať UI? Je umelá inteligencia hrozbou? Evolučné algoritmy (EA) Základné pojmy Optimalizačné úlohy - využitie Principiálne riešenie Praktická ukážka genetického algoritmu (GA) Neurónové siete (NN) Základný model neurónu a neurónovej siete Rozdelenie neurónových sietí Architektúra NN Trénovanie NN (s učiteľom, bez učiteľa a posilňované učenie) Praktická ukážka architektúry NN na klasifikáciu do tried Konvolučné neurónové siete Stručný popis Architektúra siete Aplikácie - rozpoznávanie obrazu Neurónové siete - Aplikácie Aplikácie z každodenného života Priemysel Zdravotníctvo Umenie Hry Obchodovanie na burze Smartfóny ďalšie… Neuroevolúcia Principiálne riešenie Využitie a aplikácie Ďalšie vybrané prístupy z oblasti UI Fuzzy systémy Multi-agendové systémy Expertné systémy 1/18 www.macrosoft.sk

Upload: others

Post on 05-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Kategória školenia Programovanie .NET obsahuje kurzy:Umelá inteligencia – základy

Cieľom kurzu umelá inteligencia – základy je všeobecné oboznámenie sa so základnými pojmami a prístupmi umelej inteligencie.

Popis jednotlivých pojmov v oblasti umelej inteligencie (UI)Čo je to umelá inteligencia?Kde sa UI využíva?Porovnanie názvosloví „deep learning“, „machine learning“, a „neural network“Rozdelenie UIAko naprogramovať UI?Je umelá inteligencia hrozbou?

Evolučné algoritmy (EA)Základné pojmyOptimalizačné úlohy - využitiePrincipiálne riešeniePraktická ukážka genetického algoritmu (GA)

Neurónové siete (NN)Základný model neurónu a neurónovej sieteRozdelenie neurónových sietíArchitektúra NNTrénovanie NN (s učiteľom, bez učiteľa a posilňované učenie)Praktická ukážka architektúry NN na klasifikáciu do tried

Konvolučné neurónové sieteStručný popisArchitektúra sieteAplikácie - rozpoznávanie obrazu

Neurónové siete - AplikácieAplikácie z každodenného životaPriemyselZdravotníctvoUmenieHryObchodovanie na burzeSmartfónyďalšie…

NeuroevolúciaPrincipiálne riešenieVyužitie a aplikácie

Ďalšie vybrané prístupy z oblasti UIFuzzy systémyMulti-agendové systémyExpertné systémy

1/18 www.macrosoft.sk

Page 2: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Záver kurzuUžitočné odkazy a ďalšie možnosti vzdelávania po školeníDiskusia

2/18 www.macrosoft.sk

Page 3: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

.NET Framework - práca s databázami

Kurz .NET Framework – práca s databázami je určený pre užívateľov, ktorí majú skúsenosti s programovaním v platforme .NET a chcú svoje vedomosti rozšíriť v oblasti práce s databázami.

Princípy práce s databázouarchitektúra ADO.NET a použitie .NET providerovpráca v prostredí napojenom na dátový zdrojpráca v prostredí odpojenom od zdroja dát

Objekt Connectionobjekt Connection a nastavenie ConnectionStringukladanie ConnectionString v konfiguračnom súborezachytávanie udalostí objektu Connectionzachytávanie výnimiek SqlExceptionconnection Poolingpoužitie ConnectionStringBuilderu a ochrana proti ConnectionString injection

Objekt Commandobjekt Command a spúšťanie dotazovzískavanie, aktualizácia a mazanie dát pomocou objektu Commandpráca s parametrami a uloženými procedúrami

Práca s údajmiobjekt SqlDataReader a jeho použitiepoužitie BulkCopyasynchrónna komunikácia s databázou

Transakciečo je to transakcialokálne a distribuované transakcieizolácia transakcií

Práca s ovládacími prvkamipoužitie objektu DataSetpoužitie objektov DataAdapter a tableAdapterdefinícia tabuliek a relácií v DataSetemodifikácia dát v DataSete a uloženie údajov na dátový zdroj

Diskusia a záver

3/18 www.macrosoft.sk

Page 4: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Programovanie vo Windows API

Windows API predstavuje sadu knižníc, procedúr, funkcií, rozhraní a konštánt pre interakciu aplikácií s operačným systémom. Takýto prístup cez API je prakticky najefektívnejším (a teda aj najrýchlejším) spôsobom, ako pracovať s oknami, súbormi, registrom, grafikou, tlačiarňou a tiež aj internetom, zvukom a videom.

Úvod do programovania vo Windows APIŠtruktúra Windows APINotácia zápisu identifikátorovKnižnice kernel, user, gdiANSI a UNICODEVolacie konvencie

Práca s oknamiRegistrácia triedy oknaVytvorenie hlavného okna aplikácieSlučka spracovávania správSprávy oknaVytváranie dcérskych okienTlačidlá a editačné poliaRozbaľovacie zoznamyPosuvníky oknaZmena parametrov a štýlu okna

Práca so súbormiTestovanie existencie súboruPrehľadanie adresáraOtvorenie súboruRežimy otvorenia súborovČítanie a zápis

Práca s grafikouKontexty zariadeníVlastnosti kontextov zariadeníKreslenie čiar a útvarovObrysy a výplnePísma a textPráca s bitovými mapami

Procesy a vláknaVytváranie procesovVytváranie vlákienSynchronizáciaKomunikácia medzi vláknamiMomentky procesov

4/18 www.macrosoft.sk

Page 5: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

.NET Framework - základy programovania

Kurz ..NET Framework - základy programovania je určený pre začínajúcich programátorov, alebo pre programátorov, ktorí chcú začať programovať na platforme .NET Framework (VB.NET alebo C#).

Prehľad .NET Frameworkcharakteristika .NET Frameworkhistória, verziejazyky .NET

Popis prostredia Visual Studio.NETmenu, panely nástrojov, nastaveniatypy projektov vo VS.NET, založenie nového projektu

Štruktúra programucyklyrozhodovacie štruktúryprocedúry

Dátové typyprehľad dátových typov, deklaráciakonverzie dátových typovoperátory

Objektovo orientované programovanie (OOP) v .NETúvod do OOPdefinícia triedy, objektukonštruktory, deštruktorydedičnosťabstraktné triedy

Štruktúryštruktúrypolia, kolekciegenerické kolekcienulovateľné dátové typy

Ladeniechyby, zachytávanie výnimiekpoužívanie debuggera

Základy Windows Formszákladné ovládacie prvkycharakteristika ovládacích prvkov, vlastnosti, metódy, udalostivytvorenie menu, toolbarov, stavového riadkudiskusiazáver

5/18 www.macrosoft.sk

Page 6: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Shell programovanie v Bash - základy

Kurz Shell programovanie v Bash je určený pre všetkých, ktorí sa chcú naučiť zvládnuť základné programovacie techniky a vytvárať skripty.

Charakteristika shell programovaniapopis vlastností skriptovacích jazykov a ich porovnanie s ostatnýmicharakteristika jazyka Bash shell a jeho použitieštruktúra skriptu a jeho volanie

Základné interné príkazypopis kľúčových slov a špeciálnych symbolov

Substitúcie a expanzia

Premenné a parametre

Návratové kódy a chybové správy

Výrazy, cykly a vetvenie programucykly For, While a podmienený príkaz If

Funkcie a Aliasypredávanie parametrov funkcii a zachytenie návratovej hodnoty

Shell aritmetikazákladné aritmetické operácie s celými číslami

Testytesty na vlastnosti súborov a adresárov

Subshelcharakteristika a využitie subshellu

Správa a riadenie úlohčíslo procesu a získanie jeho hodnotyprocesy bežiace na pozadí a ich kontrolazreťazenie úlohdiskusiazáver

6/18 www.macrosoft.sk

Page 7: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

.NET Framework – pokročilé programovanie

Kurz.NET Framework – programovanie v jazyku VB (C#) je určený pre užívateľov, ktorí chcú programovať v jazyku VB.NET (C#).

Prehľad platformy .NET.NET Frameworkmenné priestory

Dátové typyCommon Data Typeshodnotové a referenčné dátové typypreťažovanie operátorov

Triedy a objektyčlenské premennékonštruktory, preťažovanie konštruktorovmetódy, preťažovanie metódstatické metódy, statické triedyrozhrania

Delegátidelegáti, multicast delegátiudalosti

Správa pamätiGarbage Collectorspráva zdrojov

Súboryzákladné I/O operáciestreamy

Windows Formsvlastné ovládacie prvkydiskusiazáver

7/18 www.macrosoft.sk

Page 8: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Shell programovanie Bash pre pokročilých

Kurz Shell programovanie Bash je vhodný pre správcov, ktorí už zvládli iný programovací jazyk a chcú sa naučiť efektívne využívať prostredie ich príkazového riadku.

Využitie adresárov /dev a /proc pri práci so shellom

I/O Redirectionpresmerovanie štandardných deskriptorovvytváranie nových deskriptorov a ich použitiepresmerovanie štandardného vstupu do tela skriptu

Pomocné externé programy pre shellbalíky Coreutils, Fileutils a ich programy (file, sed, awk, tr, . . . )

Polia a zoznamypráca s poľom, priradenie a prístup pomocou indexuvytváranie Zoznamov, ich triedenie a použitie

Regulárne výrazy

Debugovanie skriptov

Obsluha signálovzachytenie signáluobsluha signáludiskusiazáver

8/18 www.macrosoft.sk

Page 9: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Visual C/C++ - základy

Kurz Visual C/C++ je zameraný na zvládnutie základných programátorských zručností.

Nástroje vývojového prostredia Visual C++vznik, vývoj a charakteristika jazykov C a C++

Prvky jazyka Visual C++štruktúra programuterminálový vstup a výstup

Riadiace štruktúry programubooleovské výrazyitegračné príkazy a cykly

Pojem operátoraunárny, binárny,prioritaporadie vyhodnocovania

Typová konverziaagregované typy - štruktúry

Základy práce s pamäťoupamäťové triedystatická a dynamická alokácia

Pointre Visual C++pointer NULLpointrová aritmetikajednorozmerné a viacrozmerné poliaoperátor sizeof

Práca s textovými reťazcami vo Visual C++

Vstup a výstup do súborutextový a binárny súbor

Tvorba väčších programov vo Visual C++moduly hlavičkové súboryoddelený preklad

Životnosť a rozsah platnosti objektov

Preprocesor jazyka Visual C++diskusiazáver

9/18 www.macrosoft.sk

Page 10: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Visual C/C++ objektové programovanie

Školenie Visual C/C++ objektové programovanie je zamerané na zvládnutie špecifických vlastností jazyka C++, základov objektovo orientovaného programovania.

pojem trieda (class), premenné triedy, členské metódy a operátorykonštruktor, deštruktor, pointer thisoperátor new a deleteprístupové práva, priateľské triedypolymorfizmus na základe dedičnosti, dedenie vlastností, prístupové práva k predkomvirtuálne funkcie, tabuľka virtuálnych funkciíviacnásobná dedičnosťkonštantné a statické atribúty, inicializátory, poradie inicializácie, volania konštruktorov a deštruktorovprúdy, triedy na prácu so vstupom a výstupomvytváranie tried pomocou šablónyvýnimky, hierarchia a dedenie výnimiekknižnica STL - kontajnery, iterátory a generické algoritmyzáklady sowftwérového inžinierstva - realizácia návrhových vzorov v jazyku C++ (Singleton, Model View Controller), základy extrémneho programovania (metóda Test Drive development)diskusiazáver

10/18 www.macrosoft.sk

Page 11: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Visual Basic .NET I. základy

Kurz Visual Basic .NET je určený záujemcom o moderné programovacie technológie, ktorí sa chcú naučiť programovať v jazyku Visual Basic.

Úvod do platformy .NETvývojové prostredie, história, verzie.NET framework - základná charakteristika, menné priestory

Používanie Visual Studio .NETmenu, toolbary, panel nástrojov, help

Základné pojmy objektového programovania .NETobjekty, udalosti, metódy, vlastnosti, triedy, konštruktor, deštruktor, štruktúra, enum

Dátove typy, premenné, konštanty a operátorydeklarácia premenných, základné dátové typy, rozsah platnosti premennýchkonverzia dátových typov, konštanty, operátory (+, -, / .... AND, OR...)

Používanie platformy .NET Frameworkpráca s reťazcami, funkcie pre prácu s reťazcamipráca s dátumom a časom, funkcie pre prácu s dátumom a časom

Riadenie toku a vetveniepodmienené a nepodmienené skokycykly (For each, Do, While, With)riadenie toku programu - príkazy IF a SELECT

Polia a kolekciepráca s poliami, statické a dynamické polia, kolekcie

Ošetrenie chýb a výnimiek v programe Visual Basicpoužívanie debuggera, watch window, ladenie, try

Procedúry, funkcie, modulyvytváranie a používanieodovzdávanie parametrov odkazom a hodnotou (ByRef, ByVal)moduly

Základné ovládacie prvkycharakteristika, vybrané vlastnosti, metódy a udalosti

Tvorba užívateľských rozhranívytváranie menustavových riadkovnástrojových líšt (toolbarov)

Menné priestorypríkaz Importsmenný priestor „My“, „System“

Úvod do ADO. NET

11/18 www.macrosoft.sk

Page 12: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

základné pripojenie k MS Access, jednoduchý príklad zobrazenia dát z tabuľky

Prostredie Managed Executiontvorba a kompilácia .NET aplikácie, nastavenie vlastností projektu a aplikácie, publikovanie a updatovanie aplikáciídiskusia, vytvorenie príkladov na prebranú problematikuzáver

12/18 www.macrosoft.sk

Page 13: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Visual Basic .NET II. pre pokročilých

Kurz Visual Basic .NET II. pre pokročilých je určený pre programátorov, ktorí si chcú zdokonaliť svoje znalosti a osvojiť si pokročilé techniky programovania v jazyku Visual Basic .NET a platforme .NET Framework.

Úvod do objektovo orientovaných techníkdedičnosťpolymorfizmusinterfejsy

Vytváranie MDI aplikáciírodičovské a dcérske formuláremenu pre dcérske formuláreOpenForms

Práca s textovými súbormipráca s diskami a súbormi, práca s cestami, špeciálne adresáre vo Windowsčítanie z textového súboru a zápis do textového súboruzobrazenie súboru v ovládacích prvkoch Textbox a RichTextBoxschránka a textserializácia

Dialógové okná systémuOpenFileDialogSaveFileDialogFontDialogColorDialogPrintDialog

Pokročilé ovládacie prvky typu „Kontajner“GroupboxPanelSplitcontainerFlowlayoutPanel, ...

Komplexné ovládacie prvkyNotifyiconMaskedTextboxMonthCalendarTreeview, Listview - príklad na jednoduchý „Windows explorer“

Vytváranie užívateľských ovládacích prvkovvyužitie dedičnostivytvorenie jednoduchého užívateľského ovládacieho prvku

Práca s prvkami panelu nástrojov vo Visual BasicTimerBackgroundworkerPerformanceCounterProcess, EventLog...

13/18 www.macrosoft.sk

Page 14: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Úvod do ADO. NETpripojenie k MS Accesskód pre pripojenie k databáze, databázové ovládacie prvky

.NET automation, spolupráca s aplikáciami MS OfficeMS Word, MS Excel, MS Outlookpríklady zápisu a čítania dát

Sieťové programovanieovládací prvok WebBrowserstiahnutie súboru z internetu - praktický príkladdiskusiazáver

14/18 www.macrosoft.sk

Page 15: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Perl programovanie - základy

Kurz je určený všetkým, ktorí sa chcú naučiť základy jedného z najuniverzálnejších skriptovacích jazykov.

Charakteristika jazyka Perl a jeho uplatneniecharakteristika jazyka Perlporovnanie s ostatnými jazykmištruktúra programu

Interné príkazy jazykapopis kľúčových slov a špeciálnych symbolovunárne a binárne operátory

Výrazy, cykly a vetvenie programu

Premenné a výrazy v Perlskalárne veličiny, zoznamy a poliakonštantylogické výrazy

Zoznamy v Perloperátory nad zoznamamipráca so zoznamami

Asociatívne polia

Funkcie v Perlpredávanie parametrov funkciifunkcie pre polia a hashovacie tabuľky

Základy používania regulárnych výrazy

Práca so súbormi, vstup/výstup funkcie, testy nad súbormi a adresármidiskusiazáver

15/18 www.macrosoft.sk

Page 16: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Perl pre pokročilých

Kurz Perl je vhodný pre programátorov, ktorí už ovládajú niektorý programovací jazyk a chcú sa naučiť skriptovať s jazykom Perl.

Pokročilé regulárne výrazy

Ladenie Perl skriptov

Pokročilé narábanie so zoznamami a poliami

Balík Tie

Perl a CGI

Prístup k dátamvšeobecný prehľadDBI/DBD

Práca s Perl modulmi a balíkmiprehľad používania balíkovCPANPerl dokumentácia

IPCsemafory a fronty správRúry a Sockety

referenciepoužitie referenciístavba komplexných dátových typov

Perl a vláknasynchronizácia vlákien pomocou semaforov

Objektovo-orientovaná podpora v Perl

Perl a GUITcl,Tk, Tcl/Tk, Perl/Tk, etc.diskusiazáver

16/18 www.macrosoft.sk

Page 17: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Programovanie 3D grafiky v OpenGL

Grafická karta (GPU) v počítači nemá svoju vlastnú špeciálnu inštrukčnú sadu akú majú procesory (CPU). Príkazy, ktoré má GPU vykonať sa ukladajú do operačnej pamäte, odkiaľ si ich príslušné obvody GPU čítajú a vykonávajú. Aplikácie nemôžu priamo posielať príkazy GPU, pretože im to chránený režim operačných systémov nedovoľuje. Jednou z možností je naprogramovanie vlastného ovládača zariadenia, ktorý má prístup k hardvéru a je schopný posielať GPU príkazy, ktorým rozumie. Tento priamy prístup je však veľmi neefektívny, nakoľko musíme dokonale poznať svoju grafickú kartu – výrobcu, typ, počet multiprocesorov, procesorov, rýchlosti, veľkosť pamäte, podporované technológie a v neposlednom rade aj formát inštrukcií, ktorému daná grafická karta rozumie. Oveľa výhodnejšie je použiť niektorú z moderných technológií, ktoré za nás vyriešia celú komunikáciu s hardvérom GPU. Existujú dve najznámejšie a najpoužívanejšie technológie (nielen v hernom priemysle, ale aj v CAD systémoch) a tými sú OpenGL a DirectX. V tomto kurze sa budeme venovať práve OpenGL. Oproti DirectX má OpenGL nasledujúce výhody: • Jednoduchá procedurálna syntax (DirectX je oproti tomu implementovaný ako COM rozhranie) • Výslovne nepotrebujeme žiaden SDK a vystačíme si s jednou systémovou knižnicou pre OpenGL • Ľahká práca aj v nižších (alebo jazykov bez podpory OOP) jazykoch ako sú Visual Basic, C a dokonca aj Assembler! • OpenGL dlho prevahu nad DirectX z hľadiska možností svojich možností. To znamená, že z GPU využilo viac možností. To bol napr. hlavný dôvod, prečo ID Software dlho programovalo svoje hry práve v OpenGL.

Úvod do programovania vo Windows APISyntax technológie Windows APIVolacie konvencie, funkcií a procedúrPrincíp činnosti aplikácií, procesov a vlákienSlučka spracovávania správ pre aplikácie OpenGL

Úvod do OpenGLObecná syntax, konštantyVolanie funkcií OpenGL v iných jazykochPrístup k OpenGL bez SDK

Prvá aplikácia s OpenGLVytvorenie prázdneho okna vo Windows APINávrh slučky správSprávy WM_PAINTa WM_ERASEBKGNDDvojitý buffer GDIVytvorenie a získanie kontextu zariadenia (DC)Nastavenie formátu obrazových bodov pre DCFullscreen režim a zmena rozlíšenia obrazovkyNávrat z režimu FullscreenŠtýl oknaVytvorenie kontextu renderovania (RC) pre OpenGLPrepojenie DC s RCVytvorenie prázdnej scényMatice projekcie a modeluNastavenie pohľadu a perspektívy

Tvorba objektovTvorba čiar, polygónov a štvoruholníkovNastavenie fariebTvorba farebných prechodov na objektoch

17/18 www.macrosoft.sk

Page 18: Kategória školenia Programovanie .NET obsahuje kurzy · Kurz Úvod do programovania je určený všetkým, ktorí sa chcú naučiť programovať v akomkoľvek programovacom jazyku

Hĺbkový bufferTvorba zložitejších objektov - kocka, valec

3D TransformácieMatice transformáciíPosunutie, škálovanie, rotáciaTransformácie scény

Tvorba interaktívnych scénInterakcia s klávesnicouUdalosti myšiPohyb v scéne

Tvorba zložitejších modelovTextúryPrehodenie kanálov R a B v bitových mapáchVytvorenie poľa textúrAplikácia 2D textúr na polygónRastrové a outline písma

NasvietenieAmbietné a difúzne svetloNormálové vektory polygónovTransformácie difúzneho svetla

18/18 www.macrosoft.sk