Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.
Netflix kupuje Warner Bros. včetně jejích filmových a televizních studií HBO Max a HBO. Za 72 miliard dolarů (asi 1,5 bilionu korun).
V Las Vegas dnes končí pětidenní konference AWS re:Invent 2025. Společnost Amazon Web Services (AWS) na ní představila celou řadu novinek. Vypíchnout lze 192jádrový CPU Graviton5 nebo AI chip Trainium3.
Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.
Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.
Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.
Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.
Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.
Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
/*Pri prekladu zakomentovat podle potreby*/
#define OS_LINUX_OPT
#define OS_LINUX_USR_LOCAL
#define OS_LINUX_USR
#define OS_WINDOWS
char* grabFile(char* filespec) {
char p[256];
#ifdef OS_LINUX_USR
strcat(p,"/usr/local/myprogram/");
strcat(p,filespec);
#endif
#ifdef OS_WINDOWS
strcat(p,getProgramDirectory());
strcat(p,"\\");
strcat(p.filespec);
#endif
return p;
}
(Priznavam,ze tento kod neni bezpecny, snadno lze zpusobit preteceni)
... a tak nejak. Prikladem podobneho ucinneho vyuziti preprocesoru
jsou zdrojove kody ke hre Wolfenstein 3D.
$HOME, což může představovat vše od /home/vyskocil/usr/program v práci, až po /homes/eva/xv/xvysko02/usr/program ve škole
.
getProgramDirectory(), kterou si ovsem musite napsat.A pak je opravdu jedno, kde ten program je.
Tudiz si zavedeme: OS_LINUX_ANYWHERE
char* grabFile(char* filespec) {
char p[256];
#ifdef OS_LINUX_ANYWHERE
strcat(p,getProgramDirectory());
strcat(p,"/");
strcat(p,filespec);
#endif
return p;
....
}
getProgramDirectory() proste vezme nulty parametr prikazove radky
a odsekne z nej vse za poslednim lomitkem a je to. Tak se program
najde, at uz je kdekoliv.
namespace fs = boost::filesystem;
// inicializace cesty
fs::path tmpPath( FileOption, fs::native );
// pokud cesta neni kompletni
// (neobsahuje C:\ nebo "/root/..")
// pripoj pracovni adresar (workingDir)
File = tmpPath.is_complete()
? tmpPath
: workingDir/tmpPath; //spojeni cest
if( !fs::exists( File ) )
{
std::cerr << "\nerror: File "
<< File.string()
<< "\ndoes not exist.\n";
return 1;
}
else if( fs::is_directory( File ) )
{
std::cerr << "\nerror: Argument for the file "
<< File.string()
<< "\nis a directory.\n";
return 1;
}
samozrejme v cestach k souborum bude potreba zmenit lomitka za zpetna lomitkaTo je pěkná blbost.
Tiskni
Sdílej: