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 ... 62 63 [64] 65 66 ... 90
946
Jak vis, ze ti do te fronty mezi tim nehrabe nekdo jiny?

Pokud myslíš počas toho testu, tak například tak, že se připojím debuggerem, zastavím na breakpointu, který pauzne celou jvm a pak si v vyhodnotím příkazy imagesQueue.isEmpty(); imagesQueue.iterator().hasNext(); To by mělo být jisté, že do toho nikdo nehrabe, ne?

Pokud myslíš po celou dobu běhu aplikace, pak tam určitě hrabe víc vláken, modifikace se dějí v několika metodách třídy Calendar a ty metody jsou synchronizované, takže by se měly synchronizovat přes tu instanci Calendar. Pak můžu i v testu dát synchronizovaný blok přes tu instanci Calendar a mělo by to být taky košer, nebo ne?

947
Kód: [Vybrat]
Iterator it = imagesQueue.iterator();
if (it.hasNext()) {
    System.out.println(it.next());
}

Řetězení se občas nevyplácí.
Kód: [Vybrat]
imagesQueue.iterator().hasNext(); // dává false
imagesQueue.iterator().next(); //  hodí java.util.NoSuchElementException.

Na těchto dvou řádcích vytváříš dva různé objekty třídy Iterate, s každým manipuluješ zvlášť. Pokud máš podobná zvěrstva i jinde v kódu, tak se není čemu divit, že ti občas nějaký souběh něco poničí.

Samozřejmě že nedělám, každopádně meritem problému je že isEmpty je false a iterator().hasNext() je taky false. A jak k tomu problému jednou dojde, tak je už trvalý.

948
Takže nevím, zda je root ideální server pro tento dotaz, ale zkusím to  :)

Mám v javě

Kód: [Vybrat]
package cz.exambuilder.entity.domain.calendar;
(...)
public class Calendar {
    protected static final Set<Image> imagesQueue = new LinkedHashSet<>();
    (...)
}

a ten set imagesQueue je neprázdný:

Kód: [Vybrat]
imagesQueue.isEmpty(); // dává false
imagesQueue.size(); // dává 1

Problém je, že položky toho setu nemůžu získat:

Kód: [Vybrat]
 imagesQueue.iterator().hasNext(); // dává false
imagesQueue.iterator().next(); //  hodí java.util.NoSuchElementException.

Podstatné, že k tomuto stavu dojde až po cca měsíčním běhu aplikace, zprvu to funguje normálně.

Čichal bych tady nějaký problém v implementaci equals(), hashCode() nebo compareTo(), ale na nic jsem nepřišel, používám výchozí implementace z frameworku. Možná vstoupí do hry nějaký JIT nebo přesun instancí do jiné oblasti paměti a změní se hashcode nebo něco podobného? Na co se mám zaměřit? Uvažoval jsem ještě nad tím, zda se to do tohoto stavu nemůže dostat špatně ošetřeným konkurenčním přístupem, ale nedokážu si to představit.

Pozitivní je, že mám k dispozici testovací prostředí, kde to ještě funguje i prostředí, kde to už nefunguje - do obou se můžu se připojit debuggerem nebo z vývojové konzole umožňující spouštět interaktivně kód.

Na co se mám zaměřit? Kdy k něčemu takovému může v principu vůbec dojít?

Používám java version "1.8.0_161", apache-tomcat-8.5.5, Debian 4.8.4-1 a Brightspot ve verzi v3.2.7178-2110f8

Aktuální testovací kód:

Kód: [Vybrat]
import cz.exambuilder.entity.domain.calendar.Calendar;
import java.util.stream.*;
import java.lang.reflect.*;
import org.slf4j.*;

public class Code {
    public static Object main() throws Throwable {

        Logger log = LoggerFactory.getLogger(Code.class);

        // tady získám tu privátní instanci imagesQueue, abych se na ní mohl podívat:

        Calendar calendar = Query.from(Calendar.class).first();
        Field field = Calendar.class.getDeclaredField("imagesQueue");
        field.setAccessible(true);
        Set<Image> imagesQueue = (Set<Image>) field.get(calendar);

        // tady zkouším, co imagesQueue obsahuje:

        log.info("*** imagesQueue.isEmpty(): " + imagesQueue.isEmpty()); // false
        log.info("*** imagesQueue.size(): " + imagesQueue.size()); // 1

        log.info("*** imagesQueue.stream(): " + imagesQueue.stream().map(i -> String.format("%s (%s)", i.getTitle(), i.getId())).collect(Collectors.toList())); // prázdná kolekce
        log.info("*** imagesQueue.iterator().hasNext(): " + imagesQueue.iterator().hasNext()); // false

        try {
           log.info("*** imagesQueue.iterator().next(): " + imagesQueue.iterator().next()); // NoSuchElementException
        } catch(Exception e){
            log.info("*** exception: " + e);
        }
       
        return "SEE LOGS";

    }
}

Dík za nápady!

949
Software / Re:Ripování Českého rozhlasu Vltava
« kdy: 12. 04. 2018, 09:06:47 »
youtube-dl má v supported sites Rozhlas.

Dík, hodí se vědět :-)

950
Software / Re:Ripování Českého rozhlasu Vltava
« kdy: 11. 04. 2018, 15:01:36 »
Jen pro pořádek, přestože být tady možnost dávat palce, určitě by to okamžitě sjelo hluboko do červené, ale ... Nikdo jste se nepozastavili nad tím, jestli úplnou náhodou neporušujete něčí autorská práva? Oni se totiž tomu stahování brání zpravidla ani ne tak kvůli zátěži, ale především právě proto, že mají práva POUZE k vysílání a streamování.
No hezke to od nas neni, ale nezakonne taky ne. Ta kocena zakon porusi az bude ty stazene mp3 davat na ulozto.

No, osobně bych na to v zemi, kde nejoblíbenějšími ustanoveními zakona jsou díry a chyby, a kde ti na tutéž otázku 5 právníků dá nejméně 10 zcela protichůdných a vzájemně se vylučujících právních názorů, radši nespoléhal. Jedna věc je fair-use, druhá je vědomé překonání překážek kladených provozovatelem za účelem získání dat ve formě, kterou měl provozovatel nebo držitel práv v úmyslu neposkytnout.
Přinejmenším bych se o tom, zejména v podobě návodu, radši moc nerozepisoval veřejně. Podle mě to totiž nestojí za riziko, že se nějakej aktivní blbec bude realizovat formou udání na PČR, kteří by ho sice nejradši kvůli takové kokotině vzali obuchem přes hlavu, ale budou to muset šetřit.

No nahrávat pořad z rádia si pro svoji potřebu snad můžu, nebo ne? Podle mě ty pořady nedávají přímo ke stahování hlavně kvůli tomu, aby to nevyzývalo někoho ke stažení všech dílů, vypálení na nosič a obchodování s tím. Což by už bylo určitě za hranou, od toho je tu Radioservis a já osobně je koupí příležitostně rád podpořím.

951
Software / Re:Ripování Českého rozhlasu Vltava
« kdy: 11. 04. 2018, 09:06:09 »
Jen pro pořádek, přestože být tady možnost dávat palce, určitě by to okamžitě sjelo hluboko do červené, ale ... Nikdo jste se nepozastavili nad tím, jestli úplnou náhodou neporušujete něčí autorská práva? Oni se totiž tomu stahování brání zpravidla ani ne tak kvůli zátěži, ale především právě proto, že mají práva POUZE k vysílání a streamování.

To by se chtělo zeptat přímo ČRO, viz http://www.rozhlas.cz/portal/service/_zprava/798307

Citace
Textové, zvukové a obrazové materiály Českého rozhlasu jsou chráněny autorským zákonem. Jejich šíření či další zpřístupňování, a to jakýmkoliv způsobem, je bez našeho předchozího souhlasu výslovně zakázáno. Máte-li zájem o použití textových, zvukových nebo obrazových materiálů z internetových stránek Českého rozhlasu, ať už pro komerční nebo osobní účely, kontaktujte Nová média ČRo. 

Bohužel není u jednotlivých pořadů uvedena žádná licence, takže by to chtělo vykomunikovat přímo.

Osobně to cítím tak, že pokud si pro osobní potřebu stáhnu stream, abych si jej mohl následně přehrát offline, je vše v pořádku, nicméně názor ČRO bude asi jiný.

952
/dev/null / Re:Mining - reverzní proces
« kdy: 01. 04. 2018, 14:12:34 »
Ano, ze vrůstu entropie lze samozřejmě čerpat energii.

953
Neznám kanonickou implementaci RESTu (a určitě by stálo by se do nějaké dobré implementace podívat, ideálně za použití stejných nástrojů jako používá tazatel), nicméně to routování tam je IMHO mimo jiné taky proto, že lze více url mapovat na stejný kontroler. Jinak je otázka, zda jsou vůbec ty endpointy pro vazby potřeba? Nestačí mít entity jen pro vlastní entity a pracovat s kolekcemi?

Jinak v některých framweorcích je skutečně REST API zdarma, je generované automaticky. Tam by se šlo taky inspirovat.

954
odhadnutých adresách poštovních server

Proč by mělo být nutné hádat adresy poštovních serverů, když se můžu pro každou mail adresu zeptat do DNS na MX záznam a podle něj se připojit k serveru na který se pro danou doménu doručuje pošta? Vždyť mailové servery taky nehádají..

To ano, ale z ničeho nešlo usuzovat, že jde tazateli o MX servery, takže jsem se vyjádřil takto „opatrně“.

955
Zaměřil bych se na to, co si představujete „podrobit e-mail testu TLS“. Pokud „e-mailem“ myslíte e-mailovou adresu, pak je to nesmysl, protože TLS není vlastnost té adresy. TLS je schopnost poštovního serveru dané domény, takže můžete z e-mailů získat seznam domén a u těch pak odhadovat, zda jejich poštovní server komunikuje přes TLS. Ale vidím tam vícero úskalí a v každém případě můžete ověřit jen TLS na určitých (např. standardních) portech a na odhadnutých adresách poštovních serverů (které nemusí odpovídat realitě).

Čeho chcete vlastně docílit?

956
Software / Re:Firefox 59 css bugy
« kdy: 20. 03. 2018, 13:59:22 »
Občas se nevykreslují fonty. Pomůže buď v nastavení zakázat fonty nastavené stránkou anebo vypnout tu akceleraci - na netu se dá dohledat, která volba přesně pomůže.

957
Odkladiště / Re:Jak "kryptograficky" uzavřít smlouvu?
« kdy: 16. 03. 2018, 14:44:06 »
Nejlip nijak, papir je papir. Smlouvy se totiz neuzaviraji proto, ze neco funguje, ale kvuli okamzikum kdy fungovat prestane. Az budes za 10+ let resit, ze si nekde pred 10 lety davno deravym algoritmem neco podepsal, a protistrana ti bude tvrdit, ze si podepsal neco uplne jinyho, protoze si umi takovych smluv nagenerovat doforoty bambilion, tak bude pozde to resit.

BTW: Ani to razitnovani ti nepomuze, musel bys razitkovat u NEJMIN 2 subjektu, protoze v okamziku kdy se retezec jedinkrat pretrhne = ta "duveryhodna" autorita trebas revokuje klic, tak ...

Navic to znamena, ze to musis resit navzdy. Papir hodis do suplete a muzes na nej zapomenout.

Asi jsi ještě nezažil, když ti druhá strana řekla, že ten papír nepodepsala a že ten podpis je falešný. Hodně štěstí, až to budeš po 10 letech dokazovat.

Pokud má smlouva dlouhodobý význam, stačí ji podepsat u notáře a pak se vše dokazuje dost snadno.

958
Server / Re:Jaký CMS pro prezentaci fotek?
« kdy: 15. 03. 2018, 01:15:53 »
Na to možná ani nepotřebujete plnotučné CMS. Pokud využijete http://photoswipe.com/ a php skript, který photoswipe naplní obsahem, pak můžete fotky jednoduše nahrávat na vzdálený disk a systém z nich vygeneruje fotogalerii. Dělal jsem takhle http://alesvegricht.cz/ nebo http://studio.martinkovar.cz/  Podobně funguje https://www.picapport.de/ který také s úspěchem používám. Je to naprogramovaný v javě a k běhu potřebujete VPS, online demo třeba zde

959
Software / Re:Kioskový a lehký webový prohlížeč
« kdy: 14. 03. 2018, 20:05:00 »
Záleží, jestli to má umět libovolnou webovou stránku anebo ne. Pochopil jsem, že to libovolnou webovou stránku umět nemusí. Elektron nebo nějaké webview v libovolném programovacím jazyce by pak mohlo docela vyhovovat... Jak to poběží na daném hardwaru nedokážu moc posoudit, nicméně hádám, že by to mělo být rychlejší než plnotučný browser.

960
Zeptal bych se, proč deduplikaci potřebujete? Jaký je charakter těch dat.

Stran: 1 ... 62 63 [64] 65 66 ... 90