U mnie na działce widać znaki wiosny. Z ziemi zaczęły wyrastać już na początku stycznia. #wiosna #kwiaty #rosliny #roslinkarosnie #przebisnieg #przebisniegi #spring #przedwiosnie
Wszystko
Najnowsze
Archiwum
@Muodyhuopiec1919: Przebiśniegi wychodzą spod śniegu. Wczoraj w jednego wdepnąłem, pół godziny bredziłem w kałuży, żeby wyczyścić
- 0
Komentarz usunięty przez autora
- 0
Da sie jakoś wydobyc id przy wstawianiu elementu do bazy? Mam wygenerować url na podstawie id elementu wstawianego.
#programowanie #java #spring
#programowanie #java #spring
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

















Teraz
Komentarz usunięty przez autora
w tej chwili jest jeszcze inny problem, wyciągając dane z CustomerRepository zostaną wyciągnięte też te dane z users, które mają role specyficzną dla Provider, żeby to ograniczyć zobacz na @DiscriminatorColumn