Siemanko, mam pytanie odnośnie nauki javy inb4(„ ugabuga masz roadmap.sh, było w---------j”) skończyłem książkę head first i teraz szukam dalszych książek do poszerzania wiedzy w tym temacie. Czy może rzeczywiście warto jest się uczyć z internetu? Materiału jest od zasrania nie wiadomo gdzie ręce włożyć wiec gdzie byłoby najlepsze źródło stricte wiedzy? Dlatego powtórzę szukam KSIĄŻKI fizycznej papierowej. Z góry wielkie dzięki za polecenia!!

#java #programowanie
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

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
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak mam klasę Product z polem price to lepiej nazwać metodę
- getProductWithLowestPrice
czy
- getCheapestProduct?
#java #naukaprogramowania

Jak lepiej nazwać metodę?

  • getProductWithLowestPrice 54.7% (29)
  • getCheapestProduct 45.3% (24)

Oddanych głosów: 53

  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#java #queue #programowanie
Mirki, czy widzicie jakieś zalety w użyciu kolejki zamiast REST ale w przypadku gdy mamy tylko komunikację synchroniczną (czekamy na odpowiedź). Mam w projekcie takie przypadki i zastanawiam się czy ma to w ogóle jakiś sens
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Saly: przecież masz ją w kodzie. Kolejka tylko zarządza priorytetem, przechowuje i rozsyła zdarzenia.
A architektura robi się skomplikowana, serwisy muszą komunikować się ze sobą, po jakimś czasie wszystko zaczyna gadać ze wszystkim. Każda głupia funkcja musi nagle przechowywać kolejkę, robić retry itd.
Przerabiałem to, na koniec nie wiadomo co się stało, kto nie dostał albo nie przetworzył.
  • Odpowiedz
@Whiskeyjack29: problem jest taki, że jak się ma te X expa to ogólnie robi się to co w robocie wymagają (czasami bez dokształcania) a nawet jak się cchesz dokształcić to często ciężko znaleźć jakieś sensowne źródło bo 90% to jest wannabe dev I tłumaczenie semantyki.
Później dochodzą jeszcze wzorce i na tym się kończy prosta edukacja. Obecnie sam mam ten problem.
Gość mi się pyta o jakieś Hashtables a ja
  • Odpowiedz
Siema, mam pytanie do osób na co dzień piszących backend w kotlinie:
jak radzicie sobie z brakiem package private?

Z dokumentacji dowiedziałem się, że jest jedynie modyfikator internal + samemu trzeba stworzyć moduł (gradlowy/mavenowy itp) tylko zastanawiam się czy to jest popularne do wydzielania osobnych mikrodomen/ficzerów?

Dla mnie to trochę strzelanie z armaty do wróbla. Sam package private w javie może nie jest wystarczający ale pozwala jakąś tam tę eknapsulację z ramach pakietu/ficzera uzyskać.
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Generyczny_nick Też tak myślałem ale po zaczynaniu pierdyliarda projektów i czytania drugiego pierdyliarda projektów wolę modern java od kotlin. W kotlinku owszem, jest więcej bajerków, ale te bajerki mają ogromny koszt którego nie widać na pierwszy rzut oka - complexity. To całe coding sugar jak extension functions, overloadowanie operatorów itp bardzo potem utrudnia czytelność.

Więc powiedziałbym tak: jeśli to throw-away projekt for fun to bier kotlina i się wyżywaj. A jeśli
  • Odpowiedz
Kolejna rozmowa na stanowisko seniora .NET i kończymy na 2 pytaniach. Pytam takiego "Czym różni się typ referencyjny od typu wartościowego ?". "Typ wartościowy alokowany jest na stosie a referencyjny na stercie". No i dopytuje czy typ wartosiciowy może się jednak znaleźć na stercie w niektórych przypadkach? Odpowiedź oczywiście nie, i pytam a czy niektórych typów które są referencyjne nie mogę jednak zaalokować na stosie? Zdziwienie.jpg. Kandydat próbujec coś wymyślić ale gada
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 188
@Mlekkko: po pierwsze primo ten screen był inspo do mema z naszym dopisanym copy. Po drugie primo, czyżbyś miał problem z tym, jak działają memy w necie? Po jakim czasie zabawność czegoś się przedawnia? Rozumiemy, że nie oglądasz heheszków z nosaczem i reużywanych pozostałych motywów, których jest tryliard? Dobrego dnia ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@YouCanCallMeBillieGates: tak, TL;DR: jesteśmy montownią:
* dużo u nas dużych korpo, zwłaszcza kiedyś to było jeszcze bardziej widoczne. A to dlatego, że nie mieliśmy swojego rynku a takiemu jest dużo prościej zaatakować taki rynek pracownika jak Polska, bo robią to już w wielu krajach. A w korpo to wiadomo: Javka, bo jest enterprise
* brak in-house startapów. Mnóstwo kodu np. zostało napisanego w RoR te 15 lat temu. U nas
  • Odpowiedz
@Whiskeyjack29: spring, java ee. Generalnie wszystko, gdzie nie da się skoczyć do kodu frameworka i ogarnać co i jak się dzieje, bo cała logika jest gdzieś deklaratywnie zdefiniowana i po samym go to definition nie idzie ogarnąć co się dzieje. W szczególności mówię tu o frameworkach javowych:
* JavaEE: tutaj jest najgorzej, bo oprócz czytania konfiguracji z adnotacji/xmla dochodzą problemy w ogarnieciu tego jak działa kontener aplikacyjny i co może
  • Odpowiedz
Często przy tworzeniu obiektów nie widać dokładnie, co oznaczają argumenty jego konstruktora, np. new Product(1, 100, "book"). Jak sobie z tym najlepiej radzić? Jeśli użyjemy buildera, to już konstruktor nie powie nam, które argumenty są wymagane i tracimy sprawdzanie na poziomie kompilacji. Fluent builder jest czasochłonny w implementacji. Możemy wprowadzić jakieś value objecty/wrappery typu new Produkt(new Id(), new Quantity()) itd, ale wprowadza to sporo nowych klas i wygląda kiepsko. O setterach nawet
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak wchodziłem na rynek to słyszałem
"Teraz trzeba się przemęczyć ale jak bedziesz mieć 2 lata doświadczenia to już wszędzie prace znajdziesz". No to dobiłem do tych 2 lat i wtedy każdy mówił teraz to 2 lata to mocny junior, ale 3+ lata to mid o którego wszyscy się bedą zabijać. Jak dobiłen 3 lata to faktycznie zostałem midem ale już wtedy chodziły słuchy, że tylko prawdziwi specjaliści 5+ lat mogą być
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ja wiem że chat GPT obecnie nie zastąpi nawet najsłabszych juniorów, ale warto zrobić coś żeby ograniczyć jego wpływ na przyszłość zawodu. Może zacząć od jakiegoś specjalnego rodzaju licencji że kod nie może stanowić danych treningowych w modelu ML na githubie i ostre pozwy na grube miliony korporacji jeśli chociaż fragment takiego kodu zostanie gdzieś zasugerowany? Może też jakieś specjalne repozytoria który nie da się scrappować. Nie zabijał bym na obecnym etapie
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach