Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.
Byla vydána nová verze 1.54.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Jan Václav.
Knižní edice správce české národní domény přináší novou knihu zkušeného programátora Pavla Tišnovského s názvem Programovací jazyk Go. Publikace nabízí srozumitelný a prakticky zaměřený pohled na programování v tomto moderním jazyce. Nejedná se však o klasickou učebnici, ale spíše o průvodce pro vývojáře, kteří s Go začínají, nebo pro ty, kdo hledají odpovědi na konkrétní otázky či inspiraci k dalšímu objevování. Tištěná i digitální verze knihy je již nyní k dispozici u většiny knihkupců.
OpenAI zpřístupnila (en) nové nenáročné otevřené jazykové modely gpt-oss (gpt-oss-120b a gpt-oss-20b). Přístupné jsou pod licencí Apache 2.0.
Byla vydána RC verze openSUSE Leap 16. S novým instalátorem Agama, Xfce nad Waylandem a SELinuxem.
Google Chrome 139 byl prohlášen za stabilní. Nejnovější stabilní verze 139.0.7258.66 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 12 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře. S verzí 139 přestal být podporován Android 8.0 (Oreo) a Android 9.0 (Pie).
Společnost JetBrains se stala platinovým sponzorem multiplatformního open source herního enginu Godot. K vývoji her lze používat Rider for Godot. Zdarma pro nekomerční účely.
Byla vydána verze 9.0 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Verze 9.0 je založena na Debianu 13 Trixie. Přehled novinek v poznámkách k vydání a informačním videu.
Operátor O2 dává všem svým zákazníkům s mobilními službami poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství jako omluvu za pondělní zhoršenou dostupnost služeb.
Společnost NVIDIA vydala verzi 13.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.
$dbConnection = new $dbType; $dbConnection->query('...'); $dbConnection->close();Například.
bude dedit a pretezovat bazovou tridu kdyz stejne budete celou dobu pouzivat pouze jednoho potomka ktereho si zvolite v configu podle databaze na dostupne na serveru?Samozrejme, ze ano. A budes snad ty opakovat stejny kod vicekrat i kdyz by bylo mozne ho napsat dostatecne abstraktne a jednou a psat samostatne jen kod, ktery opravdu samostatny musi byt? Odkazu te na zaklady OOP znova -- tentokrat aby sis nastudoval jaky je vyznam rozhrani. Signatura a kontrakt rozhrani rikaji programatorovi, co ma naprogramovat aby jeho pojeti dane komponenty dobre pracovalo s existujicim systemem. Konektory na ruzne databaze jsou idealnim prikladem, databazi je mnoho a je tu realna pravdepodobnost, ze fanousek nejake jine DB bude chtit na ni PunBB provozovat. A jake ma moznosti za soucasneho stavu? Studovat jak trotl existujici nijak nesladene implementace tech jejich layeru misto aby naprogramoval svuj layer proti existujicimu rozhrani a prip. vyuzil z nejake abstraktni tridy kod, ktery muze byt univerzalni (v oblasti podpory ruznych DB by se neco takoveho urcite naslo). Navic bude muset krome psani noveho layeru upravovat i onen CASE. Kdyby to bylo vyreseno pres nejaky typ reflexe (v PHP se AFAIK da instancovat trida podle jmena v retezci, da se tak myslim i odkazovat na promennou), nebyl by CASE vubec potreba.
Predstav si ze budes psat multiplatformni tridu File, pokus by si zbrkle pouzil OOP napr takto: FileBase bude bazova trida(nebo rozhrani jestli chcete) a z te bude dedit trida FileWindows ktera bude specializovana na windows, dale FileUnix pro Unix atd.. bude se pri kazdem volani metody zbytecne testovat zda neni objekt potomkem a zda nema metodu pretizenou, zbytecne protoze za cely zbytek zivota programu od kompilace se nidky nepouzije jina specializaceJa nechapu, co mas porad s tim pretezovanim a testovanim (nehlede na to, ze nejspis myslis prekryti metody jinou implementaci v potomkovi a ne pretizeni -- pridani stejne pojmenovane metody s jinou signaturou v ramci jedne tridy). Nebude se testovat vubec nic. Na kazde platforme se podle konfigurace instancuje jina trida a na to zadne testovani neni potreba (minimalne u PHP a Javy muzu z fleku rict, ze instancovat tridu i volat na ni metody lze ze stringu, takze neni potreba jediny IF nebo CASE). A na te tride se pak budou volat metody definovane rozhranim. A kazda si to udela po svem, to me jako "klientovi" tech trid je uplne jedno, kdyz mi vrati co chci. Delal jsem Java app, ktera mela nacitat nekolik druhu bitmap a nezavisle na typu bitmapy na ni provadet serii operaci. Kod, ktery zajistoval vyber spravne tridy pro bitmapu neobsahoval jediny podminkovy konstrukt a vzdy se vybrala ta spravna trida, vsechny dedici z AbstractBitmap. Nedokazu si predstavit to peklo kdybych pak mel operace nad abstraktnim polem obrazovych dat psat v kazde tride zvlast. Vzdyt je to prasarna! Jiste, muzes si na to vytvorit nejakou sadu nevazanych funkci a tem ta data predhodit -- ale to IMHO bije do oci, "drbani se levou rukou za pravym uchem". Problem s tvym pohledem je ale jeste uplne jinde a uz jsem to nakousl vyse, kdyz jsem psal od ceho je rozhrani. Ty porad mluvis o behu programu, ale OO design existuje z velke casti pro programatory. Pro vetsi systemovost, jednodussi rozsiritelnost a vymenitelnost komponent. Jak uz jsem popsal -- tvuj system bez jednoticiho prvku bude znamenat peklo pro implementatory komponent, ktere se budou met stejne chovat, ale mit jinou logiku. Vazne by jsi chtel studovat nejakou tridu a zjistovat z jejiho kodu co vlastne vraci, abys mohl napsat podobnou, ale treba misto MySQL pro Oracle?
__autoload()
).
__autoload()
a díky něčemu jako new $dbType
ještě ke všemu zkrátíš kód.
Udelat nekolik trid stejneho jmena resicich podobny problem (navic nemajicich zadneho predka!) a vybirat mezi nimi nejakym CASEm je naprosta prasarna.
Možná pro někoho, kdo odmítá jiného boha než OOP. Ale například v C se takto pomocí maker pracuje už víc jak 30 let a nikdo to za prasárnu nepovažuje...
.Opavdu ne?Možná pro někoho, kdo odmítá jiného boha než OOP. Ale například v C se takto pomocí maker pracuje už víc jak 30 let a nikdo to za prasárnu nepovažuje...
.
Tiskni
Sdílej: