@Nofenak: Jak testujesz, to testujesz tylko wejście i wyjście na jednym endpoincie? A może odpalanie kilku endpointów jeden po drugim? Zaglądasz do bazy danych co się tam dzieje? Mockujesz lub mockujesz i weryfikujesz użycie niektórych mocków?

Zakładając, że chcesz przetestować aplikację i zasilić ją najpierw danymi do testów, bez testowania samego dodawania tych danych:

Kilka pytań odnośnie repozytoriów: Jakiego repozytorium chciałbyś użyć do zapisu danych do zasilenia bazy do testów? Co
✨️6 Mitów o Spring Boot, w Które Wciąż Wierzysz!✨️

Ostatnio napisałem coś, co wzbudziło sporo kontrowersji. Pomyślałem więc, że wykop również chcieliby się wypowiedzieć na ten temat. Wiadomo, Wykop lubi się nie zgadzać – idealne miejsce do dyskusji!

Oto mity, które postanowiłem obalić:
✅ Lombok oszczędza czas.
✅ Servlety to przeszłość.
✅ Thymeleafa już się nie używa. Lepszy jest Angular czy React.
✅ RestTemplate to przeżytek; teraz rządzi WebClient.
✅ Zabezpieczenia w
SoftBull - ✨️6 Mitów o Spring Boot, w Które Wciąż Wierzysz!✨️

Ostatnio napisałem coś...

źródło: 6-legend-o-springu

Pobierz
  • 1
@Icouldbeyourmom:

dlaczego dostęp do zapisów live jest tak absurdalnie drogi w porównaniu z innymi książkami, kursami itd?

Dużo osób ceni sobie sposób, w jaki tłumaczę i jak potrafię przystępnie oraz ciekawie przedstawiać niejasne zagadnienia. Dzięki temu są w stanie zapłacić więcej niż za materiał dotyczący Springu od innego prowadzącego. Cena jest więc uwarunkowana nie tylko moją stawką, która pozwala mi opracować wysokiej jakości szkolenie czy książkę, ale również popytem ze strony
✨️Szkolenie Live: Elastyczność Springa, Prędkość Redisa!✨️

Poznaj, jak potęga Springa łączy się z szybkością Redisa. Podczas szkolenia:
✅ Poznamy kluczowe założenia Redisa i jego praktyczne zastosowanie,
✅ Napiszemy API w Springu, wykorzystując wielopoziomowe cache'owanie Redisa,
✅Przeprowadzimy praktyczny test wydajności: Redis vs tradycyjne podejście.

Przykład dydaktyczny zrealizujemy w oparciu o jedno z zadań z "Kompendium Zadań Rekrutacyjnych dla Programistów w latach 2020-2023".
To doskonała okazja, aby zgłębić tematykę łączenia technologii Spring i Redis.
SoftBull - ✨️Szkolenie Live: Elastyczność Springa, Prędkość Redisa!✨️

Poznaj, jak po...

źródło: redis

Pobierz
Jakiś sposób, aby we frameworku Quarkus skonfigurować SSL do Mongo?

Ktoś stworzył pull requesta, lecz go nie zaakceptowano:
https://github.com/quarkusio/quarkus/pull/5893

Chyba w weekend zrobię kontrybucję do projektu.

Chodzi o to, że apka stoi na dockerze, truststore'y są w wolumenie, inne pluginy pozwalają określić lokalizację truststore, a ten jeden plugin nie i się z tym męczę.

#programowanie #java #spring #quarkus #docker
@SendMeAnAngel: Sprawdziłem temat i trzeba dopisać samemu w Quarkusie jak zrobił to tamten gość. Z drugiej strony to pokazuje trochę brak wsparcia jeszcze tego frameworka. Wiele razy konfigurowalalem SSL dla różnych rzeczy i zawsze była możliwość wskazania ścieżki.
✨️Szkolenie Live: Spring Boot i WebSockety w Akcji!✨️

WebSockety odgrywają kluczową rolę w komunikacji w czasie rzeczywistym, uzupełniając możliwości tradycyjnego protokołu HTTP. Podczas szkolenia:
✅ omówimy działanie i specyfikację protokołu WebSocket,
✅ przejdziemy przez proces tworzenia aplikacji czatu z wykorzystaniem Spring Boot 3,
✅ uruchomimy aplikację na serwerze, demonstrując jej działanie w praktyce.

To doskonała okazja, aby zgłębić tematykę WebSocket w kontekście Spring Boot. Zarezerwuj swoje miejsce korzystając z linku: https://live.bykowski.pl

SoftBull - ✨️Szkolenie Live: Spring Boot i WebSockety w Akcji!✨️

WebSockety odgrywaj...

źródło: websockety1200

Pobierz
Jak w takiej metodzie zrobić logowanie? Popsuć ten zapis tzn. usunąć wyrażenie lambda itd., czy można tam w jakiś ładny sposób wcisnąć loggera?

Drugie pytanie jest takie - czy powinienem używać w logach ID bazodanowego? W encjach mam tak właściwie trzy unikalne pola, tj. email jako username, id bazodanowe i uuid. Czy np. taki zapis "Event with ID X updated by user with ID Y" jest poprawny? Jak poprawnie powinny takie logi
V.....y - Jak w takiej metodzie zrobić logowanie? Popsuć ten zapis tzn. usunąć wyraże...

źródło: logging

Pobierz
Chyba już się trochę pogubiłem - uwierzytelnić możemy się za pomocą loginu i hasła, a jeśli chodzi o rodzaje autoryzacji to mogę powiedzieć, że jest autoryzacja bazująca na rolach, autoryzacja JWT i OAuth2, tak? Czy JWT i OAuth2 to uwierzytelnienie?

#java #spring
@VirtualSlimShady: nie możesz być autoryzowany, jeśli się nie uwierzytelnisz.

Autoryzacja: uprawnienia do zasobu.
Uwierzytelnienie: potwierdzenie swojej tożsamości.

Jak mogę dać Ci dostęp do mojego porfela, jak nie wiem, kim jesteś? To, że podajesz się za mnie, nie wystarczy: udowodnij, pokaż dowód tożsamości (uwierzytelnij się). A później możemy pogadać o uprawnieniach, jakie masz...

JWT, OAuth2 itp. to autoryzacja, ale uwierzytelnienie niejako załatwiają przy okazji.
@VirtualSlimShady: @draxgar:

Kluczową różnicą między uwierzytelnianiem a autoryzacją jest to, że uwierzytelnianie potwierdza tożsamość użytkownika (czy jesteś tym, za kogo się podajesz), podczas gdy autoryzacja kontroluje, co dany użytkownik ma prawo zrobić po tym, jak jego tożsamość została potwierdzona.

Terminologia może być czasem myląca, ale:

Uwierzytelnianie: To proces potwierdzania tożsamości użytkownika. Polega na dostarczeniu danych uwierzytelniających, takich jak login i hasło, aby system mógł zweryfikować, czy dana osoba faktycznie
???? Zanurzyłem się w świecie ofert dla Java Developerów na jednym z największych job boardów w Polsce! ????

???? Krótkie spostrzeżenia z 24 sierpnia 2023:
Na całej mapie Polski, w jednym z największych job boardów było jedynie 312 ofert pracy dla Javowców:
Java Junior – 38 ofert
Java Mid - 90 ofert
Senior Java – 184 oferty

Chcecie wiedzieć, jakie technologie są najbardziej pożądane przez pracodawców? ????????
Dowiedz się
SoftBull - ???? Zanurzyłem się w świecie ofert dla Java Developerów na jednym z najwi...
Mam 2 encje JPA w relacji one-to-many - Seat i Booking. Chciałbym pobrać Seat po id z Bookings ze statusem "ACTIVE'. Jeśli Booking nie miałby takich Seats to powinno zostać zwrócone Seat z pustą listą Bookings.

Takie query działa w konsoli do SQL:

select * from seats s left join bookings b on b.seat_id=s.id and b.status='ACTIVE' where s.id=1
Przerobiłem je na query do Spring Data JPA:

@query("select s from Seat s left
@Nofenak: Musisz najpewniej użyć podzapytania (piszę z palca więc na pewno nie pójdzie od razu). select * from seats s left join (select seatid from bookings b where and b.status='ACTIVE') as bo on bo.seatid=s.id where s.id=1
Chciałbym pobrać Screening (seans) z Seat (miejscem) i z Booking (rezerwacją) po bookingId. Screening ma relację one-to-many z Seat a Seat one-to-many z Booking (miejsce może mieć wiele rezerwacji, ale tylko jedna moża być aktywna, reszta musi być anulowana).
Napisałem taką metodę, ale dostaje MultipleBagFetchException:

@query("select s from booking_screening s join fetch s.seats se join fetch se.bookings b where b.id = :bookingId")
Optional<Screening> readByBookingId(@Param("bookingId") Long booking);

#java #spring #sql #naukaprogramowania #programowanie
Czytam długo o stateful vs stateless microservices i dalej nie czaję tematu i mam wrażenie, że każdy w google pisze co innego.

Jak mam koszyk w sklepie internetowym i dodaje produkty to mikroserwis, gdzie mamy endpoint /cart/addItem POST i zapisujemy w bazie koszyk jest stateless czy stateful? Bo teoretycznie w tym poscie wysyłamy id koszyka, które już wcześniej otrzymaliśmy z endpointa (więc kolejne requesty polegają na poprzednich) oraz produkty, a z drugiej
  • 0
@LazyInitializationException: Mam docker compose:

version: "3"
services:
api:
image: api
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/CinemaDb
- SPRING_DATASOURCE_USERNAME=postgres
- SPRING_DATASOURCE_PASSWORD=12345
- SPRING_JPA_HIBERNATE_DDL_AUTO=create
- SPRING_LIQUIBASE_ENABLED=false
build:
context: ./
dockerfile: Dockerfile
ports:
- "8080:8080"
depends_on:
- db
db:
image: postgres
ports:
- "5432:5432"
environment:
- POSTGRES_DB=CinemaDb
- POSTGRES_USE=postgres
- POSTGRES_PASSWORD=12345
@whoru: jeszcze pewnie do tego używają JUnit 4 wypuszczonego w 2006 roku albo Serializable z javy 1.1 o którym samo Oracle jedzie że to gówno XD jak mnie jeden z drugim pytaja na rozmowie to od razu jako czerwona flaga bo musi być jakieś ostre legacy
tubidubidam - @whoru: jeszcze pewnie do tego używają JUnit 4 wypuszczonego w 2006 rok...
Kurde, muszę się poradzić, bo chyba trochę się pogubiłem. Mam takie trzy metody jak na obrazku. Pierwsza zwraca profil użytkownika, jako argument przyjmuje użytkownika, który przychodzi z fasady. Jak widać, mapowanie i zwrot obiektu DTO. Zastanawiam się czy ten Optional ma tam sens. Wykorzystuję go w kontrolerze i dzięki temu zwracam status 200, albo 404.

Sama fasada o której wcześniej wspominałem wygląda tak, że jest w niej jedna metoda w której pobierany
V.....y - Kurde, muszę się poradzić, bo chyba trochę się pogubiłem. Mam takie trzy me...

źródło: kod

Pobierz
@draxgar: no to właśnie tak robię... wstrzykuję użytkownika i przepycham go przez wszystkie warstwy, przecież po to jest ta fasada. Tylko teraz przy API i JWT są dwa identyczne zapytania do tabeli użytkownika, pierwsze w filtrze i drugie w kontrolerze robi ta fasada i dlatego chcę to zoptymalizować żeby chociaż w obrębie jednego requestu nie było dwóch identycznych zapytań do bazy danych.