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 ... 277 278 [279] 280 281 ... 375
4171
Vývoj / Re:Co zpomaluje Javu? A co preklad do nativniho kodu?
« kdy: 11. 11. 2016, 21:01:47 »
Proc je Java priblizne 3x pomalejsi nez C++
Protože není. To tvrzení je nesmysl – úplně stejně můžete tvrdit, že je 6× pomalejší, 20× pomalejší, 3× rychlejší nebo 10× rychlejší, a bude to pořád stejně pravdivé tvrzení.

A jde Javovska aplikace prelozit do nativniho kodu s rozumnymi vykonostnimi vysledky?
Ano, dělá to každá rozumná JVM.

Pokud Javu brzdi nejvic garbage c., je mozne psat aplikaci s manualnim uvolnovanim zdroju jako v c++? Je k tomu nejaka dobra literatura?
Hloupostí si můžete navymýšlet nekonečně mnoho, takže nemůžete čekat, že ke každé z nich bude existovat dobrá literatura.

4172
Podívejte se do zdrojáků JDK, jak je NetworkInterface.getNetworkInterfaces() implementováno.

4173
Odkladiště / Re:Certifikát pro podepisování mailů
« kdy: 09. 11. 2016, 07:04:43 »
I.CA i PostSignum mají kořenové certifikáty ve Windows. Větší množinu „obecně uznávané v mail klientech“ než Windows asi nenajdete.

4174
Server / Re:Náhrada za DirectoryIndex
« kdy: 03. 11. 2016, 08:47:13 »
Já ho teda chápu co chce ale žádnou alternativu neznám co by se tomu podobala :-(
No vidíte. Mne zase napadá spousta možností, co by asi tak mohl chtít, a pro každou mne napadá nějaké řešení. Ale nebudu se tady sepisovat s desítkami možností, aby pak Kevin napsal, že chce vlastně ještě něco jiného.

Filip: jestli ho nechápeš tak neodpovídej :-)
Když ho vy chápete, tak napište, co chce, já k tomu pak napíšu, jak to má udělat.

Bude to lepší jak číst ty tvoje blbosti stále dokola na rootu.
Ty moje blbosti mohou vést k řešení, ta vaše odpověď v žádném případě.

4175
Hardware / Re:Prosba o radu - rozdělení paměti
« kdy: 03. 11. 2016, 07:42:12 »
proč nešetřit zápisy na SSDčko
Protože je to komplikace, která nemá skoro žádný přínos. SSD zase nejsou tak špatné, abyste musel řešit každý zápis, a s největší pravděpodobností ten disk přestanete používat dřív, než byste narazil na problémy způsobené častým zápisem.

Až doteď jsem v poho žil se 4GB, takže 8GB mi připadá dost velkej komfort.
8 GB RAM je dnes už spíš méně. Pro kancelářskou stanici s webovým prohlížečem a kancelářským balíkem bych to považoval za dostatečné, pro vývojáře už bych doporučoval víc, 8 GB bylo akorát před pár lety. Neznamená to, že by se s 8 GB nedalo pracovat pokud už to někdo má, moje pracovní stanice má teď také jen 8 GB, protože něco nového vybírám dlouho. Ale rozhodně bych 8 GB nepovažoval za nějaký přebytek, abych vymýšlel, jak z toho něco ukrojím.

prostor pro buildování v RAM mi připadá taky fajn (častej zápis a maximální urychlení IO operací)
Tohle dostatečně řeší SSD. Navíc nemusíte pořád myslet na to, že máte ta data z RAM ještě synchronizovat na nějaké trvalé úložiště, stačí běžná synchronizace DVCS.

4176
Server / Re:Náhrada za DirectoryIndex
« kdy: 03. 11. 2016, 07:29:46 »
Jak vám má někdo poradit, když vůbec nenapíšete, co chcete? Nejlepší náhrada za (DirectoryIndex) je (DirectoryIndex), cokoli jiného se bude v některých ohledech chovat jinak a my nemůžeme tušit, zda to jiné chování pro vás bude lepší nebo horší, zda to bude přidání možností nebo ubrání možností. A mimochodem, asi jste nemyslel (DirectoryIndex), ale direktivu <DirectoryIndex> z Apache.

4177
Hardware / Re:Prosba o radu - rozdělení paměti
« kdy: 02. 11. 2016, 21:21:44 »
to ze java potrebuje 32gb len svedci o tom, ze je to shit a malo pamati znamena sekanie.
To jsou zase kecy. Co znamená „java potřebuje 32 GB“? Že to potřebuje nějaký program napsaný v Javě? Víte o tom, že JVM )od Oraclu) je napsané v C++? Takže pokud nějaký program v Javě potřebuje 32 GB RAM, potřebuje těch 32 GB RAM vždy také program napsaný v C++. O čem to svědčí si rozmyslete sám.

4178
Hardware / Re:Prosba o radu - rozdělení paměti
« kdy: 02. 11. 2016, 21:18:54 »
Prakticky nic z toho nemá smysl. Mít /var jako dočasný je nesmysl, jen na to tmpfs se to může hodit. Jinak swapovat do RAM je vůbec k ničemu, protože swap se používá jako odkladiště, když dojde paměť. Přehazovat v takovou chvíli data z paměti do paměti nemá smysl. Neřeš to a nechej využití paměti a disku na systému, když mu do toho budeš kecat, můžeš to akorát tak zhoršit.
Přesně tak. Jediné, co by z toho mohlo teoreticky někdy dávat smysl, by byl ten disk pro build projektů – kdybyste měl hodně RAM. Vzhledem k tomu, že jí máte málo, nechte to na SSD disku, oproti rotačnímu disku je to výrazně lepší.

4179
Vývoj / Re:SQL algoritmus v Delphi
« kdy: 01. 11. 2016, 08:55:57 »
Jak píšou předřečníci, je to pole stringů, každá položka je jeden řádek (případně můžete konec řádku nahradit jiným bílým znakem), znak „+“ stringy spojí (tedy v poli je to výsledně jedna položka, tj. jeden řádek).

4180
Vývoj / Re:rada s algoritmem
« kdy: 31. 10. 2016, 21:06:26 »
Pochybuju, že jeto tam uložené opravdu takhle, protože to by to stejným způsobem musely parsovat i Delphi při běhu toho programu. Což navzdory svému názvu určitě nedělaly. Takže moje doporučení je podívat se na ten formát znovu a lépe.

4181
Pokud jsou to webové stránky normálně z internetu, určitě bych nepoužíval JEditorPane, protože ten má jenom základní podporu HTML a CSS, JavaScript nepodporuje vůbec. Pokud už byste to chtěl dělat v Javě, bylo by lepší použít JavaFX WebView postavený na WebKitu. Ale podle mne by bylo mnohem lepší v tomhle případě nechat být Javu a udělat to jako plugin do prohlížeče nebo prohlížeč řídit externě třeba přes remote debugging API.

4182
Vývoj / Re:Netbeans - základy ladění v Javě
« kdy: 25. 10. 2016, 21:18:47 »
Jak to myslíš? Testy té komponenty má napsat její autor. Pokud ty potřebuješ testovat svůj kód a ta kompnenta ti překáží, tak ji můžeš nahradit nějakou dummy komponentou.
Myslím to tak, jak jsem to v této diskusi několikrát napsal – že testování komponent je jednoduché, ze všech možných testů je to to nejjednodušší testování. Ovšem z toho, že vám procházejí testy komponent, neplyne o funkčnosti programu vůbec nic. Protože program vznikne teprve tehdy, když ty komponenty poskládáte, navzájem je propojíte. Přičemž to propojování zase může být dobře i špatně – to, že propojení fungujících komponent vůbec nezaručuje, že bude fungovat i celek, je klíčová znalost, bez níž nemůžete nic testovat.

Takže postupně. Testy komponenty má napsat autor. Jenže autor napíše testy toho, jak si myslí, že by jeho komponenta měla fungovat. Což je něco jiného, než jak komponenta ve skutečnosti funguje (a tenhle rozdíl se snažíme odhalit pomocí jednotkových testů), a hlavně je to něco jiného, než jak si uživatel myslí, že komponenta funguje (a tohle autorovy testy neodhalí). Konkrétně je to problém rozdílu specifikace a implementace a nejednoznačnosti specifikace (z té nejednoznačnosti mimo jiné plyne, že je lepší, pokud jednotkové testy píše někdo jiný, než autor, protože je jistá šance, že když nejednoznačnou specifikaci jinak pochopí autor implementace a jinak autor testu, implementace pak testem neprojde). Testy jsou svým způsobem také specifikace, jenže uživatel komponenty ji nepoužívá na základě specifikace definované testy, ale na základě specifikace popsané někde v dokumentaci (v lepším případě).

Pokud budu testovat svůj kód, komponenta mi překáží a nahradím ji dummy komponentou (v terminologii testování se používá „mock“ komponenta, česky by se řeklo třeba „falešná“ komponenta), testuju jenom to, zda můj kód funguje s mou představou o fungování té komponenty. Nebo-li neodhalím žádnou chybu plynoucí z toho, že má představa o fungování komponenty je odlišná od toho, jak komponenta doopravdy funguje.

Když to celé dobře dopadne a budu mít kód založený na představě o fungování komponenty, která bude alespoň v rozsahu používání té komponenty odpovídat realitě (což taky nejde 100% otestovat, i když budu mít komponentu dobře testovatelnou), pořád ještě zbývá vazba mezi těmi komponentami. Protože ty komponenty obvykle do sebe nezapadnou tak, jak jsou hotové, ale je potřeba je propojit nějakým kódem. Tenhle kód je závislý na obou komponentách, už jenom proto se bude testovat dost těžko. A často je ten kód velmi závislý na okolním prostředí, což testování ještě dál komplikuje. Aneb když vy mi dáte perfektně otestovanou komponentu, která bude počítat třeba jednoduchý součet, já správně pochopím všechny nuance fungování vaší komponenty, moje mock implementace vaší komponenty se bude chovat úplně stejně, jako vaše komponenta, pořád ještě zdaleka není vyhráno. Protože já tu vaši komponentu budu volat jako webovou službu, nebo pomocí meziprocesové komunikace, nebo třeba jenom ve vícevláknovém prostředí,  čímž jste nepočítal – a všechno tohle může tu spolupráci dvou perfektně otestovaných komponent zničit mnoha různými způsoby.

Přičemž shodou okolností tohle propojování komponent tvoří čím dál větší objem napsaného software. Protože těch základních komponent je už spousta a jejich vývoj už se rozhodně nezrychluje. Za to se z těch základních komponent dá skládat čím dál víc různých programů, tedy ten rostoucí objem software mají na svědomí právě ty mezikomponentové vazby. (Proto se taky dnes od spousty programátorů chce, aby uměly ty komponenty spojovat, ale není potřeba, aby je uměly vytvářet. Což někteří programátoři, kteří umějí ty komponenty vytvářet, ale neumějí s nimi dál pracovat, těžce nesou a kompenzují si to tím, že se označují za „opravdové programátory“ a ostatní pak třeba za „lepiče kódu“.) Ty mezikomponentové vazby dnes pořádně testovat neumíme, většinou se snažíme otestovat alespoň něco tak, že to naroubujeme na jednotkové testy, případně použijeme nějaký framework, který ty vazby umožní dělat jednotně a se znovupoužitelným kódem. Což jde ale použít jedině u vlastních komponent v rámci jedné aplikace – když třeba voláte nějakou komponentu jako webovou službu, bez spolupráce protistrany neotestujete skoro nic. Zeptejte se lidí, kteří teď implementují EET do pokladních systémů, jak je to testovatelné – a to EET ještě má alespoň nějaké testovací prostředí.

Snad jsem vám to alespoň trochu objasnil a to, co jste si snad někde přečetl, si teď dokážete lépe srovnat.

Doporučuji ti něco si o tom přečíst a nechytračit tady s buzením o půlnoci.
Až zase někdy narazíte na někoho, kdo tvrdí něco jiného, než vy, a budete mít potřebu ho poučovat, že si má něco přečíst, zvažte variantu, že rozdíl v tvrzeních je způsobený tím, že vy jste si možná něco přečetl, ale nepochopil jste to. Předejdete tak sebeztrapňování, jako se vám to stalo v citovaném komentáři.

Reagoval jsem na větu, že v takovém případě je třeba rezignovat na testování.
Hlavně že jste tam tu větu citoval, že? „Rezignovat na testování“ je něco jiného, než „rezignovat na testování jako ověřování správnosti“.

4183
Server / Re:Amavisd někdy nepošle mail o odmítnutí
« kdy: 25. 10. 2016, 14:54:13 »
Ale dost casto sa stane, ze korektny uzivatel posle mail, kde je priloha ktoru blokujeme (Mame to dost prisne nastavene) a ja by som chcel aby ten odosielatel vedel, ze mu to nepreslo...
To víte vy, že je to korektní uživatel, ale nějak se to musí dozvědět Amavis.

Máte 3 možnosti:
  • Odmítnout e-mail už v rámci navázaného spojení při příjmu – tím zodpovědnost za informování o nedoručení přenesete na odesílající server. Což ale neznamená, že se o tom odesílatel dozví. A hlavně tím budete prodlužovat příjem e-mailu a je otázka, zda odesílající server bude mít trpělivost na to čekat.
  • Posílat nedoručenky všem, nebo-li rozesílat tuny spamu a vedle toho sem tam nějakou nedoručenku skutečnému odesílateli. Váš e-mailový server se tak brzy dostane na různé blacklisty, servery důležitých odesílatelů tedy budou odmítat e-maily od vás včetně nedoručenek. Odesílatel se o nedoručení tedy nakonec stejně nedozví, ale jako bonus od vás nedostane ani jiné e-maily, a ostatní příjemci také.
  • Informovat správce serveru, odkud dostáváte ty důležité e-maily, aby nasadil DMARC (SPF+DKIM), váš server tak bude mít adresy odesílatele ověřené a může odesílat nedoručenky.
  • Simulovat si SPF a vytvořit si nějaký whitelist, že pokud e-mail s adresou odesílatele z domény XY přišel z IP adresy A.B.C.D, je odesílatel ověřený a může se mu poslat nedoručenka.
Řešení č. 1 je nestabilní a stejně nezaručuje, že se odesílatel dozví o nedoručení. Řešení č. 2 je cesta do pekel a doufám, že už chápete, že odesílat e-maily na zfalšované adresy odesílatele opravdu nechcete.

K cíli vedou reálně řešení 3 a 4. Řešení č. 4 je pracné na vaší straně a nestabilní, řešení 3 je správné a vhodné pro odesílatele, protože bez DMARC bude mít čím dál větší problémy při odesílání e-mailů – ale pracnost je na straně správce serveru odesílatele, takže je otázka, zda se vám podaří ho přesvědčit.

4184
Vývoj / Re:komprese XML na straně klienta
« kdy: 25. 10. 2016, 14:31:52 »
http://serverfault.com/questions/56700/is-it-possible-to-enable-http-compression-for-requests
To odpovídá jen na tu první část. Jaký je obvyklý/doporučený postup pro detekci, zda a jaké kódování tělo požadavku server podporuje?

4185
Vývoj / Re:komprese XML na straně klienta
« kdy: 25. 10. 2016, 13:55:11 »
Komprese dat při http přenosech je standartní věc, obvykle umí snad každý prohlížeč a podpora na serveru musí být povolená. Používám to skoro všude a je to samozřejmě nejrychlejší varianta (obvykle v C).
Zkusil bych tedy jít tímto směrem, klient to umí téměř vždy, server je třeba postrčit.
Která přesně HTTP hlavička nese informaci o kompresi dat v požadavku (tj. při uploadu)? A jak se řeší to, zda danou kompresi podporuje server? U downloadu je to jasné, klient pošle požadavek se seznamem podporovaných metod, server z nich vybere nějakou, kterou podporuje, tu použije.

Stran: 1 ... 277 278 [279] 280 281 ... 375