Wszystko
Najnowsze
Archiwum
Jeśli ma to być duże produkcyjne rozwiązanie a do tego tanie w utrzymaniu (głównie chodzi mi o łatwość ogarnięcia programistów) to zdecydowanie Spring. Szczególnie jeśli masz do zrobienia jakiś większy monolit - nie bawiłbym się wtedy w lekkie frameworki. A jeśli będziesz pisał mikroserwisy to właściwie nic nie stoi na przeszkodzie, żeby w niektórych użyć Springa a w innych Ktora.
- 0
@gos4k: Dzięki za odpowiedź, Jeżeli chodzi o projekt to bardziej dla siebie. A inne raczej już biznesowo. Też skłaniam się własnie ku springowi. Mimo to też chciałem poznać innych opinie :)
- 1
@wytrzzeszcz: bo wolę jakieś rozwiązanie które będzie wymagało minimum pracy na wejściu aby pracowało zgodnie z oczekiwaniami. Druga sprawa że wiem że jak będę miał za dużo możliwości to w końcu coś rozpieprze lub doprowadzę do stanu gdzie ciężko będzie z tym pracować
Jak w spring data rest w przypadku relacji jeden do wielu dodać coś ze strony wiele do strony jeden?
Załóżmy, że jest encja Post w relacji jeden do wielu z encją Comment
No i np dodam sobie comment, robię posta pod adres
/commments
Załóżmy, że jest encja Post w relacji jeden do wielu z encją Comment
No i np dodam sobie comment, robię posta pod adres
/commments
@kebab-case: Problem lezy chyba w tym, że Spring Data Rest modyfikuje tylko comments i nie odzwierciedla tego w encji post. Musisz zrobić to ręcznie. Sory nie doczytałem, że to spring data rest :)
@kebab-case: tak no w takim wypadku post bez właściciela nie ma sensu zależność bym pozostawił, nie wiem jak Ty masz to zrobione ale ja w CommentRepo dodał bym metodę List findByAccounts(Account account); Jeżeli wcześniej można było wywołać account.getPosts(), to teraz działa z repo. Masz usunięty błędny kod z domeny i stworzyłeś wyraźny kierunek zależności od postu do autora. Posty zależą od autorów, ale nie odwrotnie.
- 0
Cześć. Szukam rozwiązania odnośnie alertów/powiadomień (coś w rodzaju, że przyszła wiadomość) na frontendzie. Korzystam z Reacta i Springa. Mam dwa pomysły:
1. Wykorzystać Server Sent Events i na froncie po prostu nasłuchiwać eventy z serwera.
2. Co jakiś czas odpytywać serwer o nieprzeczytane powiadomienia.
Co jest obecnie wykorzystywane w tym celu?
1. Wykorzystać Server Sent Events i na froncie po prostu nasłuchiwać eventy z serwera.
2. Co jakiś czas odpytywać serwer o nieprzeczytane powiadomienia.
Co jest obecnie wykorzystywane w tym celu?
@cycun 2. to się nazywa pooling, nie idź w tą stronę bo zajebiesz serwer. każdy.
obczaj sobie socket.io, chyba istnieje implementacja w java
obczaj sobie socket.io, chyba istnieje implementacja w java
- 0
@cycun: tu jest porównanie SSE vs WebSockety: https://streamdata.io/blog/push-sse-vs-websockets/
- 0
Przy tworzeniu RESTowych endpointów lepiej wyrzucać
#naukaprogramowania #java #spring
ResponseStatusException prost z miejsca gdzie jest błąd czy najpierw rzucić jakiś customowy wyjątek, a dopiero z np. ControllerAdvice rzucić / zwrócić ResponseStatusException? #naukaprogramowania #java #spring
@sprayy w ogóle nie rzucać wyjątków. Użyć jakiegoś either np z vavra i dopiero w kontrolerze mappowac na odpowiedź
- 0
@krasnoludkolo: mam kilka przypadków gdzie chce tego użyć
1. łapie
2. w metodzie
1. łapie
ConnectionException przy próbie łączenia do Rabbita ale chce żeby od razu poszła odpowiedź do klienta i mam w planie wyrzucić ResponseStatusException bo to się samo ładnie mappuje na responsa. 2. w metodzie
preHandle z HandlerInterceptor gdy request nie spełni mi warunków (np. brakujące headery, zły token) to chce wyrzucić ten wyjątek i w zależności od problemu użyć odpowiedniego kodu odpowiedziJak byście takie coś przetestowali? #spring #java a raczej #kotlin
Mam swój własny projekcik, w którym użytkownik wykonuje jakąś akcję i włącza się timer, który za jaki czas wywoła jakąś kolejną akcję. Ten timer działa na scheduled executorze, więc dopóki aplikacja działa to wszystko jest w porządku, gorzej jak timer się stworzy, a zaraz aplikacja padnie i nie zdąży się wykonać. W takim przypadku mam w
Mam swój własny projekcik, w którym użytkownik wykonuje jakąś akcję i włącza się timer, który za jaki czas wywoła jakąś kolejną akcję. Ten timer działa na scheduled executorze, więc dopóki aplikacja działa to wszystko jest w porządku, gorzej jak timer się stworzy, a zaraz aplikacja padnie i nie zdąży się wykonać. W takim przypadku mam w
- 2
@SuppressWarnings: Nie kumam. Masz jakąś funkcję, która przy wstawaniu zczytuje z bazy te wpisy i odpala zaległe akcje? To napisz test w który mockujesz bazę i odpalasz tą funkcję i zobacz czy odpali akcje które powinna.
@SuppressWarnings: albo traktujesz czas jako zewnętrzną zależność, piszesz to sam, albo się zareklamuje i użyjesz tego i wtedy już łatwiej.
Drugie wyjście to testować te akcje osobno i założyć ze scheduler działa i wykonuje co trzeba
Drugie wyjście to testować te akcje osobno i założyć ze scheduler działa i wykonuje co trzeba
- 2
Mircy! Potrzebuję pomocy z projektem jednej apki. Sprawa wygląda następująco:
Mirkoserwis A:
- pobiera JSON'a z MongoDB który ma staus NEW
- tworzy jakiegoś joba w którym mamy x stepów (w zależności od tego jak musi zostać przetransformowany JSON) i go odpala
- dla przykładu step1 wrzuca id z bazy danych do kolejki rabbitowej i wtedy ten job nie blokuje mikroserwisu tylko czeka, aż mikroserwis B zrobi swoje, a w międzyczasie bierze następny rekord z bazy,
Mirkoserwis A:
- pobiera JSON'a z MongoDB który ma staus NEW
- tworzy jakiegoś joba w którym mamy x stepów (w zależności od tego jak musi zostać przetransformowany JSON) i go odpala
- dla przykładu step1 wrzuca id z bazy danych do kolejki rabbitowej i wtedy ten job nie blokuje mikroserwisu tylko czeka, aż mikroserwis B zrobi swoje, a w międzyczasie bierze następny rekord z bazy,
@sprayy: Już sam fakt że dwa mikroserwisy korzystają z tej samej bazy danych sugeruje że być może problem jest już na poziomie designu. Tak przynajmniej wynika ze schematu. To z kolei sugeruje że być może w rzeczywistości nie macie mikroserwisów, a rozproszony monolit. Nie pisze tego żeby się czepiać, tylko być może rzuci to Wam inne światło na ten problem.
Co do rozwiązania, to moim zdaniem opcje są dwie:
a)
Co do rozwiązania, to moim zdaniem opcje są dwie:
a)
- 0
@zajety_login: nie ma my, jestem tylko ja ;)
dwa mikroserwisy korzystają z tej samej bazy danych żeby nie rzucać do kolejki całego payload'u tylko ID i one będą sobie same pobierać payload do transformacji z bazy.
Na schemacie nie dodałem strzałki między DB a C. On też dostanie z kolejki tylko ID, pobierze payload i wyśle. Przynajmniej tak założyłem ;)
a) nie chciałbym scalać, żeby w paragrafie 'plany na przyszłość' móc napisać, że
dwa mikroserwisy korzystają z tej samej bazy danych żeby nie rzucać do kolejki całego payload'u tylko ID i one będą sobie same pobierać payload do transformacji z bazy.
Na schemacie nie dodałem strzałki między DB a C. On też dostanie z kolejki tylko ID, pobierze payload i wyśle. Przynajmniej tak założyłem ;)
a) nie chciałbym scalać, żeby w paragrafie 'plany na przyszłość' móc napisać, że
- 130
Spring Boot Actuator to narzędzie które pozwala nam na monitorowanie naszej aplikacji napisanej w #spring.
Dzisiaj w #od0dopentestera nieco inne spojrzenie na ten mechanizm.
W standardowej konfiguracji z poziomu interfejsu webowego dostępne są endpointy
Wygodny programista może jednak użyć gwiazdki - aby udostępnić na stronie wszystkie funkcjonalności.
Pod niektórymi adresami możemy odnaleźć
Dzisiaj w #od0dopentestera nieco inne spojrzenie na ten mechanizm.
W standardowej konfiguracji z poziomu interfejsu webowego dostępne są endpointy
health oraz info.Wygodny programista może jednak użyć gwiazdki - aby udostępnić na stronie wszystkie funkcjonalności.
Pod niektórymi adresami możemy odnaleźć

@KacperSzurek: Czy to prawda ze Spring jest tak kijowym i topornym frameworkiem ze musial powstac Spring Boot zeby w ogole te ustrojstwo wyystartowac? ( ͡° ͜ʖ ͡°)
@walic_nowy_odtwarzacz: Spring Boot ma wbudowany serwer więc nie trzeba kombinować z tomcatami i innymi syfami które potrafią się wywalić na starcie. To po prostu działa. Konfiguracja też jest o wiele prostsza. Po to właśnie powstał Spring boot. Spring to bardzo przyjemny framework i da się na nim zbudować potężne aplikacje. To czy jest toporny zostawiam bardziej doświadczonym kolegom, ja nie narzekam
Da się jakoś wyciągnać informacje o sieci wifi w Javie? BSSID, SSID?
#java #naukaprogramowania #spring #springboot
#java #naukaprogramowania #spring #springboot
Cześć, moglibyście polecić jakiś fajny kurs #spring , który jest w miarę nowy i wartościowy (może być po angielsku) ?
Polecony mi został kurs Artura Owczarka https://www.youtube.com/playlist?list=PLU2dl_1LV_SQXD1_HHpKb-KRd4w1r6yzk
Jest tylko taki problem, że ten kurs jest z 2014 i opiera się na konfiguracji w XML (przynajmniej na początku), a już nawet STS 4 go chyba nie wspiera. No i wykopowi #programista15k pisali, że też się tego nie używa już
Polecony mi został kurs Artura Owczarka https://www.youtube.com/playlist?list=PLU2dl_1LV_SQXD1_HHpKb-KRd4w1r6yzk
Jest tylko taki problem, że ten kurs jest z 2014 i opiera się na konfiguracji w XML (przynajmniej na początku), a już nawet STS 4 go chyba nie wspiera. No i wykopowi #programista15k pisali, że też się tego nie używa już
@szalony_kefir: To jest w miarę dobre: Spring Framework 5: Beginner to Guru
https://www.udemy.com/share/10011mAEYScFZbTX4=/
Z minusów to typ ma słabą dykcję i nie robi za bardzo przerw ale bez problemu da się go zrozumieć.
Z plusów to ciągle aktualizuje kurs, więc jeśli w za jakiś czas wyjdzie spring 6, to zrobi update i będziesz mógł podejrzeć w nim co się zmieniło i nauczyć się nowych rzeczy..
EDIT: kurs ma prawie 50
https://www.udemy.com/share/10011mAEYScFZbTX4=/
Z minusów to typ ma słabą dykcję i nie robi za bardzo przerw ale bez problemu da się go zrozumieć.
Z plusów to ciągle aktualizuje kurs, więc jeśli w za jakiś czas wyjdzie spring 6, to zrobi update i będziesz mógł podejrzeć w nim co się zmieniło i nauczyć się nowych rzeczy..
EDIT: kurs ma prawie 50
- 1
@szalony_kefir: Może książka Spring in Action, jest wydanie z 2018r
- 0
Jak w springu najlepiej zabezpieczyć aplikacje webow'a aby każdy user mógł wykonywać tylko swoje akcje np. edytować/usuwać tylko swoje posty? Czy można do tego jakoś użyc spring security czy raczej nie?
#programowanie #java #spring
#programowanie #java #spring
Jakie są zalety tworzenia zapytań za pomocą entityMangera nad tymi z JpaRepository z Spring Data JPA? Zawsze używałem tego drugiego i zastanawiam się czy powinienem ogarniac też to pierwsze
#java #hibernate #spring #programowanie
#java #hibernate #spring #programowanie
- 2
@TrueHarmony: W eM po prostu piszesz zapytania SQLowe lub HQLowe, w JEE nie było Spring Data :P. Ale w JpaRepository też to możesz robić adnotacją @Query.
@TrueHarmony: przy dłuższych, skomplikowanych zapytaniach korzystałbym z entityManagera - definiowanie długich zapytań w adnotacji @Query tworzy imo ciężki do zrozumienia clusterfuck
Problem z filtrami mam w springu.
Zdefiniowałem sobie filtr na ścieżkę /login, który służy do generowania tokenu. Wcześniej w HttpSecurity ustawiłem, że każdy może pod /login wykonać posta (w celu przesłania danych logowania). Tylko, że jak wysyłam posta to filtr się nie odpala, a jak geta to się odpala. O co chodzi xD
Kod
https://pastebin.com/Yvu8JYdZ
Zdefiniowałem sobie filtr na ścieżkę /login, który służy do generowania tokenu. Wcześniej w HttpSecurity ustawiłem, że każdy może pod /login wykonać posta (w celu przesłania danych logowania). Tylko, że jak wysyłam posta to filtr się nie odpala, a jak geta to się odpala. O co chodzi xD
Kod
https://pastebin.com/Yvu8JYdZ
Komentarz usunięty przez autora
- 0
@Bruno_: @marcinkovvsky: Problem był w tym, że w configu HttpSecuirty nie był wyłączony csrf
W przypadku restowego api nie ma to znaczenia, atak csrf działa w oparciu o przesyłane ciasteczka a ja tego nie robię i ogólnie w przypadku resta nie powinno się tego robić bo jest bezstanowy
http.csrf().diable().cors()W przypadku restowego api nie ma to znaczenia, atak csrf działa w oparciu o przesyłane ciasteczka a ja tego nie robię i ogólnie w przypadku resta nie powinno się tego robić bo jest bezstanowy
#spring #java Jak poprawnie napisać własną metodę toString() ? odnosząc się do mojego pytania na stacku i odpowiedzi do niego , próbowałem coś w stylu " return this.getName()+"," this.Kolejnawartość" .
W skrócie, mam rekurencję w kodzie, toString klasy Animals nie może wyświetlić toString Tags i tak w kółko. Jakieś sugestie ?
W skrócie, mam rekurencję w kodzie, toString klasy Animals nie może wyświetlić toString Tags i tak w kółko. Jakieś sugestie ?
W Tags.toString() nie wywoluj Animals.toString() albo w Animals.toString() nie wywołuj Tags.toString()
@lukaszwasyl: To nie problem z toStringiem czy hashCodem, tylko problem z mapowaniem encji jakie masz. Nie tworzysz DTO i zwracasz sobie na front encję która ma bezpośrednio inną encję, która ma twoją encję. Infinite recursive loop.
3 wyjścia.
Jeśli wystawiałbyś restowe API to możesz użyć adnotacji @JsonManagedReference i @JsonBackReference, błąd nie wystąpi.
Możesz stworzyć poprawny model i używać DTO.
Możesz stworzyć relację unidirectional, w tym momencie ci
3 wyjścia.
Jeśli wystawiałbyś restowe API to możesz użyć adnotacji @JsonManagedReference i @JsonBackReference, błąd nie wystąpi.
Możesz stworzyć poprawny model i używać DTO.
Możesz stworzyć relację unidirectional, w tym momencie ci
- 0
Mirkasy, co polecacie do monitorowania mikroserwisów Spring Boot? Coś prostego w konfiguracji i lekkiego. Nie musi być kombajn.
#java #spring #springboot #programowanie
#java #spring #springboot #programowanie
@victordeleco2: micrometer + prometheus + grafana
- 0
@beethoven: up
Jakiś mirkas pomógłby z spring security w aplikacji? Mam userów w bazie i za nic nie wiem jak skonfigurować security żeby walidowalo login i hasło i po tym przenosiło na jakiś homepage. Aplikacja w Spring MVC.
#java #spring #springboot #thymeleaf #programowanie
#java #spring #springboot #thymeleaf #programowanie
Komentarz usunięty przez autora
- 0
@Kresse: @rekoj: @Dick_Mahoney: Wrzuciłem to na gita: link
Ten userdetails mi nie działał, wgl nie dało się zalogować. Role wyrzuciłem żeby było prościej.
Ten userdetails mi nie działał, wgl nie dało się zalogować. Role wyrzuciłem żeby było prościej.
Mirki od #java #programowanie - mam firmowego laptopa, wszystko się tam zgadza (16gb ram, SSD) poza prockiem - i5 ale jakiejś nowszej jeśli nie najnowszej generacji, no i system się nie zgadza - Windows 10, ale do tej pory nie miałem żadnego powodu do narzekań.
Co robię - tworzę sobie prostą paczkę ze #springboot (webappka z małą ilością komponentów Springa), mam jakiś tam model bazy i
Co robię - tworzę sobie prostą paczkę ze #springboot (webappka z małą ilością komponentów Springa), mam jakiś tam model bazy i
- 0
@sprayy: Ale intellij chyba nie wspiera w pełni Springa w wersji Community? A potrzebuję Ide do pracy zarobkowej. No dobra, firma bogata to może mi kupi xD Ciężko się przestawić po latach pracy w Eclipsie?
- 0
@dziki: nie wspiera to chyba złe słowo bo bez przeszkód zrobisz apke w spring'u. Nie ma kilku bajerów które widzę w Ultimate ale i tak jest lepszy od STS.
Jak przyzwyczaisz się do struktury (chyba tak to najlepiej nazwać) projektów w Intellij to pójdzie Ci z górki. Wg. mnie o niebo lepszy od Eclipse, płynniej działa i jest bardziej intuicyjny.
Jak przyzwyczaisz się do struktury (chyba tak to najlepiej nazwać) projektów w Intellij to pójdzie Ci z górki. Wg. mnie o niebo lepszy od Eclipse, płynniej działa i jest bardziej intuicyjny.
#programowanie #spring
Mirasy, zakladajac ze jest jakis serwer ktory udostepnia rest api. Moja aplikacja musi wykonywac bardzo duzo pojedynczych zapytac i w zaleznosci od odpowiedzi ( ktora juz zmapuje na pojo ) podejmowac odpowiednie kroki. Do samego zapytania używacie restTemplate czy w jaki sposób to robicie?
Mirasy, zakladajac ze jest jakis serwer ktory udostepnia rest api. Moja aplikacja musi wykonywac bardzo duzo pojedynczych zapytac i w zaleznosci od odpowiedzi ( ktora juz zmapuje na pojo ) podejmowac odpowiednie kroki. Do samego zapytania używacie restTemplate czy w jaki sposób to robicie?
@mediateh7 Zależy od poziomu skomplikowania API, jak coś prostego to możesz próbować Feign'a.
konto usunięte via Wykop Mobilny (Android)
- 0
@mediateh7: retrofit lub feign
















#programowanie #java #spring