Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.
Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.
Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 4. snapshot Ubuntu 25.10 (Questing Quokka).
Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.
Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.
Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.
Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
...Pak stačí, aby si nějaký bláznivý manažer vymyslel, že přečísluje oddělení, a je o zábavu postaráno ... to jsou ty typicke priklady, ktere se vykladaji studentum ve skolach a na ruznych kurzech. Nemaji s praxi vubec nic spolecneho.Tenhle příklad jsem uvedl právě proto, že jsem ho v praxi skutečně zažil (naštěstí ne s databází, která by byla takto špatně navržena).
Ono to je totiz tak, ze kdyz si nekdo rozmysli neco precislovat, co je zafixovano na stovkach formularu, telefonich seznamech, prospektech a pod. tak ta prace se zmenou techto dat je 100 x vetsi, nez ten jeden batch, ktery v noci ty udaje v databazi zprehazi.Zrovna to číslo oddělení je v podstatě interní záležitost, která nemusí nikde příliš figurovat (např. pouze na vnitrofiremních účetních dokladech).
Pamatuj: cislo dodavatele jako primarni klic neni chybou!Nemusí být, ale obecně je lepší vyhnout se použití atributu, který přímo nese nějakou eventuálně měnitelnou informaci.
suhlas, kazda tabulka by podla mna mala mat int4/int8 stlpec id, idealne auto-increment idealne unikatny v celej dbPamatuj: cislo dodavatele jako primarni klic neni chybou!Nemusí být, ale obecně je lepší vyhnout se použití atributu, který přímo nese nějakou eventuálně měnitelnou informaci.
123
), iny si napr k cislu priklada info o roku (123/2004
), dalsi stat (SK-123
), atd, atd. Jeden dodavatel moze mat v roznych casovych obdobiach rozne cisla. To, ze si autor sw nevie predstavit inu situaciu, to nie je chyba nasadenia „idealne unikatny v celej db“Proč mi to smrdí objekty?
CREATE TABLE T1 (t1_id INT, t1_txt VARCHAR(100), PRIMARY KEY (t1_id)); CREATE TABLE T2 (t2_id INT, t2_txt VARCHAR(100), t1_id INT, PRIMARY KEY (t2_id)); ... SELECT t1_txt,t2_txt FROM T1 NATURAL JOIN T2;
- mysql neni zrovna vhodna na vetsi ucetnictvi..... flamesisti si to pokusi nejdrive napsat...není vhodná na větší cokoliv (i když verze 5 už je o něco lepší). Čtyřka neumí pohledy a triggery, složitější dotazy jsou pomalé (i v pětce) a má některé další neduhy.
- je dobre si zkontrolovat, ze do database jde to prave kodovani. sice se s tim pocita automaticky, ale webmasteri jaksi ne...Ať žije čaj
CREATE FUNCTION tuid() RETURNS TRIGGER AS $$ DECLARE i RECORD; q text; BEGIN q:=''; FOR i IN SELECT id, condition FROM t LOOP if( q='' ) THEN q:='SELECT * FROM vtx'||i.id||' '; ELSE q:='UNION SELECT * FROM vtx'||i.id||' '; END IF; EXECUTE 'CREATE OR REPLACE VIEW vtx'||i.id|| AS '|| 'SELECT '||i.id||' AS id_t, x.id AS id_x '|| 'FROM x WHERE '||i.condition||' '; END LOOP; EXECUTE 'CREATE OR REPLACE VIEW vtx AS '||q; IF (TG_OP = 'DELETE') THEN return old; ELSE return new; END IF; END; $$ LANGUAGE plpgsql; CREATE TRIGGER tuid AFTER INSERT OR UPDATE OR DELETE ON v FOR EACH STATEMENT EXECUTE PROCEDURE tuid();
Šedivá je teorie, věčně zelený je strom života...
Máte pravdu, normální formy jsou akademická sračka a najdete spoustu praktických situací, kdy je lepší tyto akademické šablony porušit. NICMÉNĚ, považuju za docela nezbytné je znát a uvažovat v jejich intencích - a podle potřeby je promyšleně porušit kvůli efektivitě.
Problém je bohužel v tom, že hromada lidí tudle teorii vůbec nezná a porušuje ji nikoliv se zacílením na výkon, alébrž v důsledku nedostatečného pochopení celé problematiky. A pak vznikají zoufale neoptimalizované produkční systémy.
Ony totiž i ty akademické sračky mají něco do sebe... Pokud opravdu VÍTE co děláte, tak teoreticky optimální návrh změníte. Tragédie (a bohužel mnohočetná) je v tom, že spousta praktiků ani netuší, jak by ten teoreticky optimální návrh mohl vypadat... A pak vznikají děsné zrůdnosti...
..a podle potřeby je promyšleně porušit kvůli efektivitě.což mi připomíná ,,don't forget that Linux became only possible because 20 years of academic OS research was carefully studied, analyzed, discussed and finally thrown away''
Tak toto jsem neznal
No nevim jestli jsou normalni formy bullshit, ale co jsem cetl nekolik skript z FELu apod. instituci o tvorbe databazi, pak tam byla vylozene zminka o tzv. procesu denormalizace a ze nekdy je fackt vyhoda pouzit nizsi normalni formu.
Co se tyce mazani v databazi, pravidla ON DELETE CASCADE ON UPDATE CASCADE jsou skvela, ale nekdy se vazne hodi mit implicitni ON DELETE RESTRICT a promazavat to rucne nekolika na sebe navazujicimi prikazy.
Tiskni
Sdílej: