Jaké jsou nejlepší způsoby, jak se naučit programování?

Nejlepší odpověď

Spousta lidí se mě ptá, jak naučit se programování od nuly. Z této odpovědi se naučíte, jak na to. Programuji 20 let. Sdílím své zkušenosti i lidi, kterým jsem pomohl při rozvoji této kariérní cesty.

Odpověď byla původně napsána na mém blogu a získal 30 000 zhlédnutí a 1 000 hlasů na webu Wykop – polský reddit like. Užijte si to!

Mnoho lidí se mě ptá, jak se naučit programovat od nuly. Každý den čtu komentáře tohoto druhu. Například někdo pracuje v jiné oblasti a chce se stát testerem softwaru. Nebo pracuje v IT, ale chce skočit na novou úroveň a začít programovat. Všichni tito lidé mají jednu společnou věc. Chtějí zahájit programovací cestu. Ale tato oblast je tak široká, že nevědí, jak začít. A všichni vyprávějí o tom, jak to udělat.

Z této odpovědi se naučíte, jak začít programovat od nuly. Obdržíte také několik rad, které vám pomohou v pokroku. Pojďme tedy začít:

Chcete-li se dozvědět, jak kódovat, musíte postupovat takto:

1. Rozhlédněte se

Programování je v současné době velmi široká oblast. Je dobré se rozhlédnout a zjistit, jakým směrem se můžete vydat. Protože pokud znáte možné způsoby, můžete si vybrat ten pravý pro vás. Pomáhá také s výběrem technologií, které byste se měli naučit.

Pro začátečníky mohu říci o programátorech webových stránek . Jsou to lidé, kteří používají například WordPress nebo jiný systém pro správu obsahu (CMS) a pomocí svých dovedností upravují web tak, aby fungoval tak, jak to klient očekává. Aby to mohli udělat, musí lidé znát hlavně JavaScript, HTML a CSS.

Vývojář webových stránek – toto je pravděpodobně nejpopulárnější interpretace „programátora“ na světě.

Ale programování není jen o webech WordPress. Je to mnohem víc. Programování je rozděleno do několika reálných oblastí. Nejprve vám uvedu tři příklady frontendových sfér. Frontend programming je programování něčeho, co vidí uživatel / klient. Rozhraní. Stručně řečeno:

Programování Webapp – vytváření obchodních online aplikací (jako je vaše bankovní aplikace nebo aplikace pro porovnávání filmů). Jedná se o konkrétní aplikace, které splňují potřeby konkrétní skupiny uživatelů. Neslouží ke správě obsahu (jako WordPress), ale ke správě procesů (tj. Aby lidé mohli, stručně řečeno, dokončit některé úkoly). Kromě JavaScriptu musí programátoři HTML a CSS znát některé další technologie pro programování webapp. Záleží na projektu, například: SCSS, TypeScript a některý z následujících rámců: Ember, Angular, Vue nebo React. (Framework je kostrou aplikace s funkcemi build it.)

Programování desktopových aplikací – jako výše, ale jde o programování aplikací, které můžete nainstalovat například do systému Windows. Tato skupina se liší od předchozí. Využívá jiné technologie. Například programování pro Windows může používat jazyk C # a .NET Framework.

Programování mobilních aplikací – jde o psaní aplikací nainstalovaných na mobilních zařízeních . Hlavně na zařízeních s operačními systémy Android a iOS. Programování pro Android používá převážně programovací jazyk Java a pro iOS: jazyk Swift. Pro každý systém existují různé rámce. Existují také rámce pro oba systémy.

Toto byly příklady realit frontendu. Nyní pojďme přejít na backendové říše. Backend víceméně něco programuje, klient / uživatel to nevidí, ale je nezbytné, aby systém fungoval:

Programování databáze – překlenout> databáze jako MySQL a MSSQL. Databáze je víceméně pokročilá tabulka. Databáze tedy ukládá více dat a umožňuje s nimi programově manipulovat. Přidejte data, odeberte je, změňte. Navíc umožňuje nastavit různé způsoby nakládání s daty. Například odmítnout neúplná data nebo shromáždit data z různých tabulek. Databázové systémy používají své varianty jazyka SQL (například T-SQL pro MSSQL). Jazyk umožňuje kódovat různé operace s daty. Existují také databáze, které nepoužívají jazyk SQL. Používají mystický název: NoSQL.

Programování backendu – vývojář backendu zpracovává data mezi databází a frontendem nebo mezi různými systémy, které je třeba spolupracovat. Pro backendové účely lze použít téměř každý programovací jazyk. Ale protože backend má konkrétní případy použití, lidé mají tendenci používat jiné jazyky než pro frontend. Například: PHP, Ruby, Python, Java, ale také JavaScipt.

Většina programátorů se dělí na frontendové a backendové vývojáře. Existují však také vývojáři fullstack.Vývojář Fullstack je člověk, který zná technologie frontend a backend. Může se o vše postarat, aby nastavil aplikaci: databázi, back-end a uživatelské rozhraní.

Ale to nejsou všechno říše. A ve většině těchto přehledů jsou ostatní říše vynechány. Máme stále více a více pokročilých zařízení, senzorů, které poskytují data do informačních systémů. Je třeba je také naprogramovat. Tomu se říká vložené programování. Integrované programování se provádí většinou v jazycích C a C ++, protože tyto jazyky umožňují programátorovi přístup k abstrakci na nízké úrovni. Šetří zdroje těchto malých zařízení.

Další prosperující oblastí programování je analýza dat. Vývojáři analýzy dat používají velké datové soubory ve společnostech a připravují výsledky pro obchodní závěry, které na nich mohou být učiněny. Tito programátoři používají různé sady jazyků, včetně Pythonu a R (ano, toto je název programovacího jazyka, jen písmeno R. Kde se svět napravuje?).

Další oblastí je dědictví programování. Starší vývojáři znají technologie, které byly použity k vytváření systémů, ale již nejsou populární. Podporují starší systémy, které potřebují fungovat, ale byly postaveny před lety.

Existuje spousta dalších programovacích reálií. O všech zde nebudu psát. Je ale možné je najít.

Tímto končí tento bod. Proč je to tak důležité? Pokud víte, která oblast vás zajímá, můžete si vybrat technologie, které byste se měli naučit. A je jednodušší naučit se několik technologií než 200 z nich.

Předpokládejme, že už víte, o jakou oblast máte zájem, že? Co bude dál?

2. Vyberte technologie

Chcete-li se posunout dále, musíte učinit informované rozhodnutí o technologiích, které byste se měli naučit. Ale upřímně, je těžké získat o tom dobrou radu. Mohli byste se někoho zeptat nebo jít na studia nebo do bootcampu. Ale v obou případech se nakonec naučíte: a) co je populární b) co vědí člověk, který vás učí c) co používá člověk, který odpovídá. A často to není dobrá volba. Ale mám dobré zprávy. Můžete to udělat lépe a dělat to dobře.

Přečtěte si, jaké technologie používají společnosti, které pracují v dané oblasti, které vás zajímají. Hledejte pracovní nabídky, podívejte se, jaké technologie se znovu objevují. Neztrácejte nadšení, protože existuje 20 technologií. Je to fikce. Lidé píší věci, které se pro tuto práci později nevyžadují.

Často čtu, že lidé o tom trochu vědí, trochu o tom. A stále nevědí, jak se stát programátorem. Jsou ztraceni. Je to naprosto pravda. Programování je velmi široká oblast a nelze se naučit všechno. Musíte si vybrat směr a držet se ho. Tímto způsobem zvýšíte svoji šanci uspět.

3. Vyberte metodu učení

Tento bod je velmi důležitý a já napíšu proč. Každý má svůj názor na to, jak by se měl vývojář učit. Pokud jste hledali odpověď online, najdete spoustu nápadů, co je správné. Jeden poradí, jak používat videa z YouTube. Ostatní řeknou, že kniha je způsob, jak jít. Druhá osoba řekne, že bootcamp je nejlepší. Softwarový vývojář se učí z dokumentace! Někteří vývojáři také tvrdí, že vysokoškolské vzdělávání je k ničemu. Jsem z takových prohlášení smutný.

Nevíte, co je nejlepší. A je to zcela přirozené. Každý říká jiné věci. Osobně bych mohl doporučit e-knihy a videonávody, protože se mi líbí. To by však nebyla správná ani užitečná odpověď.

Ve skutečnosti nezáleží na tom, jak se naučíte. Pokud se naučíte. A pamatuješ si, jak ses učil ve škole? Jak to vypadalo? Požádalo vás učitele, abyste se naučili trochu z toho, trochu z toho. Věci, které mezi sebou nemají žádnou souvislost? Ne. A ve škole se naučíte složité věci. Věci, na kterých vám nezáleželo. Ale každý si z toho trochu pamatoval.

Je to proto, že učení ve školách je systematické a metodické. Krok za krokem. Systém byl vyvinut na základě stovky let zkušeností. Pokud si myslíte, že to není dost dobré: zeptejte se sami sebe: jak vyrobit bramborovou baterii? Tento systém je tak dobrý!

Zajímá vás programování. Nejlepší věc, kterou pro sebe můžete udělat, je zvolit metodu, která je metodická a systematická. Pojďme si tedy odpovědět sami na sebe, jaká je nejmetodičtější a nejsystematičtější metoda učení? Je zřejmé, že se jedná o středoškolské vzdělání. Učitelé středních škol velmi dobře znají metodické a systematické vzdělávání. Bude to těžké, ale programování se naučíte.

Dalším způsobem, jak se učit, jsou knihy a knihy. S trochou opatrnosti najdete knihu, která učí věci krok za krokem. Od lehkých po těžké věci. Od A do Z. Musíte ale rádi číst.

Videonávody a online kurzy – mohou být skvělé, pokud je autor připravil metodicky – pomůže vám s učením. Zvláště pokud rádi sledujete a učíte se.

Bootcamp – intenzivní programátorské školení. Můžete také těžit z toho. Je to dobré řešení, pokud rádi pracujete s lidmi ve skupině.

Jediná věc, na kterou vás chci upozornit, je nepoužívat metodické, nesystematické a neúplné způsoby, jak se učit programovat. Představte si, že jste se naučili 50\% tématu z video kurzu YouTube (protože je zdarma). Ale neexistuje žádná druhá část. Hledáte jiný kurz. Ale v jiném kurzu existují věci, které nevíte. Také některé věci, které znáte. A téma je vysvětleno úplně jiným způsobem. Je to tak upřímný! Takže pro začátečníky: obsah, který pokrývá téma od A do Z.

S blížícím se koncem tohoto bodu jsem si také chtěl všimnout jednoho problému, který je nesmírně důležitý. Četl jsem, že lidé radí začátečníkům používat anglický obsah k učení. Tito lidé nevědí, co dělají. Když jste začátečník – neztěžujte si život. Pokud máte obsah ve svém rodném jazyce, použijte jej. Proč byste se měli učit programovat v cizím jazyce? Je to naprostý odpad. Můžete se také naučit španělsky z německé knihy, když mluvíte anglicky, nebo polsky z kanadské knihy, když mluvíte japonsky. je to možné? Ano. Ale proč?

4. Stanovte si cíl

Stanovení cílů se při plánování pracovní kariéry často vynechává. Lidé se začnou učit jeden kurz, než se zastavit, pak jít na bootcamp, zatímco čas nevyhnutelně plyne. Po několika měsících si nepamatujete, co jste se dříve naučili. Zdá se, že jste se něco naučili, ale čeho přesně jste dosáhli?

Aby bylo učení jednodušší, je dobré si stanovit cíl. Například můžete přísahat, že za měsíc přečtete 800stránkovou knihu. Nebo skončíte s postgraduálním studiem nebo si za 6 měsíců najdete zaměstnání pro juniorské vývojáře.

Všechno půjde lépe, pokud si stanovíte cíl. Je to něco o naší povaze, že cíle usnadňují život. Učení není snadné. Programování není snadné. Učení programování je mimo grafy. Proto je cíl tak důležitý. A spokojenost z jeho dosažení dává motivaci pro další práci.

5. Učte se systematicky

Pokud již máte stanovený cíl, dalším krokem je vytvoření rozvrhu učení. Každý den jednu hodinu. Ale každý den, vždy jednu hodinu. A nebrat se dalším videonávodem nebo si přečíst článek, ale naučit se něco smysluplného.

Existuje způsob, jak si to usnadnit? Abyste se naučili programovat, je třeba soustředit pozornost. Hodně soustředění mysli. Vyzkoušejte to. Sdělte všem: v 18:00 se hodinu naučím programování a prosím, nerušte mě. Vypněte telefon, odhlaste se z Facebooku. Dejte děti tchánům. Dejte psa sousedovi.

Pozorujte, kolik se toho naučíte! Musíte se odříznout od světa, abyste pochopili pochopení programování.

6. Zaregistrujte se sami

Sleduji úžasného začínajícího vývojáře softwaru na LinkedIn. Našla skvělý způsob procvičování programování. Každý den si dá za cíl něco kódovat. Například: jeden den: jednoduchá kalkulačka. Následující den: jednoduchá stránka s obálkami filmů. S tím, co udělala, vytvoří animovaný GIF a umístí ho na LinkedIn. Píše, co se během dne naučila. Rád ji sleduji. Vytváří několik skvělých miniprojektů. Kromě toho jsem v počátcích také dělal to, co dělá. Co udělal každý dobrý vývojář softwaru, kterého znám. Vymýšlení úkolů a programování. Takto se stanete vývojářem softwaru.

Je zřejmé, že je jednodušší, když studujete, pracujete nebo se připojujete k bootcampu nebo máte knihu s ukázkovými úkoly. Protože úkoly si nemusíte řešit sami. To je také dobrá metoda. Ale někdy jsou takové úkoly nudné, nenutí vás jít ven ze své komfortní zóny. A co když si úkol určíte sami? Poté narazíte na překážky, které přesně určí, co byste se měli naučit při cvičení postupovat dál.

7. Požádejte o pomoc

Protože mluvíme o problémech. Je těžké formulovat to, s čím máte problémy v počátečních programovacích dnech. Například když dojde k chybě v aplikaci. Jak přeložit problém do slov? Jak o to požádat? Někdy je to tak těžké, že lidé nevědí, jakou frázi do vyhledávání DuckDuckGo zadat. Před lety to bylo snazší. Existovaly StackOverflow a podpůrné skupiny, kde jste byli schopni položit jakoukoli otázku. Můžete se spolehnout na pomoc od ostatních.

Dnes se můžete setkat s odpověďmi, jako je „prohledat internet“ nebo „toto bylo položeno dříve“ nebo „znovu“. To je frustrující. Bohužel. Internet je plný odpovědí. Pokročilí vývojáři softwaru nechápou, že je těžké pojmenovat problém, pokud jste začínající programátor. I kdyby měli přesně stejný problém! Mohu vás o tom ujistit!

Proto vás důrazně žádám, abyste kladli otázky. Najděte na internetu příjemné místo pro vývojáře softwaru nebo najděte mentora. A zeptejte se zeptejte se.Někdy narazíte na zaváhání. Ale to tě nesrazí. A pokud ano, najděte si jiné hezčí místo.

Čím více se budete ptát, tím snazší bude formulovat, s čím máte problém. I když čas uběhne, vaše otázky budou stále lepší a lepší, odpovědi se budou zobrazovat čím dál rychleji. A později zjistíte, že některé problémy lze vyřešit pouhou formulací správné otázky.

8. Najděte si práci rychle

Často čtu, že lidé odkládají hledání zaměstnání, dokud se nenaučí něco víc. A půl roku ubíhá. Vývoj softwaru je obor, ve kterém musíte neustále obnovovat své znalosti. Řekněme, že jste se naučili 3–4 technologie, které potřebujete. Začnete hledat práci a dostanete se do problémů. Můžete hledat práci několik měsíců! A přitom budete zapomínat na polovinu věcí, které jste se naučili.

Takže moje rada je, že byste měli hledat práci víceméně v polovině své cesty učení. Z několika dobrých důvodů. Nejprve, pokud zaujmete pozici na stáži nebo na juniorské pozici, váš zaměstnavatel předpokládá, že nevíte téměř nic. Zadruhé, proces rekrutace trvá sám. Než doladíte svůj životopis, než se naučíte premade, k dispozici online, čas na testovací otázky uběhne. Projde to, zatímco vy naostříte své rekrutační rozhovory bez nervozity. Hledání práce je také něco, co se musíte naučit.

Takže v polovině cesty k učení se začněte hledat práci. Posílejte životopisy, naplánujte schůzky, zvykněte si. Poté se vaše technická připravenost setká s připraveností k rekrutaci a nedojde k žádným zpožděním.

9. Požádejte o složitější úkoly

Nyní máte pracovní pozici. Ale největší past programování je před vámi. Jelikož máte práci, můžete odkládat knihy do regálů a dělat jen to, o co jste požádáni.

Tak to není! Uvědomte si, že stážisté / junioři často nejsou žádáni, aby dělali složité úkoly, ale velmi snadno. Brzy si všimnete, že jejich dokončení bude trvat stále méně času a začnou být nudné. Pokud s tím nic neuděláte, ztrácíte čas. Můžete se naučit nové věci. Neběhejte v kruzích.

Kromě toho váš zaměstnavatel vidí, kdy stážista / junior stojí. Jsem zaměstnavatel, je to jasné jako obloha. A nikdo nechce mít nadčasový internet / junior.

Takže, když uvidíte, že se vám zlepšuje, požádejte svého nadřízeného o složitější úkoly. Měl by vědět, že vám dá něco dalšího. To je důležité, abyste se mohli i nadále v práci učit a rozvíjet.

Jako stážista / junior se musíte naučit hodně, mnohem víc. Jsem si 100\% jistý, že se nechcete stát jedním z těchto kluků na internetu, kteří říkají, že jim stážista / junior pozice nic nedal, nic se nenaučil. Neučili se, protože nechtěli jít dál. Ztrácejí čas a čas svého zaměstnavatele.

10. Osvojte si nové technologie

Programování je úžasné pole, ale neustále se mění. To, co jste se dnes naučili, bude za jeden rok zastaralé. A zastaralé v 5. Když si najdete práci a budete se s ní cítit dobře, osvojte si něco nového. Rozšiřte své dovednosti. Nezdržujte se svým profesionálním rozvojem. Pokud ukončíte studium, možná stojí za to se vrátit. Zúčastněte se bootcampu, přečtěte si knihu a zúčastněte se online kurzu. Cokoli vám umožní mít aktuální informace o technologiích.

Aktualizace: pokud si chcete zapamatovat programovací metody, podívejte se na projekt Vyvolání JSON. V současné době existuje balíček pro programátory JavaScriptu. Další informace se dozvíte zde: Vyvolání souboru JSON: JS Deck

Je vše, co se potřebujete naučit od začátku. Byl to opravdu dlouhý článek a jsem opravdu ohromen, že jste se dostali až na konec. Jsem si jistý, že to neudělalo 99\% lidí. Vypadá to, že vám záleží na tom, abyste se stali vývojářem softwaru. Péče je 99\% úspěchu. Přeji vám hodně štěstí. Programování je úžasné a poskytuje velkou profesionální spokojenost. Neztrácejte za to srdce. Pokračuj. Krok za krokem.

Angličtina není můj rodný jazyk. Pokud v odpovědi najdete chybu, opravte ji. Budete uvedeni v odpovědi. Děkujeme!

Odpověď

Dobrým začátkem je zjistit, jak milovat programování. Citovat od nového programátora, kterému jsem pomáhal:

GASP IT Fungovalo IT Fungovalo IT Fungovalo JAK SE Z TOHOTO POCITU NECHÁTE VŽDY

Strávila předchozí hodinu snahou získat objekt ve své hře, který změnil barvu a jeho barva se právě změnila.

Psaní kódu je jako vyslovení kouzelných slov, která něco skutečně dělají . Je to poutavé a možná trochu návykové.Je to také obtížné; najít tyto malé okamžiky motivace je velmi užitečné pro časy, kdy se potřebujete naučit něco tvrdého; vzpomínka na to, co je možné, vám může pomoci prozkoumat to, co je nudné.

Přesto, pokud se tam chystáte dostat, musíte mít nějaké zábavné a kreativní zkušenosti s programováním. Zde je několik nápadů:

  1. Popadněte editor úrovně StarCraft (1 nebo 2) a zjistěte, jak používat spouštěče. Strávil jsem mnoho šťastných hodin hackováním map StarCraftu a pomocí nich můžete psát některé úžasně zapojené hry ve hře.
  2. Zjistěte všechny mechaniky redstone v MineCraftu a vytvořte si vlastní absurdní stroj. Vytváření módů, které do MineCraftu přidávají nové funkce, je také populární, ale naučte se některé základy, než to vyzkoušíte; jejich výukové programy ( Základní úpravy – Minecraft Forge ) jsou mnohem snáze pochopitelné, pokud již nějakou Javu znáte.
  3. Zjistěte, jak ve Factoriu vytvořit něco úžasného (varování: video níže je směšné; neočekávejte, že to uděláte hned). Factorio má také docela kompletní modifikační API podporované vývojářem ( Modding Tutorial ), i když možná budete chtít před pokusem získat nějaké další základy.

  1. Stáhněte si Scratch a vytvořte s ním několik jednoduchých her (tento článek také zmiňuje řadu dalších výukových programovacích jazyků). Scratch zachází s programováním jako s dílky, které do sebe zapadají, aby si vytvořily chování, a je to dost jednoduché na to, aby mladší děti mohly s malým úsilím vytvářet pracovní programy. Je to jako programování s tréninkovými kolečky.

Image credit: By Lifelong Kindergarten Group at MIT Media Lab.

  1. Najděte jednu z těchto knih „naučte se X za 21 dní“ a získejte z ní moc. Není to okázalé ani důkladné, ale může vám poskytnout dostatek základů, aby některé z těchto dalších nápadů byly možné.
  2. Vezměte si třídu. Dobře, booooring, ale zjistil jsem, že tlak na získání známky tlačil mě k tomu, abych prošel náročnými koncepty. Doporučuji to jen v případě, že jste si již jisti, že chcete naučit se programování; třídy jsou skvělé v tom, jak házet informace do mozku, ale jsou dost špatní na to, aby vás motivovali. Nejlepší na absolvování kurzu je, že vás naučí o věcech, o kterých byste nikdy netušili, že existují; nemůžete samoučit koncept, o kterém nevíte, že existuje.
  3. Chcete, aby vaše programy ovlivňovaly skutečný svět? Zvažte provedení některých projektů pomocí mikrokontroléru, například: Top 10 Kickass Arduino Projects . Pokud je Arduino příliš zastrašující, možná budete chtít nejprve zkusit LEGO Mindstorms.

Bezpečnostní systém? Roboti? Hloupé úžasné vánoční osvětlení? Toto je vaše zařízení. Obrázek z Arduino .

  1. Game Maker ( Yoyo Games ) je docela dobré vývojové prostředí pro jednoduché videohry; je pokročilejší než Scratch a hlubší než editory spouště v editoru map StarCraft. Je možné s ním vytvořit různé 2D videohry a je možné vyrobit něco dostatečně dobrého, aby se dalo komerčně prodat.
  2. Chcete-li přejít na 3d, Unity ( Unity – Game Engine ) je slušný kvalitní 3D herní engine. Budete potřebovat trochu více programátorských dovedností než Game Maker a budete potřebovat nějaký způsob, jak vydělat aktiva, ale je dostatečně silný na to, aby vytvářel docela špičkové hry.
  3. Počítač nebo notebook již obsahuje v polovině slušné vývojové prostředí: váš webový prohlížeč. Pokud vytváříte webovou stránku na svém vlastním pevném disku, můžete ji otevřít pomocí webového prohlížeče. Pokud tato webová stránka obsahuje JavaScript, prohlížeč ji spustí. Můžete se začít učit bez je třeba stáhnout nebo nainstalovat cokoli jiného. Výukový program ke hře HTML5 – Vytvořte hadovou hru pomocí plátna HTML5 a Jquery je zábavný návod, jak vytvořit základní hru.
  4. Naučte se hrát RoboZZle online logická hra . Ze všech programovacích her, které jsem hrál, je tato hra pravděpodobně nejhlubší. Většina her vás naučí hodně o proměnných a objektech, ale tato vás naučí hluboce přemýšlet o rekurzi. Lambda kalkul by se měl cítit nejasně povědomě, pokud jste porazili některé středně těžké hádanky Robozzle.
  5. Stáhněte si komunitní verzi Visual Studio . Jedná se o profesionální nástroj a spuštění prvního programu je obtížné. Jakmile jej však dostatečně dobře víte, můžete dělat cokoli.Pokud používáte Mac, ekvivalentem je XCode .

Doufejme, že vás některé z těchto nápadů uvedou do pohybu. Nakonec, pokud se chcete v tom dobře zorientovat, budete muset rozbít učebnice a udělat nějaké formální studium, ale myslím si, že to bude fungovat nejlépe, pokud najdete své první.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *