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 - Ondrej Nemecek

Stran: 1 ... 57 58 [59] 60 61 ... 90
871
Vývoj / Re:Je utf8 univerzální?
« kdy: 04. 07. 2018, 21:56:55 »
Akorát bych podotkl, že podpora vícejazyčnosti je širší téma než jen uložení/načtení textu. Ligatury, směr toku textu, spellchecker, řazení a porovnávání textu, různé formáty čísel, měn a datumu, odlišná časová pásma, fulltextové vyhledávání, tisk, různé jednotky (váhy, míry), různá legislativa, atd.

872
Napadá mě, zda:

  • přetaktovaný stroj správně měří čas (zkuste se stopkama v ruce)
  • zda se nepřehřívá a v důsledku toho nezpomaluje procesor


873
Software / Re:"backtracking" debuugging v HTML stránce
« kdy: 02. 07. 2018, 21:13:59 »
Firefox - F12 - panel síť a panel debugger? Tam lze nastavit breakpointy, krokovat apod. Ale těžko říct, zda to je to co si představujete - je to nízkoúrovňový nástroj pro vývojáře a rozhodně vám nebude nějak vizuálně ukazovat, co se před dosažením určitého stavu na stránce odehrávalo.

874
Hardware / Re:Doporucte NTB s 32Gb RAM
« kdy: 01. 07. 2018, 20:37:33 »
Mám Dell Precision M4700 s linux Mint a jsem spokojený (grafické ovladače používám nouveau):


875
Server / Re:Šifrování existující databáze
« kdy: 20. 06. 2018, 19:34:01 »
No a samozřejmě, platí pravidlo oddělování. Databáze na jiném stroji než web, web za reverzní proxy, virtualhosty oddělené a podle  účelu mít na virtualhostech co nejnižší limity (timeouty, paměť, ...). Pokud to namrskáte na jednu virtuálku u nějakého hostéra, DB bude přímo na webseveru, atd., atd., pak nepřemýšlejte ani o šifrování. Je to zbytečný výdaj energie, který nemůže napravit špatně postavené základy.
děkuji za Vaše rady!
Přinutil jste mne rozumným názorem začít provádet jednotlivé kroky. Nemám public hosting, fyzickej stroj mam u sebe.
- jako první věc jsem před Apache2(web server) nahodil Nginx jako reverzní Proxy
- jako druhou věc přesunu DB na jinou virtuálku
- pak začnu dělat to další

díky

Proxy či přesun databáze na jinou virtuálku vás ani omylem nezachrání. Musíte si uvědomit, kudy se lze k datům dostat a cíleně tomu zamezit. A tam, kde to lze, omezit i okruh potenciálních útočníků.

Takže zakažte na virtuálce všechny nepotřebné služby a porty, otevřete jen port pro ty webové aplikace. Pokud to lze, tak jen pro vybrané IP adresy nebo pouze prostřednictvím VPN.

Pak zůstane největší dírou ta samotná aplikace, resp. ty dvě aplikace. Pokud si aplikace někde uchovává heslo k té databázi, pak kdokoli hackne aplikaci má i databázi. V tom případě je už úplně jedno, kde databáze běží a zda je šifrovaná. Takže se nejprve věnujte aplikaci.

Pokud aplikace poběží vynuceně přes https (HSTS), nebude možné odposlechnout komunikaci prohlížeč - aplikace. Pokud pro aplikaci nastavíte přístup přes klientské certifikáty, nedostane se do aplikace nikdo bez těch certifikátů. Bude si ty certifikáty muset nainstalovat, aby se na aplikaci dostal. Tím omezujete okruh útočníků.

Pak se musíte podívat na samotné uživatele té aplikace, zda mohou někomu prozradit hesla nebo předat certifikáty. Pokud ano, musíte to ošetřit smluvně, je dobré omezit platnost certifikátů, aby po určité době únik přístupových údajů přestal vadit. Tím omezíte dobu, kdy lze provádět útok.

Pokud budete mít tohle zmáknuté, pak teprve můžete řešit, zda šifrovat databázi nebo třeba celý souborový systém. Tím se totiž bráníte přímému odcizení disku nebo databázových souborů - pro start databáze bude potřeba zadat heslo resp. šifrovací klíč, takže pokud někdo disk nebo počítač ve vypnutém stavu ukradne, nebude moci přečíst data z databáze nebo souborového systému. Ale pokud běží server v serverovně, je asi zamčený v racku a tahle krádež není moc pravděpodobná. Samozřejmě pokud by aplikace běžela na mobilních zařízeních, je situace zas úplně jiná.

Pokud na tom záleží, nechte si to zkontrolovat od někoho, kdo se tím rutinně zabývá. Jako laik v té oblasti nemáte šanci domyslet všechny úskalí.

876
Citace

Samozřejmě jsem to zkusil bez loopu a to také fungovalo.
Zkusil jsem i openjdk 8, také funguje. Mám linux Mint 18.3.
Na ten clip lze zaregistrovat event listener, zkusil bych tím zjistit, zda to něco neukončuje, normálně to oddebugovat.

Myslím si, že sa mi už podarilo problém lokalizovať. Ide o to, že clipy s určitou veľkosťou (okolo 2 sekúnd) sa neprehrajú na Linuxe celé. Tie, ktoré sú o niečo dlhšie, tie sa prehrajú v poriadku.  Teda z tej spomínanej stránky,
https://www.freesoundeffects.com/free-sounds/explosion-10070/
explózia 7 sa neprehrá dobre, explózia 11 sa prehrá v poriadku. Na moju smolu väčšina clipov na tej stránke je v rozmedzí tej chyby, tak mi to dlho trvalo, kým som sa to dovtípil. Tá chyba sa prejavuje na Linuxe, je jedno v akom programe, či v plnej hre v game cykle, pri stlačení buttonu, alebo vo Vašom testovacom programe. Na Windowse sa chyba neprejavuje.

V knihe Killer Java programming, ktorá vyšla v češtine ako Programování dokonalých her, (z roku 2005!) sa presne o podobnej chybe píše. A autor tiež píše, že ak dáme loop tak sa to prehrá OK.

Ďalej, pri použití klipov so „správnou“ dĺžkou sa na Linuxe (Windows je OK)po čase pri hre začnú vyhadzovať chyby typu
javax.sound.sampled.LineUnavailableException: line with format PCM_UNSIGNED 11025.0 Hz, 8 bit, mono, 1 bytes/frame,  not supported.

Zrejme je to API zabugované a veľa s tým nedokážeme spraviť.

Aha, tak máte pravdu, klip 7 se mi také nedohraje do konce. To je dost hloupý bug...  :(

877
Citace
Přehrává se to na pozadí v jiném vlákně, neukončuje vám něco to vlákno nebo přehrávání v něm?
Nemalo by mi tam nič ukončovať. Vy tam používate loop, a ako som už spomenul, pri loope sa tie klipy prehrajú OK. Problém nastane, ak sa prehráva iba raz.

Samozřejmě jsem to zkusil bez loopu a to také fungovalo.

Zkusil jsem i openjdk 8, také funguje. Mám linux Mint 18.3.

Na ten clip lze zaregistrovat event listener, zkusil bych tím zjistit, zda to něco neukončuje, normálně to oddebugovat.

878
Vývoj / Re:Typový system versus unittesty
« kdy: 18. 06. 2018, 14:27:54 »
Já dělám v javě, která silný typový systém má, a přesto se unit testy dělají, protože jejich primární goal je zafixovat chování kódu (...)

Akorát nevím jestli je v původním dotazu míněn typový systém javy - hádám že jsou míněny mnohem silnější typové systémy, které toho garantují mnohem víc. Možná by mohl BoneFlute upřesnit?

Jinak taky záleží, jak kdo unit testy používá, někdo testuje skutečně izolovanou funkčnost, někdo to spíš používá jako integrační testy (testuje spolupráci více jednotek a třeba ani tolik nemockuje).

879
Odkladiště / Re:Hledám IT včelaře
« kdy: 18. 06. 2018, 14:18:36 »
jestli Vás můžu poprosit, nechte ty včely v klidu žít a neotravujte je nějakejma debilníma lidskejma manýrama.

Tak ve skutečnosti je to opačně - člověk nechová včely a ale včely si chovají člověka a podrobují ho svému školení, což zažil každý kdo dostal pár žihadel. Takže pokud si včely chtějí vyškolit pár ajťáků, pak bych jim v tom nebránil:

Citace
„Vlastní včelaření podporuje nejen zdravý krevní oběh, ale mnoho včelařů si na sobě samých povšimlo, že se už tolik nerozčilují, že jsou v životě spokojenější a smířlivější, radostnější. Včely pro to mají také své vlastní výchovné prostředky – zkuste přijít ke včelám naštvaní nebo v nervózním spěchu. Hned dostanete několik výchovných žihadel,“ vypráví Martin Semerád.

Třeba léčba varroázy zvýšenou teplotou vyžaduje pravidelnost a monitoring teploty, tam je docela dobrý důvod k automatizaci. Nebo sledování různých parametrů s následnou možností sledovat různé zákonitosti, to je také dost zajímavé (třeba ta výše zmíněná akustická metoda mi přišla dost zajímavá). Pochopitelně se automatizace musí občas porouchat, aby tam včelař přišel s strávil se včelami nějaký čas naživo, ale to si včely určitě nějak zajistí  :)

880
Přehrává se to na pozadí v jiném vlákně, neukončuje vám něco to vlákno nebo přehrávání v něm?

Pokud spustím ukázku pomocí jshell (v java9):

Kód: [Vybrat]
$ jshell Sample.jsh

a Sample.jsh obsahuje

Kód: [Vybrat]
import javax.sound.sampled.*;

Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(new File("explosion.wav")));
clip.setFramePosition(0);
clip.start();
clip.loop(2);

tak fo funguje v pořádku (přehraje se to 3x). Zrovna tak funguje

Kód: [Vybrat]
$ javac Sample.java; java Sample;

a Samaple.java obsahuje

Kód: [Vybrat]
import javax.sound.sampled.*;
import java.io.*;

class Sample {

public static void main(String[] args) throws Throwable {
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(new File("explosion.wav")));
clip.setFramePosition(0);
clip.start();
clip.loop(2);
Thread.sleep(2500*3);
clip.flush();
clip.close();
}

}

Akorát tam musím počkat pomocí sleep, aby se program neukončil předčasně (audio běží asi v daemon vlákně, takže neblokuje ukončení programu).

881
Odkladiště / Re:Výroba plošných spojů laserem a leptáním
« kdy: 15. 06. 2018, 18:28:25 »
Mam novy FeCl3, vyzkousel jsem plosnak projet laserem 2x s 1/2 vykonu. Zacina byt jasne, ze na to jak malo medi se ma odleptat to tam mam hrozne dlouho, vyskrabnuta drazka stranou uz je davno vyleptana, zato ty laserovane jsou nektere +-. Vzal jsem odvahu a nedoleptany plosnak jsem vzal trochu kartackem, krasne se odhalila med cekajici na odleptani. Problem je myslim v nejakych zbytcich barvy, ktere brani leptani.
Nemůže se ten lak vypařit a v jiném místě místě pak zase „kondenzovat“ (napařit se zpět do budoucí leptací cesty)? Nestačilo by nějak ty páry od laseru nějak odsávat (nevím, jak ten CNC laser vypadá)?

882
Vývoj / Re:Jpa vs hibernate
« kdy: 15. 06. 2018, 15:14:17 »
Co jsi nepochopil z prvni odpovedi v tom tvem odkazu?

TAKŽE ještě jednou a pomaleji : Nicméně rád se poučím když mě řekneš jak dokážeš namapovat si entitu z databáze jenom s knihovnamy z Java SE případně knihovnami z aplikačních serverů( žádný framework typu OpenJPA,Spring,EclipseLink,Hibernate apod..).

Dokážeš to?  nebo budeš prudit píčoviny úměrné tvým schopnostem joudíku.

2tdvorak :  Zmateně vysvětluješ. VŽDYCKY POUŽÍVÁŠ implementaci v tvém případě Hibernate, tudíš věta "V projektech, na kterych pracuju a pracoval jsem, se pouziva JPA. Po samotnem Hibernate v pozadi se saha jen, kdyz je to nevyhnutelne a nelze to provest pomoci JPA" je blbost(blábol) vzniklá s nepochopení problematiky.

2Lothric : Tvůj dotaz je špatně položený. Používají se oba přístupy, v závislosti na okolnostech, oba fungují. Ten první převážně u legacy projektu a entity manager u novějších. Zásadní rozdíly mezi nimi nejsou ale to znamená že jednou třeba nebudou.

Já jsem @tdvorak celkem rychle pochopil. Třeba ten problém není v něm :-)

Jasně, @tdvorak odpověděl zcela adekvátně a správně.

883
Vývoj / Re:OOP jazyk - problém klasického stříhu
« kdy: 12. 06. 2018, 22:15:37 »
A persistenci sám sebe, nebo i jiného modelu?

Jakékoli entitě, která z něj dědí. Někdy včetně závislostí (referencovaných entit).

Proč by měla ta entita dědit z modelu, když se dá elegantně použít kompozice? Vazba je pak mnohem volnější a mohu za běhu vyměnit model, např. s jinou databází.

Tohle téma je už vyčerpané, na nevýhodách dědění jsme se tak nějak vespolek shodli už v příspěvku https://forum.root.cz/index.php?topic=18704.msg268469#msg268469

884
Vývoj / Re:OOP jazyk - problém klasického stříhu
« kdy: 12. 06. 2018, 15:22:08 »
A persistenci sám sebe, nebo i jiného modelu?

Jakékoli entitě, která z něj dědí. Někdy včetně závislostí (referencovaných entit).

885
Vývoj / Re:OOP jazyk - problém klasického stříhu
« kdy: 12. 06. 2018, 12:39:58 »
Například v javovských Ebeans dědí entita z Model, nikoli z Persistence

Entity jsou modely reálného světa, proto potomci Modelu. To samozřejmě dává smysl. To ovšem není případ, který popisuje Kit - objekt poskytující modelům všechny možné služby.
Všechny možné služby neposkytuje, to je pravda. Ale persistenci ano.

Každopádně Model je to obecný pojem - aby byl správně chápán, je potřeba připojit kontext. Jak již bylo řečeno.

Stran: 1 ... 57 58 [59] 60 61 ... 90