Czy architektura typu klasa per akcja ma sens czy to overengineering? Np. CreateUserController -> CreateUserCommand -> CreateUserCommandHandler. Niby wprowadza to fajny podział i łatwo się to testuje, ale z drugiej strony wprowadza to spory narzut kodu i nie wiem czy to nie przesada.
#naukaprogramowania #programowanie #programista15k #java
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nie uwierzysz! Poznaj sekret odchudzenia agregatów w 2 godziny! Ta kuracja odmieni Twoje programistyczne życie!

Przepraszam za clickbait, ale nie mogłem sobie darować suchego żartu. W końcu jestem z nich znany.

No dobra, tak na serio, to nie clickbait. Faktycznie pokazałem w niecałe 2 godziny kilka prostych do zaaplikowania technik, które ułatwią Ci modelowanie i zaprogramowanie agregatów. Może nie odmieni Twojego życia ale może znacznie je ułatwić.

Nie
oskardudycz - Nie uwierzysz! Poznaj sekret odchudzenia agregatów w 2 godziny! Ta kura...
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#ddd #oop #java #programowanie #hexagonalnaarchitektura

Jak mam se domenę, obiekty o znaczeniu biznesowym, które coś se robią, bez używania zewnętrznych rzeczy i mam adaptery, które potrafią np. przekonwertować obiekt domenowy do xml albo na dto albo wyciągnąć obiekt domenowy z bazy to teraz jak to połączyć? Prawidłowe będzie gdy:
stworzę se service, który będzie używał obiektów domenowych i adapterów (zdefiniowanych jako abstrakcji)?
a.....e - #ddd #oop #java #programowanie #hexagonalnaarchitektura

Jak mam se domenę,...

źródło: l7knijwaobb51

Pobierz
  • 32
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@aczutuse: Jeśli w twoim przypadku umieścisz DTO w web, który jest częścią infrastruktury, to w jaki sposób serwis aplikacyjny który nie powinien mieć referencji do komponentów będących częścią warstwy infrastruktury będzie na nich operował? Nie możesz mieć sytuacji w której pakiet web ma referencję do application i jednoczesnie application ma referencję do web.

Jeśli serwis operuje na DTO i jednocześnie jest wywoływany w kontrolerze to DTO muszą siedzieć w
  • Odpowiedz
@aczutuse: Infra bo to jest szczegół implementacyjny. Dziś używasz wbudowanych Springowych komponentów, a jutro możesz chcieć użyć dedykowanej zewnętrznej biblioteki, a po jutrze będziesz chciał odpalać job-a poza procesem aplikacji żeby mieć pewność, że jak padnie aplikacja to job będzie sobie dalej działał.

Co do osobnego pakietu to zależy od skali i struktury projektu. Ja preferuję mieć osobne pakiety. Czyli mam pakiet z adapterami do bazy danych, pakiet z adapterami
  • Odpowiedz
Rust, Go.

Przy czym Go polecam tylko dlatego że rośnie mu ostatnio popularność i jest łatwy do nauki, bo za dobrze zaprojektowany to on nie jest (wracają wspomnienia z PHP, który tak na marginesie też był łatwy do nauki). Ale w sumie w prostych rzeczach na szybko daje radę i z punktu widzenia pracy to nie jest zły wybór.

Rusta warto bo jest po prostu dobry. Tylko ostrzegam - nauka Rust trwale
  • Odpowiedz
@mklaudia:
- nulle (1 bilion dolar mistake)
- wszystko musi mieć domyślną wartość, nawet jak to nie ma sensu
- brak konsekwencji: nieużywane zmienne są błędem, nieużywane importy sa błędem, nieużywane funkcje są dozwolone
- prywatność określana wielkością litery w nazwie
- okropnie nieergonomiczne
  • Odpowiedz
✨️ Obserwuj #mirkoanonim
#programowanie #naukaprogramowania #programista15k #it #java

Pracuję już prawie rok jako programista. I nie wiem, czy każdy tak ma, czy coś ze mną jest nie tak, ale po tym czasie ja nadal muszę popatrzeć sobie do dokumentacji lub kodu, żeby przypomnieć sobie, jakie adnotacje w kontrolerze dać, jak się pathy robi itd. W pracy np. zajmuję się miesiąc jakimś serwisem,
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirko_anonim tylko praktyka, tego sie nie da nauczyc jak historii na pamiec i umiec rozwiazac kazde „zadanie”

Ja siedze w javie 11 lat i nadal jak mam cos zapisac badz odczytac z pliku to kopiuje ze stackoverflow xD Wazne jest to zebys wiedzial jakie kroki musisz wykonac zeby rozwiazac dany problem, reszte mozna wygooglowac w pare sekund :P
  • Odpowiedz
Mam takie zagadnienie:

- istnieje encja Osoba ( imie, drugieImie, plec, dataChrztu )
- istnieje punkt końcowy "update" pozwalający zaktualizować encję
- przekazujemy tylko te własności, jakie chcemy zmienić
- na przykład {"imie":"Jacek","drugie_imie":null}
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@SendMeAnAngel: a dlaczego nie hashmapa? Używanie obiektów entity do reprezentacji częściowych zmian nie jest koszerne. Zmiana danych Osoby to inny byt niż sama Osoba, więc one nie powinny być w kodzie reprezentowane ta sama klasą / struktura. Twój problem polega na tym że próbujesz wcisnąć dane niepasujące do klasy Osoba i tak powstaje niejednoznaczność bo klasa Osoba nie potrafi reprezentować wszystkich potrzebnych przypadków. Dlatego hashmapa lub inny obiekt dynamiczny (może
  • Odpowiedz
Jeśli za dwa tygodnie zaczynam nowy projekt w którym jest dużo Kafki, to co polecilibyście przeczytać, żeby czuć się komfortowo podczas pisania kodu? Moja dotychczasowa styczność to pisanie handlera do wiadomości na jednym topicu, a w nowym projekcie mam tworzyć klaster od zera.
#progamowanie #java
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@exori_vis: w sumie to każda lambda przekazywana do streamów też jest alokowana na heapie. Przez to u nas w firmie mamy zasadę: zakaz używania streamów na ścieżce krytycznej (zasada dotyczy tylko Javy, nie dotyczy Rust, bo tam iteratory/streamy są optymalne).
  • Odpowiedz
Jaka kolekcja w #java się nada na to:

potrzebuję se przechowywać elementy unikatowe i posortowane. Problem polega na tym, że sortować chcę po dacie, a rozpoznawać unikalność po id.
TreeMap używa compareTo do rozpoznawania czy jestt equals, więc odpada.
#programowanie
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@aczutuse: Az żal czytać te odpowiedzi. Jedyna dobra padła od mirka @exori_vis , a reszta dość mocno pachnie curry, kto robił coś w globalnych projektach, to wie. Smutne, że przy takim trendzie za kilka lat nasze IT będzie miała taką samą opinię jak to od przyjaciół z Subkontynentu ( ͡° ʖ̯ ͡°)
  • Odpowiedz
✨️ Szkolenie Live: Śledzenie w Czasie Rzeczywistym z Zipkin!

Odkryj, jak Zipkin rewolucjonizuje śledzenie w aplikacjach opartych na Spring Boot. Podczas szkolenia:
✅ Poznamy główne funkcje i korzyści płynące z wykorzystania Zipkina,
✅ Przejściemy przez proces integracji Zipkina z aplikacją Spring Boot, uruchamiając przykładowe usługi,
✅ Zobaczymy w praktyce, jak wizualizować przepływ żądań w systemie i śledzić ich trasę między usługami.
SoftBull - ✨️ Szkolenie Live: Śledzenie w Czasie Rzeczywistym z Zipkin!

Odkryj, jak ...

źródło: zipkin

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ostatnio miałem rozmowę na Junior Java deva i kazali mi pisać rzeczy typu palindrom i anagram w pliku w Wordzie xDD Słyszałem, że niektórzy na studiach musieli pisać kod na kartkach, ale na rekrutacjach też się takie cyrki zdarzają
#programowanie #programista15k #pracait #java
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirasy, pytanie o tracing w appce spring bootowej. Jest to nowa apka, którą robimy od zera i potrzebuję dodać tracing do logów.

Mamy eventy w Azure Event Hubs, które na razie (bo nie mamy jeszcze proda - trochę taka zabaw póki co) - generujemy ręcznie poprzez feature Azurowy "Data Generator", gdzie możemy podać jsona i dodać do "kolejki", a w naszej appce spring bootowej consumer sobie je pobiera i wywołuje odpowiednią akcję.
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@exori_vis: Ale jak napisałem wyżej, taki sidecar container działa poza procesem aplikacji więc ilość informacji jakie może zgromadzić na jej temat jest mocno ograniczona. Do podstawowego observability i monitoringu wystarczy. Przy bardziej zaawansowanych use case'ach trzeba robić instrumentację.
  • Odpowiedz
@JamesJoyce: jak ten czat jest naprawdę inteligentny, to do ostatniej chwili nie przyzna że chce nas ludzi wygryźć z tego interesu ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)
  • Odpowiedz
Cześć,
przychodzę z zapytaniem do Mirków programistów.
Aktualnie jestem w projekcie 100% legacy code. Na początku było trochę developmentu ale aktualnie jedyne co robię to czytam logi i mam calle z hindusami. Czuję się stoję w miejscu, a nawet że się cofam, bo wiedza nieużywana zaczyna mi ulatywać.
Próbuję uczyć się sam po pracy i w trakcie pracy, ale kiedy nie mogę wykorzystać tej wiedzy w pracy to też odkrywam że zapominam po pewnym czasie
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@tolman123: ale to w czym masz problem? Nie jestes w stanie zaakceptowac nizszej stawki na poczatku w innej pracy, mimo tego ze ta praca da Ci wyszkolenie i rozwiaze te wszystkie problemy, o ktorych piszesz?
  • Odpowiedz
@KawaRozpuszczalna: kto tak napisał? Jedyne co, to ludzie piszą, że nie jest łatwo zacząć pracę i ją utrzymać ( do teraz nawet dla 2-3 lat expa ). Zbyt duża konkurencja. Praca w IT nie jest zła jak ktoś to lubi. Dla samych pieniędzy nie do końca warto bo potem przyjdzie ogromna frustracja, że wcale nie jest tak łatwo. Dobrych pieniędzy za darmo nie dają.
  • Odpowiedz
No bo najczęściej nie warto.
To co widać na wykopie to najczęsciej osoby, które przez 30 lat życia nie wiedziały co robić i wymyśliły sobie, że zostaną programistami.
O ile u części z nich to zadziała to u większości skończy się na rozczarowaniu i braku oczekiwanych efektów. A nie rzadko stracie pieniędzy bo bootcampy omamiają ludzi kokosami których albo nie ma, albo które są osiągalne dla osób mających 10 lat stażu a
  • Odpowiedz
Co sądzicie o takich pytaniach dla seniora w Javie? Natrafiłem na to pod filmikiem z przykładowej rekrutacji na juniora
https://www.youtube.com/watch?v=PuIlVKy6Q44&lc=Ugw0bBHSfOLYnP4f5hp4AaABAg.9pobsKmdzBt9ppgwKP1zvN

Dla mnie to chyba tylko Java Champion zna to wszystko albo ktoś co zaczynał pisać w javie 3, ale może się nie znam więc zapraszam do dyskusji
( ͡° ͜ʖ
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach