Přímý přenos (YouTube) z konference LinuxDays 2026, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.
Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.
Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.
… více »Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.
Byla vydána verze 1.99.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.
Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.
OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.
Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.
$vysledek=mysql_query("SELECT * FROM polls where id='$idpoll'");
$zaznam=mysql_fetch_array($vysledek);
$vysledek2=mysql_query("SELECT * FROM candidates where id='".$zaznam['ID_Candidate1']."'");
$zaznam2=mysql_fetch_array($vysledek2);
$data['0']['prijmeni'] = $zaznam2['Prijmeni'];
$vysledek3=mysql_query("SELECT * FROM candidates where id='".$zaznam['ID_Candidate2']."'");
$zaznam3=mysql_fetch_array($vysledek3);
$data['1']['prijmeni'] = $zaznam3['Prijmeni'];
$vysledek4=mysql_query("SELECT * FROM candidates where id='".$zaznam['ID_Candidate3']."'");
$zaznam4=mysql_fetch_array($vysledek4);
$data['2']['prijmeni'] = $zaznam4['Prijmeni'];
SELECT * FROM polls p, candidates c1, candidates c2 WHERE p.ID = $idpoll AND p.ID_Candidate1 = c1.ID AND p.ID_Candidate2 = c2.IDS dovolením jsem vynechal 3. a 4. kandidáta, ale jak je přidat je snad zřejmé. Nicméně bych se spíš zkusil zamyslet nad změnou schématu (pokud je to možné). Asi bych zvolil něco jako:
SELECT * FROM votes v, candidates c WHERE v.id_poll = $idpoll AND v.id_candidate = c.id
NULL a naštěstí to jde velice jednoduše opravit
Předpokládám testovací data z přílohy. Předtím, než nahodíme referenční integritu, musíme data pročistit.
Před vlastní modifikací jen povolíme NULL hodnoty:
ALTER TABLE polls MODIFY id_candidate1 NULL / ALTER TABLE polls MODIFY id_candidate2 NULL / ALTER TABLE polls MODIFY id_candidate3 NULL / ALTER TABLE polls MODIFY id_candidate4 NULL /Pak nastavíme neplatné klíče na
NULL:
UPDATE polls p
SET
p.id_candidate1 = NULL
WHERE
NOT EXISTS (SELECT
1
FROM
candidates cc
WHERE
cc.id = p.id_candidate1)
/
UPDATE polls p
SET
p.id_candidate2 = NULL
WHERE
NOT EXISTS (SELECT
1
FROM
candidates cc
WHERE
cc.id = p.id_candidate2)
/
UPDATE polls p
SET
p.id_candidate3 = NULL
WHERE
NOT EXISTS (SELECT
1
FROM
candidates cc
WHERE
cc.id = p.id_candidate3)
/
UPDATE polls p
SET
p.id_candidate4 = NULL
WHERE
NOT EXISTS (SELECT
1
FROM
candidates cc
WHERE
cc.id = p.id_candidate4)
/
COMMIT
/
Poté nahoíme referenční integritu:
ALTER TABLE candidates ADD CONSTRAINT pk_candidates PRIMARY KEY (id) / ALTER TABLE polls ADD CONSTRAINT fk_vote_candidate1 FOREIGN KEY (id_candidate1) REFERENCES candidates (id) / ALTER TABLE polls ADD CONSTRAINT fk_vote_candidate2 FOREIGN KEY (id_candidate2) REFERENCES candidates (id) / ALTER TABLE polls ADD CONSTRAINT fk_vote_candidate3 FOREIGN KEY (id_candidate3) REFERENCES candidates (id) / ALTER TABLE polls ADD CONSTRAINT fk_vote_candidate4 FOREIGN KEY (id_candidate4) REFERENCES candidates (id) /Každopádně: ve všech případech funguje tento SELECT statement:
SELECT
c1.prijmeni AS candidate1_surname,
p.votes1 AS candidate1_votes,
c2.prijmeni AS candidate2_surname,
p.votes2 AS candidate2_votes,
c3.prijmeni AS candidate3_surname,
p.votes3 AS candidate3_votes,
c4.prijmeni AS candidate4_surname,
p.votes4 AS candidate4_votes
FROM
polls p
LEFT JOIN candidates c1 ON (p.id_candidate1 = c1.id)
LEFT JOIN candidates c2 ON (p.id_candidate2 = c2.id)
LEFT JOIN candidates c3 ON (p.id_candidate3 = c3.id)
LEFT JOIN candidates c4 ON (p.id_candidate4 = c4.id)
/
Tak hodně štěstí. (V příloze máš kompletní skript na hraní.)
outer ?
SELECT
c1.prijmeni AS candidate1_surname,
p.votes1 AS candidate1_votes,
c2.prijmeni AS candidate2_surname,
p.votes2 AS candidate2_votes,
c3.prijmeni AS candidate3_surname,
p.votes3 AS candidate3_votes,
c4.prijmeni AS candidate4_surname,
p.votes4 AS candidate4_votes
FROM
polls p
LEFT JOIN candidates c1 ON (p.id_candidate1 = c1.id)
LEFT JOIN candidates c2 ON (p.id_candidate2 = c2.id)
LEFT JOIN candidates c3 ON (p.id_candidate3 = c3.id)
LEFT JOIN candidates c4 ON (p.id_candidate4 = c4.id)
/
Tiskni
Sdílej: