Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
std::string ReadLine() const
{
constexpr size_t BUFF_SIZE = 1024;
char* buffer = new char[BUFF_SIZE];
char* pointer = buffer;
DWORD readedBytes, length = 0;
auto line = std::string();
while (true) {
if (ReadFile(handle, pointer, static_cast<DWORD>(1), &readedBytes, nullptr))
{
if (*pointer == '\r' || *pointer == '\n' || readedBytes == 0)
{
line.append(buffer, length);
pointer = nullptr;
delete[] buffer;
return line;
}
else
{
if (length == BUFF_SIZE) {
line.append(buffer, length);
length = 0;
pointer = buffer;
}
else {
pointer++;
length++;
}
}
}
else {
delete[] buffer;
throw SomeException();
}
}
}
Řešení dotazu:
char c; ... ReadFile(handle, &c, 1, &readedBytes, nullptr) ... line.append(c);
std::string ReadLine(const size_t bufferSize = 1024) const
{
char* buffer = new char[bufferSize + 1];
char* pointer = buffer;
DWORD readedBytes, length = 0;
auto line = std::string();
while (true) {
if (ReadFile(handle, pointer, static_cast<DWORD>(1), &readedBytes, nullptr))
{
if (*pointer == 'r' || *pointer == 'n' || readedBytes == 0)
{
line.append(buffer, length);
pointer = nullptr;
delete[] buffer;
return line;
}
else
{
if (length == bufferSize) {
line.append(buffer, length + 1);
length = 0;
pointer = buffer;
}
else {
pointer++;
length++;
}
}
}
}
}
si eště jakoby voprav to slovíčko 'readed' ;D
bufferSize = std::numeric_limits<DWORD>::max().
Tiskni
Sdílej: