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 ... 231 232 [233] 234 235 ... 375
3481
Server / Re:DNS Nastavení
« kdy: 28. 04. 2018, 10:28:07 »
Mohu otázku? Která hostingová společnost má tohle GUI?  ;D ;D ;D
Web4U / sprava-domen.cz

3482
Desktop / Re:DNS rebinding attack ochrana
« kdy: 25. 04. 2018, 22:42:32 »
Řešíte tu velmi výjimečný případ ...

To je cokoliv jen ne vyjímečný případ.
No, že by tři aplikace, z nichž jedna asi neposkytuje ani nijak citlivé údaje, byly nějaké smršť případů…

3483
Desktop / Re:DNS rebinding attack ochrana
« kdy: 18. 04. 2018, 20:50:50 »
Řešíte tu velmi výjimečný případ, kdy máte nějakou klientskou aplikaci, která z nějakého důvodu poskytuje citlivá data přes HTTP server, umožňuje je číst z jiných domén (to už vypadá na záměr), vy o tom nevíte a ví o tom nějaký útočník. Nedává smysl v takovém případě spoléhat na to, že server v té klientské aplikaci bude poslouchat jenom na loopbacku.

V dotazu jste psal o firewallu, pokud používáte firewall na klientovi, měl by vás upozornit na to, že chce nějaká aplikace na nějakém portu poslouchat. Ostatně je to asi tak jediná rozumná funkce, co může firewall na klientské stanici dělat. A nebo si prostě na firewallu zablokujte naslouchání na všech portech TCP s výjimkou portů, o kterých víte, že tam nějaká aplikace má naslouchat.

3484
Desktop / Re:DNS rebinding attack ochrana
« kdy: 18. 04. 2018, 18:41:21 »
Pokud vám na počítači běží webový server, který poskytuje citlivá data, a vy o tom nevíte, máte problém i bez nějakého DNS rebinding útoku. A zákaz zobrazování webů z lokální stanice by nijak nepomohl – tak by ta data ukradl jiný prohlížeč ve stejné síti.

3485
Vývoj / Re:Implementace long-polling v Javě (Spring)
« kdy: 18. 04. 2018, 18:08:05 »
Jak jsi sám napsa, jde i i jinak. Pokud bych chtěl obsloužit desetitisíce uživatelů, tak bych použil epoll místo vláken a C++ místo Javy, ideálně jako plugin do Nginx. Ale když už to musí v Javě, tak by snad šlo něco udělat s java.nio a případně netty serverem.
Těžko to bude psát v C++ nebo pod Netty někdo, kdo má problém rozchodit příklad z příručky Springu. Právě proto existuje taková spousta hotových knihoven a frameworků, aby se každý mohl věnovat svému core businessu a k implementaci nějaké okrajové funkce mohl použít něco, co už je hotové. Kdyby to tazatel potřeboval nějak moc optimalizovat, asi by se takhle neptal ve fóru (resp. by mu to nijak nepomohlo). Tohle má být zřejmě nějaká okrajová funkcionalita, takže je nejlepší poskládat to z už hotových komponent a případnou optimalizaci řešit teprve tehdy, až by se zjistilo, že je s výkonem problém.

3486
Desktop / Re:DNS rebinding attack ochrana
« kdy: 18. 04. 2018, 18:00:58 »
Nespouštět na klientovy webový server, když ho tam mít spuštěný nepotřebujete. Když ho potřebujete mít spuštěný, tak si ohlídat, aby neposkytoval žádná data, která by poskytovat neměl.

3487
Vývoj / Re:Implementace long-polling v Javě (Spring)
« kdy: 17. 04. 2018, 21:59:20 »
Aynchronni zpracovani v springu rozhodne pouzijem. Ale jak udrzat request klienta nazivu bez pauznuti vlakna nebo spusteni smycky ve vlakne ktora by kontrolovala nove data?
Proč to chcete řešit sám a nepoužijete to, co už je ve Springu hotové?

Tady máte průvodce aplikací založené na WebSocket: Using WebSocket to build an interactive web application. Myslím, že z toho můžete vyjít a nemusíte vymýšlet vlastní protokol a pokoušet se vlamovat do nižších vrstev, pauzovat vlákna a bůhví co dalšího.

3488
Vývoj / Re:Implementace long-polling v Javě (Spring)
« kdy: 17. 04. 2018, 21:18:39 »
Spring podporuje asynchronní zpracování HTTP požadavků, takže nemusíte vytvářet desetitisíce vláken a řešit nějaké pauzování. Mimochodem Spring podporuje i WebSockety se SockJS fallbackem. Nevymýšlel bych kolo, zejména když už tam máte Spring a síťová komunikace není váš core business, a použil bych to, co je ve Springu už dostupné.

3489
Server / Re:Vlastní doména na Seznamu
« kdy: 17. 04. 2018, 07:31:34 »
Ale pro jistotu se prave ptam jestli "https" nema zadny vliv na email?
Nemá.

3490
Windows a jiné systémy / Re:IDN Doména jak napsat znaky
« kdy: 16. 04. 2018, 17:14:11 »
Ve Windows můžete jakýkoli Unicode znak vložit pomocí Mapy znaků. Je ovšem potřeba vybrat font, který příslušné znaky obsahuje, např. Arial Unicoide MS. Některé znaky jde zadat pomocí Alt + čtyři číslice jejich dekadické hodnoty v Unicodce, u takových znaků se to v Mapě znaků zobrazuje vpravo ve stavovém řádku. Když nemáte nějakou speciální klávesnici, aplikaci nebo nastavení, ve Windows neexistuje způsob, jak jen z klávesnice zadat libovolný znak. Můžete si v registrech zapnout volbu EnableHexNumpad, pak je možné zadat libovolný znak pomocí jeho Unicode kódu zapsaného v hexadecimálním zápisu.

3491
Fajn. Volání incrementAndGet() ten element kolekce modifikuje. Volání incrementAndGet() není synchronizováno přes stejný monitor jako kolekce ani jako jiné elementy kolekce. Takže jste sám uvedl protipříklad vyvracející pravdivost vašeho tvrzení „Jestli se modifikujou elementy kolekce, tak musi byt samozrejme synchronizovany pres stejny monitor.“

3492
Ne nevyvratil. Pridal si do toho deadlock. O kterym jsme se opet nebavili. Je to jen show-off od tebe.

Chcete tvrdit, že když máte mapu definovanou následujícím způsobem:

Kód: [Vybrat]
Map<String, AtomicLong> counter = new HashMap<>()
a chcete tu mapu i její prvky modifikovat z více vláken, musíte modifikaci prvků synchronizovat přes stejný monitor, jako přístup k mapě? Podle vás je následující kód špatně?

Kód: [Vybrat]
public long increment(String name) {
  AtomicLong namedCounter;
  try {
    lock.readLock().lock();
    namedCounter = counter.get(name);
  } finally {
    lock.readLock().unlock();
  }
  return namedCounter.incrementAndGet();
}

Jak by ten kód byl podle vás správně, aby se increment() dalo volat bezpečně z více vláken?

3493
Odkladiště / Re:Odorik - Killer virtuální operátor
« kdy: 15. 04. 2018, 17:19:36 »
Gratuluji k objevu předplacených karet. Nabízí je odjakživa jak všichni tři operátoři z velké trojky, tak většina virtuálů.

3494
Například v tomhle kódu vám to druhé vlákno může vypsat 0, 1 nebo i hodnotu, kterou měla ta položka ještě dříve.
Kód: [Vybrat]
Item item = synchronizedMap.get("item1");
item.setValue(0);
new Thread(() -> item.setValue(1)).start();
new Thread(() -> System.out.println(item.getValue())).start();

Nemůže. Může vypsat 0, 1 nebo hodnotu, kterou bude mít položka později. Nemůže vypsat dřívější, bo Thread.start() invokuje memory barrier (z hlediska JVM zajišťuje happened-before), podobně jako Thread.join().
Já jsem si říkal, jestli ten kód můžu takhle zjednodušit a bude každému jasné, že jde jenom o ten princip, že vytažení prvku ze synchronizované kolekce neříká vůbec nic o synchronizaci toho prvku. Ale máte pravdu, měl jsem buď ten text upravit, aby přesně popisoval ten kód, a nebo nechat ta vlákna nastartovaná dříve, aby tam opravdu nebyla žádná paměťová bariéra.

3495
Napsal si na zacatku bs, pak ses ho snazil podporit polovicni pravdou a nakonec si hrajes na to, jak mentorujes. Pridavas irelevantni veci a zamotavas se do toho.
Na začátku jste vy napsal nesmysl, že když se modifikují prvky kolekce, musí být synchronizovány přes stejný monitor. To jsem vám vyvrátil, načež jste začal tvrdit, že kolekce interně pracují i s jinými typy, než je typ Object. A tak to pokračuje dál a dál, vždycky vám vyvrátím jeden nesmysl a vy přijdete s jiným.

Stran: 1 ... 231 232 [233] 234 235 ... 375