Diskuze: Zkontrolování rodiče složky, která byla smazána
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 8 zpráv z 8.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.


operátor & ti moc neříká, viď? víc ifů víc adidas....
jinak hlavně pro takovéto účely se používá rekurze.
Pomocí rekurze projdeš celou adresářovou strukturu a to, že se něco
vykoná nebo ne, to už je na tvém kódu.
Rekurze + nejdriv zanorit a az pri vynoreni pokud je prazdna smazat.
Princip jako:
projit_slozku
projit_potomky
if bez_potomku
smazat
Moc se omlouvám. Operátor & samozřejmě znám. Jak jsem řekl program si píšu jen tak a na správnost jsem moc nekoukal samozřejmě je mi jasné, že by tam měl být a budu to tak dělat. A nejsem si jistý ale já zde neopoužívám rekurzi ?
Díky za odpověď. Stejně jako k předešlému dotazu se chci zeptat. Příde mi, že de zde používám rekurzi ne ? A chápu ten tvůj nápad a tk nějak to mam vždyť já si vezmu složku tam se podívam do jiné složky a pokud je prázdná tak jí smažu.
Vec se ma tak, rekurzi pouzivas - v tom kodu se tezko orientuje kvuli kaskade bloku, tak jsem to prehledl - moje chyba.
ALE - prepis to tak (samozrejme jestli chces), ze nejdriv bez ohledu na to,
jestli je slozka prazdna nebo neco obsahuje na ni zavolas tu funkci
showFolders (mozna bys to mel prejmenovat deleteEmptyFolders) a
potom, co se tohle zavola, tak teprve cekuj jestli je prazdna, pokud jo, tak ji
taky smaz.
Samotna funkce deleteEmptyFolders by mohla fungovat nejak tak,
ze dostane cestu, sestavi seznam slozek uvnitr, zavola na kazdou slozku uvnitr
rekurzivne sama sebe a pak zkontroluje jestli je prazdna. Kazda rekurze ma mit
ukoncovaci podminku a tady to bude stav, kdy zadana cesta neobsahuje dalsi
podadresare, v tomto momente jsme na konci stromu - zadne dalsi volani, jen
kontrola, jestli je dana slozka prazdna - paklize ano -> smazat ji a
return.
Takze neco jako:
del_empty_dir(dir)
for sub_dir in dir
del_empty_dir(dir + sub_dir)
if is_empty(dir)
delete(dir)
return
Moznosti je ale samozrejme vicero, zalezi jak na to chces jit - tuhle verzi muzes zavolat jako del_empty_dir('/').
Doufam, ze jsem nikde neudelal fundamentalni chybu, nemam moznost se soustredit uplne naplno.
Hele dík moc skvělej nápad
Vysvětleno fkt suprově a udělam si to trošinku jinak ale díky
tobě to snad udělam moc děkuju 
Zobrazeno 8 zpráv z 8.