Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
create table, např. "CREATE TABLE osoba (id INT PRIMARY KEY); CREATE TABLE pes (id INT PRIMARY KEY, majitel INT REFERENCES osoba);". V PostgreSQL to funguje, ale MySQL to nejen že neumí, ale ani se nijak netváří, že to neumí. Tak se taky nespalte
ALTER TABLE … ADD CONSTRAINT…. Takže pro jednoduchost a přehlednost dělám vše přes ALTER TABLE a žiju si spokojeně. I pro sestavování deployment skriptů a jejich správu je toto řešení pro mě lepší
Stěžují si na to, že se nikdo nestará o Python psaný v Javě, ale o cizích klíčích, bez kterých podle doktora Codda databáze vůbec nemá nárok říkat si RDBMS, prohlásí jen to, že "jsou super a ušetří spoustu nudného kódu", a určitě by se neštítil používat ji i bez nich, jako by se nic nedělo.
. Někdy potřebuji zrušit fakturu, která se skládá z tabulky pro společné údaje a z tabulky pro zboží, řešil jsem to skriptem PHP, který nejprve provede výmaz v tabulce pro zboží a pak v tabulce pro společné údaje, když jsem zjistil, že se to dá provést mnohem elegantněji
on delete cascade' (což vlastně v podstatě je zase jen trigger). Smysl foreign keys je v tom, že engine sám se stará o to, aby se vám v databázi z jakéhokoli důvodu (třeba chybně napsané klientské aplikace) neobjevily položky bez faktury.
- u mně se položky bez faktury nemohou vyskytnout, protože v tabulce fakturace - zboží je jedno pole s uvedením čísla faktury, stejné pole je i v tabulce pro společné údaje pro fakturu. Když v této tabulce pro společné údaje zruším fakturu, měly by zmizet automaticky všechny řádky s uvedením tohoto čísla faktury ve druhé tabulce. A to by foreign key mohl řešit (stejně tak asi i transakce) .. Jak jsem psal, mám to řešené pouze systémem příkazů ve skriptu PHP.
on delete cascade'). Smysl foreign key je hlavně v tom, že vám tam ty položky odkazující na neexistující fakturu nemohou vzniknout ani v případě, že se je tam úmyslně pokusíte vytvořit (pokud nebudete hodně důmyslný a ten constraint nevypnete). Tedy ani ne tak vy, ale hlavně chybně napsaná klientská aplikace. Na takové narušení konzistence dat v databázi se totiž může přijít až po delší době a pak už je často extrémně těžké (až nemožné) to dát dohromady.
Jako uživatel jsem kouknul na MySQL, ale po spatření textů typu "transakce nepotřebujeme, ale zato jsme brutálně rychlí, a vůbec, atomické updaty řádků většině lidí stačí a zbytek se ošetří v aplikaci" spojených s naprosto otřesným překladem jsem odhodil jak onu knihu, tak i MySQL a nakonec objevil Firebird 1.0.3 a knihu Pavla Císaře.
(A všechno završil tím, že jsem si sedl a popovídal s Jimem Starkeym u piva, když byl v Praze.
)
"transakce nepotřebujeme, ale zato jsme brutálně rychlí, a vůbec, atomické updaty řádků většině lidí stačí a zbytek se ošetří v aplikaci"Tu knihu psal někdo od eBaye?
Tohle to bylo. Tehdy jsem byl ještě mladej a blbej (dneska už jsem jenom blbej
), tak jsem nevěděl, že 1) kupovat překlady a 2) kupovat knihy typu "Naučte se X za Y dní" (případně až extrémy typu "Naučte se SAP R/3 za patnáct minut"
) je fakt spíš ruská ruleta než promyšlená koupě. Teď už kupuju jen hodnotnou literaturu.
Nebo aspoň Interbase před deseti lety a Interbase před patnácti mi přišly historicky tak nějak skoro stejné, on se Borland nijak zvlášť ve vývoji nepřetrhl, aspoň pokud je mi známo.
Nejen vývoj, ale i marketing… Skoro bych řekl, že se Interbase snažili nechat tiše upadnout v zapomnění a o kvalitě projektu svědčí fakt, že se jim to přes veškerou snahu nepodařilo. Teď sice zase nějaký vývoj probíhá, ale připadá mi, že je to spíš natruc Firebirdu než ze zájmu o produkt samotný.
Ale co čekat od firmy, která každých pár let změní název a ještě častěji strategii a vytrvale se snaží vrhat energii jakýmkoli směrem kromě toho, v čem se jim daří?
foxpro a debefka s indexy na tebe! to by sis pak jinak vazil mysql! ;-]
No, bereme-li to až takhle, tak první byla dBase III. Ale měl jsem na mysli spíš Interbase 6.0 beta.
interbase... az se divim, co vsechno s tim slo pred deseti lety delat a co z toho uz jde i v mysql
Ve skutečnosti je to ještě horší - spousta z těch věcí, které se v MySQL objevily s velkou slávou v posledních letech, byla v Interbase (která se tehdy ještě nejmenovala Interbase) před více než dvaceti lety…
To by sedlo, Hot Backup v MySQL teprv bude (možná
), pokud vím, a v Interbase zaručeně fungoval za plného chodu už v roce 1988 ve verzi 3 nebo tak nějak.
Což mi připomnělo i tohle - aneb co uměla (a kde byla nasazována) Interbase v době, kdy autoři MySQL teprv zkusmo lepili cizí SQL frontend na první vývojovou verzi vlastního ISAM backendu. Skoro mi přijde, že začátky obou systémů docela pěkně odrážejí celé jejich další směrování. Přičemž u Interbase na začátku nebyl čtyřicet let starý (a zastaralý) ISAM, ale v té době revoluční verzovací transakční engine, který pak spousta lidí sprostě (a špatně
) vobšlehla, včetně Oraclu ("nefíčury" Oraclu před rokem 1992 jsou kapitola sama pro sebe
), PostgreSQL a MS SQL Serveru 2005. (A ano, jsem Smug Firebird Weenie a ještě to drze přiznávám.
)
Při použití InnoDB je transakce každý samostatný příkaz. Tzn. okolo transakce složené z jednoho příkazu není třeba psát START TRANSACTION a COMMIT.Tohle platí jen v případě, že je zapnutý autocommit (výchozí stav). Lze ovšem vypnout (SET AUTOCOMMIT=0) a pak se musí každá transakce zahájit a ukončit. Pokud se při zapnutém autocommitu zavolá START TRANSACTION, autocommit se do dokončení této transakce vypne (pak se zase sám zapne).
Během provádění transakce všechny ostatní pokusy o práci nad stejnými daty čekají.Opět platí jen částečně. Do jaké míry bude přístup k datům zamykán, záleží na nastavení izolace transakcí.
1. Ak defaultne zadam nejaky UPDATE statement, rovno ho commitne?Ano. Možná to z té věty nebylo dostatečně zřejmé
2. Ak je autocommit vypnuty a zadam UPDATE statement, hodi chybu, ze chyba zaciatok transakcie alebo transakciu zacne automaticky (ako napr. Oracle) a potom ju staci commitnut?Za b) je správně - začne transakci automaticky. Při použití je ale velkou chybou na to spoléhat, velmi snadno to totiž vede k tomu, že se pak člověk diví, proč mu něco nefunguje (když neví, jestli jestli je zrovna autocommit zapnutý). Když se pracuje s transakcemi, vždy je dobré používat START TRANSACTION, ať je autocommit zapnutý nebo ne.
este jedna otazka, ak jeden user update-uje tabulku, lockne sa cela tabulka alebo iba dane riadky?Zamykání závisí na úrovni izolace (např. při READ UNCOMMITED se pro čtení nezamyká vůbec - ostatní uživatelé mohou tedy dostat data, která následně nebudou potvrzena). Celá tabulka se ale nezamyká nikdy, pokud se nezamkne explicitně. Explicitní zamykání celé tabulky ale není kompatibilní s transakcemi. Pokud se dá LOCK TABLES, automaticky to způsobí COMMIT. Naopak příkaz START TRANSACTION automaticky vyvolá UNLOCK TABLES.
co jsem všechno nevěděl a nikdy mi to nechyběloa to jste predtim mysql i nejak pouzival?
a to jste predtim mysql i nejak pouzival?ano, spokojeně ;)
Dneska si bez cizích klíčů, transakcí a spojování tabulek nedokážu práci s (relační) databází představit.
Výcuc je celkem fajn, třeba někomu pomůže, aby nezačínal tak blbě jako já, takže díky za něj.
InnoDB – transakce, cizí klíče, neumí fulltext (a nebo už ano?)Je zde někdo znalý, kdo ví, jaký je současný/budoucí stav fulltextu v InnoDB? Nebo pořád platí ten trik s paralelním vytvářením dvou tabulek se stejnými daty, ale s jednou InnoDB a na fultext s druhou MyISAM?
Je zde někdo znalý, kdo ví, jaký je současný/budoucí stav fulltextu v InnoDB?Vypadá to špatně. Už to tam hnije skoro 3 roky a zatím nikdo nedal na vědomí, že by se to pohnulo kupředu. Ale to není ojedinělé - dlouho tam zahnívají i velmi záludné a ošklivé chyby (jako třeba tato, která zřejmě způsobuje poškození haldy - u verze 4 měla za následek zátuh serveru, verze 5 se při jejím výskytu aspoň sama restartuje).
Nebo pořád platí ten trik s paralelním vytvářením dvou tabulek se stejnými daty, ale s jednou InnoDB a na fultext s druhou MyISAM?Ano.
Ale kdo ví, když se kucí švédský sluníčkový budou hodně snažit, tak se do roku 1985 třeba brzy dostanou taky...
)
SELECT * FROM lidi WHERE mesto IN (SELECT mesto FROM mesta)
A funguje už
SELECT
*
FROM
table1 t1 INNER JOIN (SELECT
tx.col1, tx.col2
FROM
table2 tx) t2
ON (t1.colx = t2.col2)
/
nebo se ještě pořád musí jezdit do serverovny mačkat tlačítko Reset?
nebo se ještě pořád musí jezdit do serverovny mačkat tlačítko Reset?Každopádně u verze 5 platí, že když se něco podělá, tak se to samo restartuje - narozdíl od verze 4, která se sekla (např. kvůli této chybě).
Tiskni
Sdílej: