Moją publikację Spring Boot 2: LiveBook można jeszcze zamówić do 30 stycznia!

To skondensowana i łatwo przyswajalna pigułka wiedzy, która solidnie wprowadzi czytelnika w świat Spring Boot’a. To specjalnie zaprojektowana, lekka forma publikacji, która:
▶️ Pozbawiona jest nadmiernej narracji.
▶️ Skupia się tylko na najczęściej stosowanych i życiowych przypadkach.
▶️ Jest ultra cienka i liczy niecałe 250 stron
SoftBull - Moją publikację Spring Boot 2: LiveBook można jeszcze zamówić do 30 styczn...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

▶️ Nowe frameworki JVM
▶️ Dlaczego Spring uznawany jest za problematyczny?
▶️ Kiedy i co nowego w nowego w Spring 6
▶️ Czego warto się uczyć i metody nauki ze mną!

O tym opowiadam w swoim ostatnim wykładzie. Dostęp otwarty jedynie do czwartku.
SoftBull - ▶️ Nowe frameworki JVM
▶️ Dlaczego Spring uznawany jest za problematyczny...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirkasy,
potrzebuje łopatologicznego wyjaśnienia odnośnie działania tokenu JWT.
1. Na podstawie credentiali tworzymy token JWT.
2. Podpisany zostaje algorytmem RSA a więc mamy klucz prywatny i publiczny.

Teraz gdzie przechowujemy nasz klucz prywatny?
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@victordeleco2 Musi go albo mieć wprowadzony w procesie konfiguracji. Część standardów jak openid connect specyfikuje też format endpointa zawierającego informacje o wspieranych funkcjonalnościach oraz potrzebne klucze publiczne.
W każdym bądź razie musisz dostarczyć albo sam klucz publiczny albo namiary gdzie go szukać.
  • Odpowiedz
@Waffenek: Rozjaśniło mi się trochę. Stworzyłem sobie szybki projekt spring bootowy, gdzie generuje taki token JWT i pózniej przy kolejnych requestach dołączam go do headeru, odparsowuje i cos tam z niego biore. Dziękuje Ci za odpowiedzi, mega pomocne i wyczerpujące. Kolegom powyżej również.
  • Odpowiedz
Kurczę nie chcę mi się zbudować a w zasadzie uruchomić projekt na Spring Boocie i nie mogę dojść czego nie mam.

Wcześniej raz w życiu się bawiłem z Hibernate i wszystko śmigało. Mógłby ktoś zerknąć i rzucić radę, co zrobić, żeby to się prawidłowo skompilowało? Jakieś dodatkowe sources, których brakowało doinstalowałem.

Póki co jest to początek projektu, jedyne co, to połączyłem MySQL'a i ustawiłem properties i stworzyłem MainController, w którym wywołuje zwykły
Yakooo - Kurczę nie chcę mi się zbudować a w zasadzie uruchomić projekt na Spring Boo...

źródło: comment_1642896771kbH8lEfhlG7AEIkT0KRyis.jpg

Pobierz
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Yakooo: jak się aplikacja łączy z bazą to hibernate sobie ten dialekt ustawia, no a jak nie było połączenia z bazą, to hibernate błąd wywalał bo brakowało mu informacji
  • Odpowiedz
@Yakooo: Jak tak teraz po nocach siedzisz, to strach pomyśleć jak Cię do Sprintów Scrum Master zaprzęgnie :) Będziesz zasuwał elegancko na słupki. Widzę w Tobie potencjał na dobrego Java Developera.
  • Odpowiedz
Trendy w Springu w 2022

▶️ 24 stycznia o 19:00, spotykamy się na LiveStreamie, by wspólnie przyjrzeć się zmianą jakie nas czekają. Weźmiemy pod lupę też rynek pracy oraz nadchodzącym trendom w tym kierunku trendom.
▶️ Sprawdzimy zmiany, które nadchodzą w Springu i Spring Boot, zobaczymy czego jest rozsądnie się jest uczyć na ten moment.
▶️ Pokaże Ci też moje autorskie 3 drogi nauki Spring Boota ze mną!
▶️ Zapisz się na wydarzenie już teraz
SoftBull - Trendy w Springu w 2022

▶️ 24 stycznia o 19:00, spotykamy się na LiveSt...
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Piszę apkę przy użyciu webflux, jednocześnie stosując DDD i mam zagwozdkę, mianowicie, w warstwie domenowej mam UserRepository, który później jest implementowane w warstwie infrastructure. Z racji tego, że webflux zakłada, że mamy posługiwać się Mono ~~i Flux ~~zastanawiam się czy UserRepository jako argument w metodach powinien przyjmować podstawowy obiekt czy może już na tym poziomie powinien przyjmować Mono~~. Dla przykładu:

public interface UserRepository {

Mono save(Mono user);
Mono findByUsername(Mono username);
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@FalscheFreunde: nie chodzi o DDD, tylko o rozsądek. Tak samo nie zaleca się przekazywać optionala jako argument: zazwyczaj lepiej zrobić check na zewnątrz a w środku metody zakładać, że wartość zawsze jest
  • Odpowiedz
@Farezowsky: Oficjalna dokumentacja jest bardzo dobra, IMO nawet lepsza niż filmik bo można kopiować kod. Mają też przykłady aplikacji dla każdego z modułów w repo.
Patrz też baeldunga, ma sporo przykładów.
  • Odpowiedz
Przeprowadzka Developera Do Innego Kraju – Czy To Takie Trudne?

▶️ Z pewnością niełatwe! Zwłaszcza, że każdy z nas ma inną sytuacje i rzeczy które bierze pod uwagę!
▶️ Jeśli chcesz zobaczyć na co zwracałem uwagę, oraz co motywowało mnie do podjęcia niełatwej decyzji to koniecznie zobacz mój ostatni materiał vlogowy.
▶️ Opowiadam również o tym dlaczego nie warto się bać, oraz co zrobić, aby strach nie blokował nas przy podejmowaniu decyzji.
SoftBull - Przeprowadzka Developera Do Innego Kraju – Czy To Takie Trudne? 

▶️ Z p...
  • 64
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

No zaraz mnie coś strzeli, jak w spring boocie mogę zaimportować zewnętrzny plik js do mojego template? wrzucam go do folderu static, potem
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Killeras: @PaaD: Robię jak w powyżej i dalej nie działa, nie mam pojęcia o co tutaj chodzi. Najgrosze jest to, że jak sobie wrzuciłem ten plik do Web serwer for chrome, udostepniam pod adresem localhos:8887 i wkleję do kodu <script scr="localhost:8887/newFile.js> to działa...
  • Odpowiedz
Programistyczny Konkurs! Do wygrania 10 zestawów nagród

Wraz z Centrum Techniki Morskiej w Gdyni przygotowaliśmy programistycznych konkurs w ramach którego nagradzamy aż 10 najlepszych projektów.

Wystarczy stworzyć system śledzenia jednostek morskich – z wykorzystaniem dowolnego źródła API. Dokładne przeznaczenie aplikacji zależy od Ciebie – ponieważ oceniana będzie jakość kodu, pomysł oraz wykorzystane technologie.

Konkurs
SoftBull - Programistyczny Konkurs! Do wygrania 10 zestawów nagród

Wraz z Centrum ...

źródło: comment_1638028337Nuamxukmb5Zx2sSEYiCbp5.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Co do kryteriów to pozostają one kwestią indywidualną jurora.


@SoftBull: No to mozna sobie odpuscic taki konkurs. Prace beda oceniane pod katem osobistych preferencji, uprzedzen i innych heurystyk w wydawaniu osadow.

To juz lepiej porobic osobiste projekty.
  • Odpowiedz
@briskmann: masz racje, na pewno będzie to oceniane pod kątem osobistych doświadczeń i preferencji. W sumie większość konkursów, którego celem jest jakiś efekt finalny oceniany przez człowieka, to tak działa.
Jeśli masz ciekawe osobiste projekty to może faktycznie nie warto się zatrzymywać.
Ten konkurs jest dla osób, które chcą rozwinąć swoją wiedzę budując ciekawy projekt do portofilio, jednocześnie zgarnąć feedback, sprawdzić się i mieć szanse wygrać jeden z dziesięciu zestawów
  • Odpowiedz
Programistyczny Konkurs! Do wygrania 10 zestawów nagród

Wraz z Centrum Techniki Morskiej w Gdyni przygotowaliśmy programistycznych konkurs w ramach którego nagradzamy aż 10 najlepszych projektów.

Wystarczy stworzyć system śledzenia jednostek morskich – z wykorzystaniem dowolnego źródła API. Dokładne przeznaczenie aplikacji zależy od Ciebie – ponieważ oceniana będzie jakość kodu, pomysł oraz wykorzystane technologie.

Konkurs
SoftBull - Programistyczny Konkurs! Do wygrania 10 zestawów nagród

Wraz z Centrum ...

źródło: comment_1638027714ZFCjMbQCBOrsgW9FSizmEg.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak stoicie w swoich/służbowych projektach z wersją Spring Boota? Rozwijam swój projekt po godzinach i po wertowaniu stacka click wychodzi na to, że spring boot 2.5 w mojej apce nie wspiera już zuula i innych gratów, które do tej pory używałem przy komunikacji i obsłudze mikroserwisów. Zacząłem się zastanawiać czy jest sens przepisywać apkę tak żeby używała nowych featerów ze spring clouda przy jednoczesnej obsłudze javy 17. Olać to i zostać przy
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@happy3dprints: U mnie mieliśmy do niedawna 1.5.x, ale na początku tego miesiąca podbiliśmy do 2.5.5. Trochę było problemów i nie wiadomo czy jeszcze coś nie wyskoczy w trakcie, czego nie zauważyliśmy. Apka wstaje 3x szybciej.
  • Odpowiedz
25 listopada o 19:00, spotykamy się na LiveStreamie, gdzie stworzymy interaktywny system oparty na mapach do lokalizowania jednostek morskich! Nauka ciekawych rzeczy na praktycznym projekcie.

➜ Połączymy się z serwerem udostępniającym informacje na temat jednostek morskich. Komunikacja odbędzie się poprzez REST API przy autoryzacji OpenID.
➜ Do warstwy prezentacji wykorzystamy interaktywne mapy, na którą naniesiemy jednostki znajdujące się na morzu. Użyjemy do tego silnika map od OpenStreetMap
➜ Całą implementacje wykonamy krok po kroku,
SoftBull - 25 listopada o 19:00, spotykamy się na LiveStreamie, gdzie stworzymy inter...
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirasy,
Jeżeli mamy w springu np. pool size=5.
I odpalamy asynchroniczną metodę void (@Async) i nie ma wolnego wątku to ona czeka na wolny wątek blokując "główny wątek" czy czeka na wolny, ale nie blokuje "wątku głównego" i idzie dalej a metoda async wykona się kiedyś, gdy zwolni się wątek?
#java #spring #springboot
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

No to następne zadania trafiają na kolejkę. Jak kolejka się zapełni, to następne zadania będą się wypieprzac przy próbie dodania do puli.
  • Odpowiedz
Mam zagwozdkę dotyczącą edytowania danych w Spring JPA. Gdy chcę edytować dane, np encji Book, tworzę sobie do tego specjalne DTO, które nie zawiera np pól bookID, czy createdTime, bo tego nie chcę edytować, ale też przecież nie zawsze chcę edytować WSZYSTKIE inne pola. Próbuję edytować np sam tytuł książki, to pozostałe pola mi się „zerują”. Mam adnotację Transactional.

#springboot #java #naukaprogramowania #programowanie
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@stanleymorison: Wystarczy, że zrobisz findBy... i dostaniesz encję z danymi. Jak masz plugin np modelmapper, to mając dto i encję robisz .map(dto, entity). Możesz go skonfigurować, żeby przy mapowaniu pomijał pola z nullami, więc przeniesie tylko to, co jest obecne w Dto, czyli to, co Jackson przeparsował z JSONa.
  • Odpowiedz
Jak sprawniej osiągnąć takie stanowiska jak lider zespołu czy architekt? Oto 5 praktycznych wskazówek na budowanie ścieżki kariery i wyjście z seniorzone.

Seniorzone miejsce to gdzie Twoja firma postrzega Cię tylko jako programistę i nie masz możliwości spełnić się na takich stanowiskach jak lider zespołu, menager czy architekt.

1. Bądź oparciem dla potrzebujących pomocy.
Często developerzy mają problem z komunikowaniem swoich trudności.
SoftBull - Jak sprawniej osiągnąć takie stanowiska jak lider zespołu czy architekt? O...
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@SoftBull: Przecież bycie seniorem to najlepsze co może spotkac programistę. Zgarnia duży hajs a za nic nie odpowiada praktycznie. Nie gada z klientem, w------e jedym słowem.
Menager i inny lead to musisz być jakimś dynamicznym oskarkiem. Nie ma to jak siedzenie w piwnicy i seniorowanie
  • Odpowiedz
Chcę dorzucić do swojej prywatnej apki mechanizm whitelistingu. Główne założenie jest takie, że mam cache w którym jest numer klienta/username i na podstawie tego albo wpuszczamy użytkownika dalej albo wyrzucamy mu 401 w przypadku braku rekordu w cachu. Pierwsze o czym pomyślałem to stworzenie customowego filtra w Spring Security coś na wzór click ale może doradzicie inne rozwiązanie. Dzięki!
#programowanie #java #springboot
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@jaca_66 dzięki za info. To co wyżej wrzuciłeś to mechanizm opiera się na whitelistowaniu ludzi po IP natomiast chciałbym żeby to się opierało na cachu i numerze klienta/usernamie po mojej stronie. Aktualnie mam kilka microservisów spiętych przez API-Gateway i to tutaj chciałbym umieścić to filtrowanie. Jeżeli miałby to być dodatkowy microservice to na etapie autoryzacji miałby to być dodatkowy strzał do niego i tam wykonać sprawdzenie czy dany użytkownik może wejść
  • Odpowiedz
Jak sprawnie awansować i zostać Senior Developerem? To wymagające, ale kiedy wiesz co robisz, to możesz przyspieszyć ten proces! Oto kilka wskazówek:

1. W nowej firmie zadawaj dużo pytań, by pokazać się jako osoba aktywna i zaangażowaną w swoją pracą.
2. Bądź świadomym i aktywnym uczestnikiem spotkań firmowych. Pomagaj innym, mniej zorientowanym współpracownikom – niech widzą w Tobie nieformalnego organizatora.
3. Rzetelnie przygotowuj się na spotkania (głownie daily), aby wnosiły prawdziwą wartość do pracy
SoftBull - Jak sprawnie awansować i zostać Senior Developerem? To wymagające, ale kie...
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Kosciany: Senior, a senior to dwa różne światy, dla mnie senior to osoba przede wszystkim która przeżyła niejedno wdrożenie, z dobrą wiedzą na temat architektury systemów, projektowania architektury, pomysłów jak zapewnić spójność danych w architekturze mikroserwisów, w jaki sposób projektować mikroserwisy odporne na awarie systemu, downtime. Osoba ta zazwyczaj ma około 6-8 lat doświadczenia w pisaniu jakiegokolwiek kodu w dowolnym języku, a oprócz tego ma dobre zdolności komunikacyjne i nie
  • Odpowiedz
Jak mogę w #spring #springboot zapobiec usuwaniu danych w bazie? Mam encje produkty i zamówienie i jak usunę produkt to wywala mi go też z zamówienia a chciałbym zabronić usuwania jak mam produkt w zamówieniu tylko teraz nie wiem czy pisać metodę co sprawdzi po prostu w zamówieniach czy ten produkt tam jest czy da się zrobić jakoś adnotacjami w encji? #java #programowanie
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@nors: jak to na wykopie bywa, zrób tak jak radzą tylko trochę odwrotnie ( ͡° ͜ʖ ͡°)
- to jest do zablokowania na poziomie SQL poprzez użycie kluczy obcych - wtedy w teorii możesz tego nie ruszać w Javie tylko wychwytuj odpowiednie exceptiony jak nie pójdzie i wytłumacz użytkownikowi w czym problem,
- triggera ani kaskady jak wyżej NIE potrzebujesz bo NIE chcesz usuwać klientom zamówień
  • Odpowiedz
@nors: Ja tylko dodam, że usuwanie produktów z bazy, to bardzo zły pomysł! Towary powinny mieć status czy są aktywne (do zamówień lub bardziej złożony system) i tym powinna być sterowana ich widoczność. Ma to znaczenie dla dokumentów historycznych (dostawy, zamówienia, faktury i wiele innych), na których występują te towary.
  • Odpowiedz