Byla vydána verze 1.70.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. Jako reakce na rostoucí obavy z vlivu korporací na vývoj Rustu a předložený návrh restriktivních zásad používání ochranných známek Rustu, byl nedávno představen komunitní fork Rustu se 100 % méně byrokracie: Crab (CrabLang).
Oliver Smith z Canonicalu shrnuje základní vlastnosti „neměnné“ distribuce Ubuntu Core také ve srovnání s protějšky Chrome OS, Fedora Silverblue a MicroOS. Canonical připravuje desktopovou variantu Ubuntu Core vedle dosavadní serverové/embedded.
Z aktualizovaného seznamu chyb (pdf) procesoru AMD EPYC 7002: #1474 - procesor se po 1044 dnech od posledního resetu zasekne [reddit].
Fossil (Wikipedie) byl vydán ve verzi 2.22. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
David Malcolm se ve svém příspěvku na blogu vývojářů Red Hatu rozepsal o vylepšeních statické analýzy (volba -fanalyzer) v GCC 13.
Byla vydána nová stabilní verze 23.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Stoat. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Příspěvek na blogu CZ.NIC upozorňuje na nový útok na weby v Česku. Na honeypotech na Turrisech byla zaznamenána nová aktivita útočníků - probíhající útok na FTP servery, které se vyskytují na stejné IP adrese, jako aktivní WEB server.
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi 2023.05. Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Linux Foundation Europe představila projekt RISE (RISC-V Software Ecosystem), jehož cílem je urychlit vývoj open source softwaru pro architekturu RISC-V.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu pro jednodeskové počítače na platformě ARM, byl vydán ve verzi 23.05. Přehled novinek v Changelogu.
user: 1 janko 2 ferko ulohy (jankove): 1 1 1 vyniest kos 2 1 2 umyt riad 3 1 3 domace ulohy ulohy (ferkove): 4 2 1 namalovat plot 5 2 2 vyvencit psaMozem vytvorit unikatny index (task.userId, task.order) ktory mi zabezpeci ze user nebude mat duplicitne poradie uloh, ked zacnem robit operacie ako zmena poradia uloh tak si budem musiet vsetko oprogramovat sam. Napr. ak by som chcel jankovi zmenit poradie "Domace ulohy" z 3 na 1 tak to musim robit takto:
- ulohe 1 priradim nejake pomocne poradie, napr. 4 - ulohe 3 nastavim poradie 1 - ulohe 2 nastavim 3 - ulohe 1 nastavim 2Co sa mi da dost komplikovane. Neunika mi nejaka jednoduchsia cesta? Uvazujme mysql alebo postgres. Napadol ma spojovy zoznam ale tam asi selekt s triedenim podla cisla poradia nebude trivialny. Kazdy user by nemal mat viac ako 200 uloh (resp. za poslednych 5 rokov realnej prevadzky maximum bolo 120) cize ak viete nejake trivialne ale pomale riesenie, nie je problem pouzit aj to.
Řešení dotazu:
ulohe 1 priradim nejake pomocne poradie, napr. 4na co pomocné pořadí, když máme null Každopádně postgres by měl umět DEFERRABLE constraints. Jak MySQL nevím.
UPDATE ulohy SET order = IF(JSEM A, nové pořadí A, nové pořadí B)
V postgresql i v mysql jde k témuž co v mysql dělá IF použít
CASE WHEN ... THEN ... ELSE ... END
.
UPDATE task SET order_ = order_ + 1 WHERE order_ >= NEW.order_ AND user = NEW.user_ ;V before update triggeru:
UPDATE task SET order_ = 0 WHERE id = OLD.id ; IF OLD.order_ > NEW.order_ THEN UPDATE task SET order_ = order_ + 1 WHERE order_ < OLD.order_ AND order_ >= NEW.order_ AND user = NEW.user_ ; ELSIF OLD.order_ < NEW.order_ THEN UPDATE task SET order_ = order_ - 1 WHERE order_ > OLD.order_ AND order_ <= NEW.order_ AND user = NEW.user_ ; END IF;
Tiskni
Sdílej: