Wielokrotnie widziałem próby podejścia do DDD na tyle komplikujące całe rozwiązanie, że postanowiłem o tym napisać kilka słów. Mam wrażenie, że świat programistów trochę zachłysnął się modnymi ostatnimi czasy konceptami jak właśnie DDD i wychodzą z tego takie kwiatki jak strach przed ORM, który nie oszukujmy się w przypadku poprawnego zastosowania zaoszczędza sporo pracy. Często mimo nawet nieskomplikowanej domeny programiści celują w stuprocentowo czystą domenę i unikają korzystania z narzędzia, które powoduje
@sarveniusz: Taka separacja warstwy danych to nie jest bezpośrednio DDD, tylko clean/onion/hexagonal architecture. Oczywiście ma ona sens kiedy jest jakaś logika biznesowa do testowania, a nie prosty CRUD. Zgadzam się też, że wciskanie na siłę całego leksykonu DDD (szczególnie w php opartym o izolowane procesy, gdzie z automatu masz vertical slice) wygląda śmiesznie.
@sarveniusz: Tylko, że odrzucanie ORM (lub części jego funkcjonalności) w ten sposób jest podyktowane właśnie izolacją domeny. Jeżeli nic to nie daje to faktycznie można olać temat, ale moim zdaniem równie poważnym problemem jest łapanie się na haczyk "instant gratification" narzędzi, bo trudno się z niego zerwać i potem widzi się jeszcze głupsze konstrukcje walczące z frameworkiem albo ignorowane/nadmiarowe testy.
Ten raport chess.com wygląda połączenie reklamy serwisu z zamiataniem syfu pod dywan. Gdyby zastosowali u siebie te same (agregowane) metryki, których użyli do pokazania, że nie ma podstaw by stwierdzać oszustwa OTB pewnie by im wyszło, że nie ma także podstaw by stwierdzać oszustwa online. Jednocześnie liczba wysoko skorelowanych partii, których wystąpienie w tak małej liczbie prób jest astronomicznie małe została odrzucona ze względu na "zbyt niski standard" bez słowa wyjaśnienia xD
Jakiś kretyn urzędnik żąda, żeby zrobić korektę faktury, bo pisze kwota słownie "tysiąc pięćset" zamiast "jeden tysiąc pięćset" xD Debil nadaje się na urzędnika wysokiego szczebla w rosji #ksiegowosc #urzednicy
Mam pytanie o Clean Architecture. W który obszarze należy umieścić logikę, której głównym zadaniem jest wysyłanie danych do zewnętrzengo API a nie pobieranie?
@czlowiek_z_lisciem_na_glowie: Wysyłanie i odbieranie danych to adapter i nie powinno tam być biznesowej logiki tylko taka, która przygotowuje odpowiedź zgodną z kontraktem i rzuca wyjątki jeśli serwis niedostępny albo niespodziewany format odpowiedzi. Tak jak w widokach, możliwa jest logika typu: "Jeśli wartość pola w DTO jest taka to daj czerwony kolor". Chodzi o to, żeby integracyjnie testować sam kontrakt, a logikę tego co robisz z odpowiedziami przetestujesz jednostkowo z podpiętymi
Oczywiście, że się nagrywali. Skoro ich akcja niczego realnie nie zmienia, to po co mieliby to robić jak nie po to by ktoś zobaczył jak dzielnie walczą?
Wiem, że podstawowe pytanie, ale dopiero rozpocząłem działalność a mój księgowy jest za granicą. Naprawiam autko, które mam wrzucone jako środek trwały. Teraz serwis poinformował mnie, iż podał mi kwotę netto(z FV +23%). W tym przypadku 1950zł, teraz zastanawiam się czy lepiej zapłacić VAT (~2400zł) i odliczyć czy korzystniej wychodzi po prostu płatność netto bez VAT, a więc bez odliczania kosztów uzyskania przychodu.
Te koszty odlicza się od przychodu, więc realnie chyba więcej nie zyskam?
@danio_96: Na fakturę korzystniej (i legalnie), ale jeśli to samochód osobowy to różnica robi się niewielka (po odliczeniu VAT i kosztów dla PIT i ZDR wyjdzie jakieś 150 taniej).
Jakiś czas temu zacząłem obserwować tag #scrum licząc na ciekawe dyskusję, spostrzeżenia uwagi.
Trafiłem na bandę programistów płaczącą dzień w dzień, że ktoś ma czelność sugerować im jak zorganizować pracę czy pytają o progress xD
Pracowałem w różnych zespołach podczas mojej kariery. W Kanbanie, Scrumie, Waterfallu, czymś, co można określić jako 'jakoś to idzie'. I w większości przypadków była to tragedia bo nikt nie ogarniał frameworku.
@ignis84: Tu nie chodzi o przewrażliwienie na swoim punkcie, tylko o wykorzystywanie swojej wrażliwości jako środka do zdobywania poklasku (virtue signaling itp.). Normalna, wrażliwa osoba nie będzie w stanie się katować tragediami tego świata, ale taki wrażliwy narcyz już nie ma z tym problemu, bo zrzuca to na innych, a sam czuje się za to nagradzany (lajkami w social mediach). Tak to widzę przynajmniej.
@KotBezButow: Połączyłem, bo chciałem pokazać gdzie leży granica pomiędzy jednym a drugim.
Ciekawostka, często narcyzy wybierają osoby empatyczne na swoje ofiary.
Widziałem takie twierdzenia, ale nie podoba mi się w jakim znaczeniu używa się tu pojęcia "empatii". Używanie empatii w znaczeniu współczucia jest na tyle powszechne, że sam nie jestem pewny, ale moim zdaniem empatia to umiejętność odczytywania emocji, a współczucie to reakcja na to co się odczytało (trafnie lub
@KotBezButow: Tylko, że narcyz ukrywa swoje prawdziwe emocje, lęk przed odrzuceniem czy co tam innego. Opiera swoją pozycję i reakcję otoczenia o jakąś powierzchowną grę (w zależności od typu). Empata powinien co najmniej dostrzec, że coś tu nie gra.
@Poludnik20: Jedynie co się za PiSu zmieniło to to, że takie sytuacje się gorliwie upublicznia jako naganne, kiedy nie dotyczą "swoich", a kiedy dotyczą to wtedy pojawiają się wątpliwości co do motywacji dziennikarzy, którzy gromadzili materiały. Bo wiadomo, że ta "motywacja" musiała być silna, skoro mają dużo łatwiejszy dostęp do sensacji w postaci "wycieków" takich jak:
pismo z jego urzędu skarbowego, z którego wynika, że Orłoś jest zadłużony na prawie
@Poludnik20: Na razie to można ujawniać, że jakiś dłużnik Orłosia musi zapłacić swoje zobowiązania bezpośrednio do US, bo jego wierzyciel zalega z podatkiem. Poza tym, g---o wiadomo i puszczenie tego w mediach to bardziej plotka dla głupich niż informacja.
#programowanie #java #angular Pytanie bo nie wiem jak ugryźć taki problem, czy po stronie API czy klienta - mam stronkę gdzie można wykonać akcje, ale niektóre z nich wymagają zalogowania więc takie requesty zwracają 401 - w takim przypadku robi redirecta na stronę logowania - i problem w tym, że chciałbym żeby mimo to ta akcja się wykonała. Jaka jest dobra praktyka rozwiązania takiego problemu? Przychodzi
@Dominias: Dla klientów API się raczej tego nie robi, bo on może zapamiętać co i gdzie wysyłał bez autoryzacji albo poprawić kod, żeby się logował (dlatego dostaje 401 a nie 3xx). Co innego dla html obsługiwanego bezpośrednio przez przeglądarkę - wtedy (jak wyżej @fiolkins pisał) zwracasz redirect do logowania z docelowym endpointem w parametrach url (/login?url=users/123), czyli informacją gdzie przekierować po zalogowaniu. Klient w przeglądarce i tak
@sarveniusz: Tak, ale zaczynam żałować.