David Šetek - Hackni svou budoucnost

David Šetek - Hackni svou budoucnost

Chtěli byste se naučit tvořit webové stránky a programovat? Není to tak těžké, jak většina lidí říká. Potřebujete jen začít. Na kanálu najdete již nyní videa o tvorbě webových stránek pomocí HTML a CSS. Pak můžete mrknout na JavaScript. Jsou zde také základní videa o PHP. Nyní připravuji videa o pokročilém JavaScriptu. Ponořte se do hlubin IT světa a zjistěte, co je opravdu zač. Není jen pro vyvolené nebo geniální lidi. Vůbec ne. Každý se může v této oblasti naučit přesně to, co potřebuje a hlavně co chce. Navíc na pracovním trhu není zrovna malá poptávka po schopných lidech. Udělám vše, abych z vás schopného člověka vytvořil. Tak se do toho pojďte pustit. Začněte kurzem na HTML a CSS a začněte budovat své první webové stránky.

Пікірлер

  • @JaroslavTvrz
    @JaroslavTvrz2 минут бұрын

    Zdravím, moc děkuji za kurz máte to velice přehledné a baví mě to, jen pro ujištění bych se chtěl zeptat, zda se to dá i zapsat takto: print("Vítejte v kalkulačce přestupného roku.") rok = int(input("Zadejte rok. ")) if rok % 4 == 0: if rok % 100 != 0: print("Jedná se o přestupný rok") if rok % 4 == 0: if rok % 100 == 0: if rok % 400 == 0: print("Jedná se o přestupný rok") else: print("Nejedná se o přestupný rok")

  • @robertradla4755
    @robertradla475538 минут бұрын

    Kdo používáte macOS, tak vám teďka ušetřím celý den práce :D Aby vám to fungovalo, musíte mít u všech složek, které jsou součástí path ke složce (ve které chcete pracovat) nastaveno povolení pro všechny uživatele - čtení a zápis (běžně je u všech složek jen čtení a až pouze pro admina čtení a zápis). Druhá podmínka, aby to fungovalo - složka ve které chcete pracovat nesmí být na icloudu. Musí být například v applications. Pro icloud totiž nelze nastavit povolení pro čtení a zápis… tak.. konečně můžu dokoukat druhé video :D

  • @miroslavpaulovic17
    @miroslavpaulovic1714 сағат бұрын

    Ja som si tú galériu nechal tak, ako bola pôvodne, čiže nedával som ju do tej jquerry galérie (to som robil iba zvlášť), takže v tejto mám všetký tie efekty, ako podklad a skryté pretekanie a pod. No a to robí fakt psie kusy pri tej responzivite a nepomáha ani finta s col :D ja som tam vela veci zmenil podla seba, no a teraz to nemôžem nastaviť tak, aby to vyzeralo dobre aj na malých obrazovkách, ale všeko ostatné sa v podstate prispôsobuje dobre.

  • @kocoursaurus
    @kocoursaurus18 сағат бұрын

    Pohled na zadání mě trochu vyděsil, ale ač můj kód vypadal trochu jinak, v konzoli to vyšlo správně a matematika mi také funguje. Sice jsem teprve u 10. lekce, ale líbí se mi, že kurz jde hezky pozvolna + je vždy příležitost na procvičení, takže si říkám, že to programování třeba nebude taková hrůza :)

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost15 сағат бұрын

    Super. Programování není hrůza. Je to jen další komunikační jazyk. Když má člověk motivaci a odhodlání, tak se to dokáže naučit

  • @vigosimracing9057
    @vigosimracing905719 сағат бұрын

    a co kdyby se udelala jen jedna Hlavni classa QuizBrain a v ni by se udaly vsechny metody, i ta na otazky? Takze by se spustil quizbrain jako objekt a postupne by se na nej nalepovaly metody a ukladala potrebna data. jdu to vyzkouset.

  • @vigosimracing9057
    @vigosimracing905713 сағат бұрын

    Tak masakr, vyzkousel jsem si to to udelat pomoci jen jedne classy a opatrit to metodatam a vesel jsem se na 35 radek a pritom kod je krasne citelnej

  • @kocoursaurus
    @kocoursaurusКүн бұрын

    Děkuji za tento kurz, s VS code jsem se již setkal, ale s těmito vychytávkami se v něm bude pracovat mnohem lépe :)

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnostКүн бұрын

    Jsem rád, že se ti kurz líbil 🙂

  • @vigosimracing9057
    @vigosimracing9057Күн бұрын

    ja bych tu defaultni hodnotu vydel spis, kdyz ji zadavas jako atribut do init funkce : def __init__(self, baterie, delka_rukou, oprava=365): protoze se muze stat, ze jeden z deseti modelu robotu bude potrebovat castejsi kontrolu a tu jednoduse zmenis pri vytvareni objektu.

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnostКүн бұрын

    Tak to záleží, jak si nadefinuješ zadání a co by měl tvůj kód přesně dělat

  • @toklikon
    @toklikonКүн бұрын

    No, asi jsem měl procvičit funkci def, ale udělal jsem to trošku jinak :D import math vyska_zdi = float(input("Zadejte výšku zdi: ")) sirka_zdi = float(input("Zadejte šířku zdi: ")) velikost_zdi = round(vyska_zdi * sirka_zdi, 2) print(f"Velikost zdi je {velikost_zdi} m2") pokryti_plechovky = float(input("Kolik metrů čtverečních pokryje jedna plechovka barvy? ")) plechovek = math.ceil(velikost_zdi / pokryti_plechovky) print(f"Budete potřebovat {plechovek} plechovky")

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnostКүн бұрын

    To vůbec nevadí. Hlavní je, že je to funkční 🙂

  • @MarekHudec-py9mq
    @MarekHudec-py9mqКүн бұрын

    moc dekuji za kurzy toto je moje reseni # importy import os import time from mymodule import menu from mymodule import resources # promene again = 'ano' # resetovani ceny def reset_price(): jedna = 0 dva = 0 pet = 0 deset = 0 dvacet = 0 padesat = 0 price = 0 # vybirani kavy def coffe(): while again == 'ano': def drink(): type_coffe = input('co za kavu by jste si dal (espresso/latte/cappucino): ') return type_coffe type_coffee = drink() if type_coffee == 'report': print(resources) if type_coffee == 'espresso': if resources["water"] >= menu["espresso"]["ingredients"]["water"] and resources["milk"] >= menu["espresso"]["ingredients"]["milk"] and resources["coffee"] >= menu["espresso"]["ingredients"]["coffee"]: print('na vas napoj mame dostatek surovin') resources["water"] -= menu["espresso"]["ingredients"]["water"] resources["milk"] -= menu["espresso"]["ingredients"]["milk"] resources["coffee"] -= menu["espresso"]["ingredients"]["coffee"] reset_price() print('prosim vlozte mince 1, 2, 5, 10, 20, 50') jedna = int(input('kolik chcete vlozit 1 Kc')) dva = int(input('kolik chcete vlozit 2 Kc')) pet = int(input('kolik chcete vlozit 5 Kc')) deset = int(input('kolik chcete vlozit 10 Kc')) dvacet = int(input('kolik chcete vlozit 20 Kc')) padesat = int(input('kolik chcete vlozit 50 Kc')) jedna = 1 * jedna dva = 2 * dva pet = 5 * pet deset = 10 * deset dvacet = 20 * dvacet padesat = 50 * padesat price = jedna + dva + pet + deset + dvacet + padesat if price >= menu["espresso"]["cost"]: print(f'cena napoje je {menu["espresso"]["cost"]} vy jste vlozili {price}') final_price = price - menu["espresso"]["cost"] print(f"{price} - {menu["espresso"]["cost"]} je {final_price}") print("dekujeme za vas nakup ") if price > 0: print(f"nezaponemte si drobne {final_price} Kc vyzvednot dole v prihradce") time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print(f'nevlozili jste dostatek penez cena espressa je {menu["espresso"]["cost"]} Kc vy jste vlozili pouze {price} Kc') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print('na nas napoj nemame doststek surovin pridte zitra az bude automat naplnen') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() if type_coffee == 'latte': if resources["water"] >= menu["latte"]["ingredients"]["water"] and resources["milk"] >= menu["latte"]["ingredients"]["milk"] and resources["coffee"] >= menu["latte"]["ingredients"]["coffee"]: print('na vas napoj mame dostatek surovin') resources["water"] -= menu["latte"]["ingredients"]["water"] resources["milk"] -= menu["latte"]["ingredients"]["milk"] resources["coffee"] -= menu["latte"]["ingredients"]["coffee"] reset_price() print('prosim vlozte mince 1, 2, 5, 10, 20, 50') jedna = int(input('kolik chcete vlozit 1 Kc')) dva = int(input('kolik chcete vlozit 2 Kc')) pet = int(input('kolik chcete vlozit 5 Kc')) deset = int(input('kolik chcete vlozit 10 Kc')) dvacet = int(input('kolik chcete vlozit 20 Kc')) padesat = int(input('kolik chcete vlozit 50 Kc')) jedna = 1 * jedna dva = 2 * dva pet = 5 * pet deset = 10 * deset dvacet = 20 * dvacet padesat = 50 * padesat price = jedna + dva + pet + deset + dvacet + padesat if price >= menu["latte"]["cost"]: print(f'cena napoje je {menu["latte"]["cost"]} vy jste vlozili {price}') final_price = price - menu["latte"]["cost"] print(f"{price} - {menu["latte"]["cost"]} je {final_price} Kc") print("dekujeme za vas nakup ") if price > 0: print(f"nezaponemte si drobne {final_price} Kc vyzvednot dole v prihradce") time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print(f'nevlozili jste dostatek penez cena espressa je {menu["latte"]["cost"]} Kc vy jste vlozili pouze {price} Kc') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print('na nas napoj nemame doststek surovin pridte zitra az bude automat naplnen') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() if type_coffee == "cappuccino": if resources["water"] >= menu["cappuccino"]["ingredients"]["water"] and resources["milk"] >= menu["cappuccino"]["ingredients"]["milk"] and resources["coffee"] >= menu["cappuccino"]["ingredients"]["coffee"]: print('na vas napoj mame dostatek surovin') resources["water"] -= menu["cappuccino"]["ingredients"]["water"] resources["milk"] -= menu["cappuccino"]["ingredients"]["milk"] resources["coffee"] -= menu["cappuccino"]["ingredients"]["coffee"] reset_price() print('prosim vlozte mince 1, 2, 5, 10, 20, 50') jedna = int(input('kolik chcete vlozit 1 Kc')) dva = int(input('kolik chcete vlozit 2 Kc')) pet = int(input('kolik chcete vlozit 5 Kc')) deset = int(input('kolik chcete vlozit 10 Kc')) dvacet = int(input('kolik chcete vlozit 20 Kc')) padesat = int(input('kolik chcete vlozit 50 Kc')) jedna = 1 * jedna dva = 2 * dva pet = 5 * pet deset = 10 * deset dvacet = 20 * dvacet padesat = 50 * padesat price = jedna + dva + pet + deset + dvacet + padesat if price >= menu["cappuccino"]["cost"]: print(f'cena napoje je {menu["cappuccino"]["cost"]} vy jste vlozili {price}') final_price = price - menu["cappuccino"]["cost"] print(f"{price} - {menu["cappuccino"]["cost"]} je {final_price} Kc") print("dekujeme za vas nakup ") if price > 0: print(f"nezaponemte si drobne {final_price} Kc vyzvednot dole v prihradce") time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print(f'nevlozili jste dostatek penez cena espressa je {menu["cappuccino"]["cost"]} Kc vy jste vlozili pouze {price} Kc') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() else: print('na nas napoj nemame doststek surovin pridte zitra az bude automat naplnen') time.sleep(3) time.sleep(3) time.sleep(3) os.system('cls') coffe() coffe()

  • @Snef0001
    @Snef00012 күн бұрын

    2 komentář

  • @danielpesek7349
    @danielpesek73492 күн бұрын

    while True: name = input("Zadejte název souboru: ") with open(f"{name}.txt", mode="w") as my_file: my_file.write("test") end_cycle = input("Chcete pokračovat? zadejte 'ano'") if end_cycle.lower() != "ano": break Mockrát děkuji za skvělou přípravu! :) Splněno během chvilky, pouze vygooglení zápisu "with"

  • @Marcus-wm6bq
    @Marcus-wm6bq2 күн бұрын

    { "emmet.includeLanguages": { "javascript": "javascriptreact" }, "bracket-pair-colorizer-2.depreciation-notice": false }

  • @MarekHudec-py9mq
    @MarekHudec-py9mq2 күн бұрын

    tvoje kurzy jsou super cerpam z nich vsechny informace doufam ze v nich budes do budoucna pokracovat

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnostКүн бұрын

    Díky, jsem rád, že se ti kurzy líbí 🙂

  • @steveruu
    @steveruu2 күн бұрын

    Ahoj Davide, přemýšlel jsi někdy nad / zkoušel jsi někdy Next.js? Mohl by to být zajímavý další kurz

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnostКүн бұрын

    Ahoj, nějaké zkušenosti s Next.js mám. Určitě by to na React hezky navazovalo. Mám ho na seznamu

  • @toklikon
    @toklikon2 күн бұрын

    Plánujete někdy C# videa? :)

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnostКүн бұрын

    Dost lidí si o C# psalo. Až bude čas, tak bych se do něj také rád pustil

  • @martinheiler9964
    @martinheiler99642 күн бұрын

    U proměnné je pouze "12345" a pak v podmínce jsou 2 hodnoty. Proměnná tam je jen kvůli identifikování datového typu?

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnostКүн бұрын

    Ta proměnná ti říká, který kód člověk u dveří zadává. V podmínce máš 2 kódy, protože dveře otevírají oba dva kódy. A ty musíš zjistit, jestli zadaný kód odpovídá jednomu nebo druhému kódu.

  • @martinheiler9964
    @martinheiler996416 сағат бұрын

    @@hacknisvoubudoucnost už chápu. Jsem mamlas. Děkuji za vysvětlení

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost15 сағат бұрын

    @@martinheiler9964 Není vůbec zač 🙂

  • @vigosimracing9057
    @vigosimracing90572 күн бұрын

    Mam velky problem, zda ze v automatu nejsou poharky, ted to mam cely od kafe, vsechno mi to vyteklo na podlahu a penize futch.

  • @FirstNameLastName-kv2lx
    @FirstNameLastName-kv2lx2 күн бұрын

    Z popisku k JS metodě includes (aby se někdo nedivil, jako já, proč při mountu není seznam prázdný): Vrátí true, pokud je hledaný řetězec nalezen kdekoli v daném řetězci, včetně případů, kdy je searchString prázdný řetězec; jinak false.

  • @smecka5489
    @smecka54893 күн бұрын

    dal sem Score: score = len(body_parts) a nic se mi neopakuje nic nemusím nulovat

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost3 күн бұрын

    Já si sice kód už nepamatuji, ale vše se dá zapsat různými způsoby

  • @Smajlos
    @Smajlos3 күн бұрын

    Ahoj občas mám problém si zapamatovat co vlastně něco děla pišu si to do "notesu" v pc a občas tam nahlidnu myslíš že je to špatně?

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost3 күн бұрын

    Není. Já to dělám podobně, když se učím něco nového. Mám online dokument, kam si píšu poznámky a pak se podle toho učím a znovu a znovu to projíždím. Postupně v tom člověk začne vidět systém a ty nejdůležitější věci si zapamatuje. Zbytek se vždy už dohledá

  • @toklikon
    @toklikon3 күн бұрын

    Musel jsem se podívat na horskou dráhu, abych chytil začátek, ale potom už to jelo. Trošku jsem si s tím i pohrál :D (např. u každého možného konce objednávky jsem připsal že děkujeme). Asi by to šlo lehčeji, ale aspoň jsem zapojil mozkové buňky a mohl si s tím vyhrát. print("Vítejte v aplikaci na objednání pizzy.") velikost = input("Jakou velikost pizzy chcete? Na výběr je pouze S, M a L. ") cena = 0 if velikost == "S": cena += 100 print(f"Zvolil jste si velikost pizzy S, bez příplatků bude stát {cena} Kč.") feferonky = input("Chcete přidat feferonky? A nebo N: ") if feferonky == "A": cena += 20 print(f"Celková cena bude {cena} Kč") elif feferonky == "N": print(f"Celková cena bude {cena} Kč.") syr = input("Chcete extra sýr? A nebo N: ") if syr == "A": cena += 15 print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") elif syr == "N": print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") if velikost == "M": cena += 150 print(f"Zvolil jste si velikost pizzy M, bez příplatků bude stát {cena} Kč.") feferonky = input("Chcete přidat feferonky? A nebo N: ") if feferonky == "A": cena += 30 print(f"Celková cena bude {cena} Kč") elif feferonky == "N": print(f"Celková cena bude {cena} Kč.") syr = input("Chcete extra sýr? A nebo N: ") if syr == "A": cena += 15 print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") elif syr == "N": print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") if velikost == "L": cena += 200 print(f"Zvolil jste si velikost pizzy L, bez příplatků bude stát {cena} Kč.") feferonky = input("Chcete přidat feferonky? A nebo N: ") if feferonky == "A": cena += 30 print(f"Celková cena bude {cena} Kč") elif feferonky == "N": print(f"Celková cena bude {cena} Kč.") syr = input("Chcete extra sýr? A nebo N: ") if syr == "A": cena += 15 print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!") elif syr == "N": print(f"Celková cena bude {cena} Kč. Děkujeme za objednávku!")

  • @tadeaspazour5921
    @tadeaspazour59213 күн бұрын

    já jsem to napsal jak jantar: row1 = ["🎩", "🎩", "🎩"] row2 = ["🎩", "🎩", "🎩"] row3 = ["🎩", "🎩", "🎩"] print(f"{row1} {row2} {row3}") pos = input("zadej řádek >>> ") if pos == "00": row1.remove("🎩") row1.insert(0," x") print(f"{row1} {row2} {row3}") elif pos == "01": row1.remove("🎩") row1.insert(1, " x") print(f"{row1} {row2} {row3}") elif pos == "02": row1.remove("🎩") row1.insert(2, " x") print(f"{row1} {row2} {row3}") elif pos == "10": row2.remove("🎩") row2.insert(0," x") print(f"{row1} {row2} {row3}") elif pos == "11": row2.remove("🎩") row2.insert(1," x") print(f"{row1} {row2} {row3}") elif pos == "12": row2.remove("🎩") row2.insert(2," x") print(f"{row1} {row2} {row3}") elif pos == "20": row3.remove("🎩") row3.insert(0," x") print(f"{row1} {row2} {row3}") elif pos == "21": row3.remove("🎩") row3.insert(1," x") print(f"{row1} {row2} {row3}") elif pos == "22": row3.remove("🎩") row3.insert(2," x") print(f"{row1} {row2} {row3}")

  • @hosek76
    @hosek764 күн бұрын

    Ahoj Davide opět dík za skvělou práci ;) Jen bych doplnil že v Linux OS pro spuštění mp3 funguje třeba: os.system('mpg123 audio.mp3')

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost3 күн бұрын

    Díky za doplnění 👍

  • @Smajlos
    @Smajlos4 күн бұрын

    Dobrý den mám dotaz ohledně toho zaoblení odkazu aby z toho bylo tlačitko jak se to dělá? Děkuji za odpověď

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost4 күн бұрын

    Ahoj, stačí použít border-radius: 15px; nebo jinou hodnotu.

  • @hosek76
    @hosek764 күн бұрын

    Ahoj Davide, tvoje videa jsou jako čerství vánek v naší malé čr kotlince ;) Velký THX za tvou práci. Tady se možná přikláním k řešení "elevendarter112" kdy testuje rovnou celou fce a nakonci hodí except nevím jestli je to lepší nebo ne. Jen se mi zdá že jsem tohle řešení viděl častěji? Jinak proměnná text_result = "" je podle PEP zřejmně lepší ji nechat nadefinovanou hned na začátku i když to funguje i tak. Ještě jednou velké díky za tvou práci je to fakt zázrak že něco v takovém rozsahu zvládáš opravdu klobouk dolů ;) Petr

  • @MarekHudec-py9mq
    @MarekHudec-py9mq5 күн бұрын

    tady je moje reseni import os import random logo = """ _____ _ | __ \ (_) | | \/_ _ ___ ___ ___ _ _ __ __ _ __ _ __ _ _ __ ___ ___ | | __| | | |/ _ \/ __/ __| | '_ \ / _` | / _` |/ _` | '_ ` _ \ / _ \\ | |_\ \ |_| | __/\__ \__ \ | | | | (_| | | (_| | (_| | | | | | | __/ \____/\__,_|\___||___/___/_|_| |_|\__, | \__, |\__,_|_| |_| |_|\___| __/ | __/ | |___/ |___/ """ print(logo) print('vitejte ve hre gees seckret number porazte pocitac') print('vasim ukolem je uhadnout jedno cislo od 1 do 100') def game(): left = 1 dif = input('vyberte obtiznost "easy" nebo "hard" ') pc_num = random.randint(1, 100) if dif == 'easy': left = 10 else: left = 5 again = 'ano' while again == 'ano': if left > 0: user_num = int(input('napiste cislo ktere tipujete ')) if user_num < pc_num: print('vase cislo je prilis nizke') left -= 1 print(f'pocet zbyvajicich pokusu je {left}') elif user_num > pc_num: print('vase cislo je prilis vysoke') left-=1 print(f'pocet zbyvajicich pokusu je {left}') elif user_num == pc_num: print(f'gratuluji vyhrali jste nad pocitacem ') again = input('chcete hru spustit znovu "ano" nebo "ne"') if again == 'ano': os.system("cls") game() else: os.system("cls") print('dekujeme za hru doufame ze se zase vratite') break else: print('prohrali jste pocitac zvitezil') again = input('chcete hru spustit znovu "ano" nebo "ne"') if again == 'ano': os.system("cls") game() else: os.system("cls") print('dekujeme za hru doufame ze se zase vratite') break game()

  • @ivisivi1
    @ivisivi15 күн бұрын

    Moje riesenie je taketo :D from turtle import Turtle, Screen turtle = Turtle() turtle.shape("classic") turtle.shapesize(0.5) turtle.color("red") turtle.circle(10) for x in range(10): turtle.color("black") turtle.circle(15 + x*5) my_screen = Screen() my_screen.exitonclick()

  • @FirstNameLastName-kv2lx
    @FirstNameLastName-kv2lx5 күн бұрын

    To vypadá, že propType končí: In React 19, we’re removing the propType checks from the React package, and using them will be silently ignored. If you’re using propTypes, we recommend migrating to TypeScript or another type-checking solution. We’re also removing defaultProps from function components in place of ES6 default parameters. Class components will continue to support defaultProps since there is no ES6 alternative.

  • @Ondrej-jf1er
    @Ondrej-jf1er5 күн бұрын

    Super video, jen tak mimochodem, pro tento účel by se dala využít lambda.

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost5 күн бұрын

    Díky 🙂

  • @Vaclav_1
    @Vaclav_15 күн бұрын

    Určitě další hraní a příklady k procvičování👍

  • @petrstuchlik9210
    @petrstuchlik92105 күн бұрын

    Ahoj, pokaždé když píšu php nebo html tak se mi změny na stránce projeví ihned, ale když píšu css tak se změny projeví až po vypnutí počítače, je to spíš drobnost, styly si vždy zkopíruju a vložim do konzole takže je vidím "ihned" . Nevíš kde by mohl být problém?

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost5 күн бұрын

    Ahoj, jediné, co mě napadá je, že se možná stránka refreshne, ale načtou se styly z mezipaměti. Tak jestli by nešlo mezipaměť pročistit při refreshnutí, ale to nevím, jestli jde udělat. Já si to vždy refreshnul manuálně

  • @FirstNameLastName-kv2lx
    @FirstNameLastName-kv2lx5 күн бұрын

    Určitě dobrý vědět. Nicméně podle mých informací je pro funkční komponenty modernější a často preferovanější přístup použití výchozích hodnot přímo v deklaraci funkce: const Book = ({ image = defaultImage, title = "...", price = 10 }) => {...}

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost5 күн бұрын

    Vždycky je více možností, jak se to dá udělat 🙂

  • @FirstNameLastName-kv2lx
    @FirstNameLastName-kv2lx5 күн бұрын

    @@hacknisvoubudoucnost Jasně, i když tady to vypadá, že propType dokonce úplně zařízli. Bohužel mi YT nějak nežere url na zdroj, takže copy/paste: In React 19, we’re removing the propType checks from the React package, and using them will be silently ignored. If you’re using propTypes, we recommend migrating to TypeScript or another type-checking solution. We’re also removing defaultProps from function components in place of ES6 default parameters. Class components will continue to support defaultProps since there is no ES6 alternative.

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost4 күн бұрын

    @@FirstNameLastName-kv2lx Evidentně se to dá vyřešit TypeScriptem. V tom se dnes React často píše

  • @FirstNameLastName-kv2lx
    @FirstNameLastName-kv2lx6 күн бұрын

    Snažil jsem se trochu hlouběji proniknout do toho, jak PropTypes fungují na úrovni JavaScriptu, tedy: Book.propTypes = { image: PropTypes.string.isRequired, title: PropTypes.string.isRequired, price: PropTypes.number.isRequired } Zde jsou moje postřehy: V implementaci PropTypes to funguje přibližně takto: const PropTypes = { string: function stringChecker(props, propName, componentName) { // Logika pro kontrolu, zda je prop string } }; PropTypes.string.isRequired = function requiredStringChecker(props, propName, componentName) { if (props[propName] == null) { return new Error(`The prop ${propName} is required in ${componentName}`); } return PropTypes.string(props, propName, componentName); }; A teď k tomu Book.propTypes: - Funkci Book (která je v tomto případě React komponentou) se přidává nová vlastnost propTypes. V JS jsou funkce speciálním typem objektu. Říkáme jim "funkční objekty" nebo "callable objekty". Jako objekty mohou mít funkce vlastnosti a metody, stejně jako jakýkoli jiný objekt. - Tato vlastnost, tedy propTypes je objektem. - Každá položka v tomto objektu (image, title, price) odpovídá očekávanému propu a její hodnota je výsledkem volání PropTypes.string.isRequired nebo PropTypes.number.isRequired. - string zde není datový typ, ale jednoduše název funkce, které se přidá další property s názvem isRequired, což je taky funkce. Jedná se o techniku zvanou method chaining. - Název propTypes je konvence v Reactu. React specificky hledá tuto vlastnost na komponentě pro typovou kontrolu. - Struktura objektu propTypes musí odpovídat struktuře, kterou očekáváme v props komponenty. - Hodnoty v objektu propTypes jsou funkce. Tyto funkce mohou vrátit null (pokud je vše v pořádku) nebo objekt Error (pokud validace selže). - React tyto funkce volá s argumenty (props, propName, componentName), jako props předá pole props, propName bude název aktuální vlastnosti a v componentName předá asi název komponenty, zde tedy "Book". Zkrátka celá ta syntaxe kolem Book.propTypes se dá realizovat díky method chaining, tedy že funkce může mít vlastnosti. Pokud to někomu pomůže, budu rád, pokud to někdo upřesní, budu ještě radši.

  • @kocoursaurus
    @kocoursaurus6 күн бұрын

    Děkuji moc za tento kurz, asi se tu budu opakovat, ale tvoje výuka je srozumitelná a vtipná a je neuvěřitelné, že to děláš jen tak zadarmo. Samozřejmě ještě dojedu bonusová videa, pak si asi odpočinu u krátkého kurzu Canvy a pak hurá na JavaScript, kterého se děsím :D Ale nenechám se odradit a budu doufat, že si to nějak sedne :)

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost6 күн бұрын

    Jsem rád, že se ti kurzy líbí. U JavaScriptu je důležité hodně opakovat a nejít dopředu moc rychle. Pak to půjde 🙂

  • @greedy6253
    @greedy62536 күн бұрын

    Zdravím, skvelý kurz. Je zaujímavé, že s tými základmi čo máme dokáže každý spraviť iný program s rovnakým výsledkom. Nedokážem si predstaviť, čo dokáže celý jazyk...

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost6 күн бұрын

    To je na programování krásné. Každý to může napsat jinak. Je to jako vlastní styl psaní. A každý může mít svůj. Není moc věcí, které s Pythone nedokážeš

  • @JiříAndrle-f8r
    @JiříAndrle-f8r6 күн бұрын

    Ahoj Davide, chci ti poděkovat za další super kurz. Jako vždy byl skvělý. Tvoje forma podání je pro mě naprosto vyhovující. Byl jsem absolutní laik co se php a JS týče. Diky tobě nyní umím spoustu skvělých věcí. Mám jen jednu otázku, zjistil jsem, že se dá zeregistrovat i pokud se zadají rozdílná hesla. To už jsem si nějak upravil, ale chtěl bych vědět jak se dá udělat kontrola emailu (při vyplňování registračního formuláře) jestli už není tento email v databázi? Aby byl pod jedním emailem jen jeden user? Diky moc

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost6 күн бұрын

    Ahoj, jsem rád, že se ti kurzy líbí. To se určitě udělat dá. Než přidáš email do databáze, tak si musíš vytáhnout všechny současné emaily a zjistit, jestli mezi nimi tento nový již není. Pokud je, tak vyhodíš hlášku, že email je již registrovaný. Pokud ne, tak ho uložíš do databáze.

  • @Lipi5844
    @Lipi58446 күн бұрын

    Dobrý den, nemáte odkat na tabulku? :)

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost6 күн бұрын

    Ahoj, mám jen toto: drive.google.com/drive/folders/1t4oJ4B-4ha7IZhYo7gqH2a8Xg2Gl4ITO?usp=sharing Ale nejsem si jistý, jestli to sedí přímo k videím

  • @Lipi5844
    @Lipi58446 күн бұрын

    @@hacknisvoubudoucnost děkuji mrknu :)

  • @jirkavaldmanbass7323
    @jirkavaldmanbass73236 күн бұрын

    Předně díky za super pochopitelné kurzy. Přecházím z excel VBA, takže se mi to možná zpracovává lépe, než někomu, kdo úplně začíná. Napsal jsem hru Piškvorky. Až po pár dnech jsem se k tomu vrátil, aby se podařilo ošetřit (snad) všechny kombinace výher a možných chyb na vstupu uživatele. Předpokládám, že tam je tuna balastu a šlo by to nějak vyřešit lépe/jednoduššeji, ale zatím se současnou znalostí + něco málo google. end_game = "A" while end_game == "A": # while na opakování hry print("Vítejte ve hře piškvorky. Budete zadávat souradnice - číslo řádku a pozici, kam chcete doplnit 🔴 nebo 🔵 ") set1 = ["⚫", "⚫", "⚫"] set2 = ["⚫", "⚫", "⚫"] set3 = ["⚫", "⚫", "⚫"] num = 1 used_num = [0] podminka = False print(f"{set1} {set2} {set3} ") while podminka != True: # while na vyhodnocení výhry - jednotlivé kombinace řádků, sloupců a diagonál, také vyhodnocení nevyýhry při nespojení 3 puntíků. all_sets = [set1, set2, set3] if set1[0] == set1[1] and set1[1] == set1[2] and set1[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[0]}.") elif set2[0] == set2[1] and set2[1] == set2[2] and set2[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set2[0]}.") elif set3[0] == set3[1] and set3[1] == set3[2] and set3[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set3[0]}.") elif set1[0] == set2[0] and set2[0] == set3[0] and set1[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[0]}.") elif set1[1] == set2[1] and set2[1] == set3[1] and set1[1] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[1]}.") elif set1[2] == set2[2] and set2[2] == set3[2] and set1[2] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[2]}.") elif set1[0] == set2[1] and set2[1] == set3[2] and set1[0] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[0]}.") elif set1[2] == set2[1] and set2[1] == set3[0] and set1[2] !="⚫": podminka = True print(f"Konec hry. Vyhrává {set1[2]}.") elif num > 9: print(f"Konec hry. Nikdo nevyhrává.") podminka = True else: position = input("Zadejte souřadnice dvěma čárkou oddělenými čísly mezi 1 a 3 (číslo řádku a pozici znaku např: 1,2) ") if len(position) < 3 or position[1] != "," or len(position) > 3: #ošetření, aby délka byla max 3 znaky a prostřední byla čárka nothing = 0 else: souradnice = position.split(",") souradnice_num = position[0]+position[2] if souradnice_num.isdigit(): # ošetření, aby vložená hodnota byla číslo if int(souradnice_num) >= 11 and int(souradnice_num) <=33: # ošetření, aby vložená hodnota byla číslo ze správné kombinace řádků a sloupců if used_num.count(souradnice_num) < 1: # ošetření, aby si hráči nepřepisovali souřadnice. Hodnota se přidá do listu a pokud ji kontrola najde, nedovolí přepsat used_num.append(souradnice_num) osa_y = int(souradnice[0])-1 osa_x = int(souradnice[1])-1 if num % 2 == 0: all_sets[osa_y][osa_x] = "🔴" num += 1 print(f"{set1} {set2} {set3} ") else: all_sets[osa_y][osa_x] = "🔵" num += 1 print(f"{set1} {set2} {set3} ") else: print("Již použitá kombinace, zvolte jinou.") else: print("Špatná kombinace. Je možné použít pouze čísla 1, 2, 3") else: print("Špatná kombinace. Je možné použít pouze čísla 1, 2, 3") end_game = input("Chcete hrát znovu? Zadejte A pro pokračování a stiskněte enter, nebo N pro ukončení hry. ") end_game = end_game.upper()

  • @vaclavjaros5477
    @vaclavjaros54777 күн бұрын

    Zdravím Davide, mohl bych se zeptat jak moc logické či nikoliv by bylo toto řešení? Není jednodušší si kompletní výpočet a podobně stanovit už v definici? Při zavolání definice jsou parametry doplněny mnou jako 0, ale je to ve výsledku jedno, protože definice pracuje až po spuštění po zadání konkrétních parametrů. Díky za feedback :) import math def paint_calculate(height, width, pcan): height = int(input("Výška zdi: ")) width = int(input("Šířka zdi: ")) pcan = height * width / 5 print(f"Budete potřebovat {math.ceil(pcan)} plechovek barvy") paint_calculate(0,0,0)

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost6 күн бұрын

    Ahoj, určitě to tam můžeš napsat. Není to nic proti ničemu. V programování se dají úlohy zapsat různými způsoby. Je u tvého kódu zapotřebí tam ty parametry mít? Všechno se dělá uvnitř funkce, takže bys tam asi žádné parametry (height, width, pcan) nemusel posílat

  • @greedy6253
    @greedy62538 күн бұрын

    Zdravím, mne to zabralo pár dní, ale dal som to. Pri tom skúšaní som si toho veľa zopakoval. :) Skvelý kurz.

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost8 күн бұрын

    Super 👍

  • @viliam9334
    @viliam93348 күн бұрын

    robim to co to a vzdy mi tam vyjde daky eror a to som len pri instalaciach, asi pan boh nechce aby som stym stracal cas :D

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost8 күн бұрын

    Mě když něco vyhazuje dost errorů nebo to nejde vůbec, tak zkusím verzi o řád nižší a většinou je to OK Překážky jsou od toho, aby se překonávaly

  • @zippo193
    @zippo1939 күн бұрын

    Děkujeme

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost9 күн бұрын

    Není vůbec zač 🙂

  • @petrstuchlik9210
    @petrstuchlik921010 күн бұрын

    Ahoj, pokaždé když odešlu formulář tak mi z url adresy zmizí část za otazníkem (včetně otazníku) a provede se podmínka die("ID nezadáno"), takže se kód neprovede. I když celý kód odstraním tak po odeslání formuláře se z url adresy odstraní část za otazníkem. Nevíš kde by mohl být problém?

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost10 күн бұрын

    Ahoj, to takto těžko říci na dálku. Zkusil bych to dát do GPT nebo to můžeš hodit se screeny na discord a někdo z komunity se ti na to mrkne. Jsou tam šikovní lidé

  • @petrstuchlik9210
    @petrstuchlik921010 күн бұрын

    @@hacknisvoubudoucnost díky za odpověď

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost9 күн бұрын

    @@petrstuchlik9210 Není vůbec zač

  • @JiriStancl.
    @JiriStancl.11 күн бұрын

    Další spousta místa se dá ušetřit změnou int64 na int16 nebo 32 kde to jde, dostal jsem se na 19,4 KB.

  • @elevendarter112
    @elevendarter11211 күн бұрын

    Ještě že neučíš dějepis :-) Do století páry se radši nepouštěj...

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost11 күн бұрын

    Dějepis dnes učí umělá inteligence 😃

  • @elevendarter112
    @elevendarter11211 күн бұрын

    @@hacknisvoubudoucnost Tak ta si to spočítá správně😎 Já jsem se učil dějepis naposledy v druhé polovině minulého století. Ale cosi si ještě pamatuju😁

  • @magdalenapadysak9722
    @magdalenapadysak972212 күн бұрын

    touch je pre Linux, pre Win nefunguje :)

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost12 күн бұрын

    Pokud používáš git bash, tak ti to bude fungovat i na windowsu

  • @hudbafilip
    @hudbafilip13 күн бұрын

    Mistře děkuji. zatím nejlíp vysvětlená látka.

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost13 күн бұрын

    Není vůbec zač. Můžeš mrknout na novější kurz PHP, který je tady na kanálu. Je nový a rozšířený

  • @hudbafilip
    @hudbafilip13 күн бұрын

    @@hacknisvoubudoucnost Úžasný, hned mrknu 🙂

  • @daan942
    @daan94213 күн бұрын

    Díky moc za videa, pomáhají mi ve směru, kterým se vydat při učení a vždy potěší, když se mi povede udělat cvičení bez pomoci. Tady je způsob jakým jsem vyřešil tento příklad country = input("Zadejte zem, kterou chcete přidat do cestovatelského denníku: ") visited_cities = input("Zadejte města, které jste v zemi navštívil: (oddělte čárkou) ") visits = input("Zadejte, kolikrát jste zem navštívil: ") visited_cities_list = [] visited_cities = visited_cities.split(", ") for city in visited_cities: if city != " ": visited_cities_list.append(city) else: break travel_diary.append({"country": country, "visited_cities": visited_cities_list, "visits": visits}) print(travel_diary)

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost13 күн бұрын

    Jsem rád, že se ti videa líbí 🙂

  • @601Dave
    @601Dave13 күн бұрын

    Ahoj, možná někomu s MacOS pomůže: Nevytváří se složka "scripts", ale "bin". Pro spuštění se používá příkaz "source activate"

  • @matyvasataky6418
    @matyvasataky641813 күн бұрын

    Dejv je borec !!! Pokud býváš v ČB, tak bych tě někdy pozval aspoň na pivo, za takovej lux si to rozhovně zasloužíš

  • @hacknisvoubudoucnost
    @hacknisvoubudoucnost13 күн бұрын

    Ahoj, jsem rád, že se ti videa líbí. Ano, bydlím v ČB 🙂