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 - Vočko Szyslak

Stran: [1]
1
Vývoj / Re:Spring boot - @Service
« kdy: 24. 04. 2023, 19:49:04 »
Vid: https://github.com/spring-projects/spring-framework/blob/main/spring-context/src/main/java/org/springframework/stereotype/Service.java

Jedna sa hlavne o stereotyp - semantika - niektore casti Springu alebo ine kniznice by mohli rozlisovat rozdiely v semantike.@Repository vs @Component je jasne (Spring Data skenuje repozitare). Nepamatam si za tie vsetky roky,ze by nieco ine v Spring ekosysteme rozlisovalo medzi service a component. Konkretne Service je vlastne Component.... rad sa priucim,ci sa niekto s diskutujucich stretol vyslovene so skenovanim len @Service a nie @Component.

Vyuzitie vo vlastnych projektoch je jasne,custom semantika servisnej vrstvy,custom AOP pointcuty alebo nieco ine - ale to uz si asi radsej spravim vlastnu anotaciu resp. meta-anotaciu

2
Studium a uplatnění / Re:.NET a remote?
« kdy: 17. 12. 2022, 21:20:47 »
Když jsem nějakou z nich potřeboval, tak jsem se ji naučil velice rychle.
Presne o tomto hovorim...9/10 ludi neovlada poriadne JPA, nerozumeju rozdielu medzi @OneToMany a @ManyToOne a preco by mali uprednostnovat Lazy fetch pre Eagerom (resp. eager maximalne v @OneToOne  inak nikdy !!!!). Rovnako nevedia dedit v JPA, nevedia, co je Entity graph (bleee) a preco je nutny, nerozumeju ani N+1 problemom, myslia si,ze daju em.persist a to staci a uz vobec nie, ako to cele debugovat a ladit... a co takto nad to postavit QueryDSL alebo JOOQ ?

Pozriet si nejake Baeldung tutorialy nie je skutocne vsetko.

A že by se někdo musel naučit hned všechny, aby mohl dělat v Javě, to asi nebudeš tvrdit ani ty?
Urcite nie, ale rovnako nebudem niekoho presviecat, ze naucit sa Spring (Spring Boot) a jeho projektom je vec na par dni...rukou mi preslo niekolko vyvojarov a trva to niekedy aj roky....ono to je aj o tom, aby clovek rozumel ako to v tom Springu aj funguje (pozdravujem magic autoconfigure beany a @ConditionalOnXYZ anotacie) ked uz riesi, preco nieco debuguje.

Na druhou stranu u spoustu těch Spring knihoven moc ani nechápu smysl - proč používat Spring Rabbit, když je to zhruba stejně složitý jako použít ten Rabbit přímo...
Uplne vsetko nema zmysel...na druhu stranu si neviem predstavit implementovat rucne veci napr. z cloud starterov - OpenTelemetri, Zipkin, Sleuth tracovanie, napojenie na Vault, Discovery server, Broker alebo taku blbost ako bootstrap.yaml tahaneho z nejakeho remote umiestnenia (konfig server, git, ...)....

Ono to vsetko zacne davat zmysel - pretoze medzi jednotlivymi projektami je velka synergia - priklad Actuator, ktory zazracne funguje podla toho, co zo springu pouzivate.... Sleuth, ktory "zazracne" funguje, ked detekuje dalsie Spring projekty na classpathe (JDBC tranzakcie, P6Spy, Scheduled, AMQP listenery, ...).

Prave podla toho sa pozna senior a skuseny technolog, ktory si uvedomuje, preco to cele ma zmysel takto postavit....

Ale je pravda, nie uplne vsetko je potrebne....zrovna ten spominany Spring AMQP
 je hodne uzitocny....

Vysvetlim preco...

Jednak je to, ze ponuka abstrakciu (rovnaky sposob ako sa s tym bude pracovat) pre rozne messaging technologie - od AMQP po Kafku (rozdiel je len v tom... ze sa vola jeden @RabbitListener a druhy @KafkaListener)....

Ale to najdolezitejsie ... je to HIGH LEVEL zapuzdrenie --- a tu pozor ... tu je ten rozdiel medzi tutorialmi z Baeldungu.... viete si predstavit, ze si rucne v low level Rabbit kniznici budete implementovat Acknowledge spolu s propagovanou tranzakciou z JDBC, Retry mechanizmy alebo rucne implementovat Error handling a replayom cez DLQ ? A nepacilo by sa Vam, keby automaticky fungovala propagacia tranzakcie pri praci s Kafkou a JDBC (nie naozaj nemam na mysli XA tranzakcie) ... videl ste uz niekedy implementaciu posuvania offsetu v Kafke v low level kniznici od Kafkacov ? No tak pre toto existuje Spring AMQP projekt...aby ste vyuzivali tu synergiu.


Jinak díky za nabídku, ale pokud jsi reprezentativní vzorek lidí ve vaší společnosti, tak k vám jít pracovat opravdu nechci  ;)

To je uplne v poriadku, na takychto ludi ani necielime...dnes je naozaj znalost syntaxe a zakladov jazyka uplne nepostacujuca....

Az budes mat odkodenych ako lead dev a architekt 10+ rokov, napis, potom mozme pokecat ;-)

3
Studium a uplatnění / Re:.NET a remote?
« kdy: 17. 12. 2022, 19:46:45 »
Spring je jenom knihovna, to se člověk naučí používat za pár dnů.

Dobry vtip - skoda, ze Spring je cely ekosystem s dalsimi a dalsimi zavislostami - chcem vidiet toho borca, co to za par dni alebo tyzdnov da... Posli kontakt, hned ho zamestname.

Jeden priklad z tisicov ? Co takto si postavit nieco v Spring Cloud ? Alebo je libo Spring Batch pre davkove spracovanie dat ? A co takto AMQP alebo sa napojit na Kafku ?

Prosim, radte len ti, co mate nejake skusenosti s enterprise projektami alebo este lepsie, ak ste nejaky tech lead alebo architekt, ktory sa tym zivy.

4
Vývoj / Re:Traefik + Angular + F5
« kdy: 26. 04. 2022, 19:07:34 »
Tak vyriesene.....tak,ze som nekonfiguroval vonkajsie proxy (traefik),ale nginx v kontajneri...

TRAEFIK -> NGINX -> ANGULAR

Pri tvorbe kontajnera nginx s angular dist appkou pridana konfiguracia...

Kód: [Vybrat]
location / {
   . . .

   try_files $uri $uri/ /index.html;
}


5
Vývoj / Re:Traefik + Angular + F5
« kdy: 26. 04. 2022, 13:04:48 »
Dobry den,
traefik mam moc rad (aj nginx) a pouzivam ho na podobne veci. Som vsak viac backendista. Mohli by ste prosim viac vysvetlit, co je F5? Jedna sa o komercny produkt ("webovy firewall"), alebo je tym myslene F5, ako funkcna klavesa na kalavesnici, ktora spravi reload stranky? A akosi nechapem, preco vznika error a preco je hendlovany v proxy. Skuste prosim problem popisat z low level pohladu, pripadne screenshot z network konzoly v browseri by mi to mozno objasnil.

Dakujem za odpoved...neviem preco je tato tema presunuta po Server, vytvoril som ju vo Vyvoj.
F5 je myslene refresh stranky vo webovom browseri, moja chyba... :)

6
Vývoj / Traefik + Angular + F5
« kdy: 25. 04. 2022, 18:51:45 »
Ahojte,

aktualne prechadzam z NGINX proxy na Traefik co by reverzne proxy (API Gateway).
Zaproxovane mam aj Angular appky (kontajner s NGINX a jednoduche hostovanie statickych resourceov).

Cize prechadzam
- z NGINX (revproxy) -> [kontajner (NGINX + staticke angular assety)] na
- na TRAEFIK (revproxy) -> [kontajner (NGINX + staticke angular assety)]

Problem je, ze angular appky pouzivaju klasicke klientske URL routovanie a v NGINXe som mal osetrene, kde som na nejakej route dal F5 tak to realodlo aktualnu routu alebo som dal nezmyselnu klientsku cast routovacej URL.

V NGINXe som to mal nejako takto:

Kód: [Vybrat]
location /ui/module-a {
        proxy_pass  http://module-a-ui/;

        # Vyriesenie angular routovania pri F5
        proxy_intercept_errors on;
        error_page 404 = /ui/module-a/index.html;
    }

No a neviem na toto najst nejaku alternativu pre TRAEFIK, ten mam funkcny, ale bez F5 refreshu routy takto:

Kód: [Vybrat]
labels:
      - "traefik.enable=true"
      - "traefik.http.routers.module-a-ui.entrypoints=web-secure"
      - "traefik.http.routers.module-a-ui.rule=PathPrefix(`/ui/module-a`)"
      - "traefik.http.routers.module-a-ui.tls=true"
      - "traefik.http.routers.module-a-ui.middlewares=module-a-ui-middleware"
      - "traefik.http.routers.module-a-ui.service=module-a-ui-service"
      - "traefik.http.middlewares.module-a-ui-middleware.stripprefix.prefixes=/ui/module-a"
      - "traefik.http.services.module-a-ui-service.loadbalancer.server.port=80"

Vie mi niekto poradit, ako to vyriesit v TRAEFIKu ?
Diky.

7
Vývoj / Re:JS autoclick na button s id / provedení scriptu
« kdy: 12. 02. 2021, 16:26:50 »
a co takto napr. kazdych 100ms kontrolovat, ci uz je button pripraveny, ak ano, tak kliknut.

Dopr dele,clovek by povedal,ze na fundovanom webe na taketo nieco nenarazi.

Druha vec je,ze ludia su lenivi si nastudovat aj zaklady HTML + JS.

Ale aby som len nekecal...

1. Idealne si pribalit napr. Jquery a zavesit sa na document ready metodu,ktora sa spusti,ked je DOM pripraveny.

2. Da sa to spravit aj dynamicky $('<a>').href(xyz).click(); 

Nechce sa mi pisat z telefonu

8
Server / Re:Jak začít se současnou webařinou?
« kdy: 11. 02. 2021, 14:32:51 »
LOL, ako tu uz niekto pisal, ze to tu sami expert, co si sem odskocil od piva...idealne, ked sa ti vyjadri niekto, kto ma 5-10 rokov skusenosti s vyvojom frontendu + backendu a taktiez so zostavovanim celeho technologickeho stacku okolo toho.

Nema zmysel sem cokolvek pisat, ked chces fundovane odpovede, najdi si nejakeho experta na LinkedIn a nie tu na fore.

Len za FE poviem jedno - ak nevies ani zaklady, zacni s kombom HTML + JS + CSS. Moderny FE dnes je cisty JS + nadmnozina TypeScript

9
Server / Re:Tomcat + HTTPS
« kdy: 05. 08. 2020, 23:58:51 »
Netrap sa a daj pred toho tomcata nginx v reverse proxy mode ako radil niekto vyssie. Strata vykonu limitne nulova, ale usetri to strasne vela nervov.

Tiez som si kedysi myslel, ale najdu sa pripady, kedy zdanie klame:

Uplne bezna situacia, v spojeni s kontainermi, kde samozrejme Docker nie uplne funguje tak, ze dependsOn neznamena, ze kontainer je v 100% stave ready a dochadza k tomu, ze NGINX nabehne skor, ako je mozne resolvnut DNS kontainera, ktory je v "proxy_pass"...

Netestoval som na Docker Swarm alebo Kubernates, tam moze byt situacia mierne odlisna.

Vo vysledku je to error pri nabehu nginx....ako, toto sa Vam stane vzdy, ked vam NGINX nabehne skor, ako je mozne resolvnut DNS zaznam targetu v proxy_pass, aj mimo kontainery,ale tam sa to deje vzdy....

Riesenia:

1. extendnut NGINX image, a doplnit utilitku, ktora pocka na nabeh ostatnych kontainerov (ble, a co ak niektory z kontainerov nenabehne nikdy ?) - https://github.com/eficode/wait-for
2. nastavit restart policy pre NGINX - opat, co ak nenabehne niektory z proxy_pass targetov vobec ?
3. odrbat nginx, nastavenim aliasov alebo nejakeho ineho DNS resolvera...

Tejto teme (3) sa dost venuju tu, zial, mne sa to nikdy nepodarilo takto odrbat:
- https://stackoverflow.com/questions/32845674/setup-nginx-not-to-crash-if-host-in-upstream-is-not-found
- https://stackoverflow.com/questions/50248522/nginx-will-not-start-with-host-not-found-in-upstream/50358455

Ak vie niekto, ako to vyriesit bodom 3 alebo aj nejako inak, sem s radou - mne premenne nesli.

Zlaty Apache

10
Server / Re:Tomcat + HTTPS
« kdy: 05. 08. 2020, 23:48:35 »
Moc děkuji!!! KeyStore Explorer mi pomohl. Tomcat na portu 8843 funguje i s certifikatem. Teď už jen musím nastavit, aby jel jen na 443 a problém vyřešen :)

Na kontrolu spravnosti vygenerovaneho keystoru odporucam tuto utilitku: https://github.com/MichalHecko/SSLPoke

Teraz este vyriesit privilegovane porty - odporucam sa pozriet po utilitke authbind (Debian) napr. aj modifikovanim startup.sh, napr.:

Kód: [Vybrat]
1) Install authbind
2) Make port 443 available to authbind (you need to be root):
touch /etc/authbind/byport/443
  chmod 500 /etc/authbind/byport/443
  chown tomcat /etc/authbind/byport/443
3) Change /usr/share/tomcat/bin/startup.sh
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
  # OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"


alebo v pripade napr. Redhat odporucam:

Kód: [Vybrat]
setcap 'cap_net_bind_service=+ep' /usr/lib/jvm/bin/java

ktory mne na Redhatoch a Centosoch nikdy nefungoval poriadne, nakolko je tam problem s:

Kód: [Vybrat]
java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

treba povolit loadovanie kniznice

Kód: [Vybrat]
sudo vim /etc/ld.so.conf.d/java.conf

Jeho obsah je napr. tento riadok: /usr/java/jdk1.8.0_191-amd64/lib/amd64/jli

sudo ldconfig

idealne je to pekne riesit na urovni SystemD, rovno v unite povolit capabilities:
Kód: [Vybrat]
AmbientCapabilities=CAP_NET_BIND_SERVICE

Ale inak, zlaty Debian

11
Server / Re:Tomcat + HTTPS
« kdy: 05. 08. 2020, 23:38:39 »
https://confluence.atlassian.com/adminjiraserver/running-jira-applications-over-ssl-or-https-938847764.html

Sekce Troubleshooting něco nenapoví?

Já bych vám napověděl, že Jira je něco jiného než Tomcat.  ::)

To by ste sa divil, ale JIRA bezi ako webapp na Tomcate a ten navod z JIRA je aplikovatelny aj na tazatelovu situaciu...

12
Server / RPi 4 - softwarová podpora pro NAS
« kdy: 26. 12. 2019, 10:15:35 »
Ahojte,

uvazujem o vymene Synology za RP4. Problemom je nevykonny HW v Synology (resp. vysoka cena za novy vykonny kus). No ale to je pre mna show-stopper je softverova podpora.

Konkretne, pouziva niekto / ma niekto otestovane / existuju alternativy k tymto usecasom ?
- synchronizacia fotiek z telefonov do NAS, photo station (tvorba albumov, spracovanie fotiek na NAS)
 - narazil som na niekolko klientov v Androide pouzivajucich bittorrent, ale trpeli neduhami ako zvysena spotreba, neustale online spojenie, nemoznost one-way synchronzacie a pod.
- softverova podpora na strane klienta (PC, Android, ...) aj na strane NAS v pripade synchronizacie suborov - a teraz nemam na mysli nejaky zlepenec, ze na Androide sa bude pravidelne spustat RSYNC na server.
- nastavenie pristupovych opravneni per user na strane NAS (fotky a albumy, zdielanie, ...) - opat ziadne zlepenie na urovni filesystemu v linuxe

Proste existuje nieco ako Synology DSM aj na RP4 co sa tyka celeho softveroveho ekosystemu ?

Stran: [1]