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 - novotnyr

Stran: 1 [2] 3
16
Vývoj / Re:Komunikace mezi microservices v XML
« kdy: 03. 07. 2018, 08:59:17 »
Nechcem obhajovať SOAP, ale na niektorých, napr. bankových projektoch je bežné podpisovanie a kryptovanie správ (XML DSig), čo teda v RESTe nie je dostupné.


17
Vývoj / Re:Komunikace mezi microservices v XML
« kdy: 02. 07. 2018, 21:47:31 »
Klasické SOAP služby vedeli používať XSD ako súčasť WSDL, teda strojovo spracovateľného kontraktu. Výhodou je, že z WSDL/XSD viete vygenerovať klientsky kód.

Okrem toho, ak príde na server SOAP správa, tak stačí ju validovať oproti XSD a ak validácia zlyhá už na tejto vrstve, tak sa dá správa zahodiť. To je pre prípady, keď PSČ je "PRAHAOSEM".

To je samozrejme len prvá hradba validácie, okrem toho je častejšia validácia POJO objektov (Vaše "PSČ neexistuje").

Pozrite sa, či náhodou nemáte SOAPovú službu. Ak áno, tak XML sú jediná normálna možnosť. Dôvody sú viaceré: typicky legacy klienti alebo bežný korporátny ekosystém, kde SOAP je stále štandardom.

18
Zadanie chápem takto: Ak je fooproperty prítomná, wiruje sa bean s identifikátorom beanid, v opačnom prípade  sa wiruje null.

@Honza: vo vašom prípade wirujete vždy null, čo je skoro rovnaké, ako keby ste ten property tag ani nenadeklarovali.

19
Ak je to v projekte takto uvedené, tak to nemôže fungovať. Atribút ref sa musí resolvnúť na String reprezentujúci názov beanu. Preto Spring protestuje, že sa nedá nájsť bean s identifikátorom null (teda "n, u, l, l").

Teraz opomeniem situáciu, že toto sa rieši úplne inak (napr. profily), ale ak sa chceme kumulovať divné riešenia na divné riešenia, tak mu tam ten bean môžeme vyrobiť :-)

Kód: [Vybrat]
    
<bean class="cz.root.foo.FooService">
    <property name="foo" ref="#{ '${fooproperty:false}' ? 'beanid' : null }" />
</bean>

<bean id="beanid" class="cz.root.foo.Foo"/>

<bean id="null" class="cz.root.foo.NullFactoryBean"/>

Potrebujeme bean, ktorý je de facto ekvivalentný null, takže si ho vyrobme cez továreň:

Kód: [Vybrat]
public class NullFactoryBean implements FactoryBean<Object> {
    public Object getObject() throws Exception {
        return null;
    }

    public Class<?> getObjectType() {
        return Object.class;
    }

    public boolean isSingleton() {
        return true;
    }
}

Ak je v projekte bieda, tak aj tá rozhodovacia logika, ktorý bean vyrobiť, sa dá napchať do továrne.

20
Vývoj / Re:bash - jak zobrazit 2 až poslední sloupec
« kdy: 25. 11. 2017, 20:01:06 »
Jo, až teraz mi napadlo: POSIX cut vie sekať aj od konkrétneho znaku, nielen od delimitera, čo je ešte kratší zápis

Kód: [Vybrat]
shasum "vstupne data.txt" | cut -c43-

"Zober od štyridsiatehotretieho znaku do konca".

21
Vývoj / Re:bash - jak zobrazit 2 až poslední sloupec
« kdy: 25. 11. 2017, 19:32:22 »
Ak máte súbor vstupne data.txt, tak

Kód: [Vybrat]
shasum "vstupne data.txt"

vypíše

Kód: [Vybrat]
f572d396fae9206628714fb2ce00f72e94f2258f  vstupne data.txt

POSIXový cut podporuje aj vypisovanie od konkrétneho poľa do konca:

Kód: [Vybrat]
shasum "vstupne data.txt" | cut -d' ' -f3-

Berieme dáta od tretieho poľa do konca. Druhé políčko je prázdne, lebo medzi hashom a názvom súboru sú dve medzery.

---

Alternatívne cez awk, tiež v POSIXe:

Kód: [Vybrat]
shasum "vstupne data.txt" | awk '{ print substr($0, 43) }'

Ak má hash 40 znakov a dva znaky sú na oddeľovacie medzery, zoberiem od 43 znaku z celého riadka ($0) do konca.

22
Minulý rok boli jednodňové JavaDays (teda JavaDay) v Bratislave, kde som si zaplatil sám ako fyzická osoba (cena bola 100 eur / 2600 Kč).

Išiel som hlavne kvôli line-upu, pretože tam bol Jaroslav Tulach, ktorého sa vždy oplatí vidieť. Okrem neho tam Jan Novotný robil skvelú prednášku o Spring Security. Ostatné prednášky sa stále oplatili (až na poslednú, čo boli nie-developerské high-level veci).

Expertné prednášky majú veľkú výhodu. Dá sa priamo na mieste pýtať a ihneď dostať odpoveď. To sa s videom či knihou nedá vždy robiť. A ak áno, tak odpoveď nie je instantná.

23
Bazar / Re:Prodám: Spring in practice
« kdy: 30. 11. 2016, 13:53:10 »
Citace
Takze reaktivne programovanie su rury a message? Podobne novinky su uz snad od cias unixu. http://camel.apache.org/enterprise-integration-patterns.html  Stale viac mi to reaktivne programovanie prijde ako kopenie buzzwordov.
Samozrejme, mnoho z tých vecí je tu od nepamäti, veď aj taká Akka je znovuvynález vecí zo 70-tych rokov.

Ak vidím výhody na slajdoch, je to primárne o tom, že to je neblokujúce API, ktoré sa dá pomerne priamočiaro namontovať na existujúce springovské API. (Napríklad príklady o tom, ako máte skoro zadarmo reaktívny REST nad Springom.)

To je trochu odlišný prístup vo vývoji, než sú ESB alebo message queues.

Ale uvidíme :-)

24
Bazar / Re:Prodám: Spring in practice
« kdy: 29. 11. 2016, 19:57:11 »
Citace
Uz som asi stary, nas ucili, ze servisy by mali byt kvoli performance bezstavove a teraz budu naviac reaktivne. (Co som si pozeral, reaktivita je o implementaci vzoru observer v jazyku a ten je stavovy) To bude zrat procesor teda ...
Ak tomu rozumiem správne, bude to API postavené na reaktívnych streamoch. Tie sú v podstate len rúry, ktorými prúdia dáta v duchu producent-konzument.

Stav tam teda netreba udržiavať.

Jediná výnimka je pushback, teda keď konzument vie komunikovať s producentom a upozorniť ho, že ďalšie dáta nevládze spracovať.

25
Bazar / Re:Prodám: Spring in practice
« kdy: 29. 11. 2016, 09:46:08 »
Je pravda, že inde už reaktívne API je k dispozícii, v Jave už aj inde (RxJava).

Ide o to, že Spring je už 10 a viac rokov používaný hlavne na backendoch, kde existuje silná platform, nejaký knowledgebase a znalosti a nasadené projekty a ten reaktívny prístup sa tam hodí.

Navyše predrečníci už povedali, že Spring Boot je dnes veľmi pekný prístup pre microservices, ktoré (možno raz) budú automaticky reaktívne.

26
Bazar / Re:Prodám: Spring in practice
« kdy: 28. 11. 2016, 16:55:27 »
V Springu 5 bude predovšetkým reaktívne API krížom-krážom. Z ,,drobností" bude Java 8 ako minimálna verzia, refaktor API na použitie s lambdami.

27
Studium a uplatnění / Re:Studium JavaEE v době JS knihoven
« kdy: 03. 10. 2016, 13:27:05 »
Citace
Aby som nemusel zakladat nove vlakno, tak sa opytam priamo tu ... Aky aplikacny by ste mi poriadili? Aky sa najviac pouziva v praxy?
Na malé projekty Jetty, pretože pri Mavene sa dá urobiť

Kód: [Vybrat]
mvn jetty:run

Spring Boot má v sebe goal, ktorý spustí Tomcat

Kód: [Vybrat]
mvn spring-boot:run

Continuous integration nám deployuje do Tomcatu alebo Glassfishu.

28
Studium a uplatnění / Re:Studium JavaEE v dobe JS kniznic
« kdy: 29. 09. 2016, 16:57:31 »
Java EE tu bude stále, pretože korporát má mnoho projektov. Jednoducho sú projekty, kde si nemôžete dovoliť polčas rozpadu technológie kratší než životnosť projektu.

Ak niečo, ako progresívnejšia Java EE, tak je tu stále Spring Framework, ktorý napreduje veľmi rýchlo a používa sa hojne (aj preto, že Java EE je momentálne v polokóme).

Okrem toho je tu Spring Boot, čo je vlastne štandardný Spring na steroidoch, kde sa REST API vyrába na sedem riadkov, ale veľmi jednoducho to podporuje microservices, škálovanie, NoSQL integrácie riešia pár riadkami kódu.

Nehovoriac o tom, že Android je hlavne Java.

29
Server / Re:Tomcat 8+ hosting pro Javu Spring
« kdy: 18. 09. 2016, 20:20:15 »
Citace
Pokud jde o Angular a tedy i o pouhe REST API na serveru (zadne generovani dynamickeho HTML na strane Javy), tak staci v podstate jakakoli rozumna knihovna (ci jak je moderni rikat "framework"), ktera REST API nabidne.
Jersey je super, ale Spring Boot je na rýchle REST API dnes asi najlepšia vec. Máte rovno dependency injection, dostanete hneď JdbcTemplate pre jednoduché SQL dopyty a integrácie s možnými i nemožnými frameworkami. A to vám ani netreba deployovať do servera, keďže máte Maven/Gradle plugin a
Kód: [Vybrat]
mvn spring-boot:run
to celé nakopne na localhoste.

Rozbehnúť REST API v Spring Boot je robota asi na 50 riadkov, asi toľko ako v Jersey alebo Restlete.

Jedine, že by ste chceli mať rovno JAX-RS compliant anotácie, ale to tuto asi nie je primárna požiadavka.

30
Studium a uplatnění / Re:JavaEE alebo ASP.NET ?
« kdy: 04. 06. 2016, 17:30:04 »
Citace
Řekni mi, proč by měl někdo používat Spring namísto EE 7?
Java EE 7 do veľkej miery dobieha sadu funkcionality, ktorá je v Springu. Je veľmi málo featúr, ktorá existuje v Java EE a nie je v Springu urobená buď rovnako, alebo dokonca lepšie. Na druhej strane, Spring vie Java EE featúry využívať bez problémov (@Inject, JSF, JPA).

U nás máme spring-based architektúru hlavne preto, lebo Spring Boot umožňuje deployovať microservices extrémne jednoducho a rýchlo. (tam Java EE tak skoro nebude). Nehovoriac o perlách ako integrácie s cloudovými technológiami.

Popri tom máme Spring Security na zabezpečenie REST API (v Java EE neexistuje ekvivalent, azda len Apache Shiro). Na samotné REST API je v Spring @MVC, ktoré je rovnako efektívne ako JAX-RS.

Na ostatných projektoch máte vecičky ako Spring Integration, či Spring Web Security.

Java EE už nie je ten humus, čo bývali staré EJB, problém je však v tom, že i keď je to štandard, kým sa výboru podarí pretlačiť špecifikáciu a kým ju implementujú aplikačné servery, môže uplynúť dosť veľa času. (Porov. kde bude Java EE 8 a čo bude riešiť Spring 5).

A mimochodom, XML už vôbec nemusíte používať: naše microservicy nad Spring Bootom / Tomcatom majú presne 0 riadkov XML.

Stran: 1 [2] 3