Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).
Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.
Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.
Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.
Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.
Vyhledávač DuckDuckGo je podle webu DownDetector od 2:15 SELČ nedostupný. Opět fungovat začal na několik minut zhruba v 15:15. Další služby nesouvisející přímo s vyhledáváním, jako mapy a AI asistent jsou dostupné. Pro některé dotazy během výpadku stále funguje zobrazování například textu z Wikipedie.
Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).
Opäť začnem kratším pohľadom na architektúru KDE. Projekt KDE je postavený na knižnici Qt (vyslovované ako anglické cute), produktu firmy Trolltech. Je to multiplatformová knižnica napísaná v C++. Vývojárom poskytuje všetku funkcionalitu potrebnú na vývoj aplikácii s grafickým rozhraním. Je plne objektovo orientovaná, ľahko rozširovateľná a poskytuje prostriedky na programovanie s hotovými komponentami.
Qt beží na všetkých rozšírenejších platformách: Win32, Unix/Linux, Mac OS X.(Ak ste skúšali programovať v Delphi/C++Buildery/Kylixe, asi ste si všimli možnosť vytvárať aplikácie CLX. CLX je iba tenká vrstva nad Qt.) Samotné Qt obsahuje veľa ovládacích prvkov a objektov podobných tým z KDE (napr. QApplication). Ak však existuje náhrada pre KDE, je lepšie použiť tú. Dosiahneme tým štandartný vzhľad aplikácie (napr. na Qt objekty nie súaplikované štýly).
Na úplnom vrchu diagramu sa nachádza KDE aplikácia. Môže využívať všetky
funkcie, ktoré jej KDE, Qt alebo X11 poskytuje. Pár častí si zaslúži
vysvetlenie k čomu slúžia. DCOP uľahčuje komunikáciu medzi procesmi.
KDECore obsahuje implementáciu tried akou je napríklad KApplication. KDEUI
poskytuje možnosti na vytváranie menu, okien, toolbarov... KIO zabezpečuje
rovnaký systém práce so súbormi bez toho, aby sme sa museli zaujímať kde sú
v skutočnosti umiestnené (lokálny, vzdialený disk). KPrint je novinka z
KDE3. Ponúka funkcie súvisiace s tlačou (celkom prekvapivé vzhľadom na
názov knižnice. KParts je komponentná technológia umožňujúca vkladanie
už existujúcich binárnych objektov do aplikácie (obdoba OLE z Win32).
Zaujívamou technológiou je aj KSyCoCa (System Configuration Cache).
Udržiava často používané nastavenia. Predstavte si, ako náročné môže byť
napríklad zobrazenie adresára v Konquerori. Pre každý objekt treba
prehľadať konfiguračný súbor a zistiť, akú ikonu zobraziť. Tieto dáta sú
udržiavané práve v KSyCoCa, čím sa dosahuje vyššia rýchlosť. Na úvod nám
bude stačiť takýto stručný prehľad, veľa vecí si detailnejšie predstavíme
priamo na príkladoch.
Menu je jeden z najdôležitejších ovládacích prvkov hlavného okna aplikácie. Menu by malo vždy sprístupňovať všetky funkcie, okrem tých ktoré sú dostupné vďalších dialógoch. V nasledujúcom príklade vytvoríme jednoduché menu:
konštruktor triedy KHelloWindow, súbor khello.cpp
:
KHelloWindow::KHelloWindow() : KMainWindow()
{
file = new KPopupMenu();
file->insertItem("&Hello", this, SLOT(slotHello()));
file->insertItem("&Koniec", this, SLOT(slotExit()));
help = new KPopupMenu();
help->insertItem("&Help!", this, SLOT(slotHelp()));
menu = menuBar();
menu->insertItem("&Subor", file);
menu->insertItem("&Pomoc", help);
}
Celý program si môžete stiahnuť tu. Po skompilovaní a spustení sa objaví okno s takýmto menu:
Na riadku číslo 3 vytvorím menu Súbor. Vložíme do neho dve položky:
"Hello" a "Koniec". Obidvom položkám nastavíme, aký slot majú používať pri
vybraní funkcie z menu. To isté zopakujeme aj pre menu "Pomoc". Na riadku
10 voláme metódu menuBar()
zdedenú od triedy
KMainWindow
. Metóda vráti ukazovateľ na menu. Ak ešte žiadne
menu v okne nieje, tak ho vytvorí a odovzdá ukazovateľ na nové menu. Vďaka
tomu nemusíte menu priamo vytvárať vy, stačí zavolať
menuBar()
. Ampersand v menu spôsobí, že nasledujúci znak
bude podčiarknutý a bude sa dať použiť ako klávesová skratka (spolu s
Altom). Trieda KPopupMenu
obsahuje asi 15 rôznych preťažených
metód insertItem()
. Tie sa líšia parametrami, napríklad na
vloženie položky aj s obrázkom (QIconSet
,
QPixmap
), prípadne s klávesovou skratkou
(QKeySequence
).
Nechcem sa obmedziť na suché vymenovávanie ovládacích prvkov z KDE a ich
funkcií, preto vyberiem pár používanejších. S ostatnými sa stretnete v
ďalších pokračovaniach tohoto seriálu. Zatiaľ len spomeniem, že v KDE je
ich naozajveľa a detailnejší popis každého z nich by zabral niekoľko sto
kilobajtov. Ako príklad "kompletnosti" uvediem ovládací prvok
KSqueezedTextLabel
. Ak je text príliš dlhý, tak tento Label
zobrazí jeho začiatok a koniec oddelený 3 bodkami. Ak ste programovali
napríklad pod Win32, určite oceníte veľa drobností, ktoré KDE ponúka
programátorovi.
V nasledujúcom príklade vytvoríme 3 nové ovládacie prvky. Ten
najjednoduchší je QLabel
. Možno ho použiť ako:
labelEdit = new QLabel(this);
labelEdit->setGeometry(10,30,170,25);
labelEdit->setText("&Enter text:" );
labelEdit->show();
Ďalším často používaným prvkom je KLineEdit
. Je to
jednoriadkový textový editor. Ako som už spomínal, KDE uľahčuje
programátorom prácu v maximálnej možnej mierea preto si môžete byť istý, že
pri jednoduchej editácii možnosti KLineEdit
nekončia. Pomocou
metódy echoMode()
umožňuje zmeniť vypisované znaky napríklad
na hviezdičku, čím jednoducho získate ovládací prvok na zadávanie hesla.
Ďalšou zaujímavou funkciou je dopĺňanie textu, známe z browserov (po
napísaní "www.abc" Vám ponúkne "http://www.abclinuxu.cz"). Medzi štandardné
funkcie samozrejme patrí Cut, Copy, Paste, Undo
. Často
využijete aj KListView
. Implementuje zobrazenie zoznamu alebo
stromu. Preberá všetky systémové nastavenie ako napríklad
DoubleClick/SingleClick
nebo
ChangeCursorOverLink
.
Spojením týchto 3 nových ovládacích prvkov a použitých v predchádzajúcich príkladoch vytvoríme takýto program:
Pri pohľade na obrázok je už asi jasné, čo presne bude program robiť. Po
stlačení tlačítka "Add" sa pridá do KListView
nová položka s
textom zadaným v KLineEdit
. Najprv vytvoríme všetky potrebné
ovládacie prvky:
konštruktor hlavného okna:
lineEdit = new KLineEdit("",this);
lineEdit->setGeometry(10,55,170,25);
lineEdit->show();
listView = new KListView(this);
listView->setGeometry(10,90,230,180);
listView->addColumn("Items",220);
listView->show();
Myslím, že tento kód nepotrebuje detailnejšie vysvetlenie. Nová je iba
metóda addColumn
, ktorá pridáva stĺpec do
KListView
.
Obsluha kliknutia na tlačítko "Add":
void KHello::slotAdd() {
QListViewItem *element;
element = new QListViewItem(listView,lineEdit->text());
}
Na riadku číslo 3 vytvárame novú položku KListView
s textom
lineEdit->text()
. Skúste kliknúť na návestie "Enter
text" alebo stlačiť Alt-E. Aktivuje sa KLineEdit
(získa
focus). Celý program si môžete stiahnuť tu.
V dalšom pokračovaní sa pozrieme na štandardné dialógové okná a spravíme si jednoduchý prehliadač formátovaného textu.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: