Byla vydána nová verze 10.0 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze nové balíčky ownCloud Infinite Scale a Uptime-Kuma.
Byla vydána nová verze 3.0.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě
… více »Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.
Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.
Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Tak slibovane vysvetleni minuleho zapisku
Prvni pomerne casta chyba (i z diskuze to bylo videt) je, ze si lide pletou ciste virtualni(dale cv) metodu s interfacem. I kdyz se cv metoda pouziva casto v definici interfacu, tak se da pouzit i jinde. Cv metoda je proste normalni metoda, kde jediny co ma navic je nutnost ji predefinovat v predkovi.
No a kde se to pouziva? Napriklad vsude, kde se chcete vyhnout duplicite kodu, kdy zakladni virtualni fce udela cast prace, ale to klicovy se udela az v potomkovi a sama o sobe nema ta metoda smysl (v horsim pripade udela jen cast prace a tvari se ze udelala vsechno). Mozna nekdo namitne ze to same lze udelat v predkovi s protected metodou s jinym nazvem, ale tim se zanasi dalsi slozitost(ve smyslu porozumeni kodu) pro pripadneho ctenare kodu.
No a v jednom doporuceni na netu co jsem cetl je dokonce napsano, ze by to telo melo byt vzdy, aspon s vyhozenim vyjimky. Jako protipriklad bylo ladeni kodu, ktery se proti tomu povede trikem zkompilovat (priznam se, ze sem to nezvladl). Ale znam z wine jakej je boj hledat funkci, kterou wine vubec nema, protoze to je volani NULL a hledat to je peklo, zvlaste kdyz nemate ten stroj u sebe, ale delate support.
Nemam patent na rozum, tak uvitam jakekoliv postrehy k tematu v diskuzi a treba se necemu dalsimu priucim
Tiskni
Sdílej:
No a kde se to pouziva? Napriklad vsude, kde se chcete vyhnout duplicite kodu, kdy zakladni virtualni fce udela cast prace, ale to klicovy se udela az v potomkovi a sama o sobe nema ta metoda smysl (v horsim pripade udela jen cast prace a tvari se ze udelala vsechno). Mozna nekdo namitne ze to same lze udelat v predkovi s protected metodou s jinym nazvem, ale tim se zanasi dalsi slozitost(ve smyslu porozumeni kodu) pro pripadneho ctenare kodu.No teda jestli tomuhle rikas zajimave dusledky, tak dobry
IMHO je pro ctenare ciste virtualni metoda s telem dostatecny sok.
cout << nl; nelze se divit ničemu.
Sorry, špatně jsem si to přečetl. C++ je ještě dojebanější než jsem se obával.Znas neco lepsiho?
Ale ne, jenom tak rypu, kazdy si sam kope svuj hrob. Mne napriklad od C++ nic neodtrhne. Jenom se ted musim konecne poradne naucit nejaky skriptovaci jazyk.
Signifikantní korelace, řekl bych :)Skriptovaci jazyk potrebuji pro rychle prototypovani (radove minuty).
Python, Ruby, Perl, .NET, Delphi, dokonce i Java nebo Visual Basic :)Jedine co z toho neznam je Visual Basic. V Delphi jsem dlouho programoval a uz nikdy vic, ani to neumi spravne vyhodnocovat podminky (
if ((index<size) && (array[index] != 0)) je v delphi nutne rozdelit do dvou ifu). Java je fajn jazyk pro slabe programatory, ale v podstate se v tom neda psat nic velkeho (pokud to neni serverova zalezitost). .NET je mimo muj zaber. Ve skritpovacich jazycich delam zasadne jenom prototypy a systemove skripty.
Pro vysokoúrovňové věci (gui, aplikační logika, zpracování textu) je režie opravdu zcela minimální, a dynamické typování je neskutečně užitečná a příjemná věc.No a tomu se rika prototypovani. Program se napise ve skriptovacim jazyku a narocne casti se prepisou do C/C++.
ani to neumi spravne vyhodnocovat podminky (if ((index <size) && (array[index] != 0)) je v delphi nutne rozdelit do dvou ifu)To není pravda. Ani u Turbo Pascalu to není pravda. Defaultní bylo "líné" vyhodnocování a přepínačem šlo zapnout to druhé (nějaké to {$neco+} ve zdrojáku).
Python, Ruby, Perl, .NET, Delphi, dokonce i Java nebo Visual BasicKromě té Javy samé skriptovací věci nebo věci na hraní.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off." -- Bjarne Stroustrup
a) ty užitečné konstrukce jsou možná potřeba pro rychlé řešení, ale v ideálním případě by se měl programátor spíš zamyslet nad svým návrhem.Ty uzitecne konstrukce jsou potreba pro to aby nebylo nutne hackovat jazyk. Porovnej si hardcore kod v Cecku a C++. Nebo jeste lip to porovnej s hardcore kodem v Jave.
b) ty užitečné konstrukce jsou možná užitečné tobě, ale ten, co to bude luštit a udržovat, tě prokleje;)Proc by mne proklinal? Samozrejme kdyz to bude nekdo, kdo neumi C++, tak asi ano, ale ten mne bude proklinat za cokoliv, protoze proste neumi C++.
Co je prosímtě hardcore kód? Nechceš doufám psát jádro OS v Javě, že ne?Proč ne, i takoví jsou. A nastojte, jsou i lidi, co píšou OS v Adě
(Nevím teda, jaký je aktuální stav AdaOS, když jsem se o to naposled zajímal, vypadalo to poněkud mrtvě.)
Pevně doufám, že to nikdy nebudu muset napsat a ještě víc doufám, že nikdy nic takového nebudu muset po někom luštit - tento trik teď už sice znám, ale když ho někdo používá, pak bůhví co používá ještě (třeba si myslel že píše "hardcore" kód).