Otwarte Szkolenie Live: Transakcje w Spring Boot

Poznaj transakcje, rodzaje izolacji i propagacji, oraz jakie problemy one rozwiązują w cyklu tworzenia aplikacji internetowych z wykorzystaniem baz danych!

W trakcie szkolenia Live połączonym z LiveCodingiem:
✅ Poznasz zbiór właściwości ACID i jego rolę przy tworzeniu aplikacji
✅ Opowiem Ci transakcjach oraz poziomach izolacji transakcji
✅ Na przykładach w kodzie pokażę Ci jak zarządzać transakcjami wykorzstując do tego mechanizm propagacji

⏰ Słyszymy się 28
SoftBull - Otwarte Szkolenie Live: Transakcje w Spring Boot 

 Poznaj transakcje, r...
@ArcadiusK: nie wiem czy tutaj powód jest ten sam, ale spotkałem się już z takimi praktykami, miało to na celu zebrać grupę możliwie najwierniejszych klientów, którzy z większym prawdopodobieństwem kupią płatne materiały. Czyli zbieranie klientów na jakość, a nie ilość.

Jeśli film masz tylko na żywo i nie ma możliwości go obejrzeć ponownie, to tworzy to takie złudzenie, że jest to jakiś elitarny materiał tylko dla wybranych i jednocześnie w zasadzie
Dzisiejszego dnia wpada kilka ofert z kategorii #java, dla chętnych na wyjazd do #szwajcaria lub #niemcy ( ͡º ͜ʖ͡º)

(SwissDevJobs.ch | LinkedIn | Twitter | Facebook)
(GermanTechJobs.de | LinkedIn | Twitter | Facebook)

Tag do obserwowania / czarnolistowania: #swissdevjobs

---------------------------------------------------------------------------

Software Developer | TestingTime AG 
[Zurich] [85’000 - 110’000 CHF] [Senior] [Full-Time] [English]
https://swissdevjobs.ch/jobs/TestingTime-AG-Software-Developer

Software Engineer | Swissquote 
[Gland] [90’000 - 120’000
Pobierz SwissDevJobs - Dzisiejszego dnia wpada kilka ofert z kategorii #java, dla chętnych na...
źródło: comment_1647513110aU0U3DWqYVuKduG0yibL5W.jpg
Mam aplikacje w #java #spring i mam w srodku projektu plik build.gradle.kts - co tam powinno byc w srodku zeby aplikacja sie skompilowala do fat jar? Na razie mam tam w srodku:

tasks.withType {
manifest {
attributes["Main-Class"] = "pl.wykop.przepyszna_frytka.Appka"
}
}

ale jak kompiluje apke za pomoca ./gradlew build do jarki i chce ta jarkie gdzies odpalic (np w #docker) to mi wyskakuje, ze nie ma zaleznosci np od springa (mimo
Mamy to! Aż 329 programistów wzięło udział w moim wczorajszym, otwartym szkoleniu gdzie tematem przewodnim był ➡️Spring Data.

W trakcie liveCodingu, na praktycznym przykładzie systemu obsługi zleceń przerobiliśmy:
✅Implementacje związków miedzy relacjami - 1:1, 1:N, 1:M
✅Zabębniliśmy się w asocjacje unidirectional i bidirectional, ich implementacje, oraz omowilismy kiedy, którą stosować
✅Wykorzystaliśmy możliwości HQL do definiowania własnych zapytań

✨️ Dla wszystkich, którzy nie zdążyli się załapać na szkolenie - dobra informacja! Jutro (10/03/2022
Pobierz SoftBull - Mamy to! Aż 329 programistów wzięło udział w moim wczorajszym, otwartym sz...
źródło: comment_1646848290DsISPfER2qBuZ1BeZibRIz.jpg
➡️Szkolenie Spring Data⬅️

7 marca o 19:00, słyszymy się na szkoleniu, gdzie pokażę Ci jak prawidłowo zaimplementować związki – jeden do jednego, jeden do wielu, oraz wiele do wielu. Przykłady zrealizujemy na praktycznych przykładach, które zapadną Ci w pamięć!

✅ Dowiesz się jak implementować związki 1:1, 1:N, M:N
✅ Przedstawię Ci konfigurację jednokierunkową i dwukierunkową
✅ Wykonamy bardziej zaawansowane zapytania JPA

⏰ Słyszymy się 07 marca o 19:00! Całość szkolenia zajmie nam
Pobierz SoftBull - ➡️Szkolenie Spring Data⬅️

 7 marca o 19:00, słyszymy się na szkoleniu, ...
źródło: comment_1646412757VHibgenklaKigA4pdy6wxo.jpg
Taka sytuacja
Potrzebuję wyświetlać 1000 ostatnich wierszy z bazy.
No więc paginacja i sortowanie po id malejąco.

Ale mamm kilka tabel i one mają swoje własne id z auto increment.
Jak w springu to najlepiej połączyć? Id się powtarzają między tabelami.

1. Pominąć id, zrobić union, sortować po dacie utworzenia?
2. Do każdej tabeli dodać kolumnę z id które będzie unikalne w całej bazie i skryptem dopisać do istniejących wierszy.

#spring #
@100x: od biedy możesz utworzyć nową tabelkę foo, w której będziesz miał takie pola

id_w_tabeli_źródłowej | nazwa_tabeli_źródłowej | insert_timestamp
i triggery after insert na wszystkich tabelach źródłowych żeby po dodaniu nowych wierszy do nich, dodawała się też informacja do tabeli foo
Hej mirki, mam debilny problem:
robię sobie zadanko z hyperskill.org, w którym mam usunąć z bazy danych H2 (treść w obrazku poniżej). Ogólnie metoda w kontrolerze jest prosta jak konstrukcja cepa:

@DeleteMapping("/api/recipe/{id}")
public void deleteRecipe(@PathVariable Long id) {
recipeService.deleteRecipeById(id);
}

No i co bym nie robił, nie mogę przejść testu jednostkowego. W zależności czy używam @PathVariable czy @RequestParam dostaję HTTP 500 albo HTTP 400. Zwracanie na chama HttpStatus.NO_CONTENT też nie pomaga xD
Pobierz arct2 - Hej mirki, mam debilny problem: 
robię sobie zadanko z hyperskill.org, w któ...
źródło: comment_16455688064x5zhyrjmjQPNZpn6bB8ex.jpg
@arct2: 1. Patrz konsolę, ona prawdę Ci powie co jest nie tak. Jak byś wkleił stacktrace to pewnie nie trzeba by było analizować kodu.
2. Dodaj @Transactional do metody usuwającej. Widzę po importach że próbowałeś :)
3. deleteRecipeById zrób metodą void, bo nie zwrócisz Recipe skoro go chwilę temu usunąłeś.
➡️Szkolenie Spring MVC⬅️
Ponad 350 programistów - uwagę tylu osób udało mi się skupić na moim ostatnim LiveStreamie ze Spring MVC. Omówiliśmy zagadnienia takie jak:
✅ Obsługa żądań przez Spring
✅ Wzorzec architektoniczny MVC
✅ WyLiveCododowaliśmy przykładową aplikacje dla systemu fakturowego z wykorzystaniem Spring Web i biblioteki Bootstrap
✅ Skomunikować Backend z Thymleaf, ale również z Angular / React oraz skonfigurowaliśmy dla nich Cross-Origin.

⏰ Całość szkolenia zajęła nam blisko 1,5h i
Pobierz SoftBull - ➡️Szkolenie Spring MVC⬅️
Ponad 350 programistów - uwagę tylu osób udało m...
źródło: comment_1645558167nqfGpQNCRuAKNoffsqeCKc.jpg
Robię findBySth(SELECT) potem ifPresent, jeśli false to tworzenie nowego obiektu i save(INSERT).
Teraz jest samo @Transactional.
Bazy danych do testów MariaDB z domyślnym silnikiem, PostgresSQL.
Jeśli wyśle z unit testu drugie zapytanie w czasie wykonywania pierwszego to w bazie w tabeli są już 2 wiersze.
W PostgreSQL domyślnym poziomem izolacji jest Read committed.

Tam gdzie nie trzeba nic zwracać to można dać do kolejki i tyle.
Są jednak przypadki, że endpoint
@100x:
Czyli szukasz czegoś na bazie, jak tego nie znajdziesz to tworzysz to i zwracasz użytkownikowi, tak?
Twój problem polega na tym, że jeżeli w tym samym czasie, dwie osoby wywołają szukanie, to duplikuje Ci rekordy w bazie danych?
Jeśli dobrze rozumiem, to możesz chyba ustawić unikalność na bazie. Wtedy drugi insert się wywali i nie będziesz miał duplikatów.
via Wykop Mobilny (Android)
  • 0
@100x:
Najłatwiej mieć unikatową kolumnę jak @kenshin985 napisał. Od biedy w niektórych zastosowaniach nada się też kolumna z hashem kilku pól modelu.
Jeśli masz jakąś zależność od innych rekordów, to IMO lock będzie drugą najlepszą opcją. Typu relacja AUTO do wielu CZESCI. Zalockowanie auta spowolni tylko równoległe operacje na tym aucie, a nie niepotrzebnie wszystkie na tym endpoincie.

Opcja 2 to już prawie inwalidacja cache i tylko czekać na bugi i
➡️LiveStream: Spring MVC⬅️
21 lutego o 19:00, słyszymy się na kolejnym szkoleniu w którym pokażę Ci działanie wzorca architektonicznego MVC w praktyce.

✨️Zbudujemy aplikacje backendową z wykorzystaniem Spring Boot, a następnie zintegrujemy ją z różnymi technologiami frontendowymi: ✅Angular ✅React ✅Thymeleaf, po to, abyś zyskał rozeznanie, który z nich najlepiej dobrać w zależności od sytuacji.

Zapisz się na wydarzenie już teraz!
➡️ https://bykowski.pl/spring-mvc/

#programowanie #naukaprogramowania #java #backend #technologia #informatyk #ciekawostki #jvm #byczazagroda #
Pobierz SoftBull - ➡️LiveStream: Spring MVC⬅️
21 lutego o 19:00, słyszymy się na kolejnym sz...
źródło: comment_16450380554kjS7ETKCDuatepXIxcbyT.jpg
Dzisiejszego dnia wpada kilka ofert z kategorii #java, dla chętnych na wyjazd do #szwajcaria lub #niemcy ( ͡º ͜ʖ͡º)

(SwissDevJobs.ch | LinkedIn | Twitter | Facebook)
(GermanTechJobs.de | LinkedIn | Twitter | Facebook)

Tag do obserwowania / czarnolistowania: #swissdevjobs

------------------------------------------------------------------------------------------------------------------------------------------------------

Security Engineer, Zurich | GetYourGuide 
[zurich] [135’000 - 150’000 CHF] [Regular] [Full-Time] [English]
https://swissdevjobs.ch/jobs/GetYourGuide-Security-Engineer-Zurich

Junior Software Engineer (w/m/d) · 80% – 100%
Pobierz SwissDevJobs - Dzisiejszego dnia wpada kilka ofert z kategorii #java, dla chętnych na...
źródło: comment_1644487647ofUzhmbeqRqz5fCoDnsZQe.jpg