September discount week
Pouze tento týden sleva až 80 % na e-learning týkající se MS Office
50 % bodů zdarma na online výuku díky naší Slevové akci!
Avatar
Alesh
Překladatel
Avatar
Alesh:11. září 22:32

Jsem samouk, v podstatě trochu programovat jsem se naučil až tady na stránkách a to v Javě a C#. Zajímalo by mě, jak se řeší určité věci, o které bych se chtěl do budoucna pokusit.

Zkusil jsem: Není, co zkoušet, musí poradit zkušenější. ;-)

Chci docílit:

  1. Už jsem došel k výpisu do XML souboru a čtení z něj (serializace resp. deserializace). V ukázkových příkladech se vypisuje do souboru jen jeden typ objektu. Jak ale řešit situaci, kdy do něj potřebuji nacpat ještě nějakou "hlavičku"? Prostě měl bych třeba nějakou objednávku, v ní položky. Položka by byl objekt s x atributy, položky pak dám do nějaké kolekce a tu do souboru vypíše a pak ji s něj i načtu, to umím, to je jasný. Jenže já bych tam chtěl mít ještě jakousi "hlavičku", pro případ objednávky by to byly údaje o celé té objednávce (datum, číslo atd.)
  2. Pak by mě zajímalo, když bych měl nějakou aplikaci s různými typy uživatelů, pro jednoduchost mějme jen "admin" a "uživatel". Admin spravuje uživatele, zakládá je, maže atd. Ale kdo spravuje adminy?
Editováno 11. září 22:33
 
Odpovědět
11. září 22:32
Avatar
Odpovídá na Alesh
Michael Škrášek:11. září 22:55

Zkusim předat svůj názor:

  1. Nic nebrání tomu, abys měl objekt (př. Objednávka), který bude obsahovat další objekty (jako Hlavička, Položky atd ...) a pak serializovat celý objekt Objednávka.
  2. Můžeš tam mít superuživatele, třeba každá MySQL databáze má uživatel root, který má přístup ke všemu (administrace uživatelů ...)
Nahoru Odpovědět
11. září 22:55
"I choose a lazy person to do a hard job. Because that person will find an easy way to do it. " Bill Gates
Avatar
Alesh
Překladatel
Avatar
Odpovídá na Michael Škrášek
Alesh:11. září 23:11

ad 1) jo, to bude asi řešení, jen si neumím představit, tu strukturu toho XML, i když na druhou stranu mě to trápit nemusí, když to bude fungovat serializace/de­serializace, takže asi tak. ;-)
ad 2) jo, to mě taky napadlo, předpokládám, že tento superadmin je je jeden. A fyzicky to může být víc osob, které se mění v čase bez toho, aniž by se vytvářel nový superadmin, protože neexistuje typ uživatele, který by superadmina mohl vytvořit, protože superadmin je ten nejvyšší. Pokud je to tak, jak se to řeší prakticky, ten superadmin se přihlašuje nějakým heslem a to je někde uloženo v trezoru na papírku, když náhodou ten aktuální superadmin "zemře"? Rozumíš, jak to myslím?

 
Nahoru Odpovědět
11. září 23:11
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Alesh
Tadeáš Burda :12. září 7:43

Skusim sa pridat aj ja :-P
1: To bych asi uz neriesil cez XML aby to nebylo tak sprasene, ale z databazu. Napr ta tvoja objednavka by byla v jednej tabulke a byla by vazana na objekty v druhej tabulke ktere by reprezentovali ty produkty. Potom by sis nasel tu 1 objednavku a nechal v kolekcii vypisat vsetky jej produkty. Obejdenavka by mnela v sebe vsetky tie atributy a vlastnosti + by si byla vazana na konkretne produkty
2: Ak ta chapem spravne tak ti ide oto aby si mnel v appke uzivatelu z urcitima pravomocama, nato sa pobuziva v .NET Identity Roles. Ucti su vsetky rovnake ale ne kazdy ucet moze mnet niaku priradenu rolu. Takze ti jak programator/ super admin si vitvoris prvi ucet a priradis si rolu pomenovanu superadmin :-P Pototom v tej tvojej appke mozes nad urcitima metodam, triedama, pages a pod nastavit kto do moze pouzivat, tjs role. No a napr na registorvani uzivatelu nastavis ze to moze robit len superadmin. Potom mozes nastavit pro superadmina napr to ze on priraduje role k uctom, vytvara nove role a tak. Dam ti nato odkaze, kukni to mozno ti to povi vic: odkaz na db vazby a identiy roles

 
Nahoru Odpovědět
12. září 7:43
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Alesh
Překladatel
Avatar
Odpovídá na Tadeáš Burda
Alesh:12. září 10:22

Ad 1) ano, toto mě taky napadlo, jenže ono se nejedná o objednávky, pouze jsem to použil jako příklad struktury, a pro tento konkrétní případ, pro který to potřebuji, to potřebuji mít řešené tak, že uživatel bude mít k dispozici formulář, něco si tak nakliká a pak by měl mít možnost si práci sám pro sebe uložit k sobě na disk a pak případně opět ze svého disku načíst. Podle mě to tedy bude ukládáno do nějakého souboru, jiná možnost asi není, ne?
Ad 2) Já nevím, jestli tě chápu a jestli ty chápeš mě. :-) Prostě někdo je v daný okamžik ten superadmin (který je jen jeden) a jak se zajistí to, že když "umře", že tu jeho roli může někdo převzít.

 
Nahoru Odpovědět
12. září 10:22
Avatar
Tadeáš Burda
Brigádník
Avatar
Odpovídá na Alesh
Tadeáš Burda :12. září 13:38

1- db mozes mnet aj useba na disku, 2 - no tak to sa nechapeme :-D

 
Nahoru Odpovědět
12. září 13:38
Avatar
Alesh
Překladatel
Avatar
Odpovídá na Tadeáš Burda
Alesh:12. září 17:05

Jasně, ale to bys musel iniciovat její vytvoření při prvním uložení ze strany uživatele. Já vím, že v C# se dá vytvořit jakýsi soubor, co funguje jako db, ale to už zas je podle mě komplikovaná konstrukce, protože v podstatě i třeba z důvodu sdílení, bys pro každý save, bys vytvářel nový db soubor. Takhle, i přes mojí chabou znalost mi přijde, že by se to mělo exportovat a importovat z nějakého "txt" souboru.

 
Nahoru Odpovědět
12. září 17:05
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.