Diskuze: Ukládání
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 13 zpráv z 13.
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, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Uložit do souboru. A pak ji z něj zase načíst.
using (StreamWriter sw = new StreamWriter(new FileStream(@"soubor.txt", FileMode.Create)))
{
sw.WriteLine("Text");
sw.Flush();
}
// u načítání se nemusí dávat stream dovnitř, stačí jen cesta k souboru
using (StreamReader sr = new StreamReader(new FileStream(@"soubor.txt", FileMode.Create)))
{
string s;
while ((s = sr.ReadLine()) != null) // tato podmínka musí být přesně
{...}
}
Nejlépe uložením hodnoty do databáze. Vymýšlet nový formát souboru dnes už nemá význam.
Pro práci s databázemi musíš umět velmi dobře kolekce a dotazy. Zatím použij co radí sczdavos.
Jinak databázím se tu budeme věnovat, ale myslím, že máš ještě čas, je k tomu samozřejmě potřeba znalost objektů a podobně, kterou si můžeš zatím číst a učit, je tu toho spoustu.
Většina programovacích jazyků dnes má nějakou databázi přímo v sobě nebo se dá stáhnout hotová knihovna (často velmi malá), která se k aplikaci přilinkuje.
Ovšem do C# moc nevidím, v něm se převážně asi bude používat MS Access. Mělo by stačit nakouknout do manuálu.
To jsem netušil, že v C# jsou s tím takové obstrukce. V PHP mám s databázemi méně práce, než s obyčejnými soubory.
Ano, C# má velmi pěknou embedded databázi, ale bez znalosti OOP nepochopí ORM a bez toho asi nemá smysl s tím vůbec začínat. Asi tuším, na jaké je úrovni a ptá se jen na uložení jedné proměnné.
Máš samozřejmě s DB pravdu, ale prostě je to složitější a to hlavně pro začátečníka.
Kolem ORM je hlavně mnoho řečí. Nejvíc zmatků do toho vkládají ti, kteří se snaží objekty napasovat na relační databáze.
Obráceně to jde mnohem jednodušeji. Stačí myslet relačně a použít k tomu objekty.
já osobně používám soubory. například teď jsem řešil jednu zakázku
pro tvorbu eknih, a moje řešení znělo:
vytvoření webové aplikace, kde jsou všechny textboxy, tlačítka, atd.
bude na webu, kde je tvoje pozadí (samozřejmě pokud máš rozmyšleno,
jaké)
člověk si tam vyplní různé věci, jako název, obrázek obálky,
životopis, o knize, atd
bude moci otevírat soubory s těmito věcmi. dále tam budou nástroje na
zvýraznění textu,
tabulek, obrázků (pokusím se o načítání docx a doc formátů).
po stisknutí tlačítka uložit se zavolá metoda převeď a ulož, která
přeloží text
a uloží do souboru (X)HTML. následně se zapíše do souboru, kde jsou odkazy
na knihy.
odkaz na právě vytvořenou knihu.
PS: tady zrovna vidíš výhodu souborů.
navíc, když ti nějaký web spadne (teď mě omluv jestli řeknu blbost), tak
se databáze vymaže.
zato soubory ne 
Databáze je fyzicky uložena samozřejmě také v souborech (jak jinak), princip je tedy naprosto stejný. DB se tedy s pádem serveru nevymaže, protože je uložena na disku, pouze některé její části jsou v operační paměti jako cache. Výhodou DB je, že již nemusíš řešit věci jako vyhledávání nebo bezpečnost, protože je za tebe vykonává tzv. databázový stroj.
Ty budeš mít třeba problém s editací knih, protože je ukládáš již převedené do HTML. Kdybys měl hodnoty v DB a z nich knihu renderoval pomocí server-side jazyka, bylo by to mnohem snažší.
no myslel jsem takhle:
1.převede se na HTML
2.uloží se do souboru
3.do dalšího souboru zapíšu odkaz na HTML soubor, kde je kniha
4.díky za objasnění databází.
Také jsem kdysi preferoval ukládání do souborů, než jsem zjistil, že databáze je rychlejší a spolehlivější. Také za tebe vyřídí spoustu záležitostí (ACID), které musíš v souborech obstarat ručně a které určitě neřešíš.
Vyzkoušel jsem už 11 databází, na běžném hostingu jich je běžně dostupných 5-6 druhů s různými vlastnostmi. Výběr je velký, stačí se jen naučit je používat.
Tvůj přístup je dobrý, dokud nebudeš potřebovat fulltextové vyhledávání mezi články nebo nebudeš potřebovat řešit automatické vazby mezi nimi.
Databáze je také lépe zabezpečena proti útokům XSS. Schopní
programátoři si však rádi udělají díry i do databáze 
Zobrazeno 13 zpráv z 13.
