Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Filip Jirsák

Stran: 1 ... 349 350 [351] 352 353 ... 375
5251
Vývoj / Re:Su Java generics naozaj az taketo zle?
« kdy: 11. 05. 2014, 15:06:39 »
Ak to niekto povazuje za porusenie OOP principov, tak nech mi povie, v com sa public field lisi od hore uvedenych getterov a setterov.
Rozdíl je v tom, že při použití getterů a setterů můžete změnit implementaci, aniž byste změnil kontrakt. Např. můžete do setteru později přidat odpálení události propertyChange.

5252
Vývoj / Re:Su Java generics naozaj az taketo zle?
« kdy: 11. 05. 2014, 14:47:02 »
Obavam sa, ze tym, ako to chces spravit, porusujes OOP principy. SKus to spravit tak, aby konstruktor bol vzdy bez parametrov. Vsetko, co potrebujes odovzdat danej instancii odovzdavaj cez set* metody. Takto velmi pekne vyriesis aj rozne veci, ktore ti budu sakra vadit pri robeni testov.
Já tenhle přístup naopak nemám rád. Pokud se nějaká hodnota nastavuje jenom při inicializaci objektu, dám field final a nastavuju ho v konstruktoru. Podle mne by měl být po provedení konstruktoru objekt plně inicializovaný a připravený k použití, ne že musím zjišťovat, co vše je ještě nutné nastavit.

5253
Vývoj / Re:Su Java generics naozaj az taketo zle?
« kdy: 11. 05. 2014, 10:18:31 »
vas priklad sa po "type erasure" (odstraneni generik v case kompilacie) premeni na:

Kód: [Vybrat]
class Foo {
    public Foo(String ohMyName) {
        // bla bla
    }
}

class SuperGeneric {
   
    void notWorkingMethod() {
        ????????? o = new ????????("Chuck Norris");
    }   
   
}

To není úplně přesné, ve skutečnosti by se to přeložilo takto:

Kód: [Vybrat]
class Foo {
    public Foo(String ohMyName) {
        // bla bla
    }
}

class SuperGeneric {
   
    void notWorkingMethod() {
        Foo f = new ??????("Chuck Norris");
    }   
   
}

5254
Vývoj / Re:Python a divne chovani
« kdy: 11. 05. 2014, 09:48:15 »
V Javě se velmi dbá na zpětnou kompatibilitu, takže nekompatibilita knihovny s novější verzí Javy není příliš častá, a většinou ji autoři rychle vyřeší. Ale nikde nemůžete čekat stoprocentní kompatibilitu, vždy se najde nějaký případ, kdy kód (třeba i nechtěně) závisí na konkrétní implementaci, která se mezi verzemi změní, i když kontrakt zůstane zachován. A pak se samozřejmě mezi verzemi mění i kontrakt.

V případě Javy ale můžete podobný problém řešit na úrovni knihoven. Třeba i takové Servlet API - chtěl byste použít verzi 3.0 a vše konfigurovat anotacemi, ale některé frameworky na to ještě nejsou připravené a vyžadují konfiguraci ve web.xml.

Problém u Pythonu 3 je spíš v tom, že je to nárazová velká změna. Pro spoustu projektů by to znamenalo příliš mnoho úprav, takže zůstávají u verze 2, čímž se zase snižuje všeobecná motivace přejít na trojku.

Java je spätne kompatibilná tuším od verzie 1.2, preto jej každé nové rozšírenie spôsobuje plno problémov.
WTF?
Předpokládám, že to bylo myšleno tak, že přidání každé nové vlastnosti do Javy (generiky, anotace, lambda výrazy) je složité.

5255
Vývoj / Re:Su Java generics naozaj az taketo zle?
« kdy: 10. 05. 2014, 23:11:09 »
Java generiky jsou dostupné pouze kompilátoru, bajtkód se při jejich zavedení nijak neměnil. Při běhu tedy JVM o F nic neví, takže nemůže zavolat jeho konstruktor. Navíc i když se na ten kód podíváte, je nesmyslný. F je libovolný potomek Foo (nebo Foo samotné) - na jaké třídě by se tedy konstruktor měl volat? Vybrat si náhodně Foo nebo nějakého jeho potomka?

Konstruktory třídy získáte přes Class.getConstructors(), případně přes Class.getConstructor(Class<?>... parameterTypes) získáte konkrétní konstruktor.

Doporučuju nejprve si nastudovat věci, které chcete používat - programovat metodou pokus-omyl se moc nedá.

5256
Server / Re:Více domén pro Tomcat za Apachem
« kdy: 10. 05. 2014, 18:05:05 »
Když se podíváte do dokumentace k Tomcatu, najdete tam návod, jak pracovat s virtuálními hosty. Je to daleko snazší, než se pokoušet přepisovat contextPath.

Mimochodem, Jetty umí spouštět i FastCGI, takže byste mohl i PHP aplikace provozovat pod tím. Kdybyste místo dvou webových serverů chtěl provozovat jen jeden.

5257
Software / Re:Cron spuštění java programu
« kdy: 10. 05. 2014, 17:59:43 »
Kód: [Vybrat]
./mujSkript a b c
./mujSkript x y z
Tohle zavolá mujSkript z aktuálního (pracovního) adresáře. Aktuální adresář je zřejmě jiný, než si myslíte.

5258
Server / Re:Více domén pro Tomcat za Apachem
« kdy: 10. 05. 2014, 08:20:50 »
Musíte tu aplikaci na Tomcatu nastavit tak, aby používala contextPath "/" a byla svázaná se zvolenou doménou. Pokud nemáte nějaký vážný důvod, proč před tím Tomcatem máte Apache, použijte samotný Tomcat a konfiguraci Apache pak nemusíte řešit.

5259
Software / Re:Clipboard v Linux konzoli
« kdy: 09. 05. 2014, 08:50:10 »
Můžete kopírovat přes schránku Windows - hodí se to i v případě, kdy potřebujete přenést něco mezi těmi Windows a Linuxem. Text do schránky z Putty zkopírujete tak, že jej prostě myší označíte. Vložíte jej pak pravým tlačítkem myši.

5260
Sítě / Re:Mikrotik - příliš mnoho UDP připojení
« kdy: 07. 05. 2014, 10:03:05 »
Co znamená „UDP připojení“?

Jinak port 53 je DNS. Tj. buď se někdo zvenku pokouší dotazovat vašeho DNS serveru, nebo jsou to DNS odpovědi na dotazy z vaší sítě (nebo takové, které mají zfalšovanou zdrojovou IP adresu, aby vypadaly jako že jsou z vaší sítě).

5261
Sítě / Re:/etc/hosts - blokovani facebooku
« kdy: 01. 05. 2014, 17:34:14 »
V browserech se u adresy FB vzdy zobrazi overeni identity. Browser mi jaksi nedovoli napsat facebook.com a zobrazit neco jineho. Uffff :(((( Nebo nevim cim by to mohlo byt...
To je dost podstatná věc, kterou jste na začátku nenapsal. Přistupujete na Facebook přes HTTPS, a prohlížeč kontroluje certifikát - zda adresa na certifikátu souhlasí s adresou zadanou v prohlížeči. V prohlížeči máte zadáno https://www.facebook.com, ale certifikát serveru, kam chcete uživatele přesměrovat, je samozřejmě vystaven na jiné jméno. K tomu certifikáty slouží.

Jednoduše přesměrovat prohlížeč jinam se vám nepovede - kdyby se to podařilo vám, podařilo by se to třeba také útočníkovi, který by vás přesměroval na svou stránku v okamžiku, kdybyste si myslel, že pracujete v internetovém bankovnictví. Nebo-li byl by to vážný bezpečnostní průšvih.

Nevím, o co se snažíte, ale nebylo by jednodušší prostě Facebook zablokovat?

5262
Odkladiště / Re:Může komunita zaindexovat celý internet?
« kdy: 29. 04. 2014, 19:21:49 »
Já vůbec netvrdím, že to nejde. Jenom když vůbec nevíte, co vlastně chcete dostat, těžko se navrhuje nějaké technické řešení, a ještě hůř se navrhuje, co na to řeknou lidi. Klidně můžete zblbnout lidi, ať nechají robot stahovat náhodné adresy, když to uděláte šikovně a budete mít štěstí, vyrobíte krásný globální DDoS.

Chcete započítávat i deep web? Jak se na něj dostanete, když na něj nevedou odkazy? Stačí vám to bez? Pak si asi stačí najít nějakou statistiku, kterou publikují vyhledávače. Zkoušel jste odhadnout, jak rychle byste musel weby procházet, abyste vůbec stíhal nově vznikající weby?

5263
Odkladiště / Re:Může komunita zaindexovat celý internet?
« kdy: 29. 04. 2014, 14:19:35 »
Vás nikdy nezajímala skutečnost, exaktní čísla?
Nevíte, co je jeden web, ale chcete vědět přesně, kolik je webů celkem – z toho žádná exaktní čísla nedostanete.

5264
Odkladiště / Re:Může komunita zaindexovat celý internet?
« kdy: 29. 04. 2014, 13:12:22 »
V současnosti jsem to pojal spíše jako seznam aktivních webů.
Jak poznáte, co je jeden web? A navíc automatizovaně…

Různé odhady počtu stránek se pohybují kolem řádu jeden bilion (1012) – 1 bilion unikátních URL nalezených Google, odhadovaných 500 miliard stránek v hlubokém webu. Takže už máte jednu miliontinu.

5265
Odkladiště / Re:Může komunita zaindexovat celý internet?
« kdy: 29. 04. 2014, 12:13:26 »
Co by vůbec mělo být výsledkem té práce? Seznam domén? Seznam domén druhé úrovně? Seznam webových adres? Seznam webových adres s nějakým komentářem?

Stran: 1 ... 349 350 [351] 352 353 ... 375