Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou
… více »Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.
Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.
Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.
Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.
V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.
Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých
… více »V úterý 13. ledna 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 5. Mobile Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a související infrastrukturu. Akci pořádá David Heidelberg.
… více »
Člověk buď použije nějaké ORM (Hibernate...) nebo si DB vrstvu napíše sám.
Ale i tak jsou případy, kdy je přímé použití JDBC vhodné/potřebné: prosté přelévání dat odněkud někam (je zbytečné data převádět ještě na objekty), dolování dat, kdy pracujeme přímo s jazykem SQL, různé jednorázové věci a drobnosti...
Nicméně hlavní myšlenkou předešlého příspěvku bylo, že by se mělo používat nějaké standardní rozhraní (JDBC, ODBC, PDO...), které umožňuje (alespoň částečnou) nezávislost na konkrétním typu SŘBD. A dovoluje tak např. snadno (snadněji) vyměnit databázovou vrstvu, přejít třeba od MySQL na PostgreSQL... (i když ladění SQL dotazů se člověk stejně neunikne - kéž by tak všichni dodavatelé dodržovali standardy).
$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...
.
Objektovy pristup neni buh, je to evolucne dany pristup, ke kteremu se doslo proste proto, ze v drtive vetsine nejlepe modeluje problemovou domenu.
Snad brzy.
Tiskni
Sdílej: