#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

To, że jest źle to chyba każdy widzi. Przede wszystkim należy dążyć do elitaryzacji tego zawodu. Nie jakiś devops czy inny scrum master- powiedzmy sobie szczerzę bez programistów to mieli by czego wdrażać i czym zarządzać. Powiedzmy sobie szczerze co jest trudniejsze, stworzenie w pełni funkcjonalnego rozwiązania biorąc pod uwagę poziom skomplikowania dzisiejszej logiki biznesowej czy zainstalowanie takiego programu i utrzymanie działania. Myślę, że odpowiedź jest jasna - kto umie więcej, każdy
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Whiskeyjack29: programistom nie przetłumaczysz, bo większość zamiast trzymać gębę na kłódkę o zarobkach, luzie, zdalnej, kilku kontraktach, to ma tak kruche ego, że muszą chwalić się 2-3 kontraktami jednocześnie na zdalnej i jeszcze dodać sobie większą stawkę na 4mitomans niż mają xD. I teraz taki tego efekt, że wszyscy bronią się jak mogą przed zatrudnianiem gościa co leci na kilka frontów albo backendów ( ͡°( ͡° ͜
  • Odpowiedz
@Whiskeyjack29: dodałbym licencję na poszczególne technologie. Nie może być tak że jakiś javowiec (specjalnie z małej) idzie programować w C# bo "są podobne" albo "jedno i drugie to język obiektowy". Nie, nie są i tylko wydaje ci się że rozumiesz, tak samo jak wydaje ci się że rozumiesz jak mówi do ciebie (specjalnie z małej) obywatel Czech albo Słowacji. Potem ktoś taki przynosi wstyd wszystkim programistom którzy znają się na
  • Odpowiedz
Jest źle i będzie tylko gorzej. Młodzi programiści juniorzy (rezydenci) tyrają za 4k na rękę przez kilka lat żeby wejść na mida. Miejsc dla juniora jest może ze 100 rocznie - to mniej niż na rezydenturę dla lekarza, większość kończy w zupełnie innej branży albo ostatecznie na helpdesku. Nie wierzycie? To zobaczcie na portale po 10 ofert miesięcznie w skali Polski. Sprawdźcie teraz ile jest miejsc dla rezydentów. Nawet jak już odrobisz
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Whiskeyjack29: Pisałem już o tym kiedyś ale od 8 lat mniej więcej był forsowany te rzeczy:

1. Zawód programista Javy jako jeden z najlepszych zawodów.
2. Pojawianie się filmików i artykułów że zawód programisty odporny na kryzysy.
3. Informatyka jako domyślny kierunek studiów w Polsce.
4. Dofinansowywania do Bootcampów
  • Odpowiedz
@Icouldbeyourmom: 3 lata temu firmy się o mnie zabijały na rynku pracy, bo wiedziały że jak mnie nie przyjmą to za 2 tygodnie będę w innej firmie :D Miałem nawet taką sytuację że miałem "na raz" 4 ofert pracy i sobie wybierałem i negocjowałem z firmami. (przypominam że miałem mniej expa ).
  • Odpowiedz
Cześć Mirkowe świry.

Potrzebuje porady. Czy jest opcja skonfigurowania ObjectMappera tak, aby mapował wszystkie Javowe Listy w puste listy jeśli w requestBody taka lista będzie nullem?

Czyli np.:

{
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Nofenak: chodzi mi o to, żeby użyć tego name w adresie, chodzi o popróbowanie różnych aliasów

no i spróbować w apce w ogóle czy Spring czyta ten adres i jego próbuje użyć - w logach pewnie to będzie widać pod co chce się podłączyć
  • Odpowiedz