Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).
Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."
Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.
Ve zprávičkách jsem zahlédl informaci o doplňování kódu ve skvělém editoru VIM, který se učím používat. Pořád mi v něm ale něco chybělo, rozhodl jsem se tedy IComplete vyzkoušet (domovská stránka a screenshoty). Nakonec to nebylo tak jednoduché, jak by se mohlo na první pohled zdát.
ICompletion je napsáno v C, na Vim je napojeno pomocí skriptu a nových vlastností Vim7, které umožňují doplňování kódu závislé na kontextu. Po napsání strukturovaného typu se Vám v dolní čáasti obrazovky otevře další okno, které obsahuje seznam členů a metod objektu se stručným popisem. IComplete dokáže napovídat také seznam argumentů právě psané funkce, jména lokálních i globálních proměnných či funkcí, jména statických členů a metod objektu. Přestože nedosahuje kvalit doplňování některých komerčních vývojových prostředí, nabízí to, co spousta lidí již dlouho ve Vimu hledá.
K funkci je potřeba Vim7, který jsem objevil snad jen v distribuci Gentoo. Musel jsem tedy provést stažení a kompilaci kódu, což se překvapivě neprovádí známou trojicí, ale systémem Aap.
mkdir ~/aap cd ~/aap cvs -d:pserver:anonymous@cvs-pserver.sf.net:80/cvsroot/a-a-p checkout Exec cd Exec su ./aap install
Update Aap se provede posloupností:
cd ~/aap/Exec ./aap uninstall cvs update ./aap installAap nemusíte instalovat jako root, pak se Vám nahraje do
~/lib
a vytvoří link v ~/bin
, později ale stejně budete pravděpodobně instalovat Vim7 pro celý systém, takže je to možná zbytečné.
Po instalaci aap si vytvoříme adresář ~/viminstall
a v tomto adresáři spustíme:
aap -f http://www.a-a-p.org/vim7/main.aap su aap install
Pro update programu:
aap uninstall aap update aap install
Nyní bychom měli mít nainstalovaný Vim7 v /usr/local
. Podíváme se tedy na IComplete, kde je situace již podstatně jednodušší. Stáhneme poslední verzi, kterou najdeme zde, rozbalíme a použijeme klasiku. Problém může nastat, pokud v systému máte nainstalované exuberant-tags, ale alias ctags neexistuje, pak předejte configure ještě parametr CTAGS_CMD=exuberant-ctags
.
./configure --datadir=/usr/local/share make su make install
Máme vše nainstalováno, ale ještě není vyhráno. Vytvoříme si testovací soubor test.cc s obsahem:
#include <string> #include <iostream> using namespace std; typedef struct pokus { int a; string b; char c; } pokus; main() { pokus p; string str = "blabla"; p.a = str.length(); cout << str << ", pocet znaku: " << p.a << endl; }
Provedením icomplete -l 15 -c 6 test.cc
byste měli dostat
class:pokus | scope: a: int a b: string b c: char c
To už máme téměř vyhráno, aby nám fungovalo doplňování i u STL tříd, musíme do souboru /etc/icomplete.conf
přidat cesty k hlavičkovým souborům. U mě na Mandriva Linuxu LE2005 se nacházejí v adresáři /usr/include/c++/3.4.3. Nyní zkuste spustit icomplete -l 15 -c 14 test.cc
a pokud máte štěstí dostanete přehled členů a metod třídy string.
Spusťte nainstalovaný Vim /usr/local/bin/vim
a vyzkoušejte napsat za str
tečku nebo ->
, mělo by fungovat též doplňování statických členů a metod po ::
. Doplňování kódu si vynutíme stiskem Ctrl-X, Ctrl-U, rebuild cache provedeme Ctrl-X, Ctrl-X, Ctrl-U, co chceme doplnit vybíráme vpřed pomocí Ctrl-J nebo zpět Ctrl-K.
Doufám, že Vám tento návod pomohl a nemuseli jste si vyměnit několik mejlů s autorem jako já . Další informace naleznete na stránce projektu.
Tiskni
Sdílej: