Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Dobry den, delam informacni system v PHP. Do systemu se budou prihlasovat tri typy lidi:
Vedouci Zamestnanci Zakaznici
Prihlasovaci formular je pro vsechny spolecny.
Nyni ale vaham, jak udelat databazove tabulky. Zda do tabulky users dat vsechny tri typy uzivatelu - to by melo vyhodu, ze po prihlaseni by se uzivatelske jmeno hledalo jen v jedne tabulce. Problemem by pak byly sloupce, ktere jsou vyzadovany jen treba u zamestnancu a vedoucich (plat) - tak co s nima delat u zakaznika? Nechat na null?
Dalsi moznosti by bylo zakazniky a pracovniky dat do dvou oddelenych tabulek. To by vsak komplikovalo prihlasovani, protoze bych uzivatelske jmeno musel hledat ve dvou tabulkach.
Co myslite?
Přeji hezký den,
Neznám další detaily. Osobně bych měl tabulku user, id, heslo, role, která by sloužila pouze k auth. a v aplikacích bych se rozhodoval podle role. To vyhovuje v případě, kdy pracovník se stane vedoucím. Jak jsem ale řekl, nemám dost informací.
PM
jj, ten môj komentár som mal skôr prehodiť sem, ale to už nejde:) takže súhlasím s Petrom.
(Komentár je pod FooBar)
Já bych osobně udělal tabulky dvě: zaměstnanci a zákazníci. V případě zaměstnanců by v tabulce bylo pole, které by vypisovalo stav zaměstance (zda jde u vedoucího, řadového dělníka, pomocnou sílu, atd.), tabulka zákazníci by byla jiná: Tam je dobré uvádět údaje jako IČO, DIČ, název firmy apod. - naprosto jiná problematika.
Z toho vyplývá, že přihlašovací formulář by neměl být společný pro všechny - zde by se rozhodlo v prvním dotazu, zda jde o zákazníka nebo zaměstnance. Pak by se objevil vlastní formulář pro daný typ uživatele. Jinak mi ale takový společný formulář nepřipadá jako dobrý nápad .. Zákazník nemá vidět do "kuchyně" firmy, ani co se týká záležitostí zaměstnanců.
"Zákazník nemá vidět do "kuchyně" firmy, ani co se týká záležitostí zaměstnanců."
Suhlas a dokonca nema ani vidiet udaje ostatnych zakaznikov. Ak tam ukladate aj nejake osobne udaje a nie len volne dostupne mohlo by to byt aj zalovatelne.
Kdyz pomineme vsechny ty namitky k aplikaci jako takove (ktere jsou naprosto vystizne), reseni dotazu jako takoveho by bylo treba taky nejak takto:
a) Tabulka "Uzivatele", obsahujici zakladni spolecne veci: user id, login, heslo, pripadne nejaky dalsi jednoznacne spolecny data
b) Tabulka "Vedouci", obsahujici veci pro vedouci, tabulka "Zamestnanci", obsahujici veci pro zamestnance, tabulka "Zakaznici", obsahujici veci pro zakazniky... vzdy user id FK na tabulku uzivatele. Mozno samozrejme dal vetvit, jako napr. Uzivatele -> Zamestnanci -> Vedouci (tzn. Vedouci je zvlastni pripad Zamestnance). Tak muze byt pro zamestnance vzdy odkaz na user id sveho sefa, a u zakaznika napriklad datum posledniho nakupu sekacky na travu.
Ale vazne, radim tvrde separovat interni veci a klientske veci;)
S tímto názorom jednoznačne súhlasím, už len kvôli dvom dôvodom, prvý je že sa pre tabuľku login dajú nastaviť iné práva ako pre ostané a ako druhý dôvod rychlejší a prehľadnejší spôsob prihlasovania v PHP. Ovšem pokiaľ by rozdielnych stĺpcov medzi
Vedouci Zamestnanci Zakaznici
nebolo veľa tak by som dáta (Vedouci,Zamestanci,Zakaznici, nepotrebne NULL) vložil do jednej tabulky a podľa loginu s nej vyberal údaje, samozrejme sa tím môže znížiť bezpečnosť údajov, ale pokiaľ ide o jednoduchý kód kde je malá šanca na bugy tak by to stačilo.
Takže pre bežnú app by som dopuručoval len dve tabuľky, login a data.
Jeste jedna moznost:
Tabulka users - spolecne veci
Tabulka zamestnanci - veci co maji zamestnanci navic, s atributem je_vedouci
Tabulka zakaznici - veci co maji zakaznici navic
Zamestnanci i zakaznici obsahuji userID - foreign key do users.
Jak to cist:
SELECT * FROM zamestnanci JOIN users USING (userID);
SELECT * FROM zakaznici JOIN users USING (userID);
To zaroven castecne separuje zamestnance i zakazniky, ale data formulare jsou v jedne tabulce. V pripade potreby se na to daji udelat VIEW.
Tiskni
Sdílej: