Využij bezkonkurenční akce a už se nikdy nemusíš bát.
Zjisti více

Výsledky vyhledávání

pro ”c++” jsme našli 172 výsledků

Články (109)

Všechny články
Marek Chrenko - nový lektor v Skillmea
Vzdělávání
20.12.2016
Skillmea

Marek Chrenko - nový lektor v Skillmea

Marek  je bývalý programátor, který se v současnosti věnuje grafice a webdesignu. K programování a web stránkám se dostal už na střední škole a takovýmto způsobem si přivydělával, dokud neskončil školu a nenastoupil do zaměstnání. Momentálně žije na „volné noze“ a zabývá se grafikou a tvorbou videí. Při své práci pronikl do „pozadí“ fungování nejnovějších programů a rozhodl se, že pomůže začátečníkům v chápání fungování programů nikoli na teoretické rovině, ale hlavně v praktické.. tak aby tyto znalosti mohly využít ve své práci!  Přečti si rozhovor s Markem a pokud tě něco zajímá, napiš svůj dotaz do komentáře. Marku, jak ses stal grafickým designérem?  Ještě na střední škole jsem dělal webstránky pro klienty, takže když jsem se chtěl pochlubit svojí robotu, tak musely ty weby i nějak vypadat. Tedy jsem se musel naučit i trošku tomu designu a pak to už šlo :) Důležité je neusnout na vavřínech a stále se učit. Trénovat, trénovat, trénovat. Nikdy nic nebude dokonalé, ale dá se alespoň přiblížit k dokonalosti tréninkem. A já jsem se snažil toho držet. Trénoval jsem různé postupy, některé byly dobré, některé ne.. Všechno je o testování a pak to člověk jako kdyby chytí do ruky. Kdysi bych neřekl že ze mě bude grafik, designér ale někde hluboko v sobě má člověk v sobě zákódovaný ten smysl pro design.. jen to je třeba vzbudit :) Jak bys popsal svůj přístup k designu? Kdo nebo co tě nejvíce ovlivnilo nebo ovlivňuje? Přístup? Už jak jsem zmínil výše, snažím se trénovat. Řeknu to na rovinu.. nemaluji na výkresy, necítím k tomu vztah. Ale tak jak se to mluví o papíře že snese všechno.. i počítač snese všechno, takže moje hrací hřiště je paleta nástrojů a otevřený dokument většinou ve Photoshopu. Řídím se pravidlem, že v jednoduchosti je krása a snažím se to odrážet ve svém přístupu k designování, grafice. Kdo mě nejvíce ovlivňuje? Všem známá firma Apple. Opět .. v jednoduchosti je krása :)  Co je podle tebe tvou nejsilnější designérskou stránkou a jak jsi tuto dovednost zlepšoval v posledních letech? Představivost / fantazie – když člověk nemá představivost, nevidí ve své mysli výsledek toho co má vytvořit, jen těžko se bude umět realizovat. Na jakých projektech nejraději pracuješ? Tam kde mám hlavní slovo: D Ale ne.. Nejlepší je když člověk má v hlavě už přibližnou představu co chce.. pak je práce jednoduchá.  [Image] I toto se naučíš v online kurzu od Marka Jaký je tvůj názor na specializaci vs. zobecňování?  Obě jsou super. Ale pro profesionální práci je nezbytná specializace. Nemůžete být profesionál když máte jen všeobecné vzdělání k danému tématu. Je nutné se v tom trošku „povrtat“. Když chce mít člověk přehled, je důležité zobecnění. Specializace patří profesionálům :) Je lepší kopat jednu jámu do 100m hloubky než kopat deset jam do 10m hloubky. Máš nějaké oblíbené nástroje, tooly, které ti usnadňují práci?  Photoshop :)  Co bys doporučil začínajícím grafikům (designérům), jak mohou nastartovat svoji kariéru?  Udělejte si přehled a zjistěte, k čemu máte největší vztah a poté ten směr zdokonalujte a pracujte na tom. Prostě trénovat, trénovat, trénovat. Ještě malá rada.. napodobujte to, co už je vytvořeno, co vidíte v reálném životě a to se snažte vytvořit svépomocí. Marek udělal spolu s námi  online kurz Photoshopu , ve kterém ovládneš úpravu fotografií od úplných základů až po pokročilé techniky. Informace o tomto online kurzu najdeš na  našem webu .
Co má společného Picasso a WordCamp Košice 2020?
Události
26.02.2020
Skillmea

Co má společného Picasso a WordCamp Košice 2020?

WordCamp je nezisková konference, která se pořádá v 75 městech po celém světě. Je určena zejména fanouškům redakčního systému WordPress, zároveň má však značný přesah do marketingu, podnikání i osobního života. Rozvíjí znalosti a dovednosti, které jsou v dnešní IT době velmi žádané. Pablo Picasso byl významný umělec 20. století, který měl mnoho talentů. Možná o nich ze začátku ani nevěděl, ale postupným tvořením a rozvíjením se z něj stal maestro. Tak jako Picasso, i ty máš v sobě různé talenty, ale musíš je objevit a rozvíjet.[Image] Díky konferenci WordCamp Košice 2020 máš možnost získat znalosti a dovednosti o používání a škálování systému WordPress, poznat příběhy lidí z WordPress komunity, můžeš se stát součástí této komunity – objev a rozviň svůj #wordpresstalent. „Třetí ročník WordCampu v Košicích s sebou opět přináší nové změny, kterými se snažíme zvyšovat úroveň konference. Jednou z těch větších jsou nové prostory - Kasárny/Kulturpark. Ty se nacházejí v centru města, jen pár minut chůze od Hlavní ulice.“, uvedli organizátoři konference.   Už 16. května tě v prostorách Kasáren/Kulturpark čekají zajímavé přednášky i workshopy z různých oblastí tvorby, používání či propagace webu. Tématické okruhy přednášek a workshopů se budou střídat, takže pokud si např. hardcore dev, budeš mít program vystaraný na celý den. Learn2Code má rádo WordPress a proto jsme hrdým partnerem této konference. Ahoj a vidíme se 16.5.2020 v Košicích na WordCampu.
Objective-C nebo Swift? Který jazyk zvolit?
Vzdělávání
03.09.2014
Marián Kristeľ

Objective-C nebo Swift? Který jazyk zvolit?

Při tvorbě kurzu iOS Developer jsme rozhodovali, který z jazyků si vybrat jako výukový. Z mého pohledu bylo toto rozhodnutí relativně jednoduché, ale pro úplnost si shrňme důvody, proč to nakonec vyhrál jazyk  Swift .[Image] Apple nám na letošní WWDC představil svůj nový programovací jazyk Swift. Ten by měl být rychlejší bezpečnější modernější a mnoho dalšího. Já osobně za jeho hlavní výhody pro začátečníky považuji jednodušší syntaxi, Playground a interaktivní debugovací konzoli. Jednodušší syntaxSkoro vždy, když jsem si povídal s nějakým vývojářem, který Objective-C viděl, nebo se s ním pokoušel pracovat, přišla řeč i na syntaxi tohoto jazyka. Nepadlo na její adresu snad jediné pozitivní slovo. Kopec hranatých závorek, názvy metod s mezerami, hvězdičky a množství zbytečného kódu kolem. Také mi dost dlouho trvalo, než jsem se s tímto stylem zápisu sžil, i když nakonec jsem mu přišel na chuť. Swift je svojí syntaxí velmi podobný rozšířeným jazykům jako například. JavaScript, C, Ruby, atd., takže pro lidi, kteří už v něčem programovali (a nebylo to nic exotického :-)) bude seznámení se Swiftem jednoduché. Ti, kteří nikdy neprogramovali to budou mít také mnohem jednodušší ve srovnání s Objective-C. Swift od nás, mimo jiné, nepožaduje rozdělovat zápis tříd do dvou samostatných souborů, importovat soubory s deklaracemi nebo si lámat hlavu se správou paměti. PlaygroundXCode ve verzi 6 disponuje novým nástrojem s názvem Playground. Jeho účel vyplývá z jeho názvu. Slouží k „hraní si“ s kódem. Obrazovka je rozdělena na dvě části. Vlevo uživatel píše svůj kód a vpravo hned vidí výsledek. Začínající programátor tedy nebude muset řešit, jaký typ aplikace vytvořit, co všechno kde zaškrtnout a zvolit. Stejně tak nebude muset po každé změně znovu spouštět aplikaci. Je to ideální způsob, jak se s jazykem seznámit a poznávat jej do detailů. Playground není omezen pouze na textový výstup, ale poskytuje také grafické prostředí. Stejně tak zobrazuje programátorovi i případné chyby a upozornění, že něco by mohl udělat jinak resp. lepší.[Image] Interaktivní debugovací konzolaBěžně se při vývoji aplikace stává, že napíšu kus kódu, aplikaci spustím, abych viděl, co jsem vlastně vytvořil a následně zjistím, že se nechová přesně tak, jak bych si představoval. Nebo si jen chci ověřit, co by se stalo když... Doposud jsem to mohl řešit tak, že po každé drobné změně jsem aplikaci znovu spustil a ověřil si, zda se daná změna projevila tak, jak jsem očekával. Tato metoda je náročná v případě, že funkcionalita, kterou potřebuji prověřit je „vzdálená“ několika tapnutí na obrazovku, nebo je závislá na specifickém stavu aplikace resp. prostředí se kterým aplikace pracuje, jako např. vzdálený server. Se Swiftem přichází také  Read-Eval-Print-Loop (REPL) . Je to debugovací konzole, která poskytuje interaktivní verzi Swiftu, pomocí které lze komunikovat s běžící aplikací, nebo si jen ověřit své nápady ve skriptovacím prostředí XCode nebo systémové konzole. Již zanedlouhoProti použití Swiftu v našem kurzu momentálně říká v podstatě jen to, že ještě není ve své finální podobě a vývojáři v Apple jej mohou ještě decentně upravit. Osobně si myslím, že pokud se tak stane, bude to v minimálním rozsahu a náš kurz to neovlivní. Autorem tohoto blog postu je lektor kurzu iOS Developer Števo Ľupták. Máte-li nějaké dotazy týkající se Swiftu nebo kurzu, napište je do komentářů.
Lambda výrazy v Javě - část II.
Tipy a triky
23.08.2019
Skillmea

Lambda výrazy v Javě - část II.

Typy lambda výrazůTento článek je pokračováním první části tutoriálu o Lambda výrazech. Vraťme se k našemu příkladu na začátku, kde jsme do metody vložili implementaci rozhraní a zavolali jsme metodu. Toto si teď zkusíme spolu předělat, tak abychom použili lamba výraz. HelloWord2. Přepište metodu implementace na lambda výraz. public void sayHello() { System.out.println("HelloWord impls"); } () -> System.out.println("HelloWord impls"); Znovu ta samá otázka, jaký typ má lamba výraz pokud ho chci přiřadit do proměnné? lambdaFunkcia = () -> System.out.println("HelloWord impls");Počkat! V Javě přece máme možnost jak deklarovat, jmenovat metody a tu použijeme. Tou možností je použít rozhraní. 1. vytvoření rozhraní s jednou deklarací metody 2. vytvoření metody, která odpovídá našemu lambda výrazu 1. v našem případě nemá žádné argumenty a návratová hodnota je void  Pokud bychom vytvořili rozhraní, kde budeme uvádět několik metod, tak to bude chyba. Jedině pokud budou default - tedy implementovány. Viz sekci o rozhraních. ILambda lambdaFunkcia = () -> System.out.println("HelloWord impls"); … public interface ILambda { void metoda(); // void metoda2(String s); // bude error } Použijme lambda výraz s bezpečným dělením. Napišme si k tomu interface a proměnnou: bezpecneDelenieFunkcia = (int a, int b) -> { if(b==0) { return 0 ; } return a/b; }; public static void main(String[] args) { Hocijako hocijako = (int a, int b) -> { if(b==0){ return 0; } return a/b; }; double d = hocijako.hocico(10, 2); System.out.println(d); } interface Hocijako{ double hocico(int x, int y); }Tady si můžeme říci, že název rozhraní a název metody v rozhraní není důležitý. Důležité je, aby seděly vlastnosti. Tedy rozhraní má jen jednu metodu (mimo default metod) a metodě sedí typ návratové hodnoty a parametry metody. Implemetační třídu už tedy nepotřebujeme, neboť jakoby implementací je lambda výraz. Můžu si to nechat, pokud to potřebuji takto používat, ale v našem případě nepotřebuji implementační třídu. Lambda výraz se chová jako implemtnace rozhraní. Ale není to implementace. Tento příklad bude fungovat: HelloWord3 helloWord = new HelloWord3(); IHelloWord helloWord1 = new HelloWordImpl(); IHelloWord helloWord2 = () -> System.out.println("HelloWord impls lambda"); helloWord1.sayHello(); helloWord2.sayHello();Na výstupu bude: HelloWord impls HelloWord impls lambda Pokračování příště 😗 Mrkni prozatím moje kurzy o Java programování nebo videa, která máme na Youtube.
Tipy, triky a chyby v jazyce C++ pro začátečníky
Tipy a triky
04.08.2019
Skillmea

Tipy, triky a chyby v jazyce C++ pro začátečníky

Tímto článkem bych vám chtěl představit zajímavé tipy a triky v jazyce C++, které byste mohli použít ve vašem kódu. Jsou velmi jednoduché, protože jsou určeny pro začátečníky. Navíc bych vás chtěl upozornit na některé často se opakující chyby, které se ve vašem kódu mohou na začátku vyskytovat. Nejedná se o chybu v pravém slova smyslu, tedy ne takovou, po které by byl váš kód nepřeložitelný, spíše se jedná o obroušení vašeho programátorského stylu, či vytvoření takového kódu, který bude rychle vykonáván. Poslední zmíněnou vlastnost dosáhnete s C++ snadno, protože kódy, které navrhnete v C++ se provedou mnohem rychleji než ty, které navrhnete v jiných jazycích. Umím programovat ve více jazycích a proto to mám skutečně odzkoušené. Pamatujte, že C++ to však neprovede za vás, protože i tam lze vytvořit velmi špatný kód. Záměrně se použil termín špatný, ačkoli není odborný. Myslím tím kód, ve kterém špatným stylem a technikou nedosáhnete požadavků, které se na kód kladou. Příkladem může být právě rychlost provádění spustitelného kódu, jeho přehlednost či snadná udržovatelnost. V následujících řádcích vám to na pár příkladech ozřejmím. Příklady tipů, triků a chybJistě jste se již v programování pokoušeli naprogramovat jednoduché matematické operace. Mějme tedy následující kód: #include <iostream> int main() { int a; int b = -1; int c; int d = 4; int e = 2; int f = 3; int g; a = b + c; d = e - f; g = a * d; std::cout << "g = " << std::endl; std::cin.get(); std::cin.get(); return 0; }Nejprve bych se vás chtěl zeptat, jestli se vám takto napsaný kód na první pohled líbí. Myslím tím po koncepční stránce. První chybou je, že začínající programátoři neodsazují bloky kódu. Tak například tento kód by se dal pěkně odsadit pomocí následujících pravidel. Oddělte direktivy preprocesoru od hlavičky funkci main(). Oddělte deklarace a definice proměnných od zbytku kódu. Někdy, když budete používat mnoho proměnných, můžete také jednotlivé deklarace proměnných uspořádat do logických celků. Můžete vytvořit bloky kódu podle typu proměnné. Navíc jazyk C++ vám umožňuje deklarovat a inicializovat proměnnou na místě, kde to skutečně potřebujete, tedy předtím, než ji použijete. Dále, v tomto kódu oddělte nosnou část kódu a to vytvořte blok kódu, kde se provádějí jednotlivé matematické operace. Nakonec, oddělte zápis na obrazovku a také načtení ze vstupu klávesnice. Potom už jen oddělíte klíčové slovo return s jeho návratovou hodnotou. Po zmíněných úpravách vám vznikne čitelný kód, který vypadá následovně: #include <iostream> int main() { int a; int b = -1; int c; int d = 4; int e = 2; int f = 3; int g; a = b + c; d = e - f; g = a * d; std::cout << "g = " << std::endl; std::cin.get(); std::cin.get(); return 0; }Když se dále podíváme na kód, můžeme některé deklarace umístit na jeden řádek. Konkrétní provedení nechám na vás, ale já bych doporučoval deklarovat na jednom řádku proměnné, které se neinicializují hned na začátku současně s deklarací. Na druhý řádek bych umístil proměnné, které se inicializují současně s deklarací. Takto získáte ještě větší přehled v kódu a ušetříte 4 řádky kódu. Kód bude vypadat následovně: #include <iostream> int main() { int a, c, g; int b = -1, d = 4, e = 2, f = 3; a = b + c; d = e - f; g = a * d; std::cout << "g = " << std::endl; std::cin.get(); std::cin.get(); return 0; }Nyní přejdeme ke zmiňované rychlosti. Je mi jasné, že při tak krátkém kódu ušetříme relativně málo času, ale kdyby se nosná část kódu, tedy tři matematické operace s přiřazováním, prováděly v cyklu například. 1 000 000 krát, viděli byste zaručeně rozdíl. V uvedeném příkladu není nutné použít 7 proměnných a výsledek vyhodnocovat na třikrát. Výsledky b + c a e - f se vynásobí a přiřadí do další proměnné. Tak, jak to je naprogramováno, je to zbytečné. Zkuste vše vyhodnotit jako jeden výraz a přiřadit na jednom řádku. Vznikne nám kód, který bude mít o dva řádky méně a bude provádět totéž. A v čem je vlastně problém. No v operátoru přiřazení. Tato operace je příliš časově náročná. V podstatě se musí přesunout hodnota proměnné uložená na jednom paměťovém místě do paměťového místa, které je určeno pro jinou proměnnou. A po kurzu už víte, že počítač zná jen 0 a 1. Organizačně existuje nejméně jeden bajt. Nezmiňoval jsem sice, co je zásobník, ale když se pohybujeme v jeho paměti, trvá to ještě déle. Vraťme se ale zpět, po úpravě bude kód vypadat následovně: #include <iostream> int main() { int g; int b = -1, d = 4, e = 2, f = 3; g = (b + c) * (e - f); std::cout << "g = " << std::endl; std::cin.get(); std::cin.get(); return 0; } A pojďme ještě dál. K čemu vůbec v tomto kódu používáme proměnné, když je nenačítáme ze vstupu. Výsledek kombinace matematických operací můžeme přece zapsat rovnou na obrazovku, aniž bychom hodnoty přiřazovali do proměnných. Odstraníme tím i deklarace. Po konečné úpravě, bude kód vypadat následovně: #include <iostream> int main() { std::cout << "res = " << (-1 + 4) * (2 - 3) << std::endl; std::cin.get(); std::cin.get(); return 0; }Závěrem bych tedy znovu chtěl zdůraznit, jak jsou programátorský styl a technika důležité. Vidíte, že z 18 řádkového kódu, který jsme získali odsazením původního kódu, nám po několika úpravách zůstal kód, který má 8 řádků. A tento kód, ačkoli je malý, je laicky řečeno, pěkný. To znamená, že se jeho spustitelný kód provede rychle, je přehledný a snadno udržovatelný. Autorem blogu je Marek Šurka, který má na Learn2Code online kurz C++ pro začátečníky.
Co bys měl vědět o Předplatném online kurzů pro rok 2018
Novinky
16.11.2017
Skillmea

Co bys měl vědět o Předplatném online kurzů pro rok 2018

Předplatné Learn2Code online kurzů jsme letos trochu upravili a máš možnost si jej objednat nebo prodloužit za výhodných podmínek. Vždyť čti dál. Cenu ročního přístupu jsme snížili z 249 Eur na 199 Eur a kromě toho, pokud si předplatné objednáš například v listopadu, přístup získáš až do konce prosince 2018. Máš tak od nás další měsíc studia programování, online marketingu nebo designu grátis .  Co všechno u nás najdešJiž téměř 40 online kurzů můžeš studovat na Learn2Code platformě. Další kurzy budou neustále přibývat, zmíním jen ty nejzajímavější, na které se asi nejvíc těšíš: • Python pro začátečníky • Android Developer • JavaScript série • VBA programování • Adobe Illustrator • a mnoho dalších témat Toto vše máš za 199 Eur, což je přibližně 15 Eur na měsíc , pokud přičteme i prosinec 2017 jako bonusový měsíc, který dostáváš zdarma. A to se vyplatí, protože dostaneš desítky kurzů, stovky hodin videomateriálu, certifikáty o absolvování kurzů, podporu od lektorů v diskusích. Předplatné jako dárekNevíš, čím obdarovat sebe nebo své blízké na Vánoce? Máme pro tebe super tip - Learn2Code Předplatné :) Vzdělávání je ta nejlepší investice do budoucnosti pro tebe nebo tvé blízké. A proto nám napiš email a vystavíme ti dárkový poukaz.[Image] Garance včetně penězLearn2Code kurzy prošly stovky spokojených studentů, nekupuješ tedy kočku v pytli. Pokud sis přesto nejistý, jestli se ti bude online forma vzdělávání zamlouvat a zda ti bude vyhovovat, garantujeme ti vrácení peněz v ochranné lhůtě 14 dnů. V případě, že tedy nebudeš s našimi kurzy spokojen, vrátíme ti plnou částku zpět. O vrácení peněz nás požádej emailem do 14 dnů od tvé objednávky.[Image] Pojď do toho! Veškeré info a přihlašování do předplatného  najdeš na této stránce . Pokud máš nějaké dotazy nebo nejasnosti, napiš nám email nebo zavolej :) 
10 programátorských C++ úkolů pro začátečníky
Vzdělávání
07.10.2021
Skillmea

10 programátorských C++ úkolů pro začátečníky

Naučit se C++ není snadný úkol, když si však chceš uchovat své znalosti v dobré formě, vyžaduje to praxe. Jedna věc je naučit se základy programování v C++ a syntaxi jazyka, ale něco úplně jiného je použít tyto znalosti k tvorbě reálných programů v jazyce C++. V tomto článku si řekneme, kde byste mohli použít jazyk C++ ve své další práci a proč je to stále používaný programovací jazyk. A také ti v článku přineseme 10 programátorských úkolů v C++, na kterých si jazyk procvičíš. K čemu se používá C++?C++ je jedním z nejpoužívanějších programovacích jazyků. Lepší otázkou by tedy mohlo být, k čemu se C++ nehodí? 🙂 C++ je nejčastěji zvolen kvůli své schopnosti efektivně provozovat velké aplikace. Můžete jej také použít k doladění toho, jak program používá svůj hardware. C++ naleznete v operačních systémech, vašich oblíbených multiplayer hrách, připojování na databáze a dokonce i v nových technologiích VR a AR. Kromě toho je C++ populární při tvorbě databázových aplikací, ve finančnictví a ekonomice, využívá se ve vestavěných systémech, real-time systémech, při zpracování velkého objemu dat, dále v robotice a kybernetice, v počítačové grafice (zpracování obrazu, grafický rendering) či komunikačních systémech. Mnoho vývojářů si vybírá C++, neboť dokáže efektivně spouštět jejich programy. Komunita C++ vývojářů je také poměrně široká, umožňuje to jednodušší spolupráci a pomoc, když se člověk při něčem zasekne. 10 C++ úkolů pro začátečníkyKe splnění úkolů použij libovolný editor, který ti vyhovuje. Stanov si cíl a časový horizont, ve kterém chceš úkoly splnit. Klidně udělej jeden úkol každý den, některé úkoly budou možná náročnější a zaberou více času. Začněme s úkoly. 1. Vypište „Hello world“ správuV kterémkoli editoru, se kterým jste se rozhodli pracovat, zkontrolujte, zda můžete napsat kód, který zobrazí tento řetězec znaků. I když se to může jevit jako jednoduchý úkol, zamyslete se nad všemi způsoby, jakými budete chtít zobrazovat zprávy v budoucích programech, které vytvoříte. Tisk chybových zpráv nebo potvrzovacích zpráv pro různé části kódu je důležitý při ladění programu. Mohou se také objevit výzvy nebo výsledky, které budete chtít vytisknout a sdílet s koncovým uživatelem. Vypisování zprávy je dovednost, kterou budete používat poměrně často. 2. Vytvořte program, který sečte dvě celá číslaZjistěte, zda dokážete vytvořit program v jazyce C++, který načte dvě celá čísla ze vstupu klávesnice a sečte je. Výsledek by měl vrátit součet. Jedná se sice o základní kalkulátor, představte si ale jeho sílu ve velké databázi, kde byste pomocí smyček mohli přidávat obrovské množství údajů. Bonusový úkol: Rozšiřte tento program o součet dvou matic (nezáleží, kolik bude mít prvků), abyste vytvořili pole součtových prvků. Máte-li zájem pracovat ve finančním odvětví jako vývojář, pomocí programů, jako je tento, můžete vaší firmě vypočítat důležité údaje. 3. Napište program, který převádí pixely na centimetryMěniče jednotek jsou malé pomocné nástroje. Můžete vytvořit program v jazyce C++, který bude zaznamenávat rozměry v pixelech a vyplivuje přesně stejné měření v centimetrech? Pokud uvažujete o kariéře v oblasti datové vědy, budete muset být dobrý v čištění a formátování údajů. Konverze dat na jinou měrnou jednotku je dobrým praktickým testem. 4. Naprogramujte nástroj pro konverzi teplotyPodobně je užitečný program pro sestavení převodu teploty na jinou měrnou jednotku. Zjistěte, zda můžete vytvořit program, který bude měřit zadanou teplotu ve stupních Celsia a vrátí stejnou teplotu ve Fahrenheitu. 5. Vytvořte multiplikátor s pohyblivou řádovou čárkouVzhledem ke dvěma číslům s pohyblivou řádovou čárkou vytvořte program C++, který vám poskytne součin těchto dvou. Chcete posunout věci na střední úroveň? Na této výzvě vsaďte tím, že povolíte libovolný počet vstupů (nebo jejich množství) a vrátíte součin všech vstupních čísel s pohyblivou řádovou čárkou. 6. Převeďte řetězec na všechna velká písmenaMůžete se rozhodnout, jak dlouhý nebo krátký bude váš vstupní řetězec. Tento program by měl brát zadaná malá písmena a převádět je na velká písmena. Jedná se o velmi užitečný nástroj pro správu databáze nebo čištění dat. 7. Vytvořte kalkulačku, která bude počítat průměrNapište program v jazyce C++, do kterého zadáte pole čísel a výstupem bude jejich průměr. Bonusem by mohla být kalkulačka, která jako vstup použije matici a poskytne průměr každého řádku nebo sloupce. 8. Vytvořte funkci, která zkrátí řetězec na 10 znakůMůžete sestrojit funkci, která přijímá jako vstup řetězec a vrací zkrácenou verzi? Existuje mnoho aplikací pro ořezávání dat, takový nástroj umí odstranit chyby v databázi. Například v údajích o adrese zákazníka by jakékoli PSČ, které má více než pět znaků, bylo nesprávné. Ořezávání celých souborů pomocí tohoto programu může pomoci udržet databáze se správnými údaji. 9. Naprogramujte program, který bude provádět třídění pole číselných prvkůVzhledem k pole, řekněme, 10 čísel, můžete vytvořit program, který vrátí pole v číselném pořadí od nejmenšího čísla po největší? Seřazení dat je účinný způsob využití jazyka C++. Pokud vám vyhovuje malé pole, zkuste pracovat s větším – nebo dokonce s maticí. Třídící algoritmus necháváme na řešiteli. 10. Napište program, který počítá duplicitní položky polePři čištění dat je třeba odstranit duplicitní údaje. V této krátké úloze tedy vytvořte program, který vrátí počet prvků v poli, které jsou duplikáty. Nezapomeňte každý den pracovat na svých programátorských dovednostech, abyste postupně dosáhli vytouženého cíle a stali se dobrými programátory.
Jak umí programátor samouk dohnat ty, co studovali na univerzitě
Tipy a triky
03.04.2018
Martin Lipták

Jak umí programátor samouk dohnat ty, co studovali na univerzitě

Co se učí na univerzitáchJsi programátor samouk a přemýšlíš, jak to vypadá na univerzitě? Už jsi viděl všechny online kurzy , máš za sebou 10 vlastních projektů a začínáš v nové práci jako Web developer. Jak dohnat lidi, kteří 5 let studovali informatiku? Dá se to vůbec?  Před 3 lety jsem skončil FIIT ( Fakulta informatiky a informačních technologií ) na STU v Bratislavě a také jsem přemýšlel, co všechno mi škola dala. Je toho hodně a jsem velmi rád, že jsem si vybral takovou cestu. Na druhou stranu, kdybych tuto možnost neměl, většinu věcí bych se naučil i jinde. Co pro mě byly ty nejdůležitější věci? Asi už tušíš, že je to celé velmi subjektivní a určitě neber tento článek jako univerzální návod. Studentský životBydlel jsem na intrácích v Mlýnské dolině a jeden semestr jsem strávil na programu Erasmus ve Španělsku. Byly to kamarádství a zážitky, na které lze vzpomínat celý život. Pro samouky: Pokud jsi studoval na jakékoli vysoké škole, víš o čem mluvím. Inspirativní lidéPoznal jsem mnoho spolužáků a učitelů, kteří mě v mnoha věcech posunuli dál. S mnoha jsem dosud v kontaktu a můžu se na ně spolehnout, kdybych potřeboval pomoc.  Pro samouky: Skvělé lidi najdeš iv pracovních kolektivech. Obklop se takovými, kteří jsou lepší než ty sám.  Na škole se organizovalo velké množství akcí a učitelé nás motivovali chodit na setkání programátorů mimo školu, kde jsem poznal mnoho dalších lidí. Pro samouky: Hledej si kamarády na různých událostech pro programátory, kterých je více než dost v každém větším městě (například taková Rubyslava nebo Reactive meetups a mnoho dalších). SamostatnostOd intráků a studia v zahraničí, až po práci na zadáních, projektech a závěrečných pracích. Alespoň na FIIT to bylo tak, že táhnout to musel sám student a učitel mu jen pomáhal nebo někdy i nepomáhal. Zasekl ses při zadání a termín je zítra? Použij Google, nebo se poraď se spolužáky, ale vyřeš to. Pokud tvé zadání nebude do 00:00 CEST v předávacím systému, nikoho nebudou zajímat tvé výmluvy a předmět si zopakuješ další rok. Pokud se ti nasbírá takových předmětů více, letíš ze školy. Pro samouky: Tak jako jsi udělal těch 10 vlastních projektů, i v práci budou očekávat, že se věcí chytíš a dotáhneš je samostatně do konce. To ale neznamená, že se nemáš ptát (nejdříve Google) a požádat o pomoc, když ji potřebuješ. [Image] Práce v týmuNa mnoha školních projektech jsem nepracoval sám. Na týmovém projektu jsme byli až 7 a museli jsme se vypořádat s odlišnými názory a dokonce cíli v projektu.  Pro samouky: Máš za sebou těch 10 projektů, při kterých ses naučil samostatnosti. V práci budeš obklopen lidmi a musíte spolu co nejlépe vycházet. Jmenuje se to soft skills a dá se to natrénovat. [Image] VědomostiNa co všechno si vzpomenu 3 roky po skončení školy? O čem byly všechny ty předměty? • Jak funguje počítačový hardware a jak se z jednotek a nul stanou programy – logické obvody a počítačové architektury. • Jak funguje operační systém - ovladače zařízení, IO, systémová volání, procesy, vlákna (threads), synchronizace, správa unixových systémů a shell skripty. • Jak funguje Internet a co je HTTPS, DNS, POP3, IP a Ethernet – 7 vrstev počítačových sítí a jak spolu souvisí všechny tyto protokoly. • V čem se liší paradigmata programování - procedurální programování v C, objektově orientované v Javě, funkcionální v Lispě a logické v Prologu. Viz můj první projekt v C , který jsem nahrál do školního systému pro automatické testování :) • Co znamená zápis O(n) a jak určit složitost algoritmů? Jak může efektivní algoritmus vypočítat výsledek za 1 milisekundu a neefektivní by to počítal týdny? Vyvážené binární stromy, hashing, grafy a jiné datové struktury. • Co je to Turingův stroj? Proč jsou regulární výrazy regulární? Co je abstraktní syntaktický strom? Základní teorie informatiky, na které stojí všechny programovací jazyky. • Je umělá inteligence opravdu inteligentní? Hrubá síla a heuristiky, které řeší složité problémy, neuronové sítě, genetické algoritmy a odvozovací stroje. • Jaké jsou výzvy paralelního programování? Klasické problémy synchronizace, vlákna, mutexy a semafory. • Co je databáze? Návrh datových modelů, psaní dotazů (queries), optimalizace indexy a kdy použít NoSQL. • Úvod do analýzy dat (data science). Lineární regrese, neuronové sítě, support vector machines, clustering a časové řady. • Jak spravovat softwarové projekty? Vodopád nebo agilní metodologie, důležitost testování a dokumentace, návrh poživatelských rozhraní, kvalita kódu a návrhové vzory. • Jak dělat výzkum? Návrh hypotéz, jejich vyhodnocování experimenty, měření dat, psaní a zveřejňování výzkumných článků. • Pár předmětů o ekonomii, právu a psychologii bylo příjemným odpočinkem od technických věcí. • Webový vývoj v Ruby on Rails. Toto je to, čemu se nyní věnuji v práci. Pro samouky: Vypadá to jako velmi dlouhý seznam, ale většinu z těchto věcí se umíš naučit v praxi. Jsou však věci, ke kterým se nedostaneš. Pokud se od začátku zaměřuješ na webový vývoj v PHP , asi se nebudeš do hloubky zabývat hardwarem, překladači (compilers) a operačními systémy. A většina lidí se asi nebude zabývat výzkumem. [Image] Takže jak dohnat ty, kteří studovali FIIT?• Obklop se lidmi, od kterých se můžeš hodně naučit. Najdeš je v práci a na setkáních programátorů. • Nečekej, že ti vždy řeknou, jak máš věci dělat. Samostatnost je ale také umět požádat o pomoc, když ji potřebuješ. • I když to tak na první pohled nevypadá, programování je víc o lidech než o počítačích. Pracuj na svých soft skills a komunikaci v týmu. • Snaž se porozumět věcem do hloubky. Jak fungují regulární výrazy? Proč potřebuje databáze indexy? Jaký je rozdíl mezi http:// a https://? V čem jsou výhody SCRUM-u? • Uč se věci mimo tvé specializace. Vyvíjíš weby? Zkus udělat nativní mobilní aplikaci. Co takhle si o víkendu naprogramovat ovladač do operačního systému nebo kompilátor? Máš dotazy k tomuto blogu? Neváhej je napsat do komentářů.