Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Sítě / Re:Optika od Cetinu - jen pro O2?
« Poslední příspěvek od Ondřej Caletka kdy Dnes v 22:43:14 »
Pak je taky možnost domoci se optiky těžší cestou, ale předpokládám, že podnikatelé v elektronických komunikacích raději podnikají v elektronických komunikacích, než aby se snažili přebít nezájem majitelů domů.
2
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od BoneFlute kdy Dnes v 22:18:32 »
Jaký máš názor třeba na MouseAdapter nebo jiné *Adapter třídy? Případně Default* implementace různých rozhraní? V principu jde o to, že rozhraní má více metod, ale ty chceš implementovat specifické chování třeba jen jedné z nich. Když podědíš ten adaptér, tak implementuješ jen tu jednu metodu, která tě zajímá. Pokud adaptér nebude, tak co s tím?

a) implementuješ všechny metody a necháš je prázdné
b) těch rozhraní bude mnohem víc a každé bude mít jen jednu metodu
c) řešení na úrovni programovacího jazyka (v některých to jde, ale za cenu vyšší komplexity jazyka oproti Javě)
d) něco jiného?

Ono to sice jde udělat „čistě“ a podle všech dobrých rad, pravidel a doporučení, ale to ještě neznamená, že se to bude dobře používat.

Vidím v tom dva problémy:
1/ ono se oficiálně učí, že dědičnost je za účelem reusable kódu, nevysvětluje se, k čemu dědičnost skutečně slouží.
2/ většina jazyků lepší nástroj pro reusable kódu jak dědičnost nemá (Java), některé nemají dokonce ani rozhraní (C++) (Překvapivě takový odsuzovaný jazyk jako je PHP ano.)

V takové situaci je otázka, jak napsat adapter čistě problém slepice-vejce.

Čímž se dostáváme do nové generace jazyků, které opustili klasický OOP, a zkouší to udělat znovu a lépe: Scala, Rust,TypeScript, dokonce i to blbé PHP.
3
Bazar / Re:Prodám disky, NVR, kamery, MikroTik
« Poslední příspěvek od HornikNG kdy Dnes v 22:11:48 »
Stale se takova nemila vec. Po updatu prohlizece, se nemuzu prihlasit k memu puvodnimu profilu, ktery je autentizovan pomoci MojeID. Aktualne pro tento pripad neni jine reseni nez vytvorit si novy lokalni profil, proto tak cinim.

Pro dalsi komunikaci prosim pouzijte muj novy profil.

Dekuji
4
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Franta Kučera kdy Dnes v 22:08:08 »
Trochu mne překvapuje, kolik lidí začne automaticky mluvit o dědičnosti a kritizovat OOP skrze ní. Přitom (třídní) dědičnost není na OOP to nejdůležitější, dokonce ani v té Javě. Za klíčovou vlastnost považuji spojení stavu (dat) a chování (metod) do jednoho objektu a potom polymorfismus, díky kterému můžu s instancemi téhož rozhraní pracovat jednotným způsobem. Jestli tam existuje nějaká hierarchie tříd nepovažuji za úplně důležité – v některých případech to užitečné je, v jiných je to naopak na škodu – je potřeba nad tím přemýšlet (a typicky je dobré tu hierarchii držet jako implementační detail, abych ji mohl případně změnit, a jako veřejné API vystavovat jen rozhraní a s třídami tam být hodně opatrný).

K tématu jsem v minulosti psal tohle: Anemický datový model.

A v článku o RDF jsem měl tuto poznámku:

Citace
Nicméně, když se podobnými otázkami začneme zabývat, komplexita řešení narůstá poměrně vysokým tempem… a pak je na zvážení, zda jsou vyšší přínosy nebo naopak náklady spojené s touto komplexitou. Měli bychom postupovat podle podobných zásad jako při návrhu relačních databází. Cílem návrhu a datového modelování totiž není vytvořit v počítači dokonalý obraz reality, ale nalezení vhodné podmnožiny či dokonce pouhé aproximace tohoto obrazu, která bude užitečná pro naši aplikaci, pro daný případ užití.

Což platí nejen pro RDF a databáze, ale i pro OOP a modelování světa v počítači obecně. Je potřeba myslet na účelnost (dnes + s nějakým výhledem do budoucna) a ne tupě kopírovat objekty z vnějšího světa do počítače 1:1. Navíc často (většinou) je i potřeba udělat nejdřív redesign procesů a až potom digitalizovat / automatizovat ty upravené procesy.

Jinak ono na ten nepočítačový svět nejlépe pasuje z těch programátorských paradigmat právě to objektové (neplést nutně s dědičností), protože i objekty v tom nepočítačovém světě mají nějaký stav a nějaké chování. Fyzické objekty nikdy nejsou „immutable“ (i když by si to vyznavači funkcionální víry přáli :-). Ty objekty mají stav, který se v čase mění. Většinou mají i nějaké (pozorovatelné, zajímavé) chování, naopak bezstavových funkcí nebo procedur je v nepočítačovém světě minimum, pokud vůbec. Když např. na úřad pošlu nějakou žádost, tak se stav toho úřadu změnil (mají tam teď tu moji žádost a někdo na ní pracuje), stejně tak se změnil stav té žádosti (v podatelně ji orazítkovali) a změnil se i stav v mojí osobní evidenci (zapsal jsem si, když jsem žádost odeslal, a založil jsem si kopii). A když si posíláme dopisy, telefonujeme nebo jinak komunikujeme, tak vlastně voláme svoje metody. Když půjdu do obchodu, tak existuje určitý zavedený protokol (pozdravím, naskládám zboží do košíku nebo si o něj řeknu, u pokladny zaplatím…) tzn. existuje hodně obchodů, které implementují jedno rozhraní. Tím neříkám, že se to má modelovat 1:1, viz výše, ale OOP na ten vnější svět pasuje nejlíp.

P.S. Když píšu někdy v C, kde jsou zvlášť struktury a zvlášť funkce, tak cítím jistý deficit v programátorském pohodlí i v přehlednosti kódu. Ono i tam jde sice psát objektově a taky už jsem si něco takového napsal, ale je to takové kostrbaté – mít podporu OOP přímo v programovacím jazyce je lepší.
5
Vývoj / Re:Přechod z JAVA na RUST (ANO či NE)
« Poslední příspěvek od Mlocik97 kdy Dnes v 21:59:33 »
Vôbec nikde nefavorujem JS, odporúčam prakticky hociktorý jazyk okrem PHP a Javy. Ale na stejné úrovni tie jazyky rozhodne nie sú. Existujú merateľné štatistiky koľko znakov či riadkov kódu je potreba pre dosiahnutie stejnej funkcionality v JS a Jave (alebo akomkoľvek jazyku vs Jave), je merateľné počet inkonzistencií v API v PHP atď.

O Javě se ví, že je ukecaná. PHP je na tom o dost lépe. Nekonzistenci PHP API si můžeš snadno upravit vhodným dekorátorem. Měření počtu řádek je zcela irelevantní, podstatná je čitelnost kódu. Nadbytečné řádky jsou způsobeny nepochopením principu zapouzdření.

Skus mi sem dať teda "najoptimálnejšiu verziu Java kódu" kde si pochopil princíp zapuzdrenia a potom porovnám so stejným princípom zapúzdrenia kód v inom jazyku a uvidíme.
6
Sítě / Re:Optika od Cetinu - jen pro O2?
« Poslední příspěvek od JackFrost66 kdy Dnes v 21:29:46 »
Pokud je majitel zabedneny, zkuste mu zavedeni optiky zkusit prirovnat k telefonizaci v 90. letech - odmitl tehdy majitel nechat si zavest telefonni kabel, pokud mel tu moznost?
To sedi jiste, tady je spis ten problem, ze majitel vubec tom dome nezije a nechce to moc resit. Takze radeji nechal lidem nizsi najmy (nekdo sem tam plati i trzni, ale ty jsou casem pryc) a susen jen napsal, ze vzhledem k vyssi najmu, si resi kazdy internet individualne.

Proste takove to jako stary clovek, co z principu vse odmita. U takovych lidi je to tezka diskuze, tam pak jen ty urcity lidi platej, moc se nepripominaj aby mel klid a tim to cele hasne.
Nerikam ze ta rychlost je tak spatna, jsou lidi kteri nedosahnou zdaleka ani na to u xDSL... cca 300 na 60 je uz dnes rozumne i pro stream 4K videa. Je teda trochu pech, ze dana ustredna nemuze mit kartu pro vektoring (nedela se pro tak velkou ustrednu).

Potom takove ty technologie ala wi-fi a 60Ghz a nebo ruzne vzduchem, je pech treba ze to dost lidi napadne, ale zapomenou ze to vsude nejde. Treba majitelka uz driv rekla, ze da mriz, nikoho na strechu nepustila protoze delala novou.
Takze predstava ze prijede nejaka firma a mysli ze bude mit primou viditelnost nekde a ze by nekde dala antenu, je nerealna.
7
Vývoj / Re:Přechod z Javy na Rust. Ano či ne?
« Poslední příspěvek od Franta Kučera kdy Dnes v 21:23:48 »
A pritom je OOP tak strasne jednoduchy koncept.
Staci znat par pravidel a selsky rozum, objektovy je cely svet vukol.

Staci vedet, ze kdyz ten jazyk nejake moznosti nabizi, ze je veru neni potreba nasrat vsude.
Ze napr. dedeni se pouziva, kdyz potrebuju ROZSIRIT funkcionalitu existujiciho objektu, pokud potrebuju jenom polymorfismus, na 99% bude vhodnejsi prosty interface.

Slovo ROZŠÍŘIT je ošemetné, protože se do toho vejde zbytečně moc vztahů. Potom vznikají nesmysly typu BaseController jako rodič apod. Místo toho používám slovo JE, které je pro pochopení vztahu mnohem lepší a hlavně psychologicky zamezí vzniku dědictví tam, kde být nemá.

Jaký máš názor třeba na MouseAdapter nebo jiné *Adapter třídy? Případně Default* implementace různých rozhraní? V principu jde o to, že rozhraní má více metod, ale ty chceš implementovat specifické chování třeba jen jedné z nich. Když podědíš ten adaptér, tak implementuješ jen tu jednu metodu, která tě zajímá. Pokud adaptér nebude, tak co s tím?

a) implementuješ všechny metody a necháš je prázdné
b) těch rozhraní bude mnohem víc a každé bude mít jen jednu metodu
c) řešení na úrovni programovacího jazyka (v některých to jde, ale za cenu vyšší komplexity jazyka oproti Javě)
d) něco jiného?

Ono to sice jde udělat „čistě“ a podle všech dobrých rad, pravidel a doporučení, ale to ještě neznamená, že se to bude dobře používat.

Něco jiného jsou zvěrstva, o kterých píše Standa:

Citace
Ze je potreba selsky rozum, abych dovedl poznat, ktery objekt je v danem kontextu aktorem, ktery je prosty objekt, se kterym aktor manipuje.
Vidle.naberHnuj(hnuj) je spravny pristup
Hnuj.naskocNaVidle(vidle) je magorina.

Když vidím, co jsou někteří schopní vyrobit a prezentovat jako OOP, tak se pak nedivím, že hodně lidí na druhé straně OOP nesnáší a utíkají od něj pryč. Ale nemyslím si, že by problém byl ve společném předkovi typu MouseAdapter.
8
Hardware / Re:Stříbrná a hnědá pasta na chladiči
« Poslední příspěvek od uwe.filter kdy Dnes v 19:40:58 »
A jen OT, je k něčemu když takovýhle heatsink asi 4x5 cm má "finy" vysoké 3 milimetry? To už to mohl být černý plech . (Celé je to z routeru vysokého asi 4cm celý v plastu)

K něčemu to je, můžeš si spočítat, jaká je plocha v současné podobě a jaká by byla u prostého plechu. A mimochodem, "heatsink" je česky "chladič" a "finy" jsou "žebra".
9
Hardware / Re:Přepínání tří monitorů s HDMI
« Poslední příspěvek od TomaMal kdy Dnes v 19:11:19 »
Mám tři počítače, jeden připojený nastálo, dva notebooky co se střídají dle potřeby. Název tématu jsem lehce popletl, psal jsem rychleji než myslel.
Používám dva monitory, takže reálně potřebuji funkční KVM 4 na 2. Takový mám, ale z nějakého důvodu špatně přenáší identifikaci monitoru, takže ne vždy funguje správně nastavení rozlišení. Windows nedovolí nastavit pro 2K monitor více než fullHD. Současný má i přepínač USB, což je příjemný bonus
Vyměnit monitory se mi úplně nechce, v ostatních ohledech jsem se současným monitory spokojený a je to zbytečná investice.
Doufal jsem, že někdo již řešil podobný problém a má nějaké praktické zkušenosti. Nakonec mi asi nezbyde nic jiného, než zkusit něco objednat a případně do 14 dnů vrátit.

10
Hardware / Re:stříbrná a hnědá pasta na heatsinku
« Poslední příspěvek od CPU kdy Dnes v 18:42:05 »
Šedá je teplo-ne-vodivá pasta, stejnou cpal Intel mezi rozvaděč a jádro.

To druhé je asi lepidlo, aby to neupadlo.
Stran: [1] 2 3 ... 10