Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a
… více »Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.
Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.
Společnost OpenAI oznámila [𝕏], že ukončí aplikaci Sora pro generování krátkých videí pomocí umělé inteligence. Podrobné informace a harmonogram pro aplikaci a API budou brzy zveřejněny.
Evropská směrnice NIS2 přináší nové požadavky v oblasti kybernetické bezpečnosti, které se promítají také do správy doménových jmen. Do českého právního řádu je směrnice implementována prostřednictvím nového zákona o kybernetické bezpečnosti. Jedním z praktických důsledků této legislativní změny je posílení požadavků na dostupnost a správnost kontaktních údajů držitelů domén. Správce registru domény .cz, sdružení CZ.NIC, je v
… více »long fak(a) {
return a * fak(a-1);
}
Řešení dotazu:
Teoreticky 0, ale prakticky zadny, protoze neskonci. Respektive skonci i se zahlcenim systemu, pretecenim zasobniku nebo necim podobnym nezdravym. Nikde tam totiz nemas kontrolu na ukonceni.
Dejv
class fakt {
public:
fakt(long n) {
}
};
long operator-(const fakt &a, long l) {
throw 1L;
}
long operator*(const fakt &a, long l) {
throw 1L;
}
long fak(const fakt &a) {
return a * fak(a-1);
}
int main(int argc, char* argv[])
{
try {
fak(0L);
}
catch (long) {
42 ;
}
return 0;
}
no ten faktorial, ten by z toho sel taky vymacknout.
Pro mne minimalne v tom, o jaky ma jit jazyk.
#include <iostream>
template<int i>
struct factorial
{
static int const value = i * factorial<i - 1>::value;
};
template<>
struct factorial<0>
{
static int const value = 1;
};
int main()
{
std::cout << factorial<8>::value << "\n";
}
(defun faktorial (n)
(if (> n 1)
(* n (faktorial (- n 1)))
1))
constexpr int factorial(int number)
{
return number ? number * factorial(number - 1) : 1;
}
int main()
{
std::cout << factorial(8) << std::endl;
}
Tiskni
Sdílej: