Po osmi letech od vydání verze 2.0 byla vydána nová major verze 3.0 multiplatformního editoru tagů MusicBrainz Picard (Wikipedie). Přehled novinek, vylepšení a oprav v changelogu.
Mezinárodní federace hudebního průmyslu (International Federation of the Phonographic Industry) navrhla Evropské komisi zařazení populárního open-source nástroje yt-dlp na evropský seznam 'padělků a pirátství' (EU Counterfeit and Piracy Watch List) pro rok 2027 (plné znění žádosti IFPI). IFPI ve svém podání označuje tento aktivně vyvíjený a o rozličné funkce bohatší fork youtube-dl za 'závažný problém' pro hudební průmysl, v
… více »Byla vydána nová verze 7.4 linuxové distribuce Parrot OS (Wikipedie). 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.
Dnes startuje desátý ročník oblíbené kyberbezpečnostní soutěže The Catch organizované Forenzní laboratoří CESNETu. Letos zavede soutěžící do světa národních výzkumných a vzdělávacích sítí (NREN). Čekají na vás tematické úlohy založené na principu Capture the Flag (CTF), hledání ukrytých flagů i zajímavé ceny. Otestujte své schopnosti a vyrazte na lov flagů.
Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2026.
Německý startup Aleph Alpha k příležitosti výročí sjednocení Německa zveřejnil open-weight jazykový model Kolibri, vyvíjený s ohledem na unijní pojetí autorského práva, ochranu osobních údajů GDPR a nařízení EU o umělé inteligenci, jehož 'Kodexu správné praxe' je Aleph Alpha signatářem. Výsledkem tohoto přístupu je transparentnější technologie, kterou například budou moci využívat evropské veřejné instituce, ovšem za cenu
… více »Nvidia zveřejnila návrh nové bezpečnostní platformy pro nasazování AI agentů. Jedná se o nasazení AI za použití OpenShell a Sentry, dvou oddělených bezpečnostních vrstev, v nichž může Sentry monitorovat a vyhodnocovat chování AI v OpenShellu tak, že ho v krajním případě až vypne. Mělo by to zabránit dalším únikům AI ze sandboxu.
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.
cyklus_citania_csv
{
$Query='select
vtiger_crmentity.crmid as ID,
vtiger_leaddetails.firstname as meno,
vtiger_leaddetails.lastname as priezvisko,
vtiger_leaddetails.email as email,
vtiger_leadaddress.lane as ulica,
vtiger_leadaddress.city as mesto,
vtiger_crmentity.modifiedtime as zmena
from
vtiger_crmentity
left join vtiger_leadaddress on vtiger_crmentity.crmid=vtiger_leadaddress.leadaddressid
left join vtiger_leaddetails on vtiger_crmentity.crmid=vtiger_leaddetails.leadid
left join vtiger_users on vtiger_crmentity.smownerid=vtiger_users.id
where
(
vtiger_leaddetails.lead_no=\''.$riadok_z_csv['id_zaznamu_napriklad_LEA12345'].'\'
and
vtiger_users.user_name=\''.$riadok_z_csv['prideleny_pouzivatel'].'\'
and
vtiger_crmentity.deleted=\'0\'
)
limit 1;';
$Actual=mysql_fetch_array(mysql_query($Query,$Database));
if($Actual)
{
mysql_query('update
vtiger_crmentity
left join vtiger_leadaddress on vtiger_crmentity.crmid=vtiger_leadaddress.leadaddressid
left join vtiger_leaddetails on vtiger_crmentity.crmid=vtiger_leaddetails.leadid
set
vtiger_leaddetails.firstname=\''.$riadok_z_csv['meno'].'\',
vtiger_leaddetails.lastname=\''.$riadok_z_csv['priezvisko'].'\',
vtiger_leaddetails.email=\''.$riadok_z_csv['email'].'\',
vtiger_leadaddress.lane=\''.$riadok_z_csv['ulica'].'\',
vtiger_leadaddress.city=\''.$riadok_z_csv['mesto'].'\',
vtiger_crmentity.modifiedtime=\''.$riadok_z_csv['zmena'].'\'
where
(
vtiger_crmentity.crmid=\''.$Actual['ID'].'\'
);');
}
}
Rozdelenie na select a update je tam kvôly tomu, že medzi nimi prebieha ešte veľa rôznych testov a výpisov (keby sa niekto pýtal, že prečo nie rovno update).
A mňa teraz zaujíma aký je vlastne rozdiel v spájaní tabuliek pomocou left join a pomocou spájania vo where (select * from table t1, table t2 where t1.id=t2.id). Ja potrebujem aby ak bude niekde nejaká zrada aby sa nevykonal celý select. Napríklad, prepokladajme, že v tabuľke vtiger_leadaddress nenájde záznam kde bude platiť vtiger_crmentity.crmid=vtiger_leadaddress.leadaddressid. Vykoná sa select aj napriek tomu len položky ulica a mesto budú prázdne? Alebo celý select skončí chybou?
A druhá otázka. Postačuje ako kontrola správnosti výsledku if($Actual)? Predpokladám, že pri "nesprávnom" selecte budem mať v premennej $Actual=NULL. Alebo treba testovať nejako ináč?
Veľmi dúfam, že nejaká dobrá duša pochopila môj pokus o vykoktanie sa o čo mi vlastne ide.
Vopred vám veľmi pekne ďakujem za odpovede.
A mňa teraz zaujíma aký je vlastne rozdiel v spájaní tabuliek pomocou left join a pomocou spájania vo where
Inner join můžete vždy přepsat pomocí where konstrukce. O left joinu toto neplatí. (opomíjím historickou konstrukci na Oracle "+="). A teď si jen někde přečtěte jaký je rozdíl mezi inner join a left/right join, než budete číst dál.
Kanonický způsob vyhodnocení dotazu je: napřed joiny pak teprve where. Ve Vašem případě, jak jste správně zjistil, je jedno zda použijete left join nebo inner join pro tabulky vtiger_leaddetails a vtiger_users (nikoliv pro vtiger_leadaddress). Výsledek bude stejný a optimizer si interně nahradí left join operací inner join, protože dává více možností k optimalizaci. Napřed (zcela nekanonicky) nejspíše udělá where filter na vtiger_leaddetails.lead_no a vtiger_users.user_name. Pak s výslednými leadid/smownerid, půjde do indexů tabulky vtiger_crmentity. … Tento postup by si se skutečným left join dovolit nemohl. Viz definice left join.
Napríklad, prepokladajme, že v tabuľke vtiger_leadaddress nenájde záznam kde bude platiť vtiger_crmentity.crmid=vtiger_leadaddress.leadaddressid. Vykoná sa select aj napriek tomu len položky ulica a mesto budú prázdne?
Ano vykoná, zmíněné položky budou NULL.
Postačuje ako kontrola správnosti výsledku if($Actual)?
Toto je dost nejasný dotaz. Co je správný výsledek? Je to že byl vrácen právě jeden řádek? Nejvýše jeden řádek? Nebo právě jedno crmid? Třeba si představte že pro různá crmid je můžou existovat stejné hodnoty v polích vtiger_leaddetails.lead_no a vtiger_users.user_name. Je vtiger_leaddetails.lead_no klíčem do tabulky vtiger_leaddetails? Je vtiger_users.user_name klíčem této tabulky?
Tiskni
Sdílej: