#programista15k #wykop tak gadacie o crudziażach, że to prosta robota a weźcie zobaczcie na wykop. to jest naprawdę prosty crud a i tak jest s---------y. na przykład ktoś pomyślał o kolejkach w nowej wersji wykopu ale nie pomyślał, że kolejki tworzą pewne problemy które trzeba brać pod uwagę na etapie refactoru czy projektowania. Na przykład co się stanie jeśli event z liczbą powiadomień przyjdzie dużo szybciej niż kolejny event który zawiera listę wiadomości. Co się stało to widać. Dostajesz powiadomienie klikasz i nic bo powiadomień nie ma, bo event nie został jeszcze skonsumowany przez jakiś worker. Musisz czekać czasami kilka nawet minut na powiadomienie mimo że ci się wyświetla w UI że dostałeś powiadomienie. Prosta rzecz? No tak. A z-----a.
ale dochodzą ciekawsze casy, ktoś ci napisał odpowiedź a ty ją już przeczytałeś. co zrobić z eventami powiadomień? Ano na wykopie po prostu dostajesz powiadomienie na wiadomość którą przeczytałeś.
i wykop to jest crud jak pisałem i to jeden z prostrzych bo tutaj nie masz jakaś zaawansowanej logiki domenowej a i tak ta strona jest r-------a i to od lat.
@JanPawelDrugiLechWalesaPierwszy: jak zacząłem kiedyś pracować przy mikroserwisach to mój cały entuzjazm co do nich opadł. masz wiele pozornie trywialnych problemów. powiedzmy, że masz buga do analizy to nie postawisz u siebie system i nie odpalisz debugera o nie. musisz siedzieć w logach i kminić przepływy evenów z mikroserwisu na mikroserwis i modlić się że znalazłeś ten jeden punkt styku gdzie był błąd i będziesz wstanie to jakoś zreprodukować lokalnie. ale
@tubkas12: no i przepraszam z czym się nie zgadzasz? tak crud to prosta robota, a i tak przeciętny crudziarz i tak go zawali, tylko że przeciętnemu crudziarzowi wydaje się, że robi rzeczy trudne i skomplikowane z jego perspektywy i myśli, że jak zarabia 18k to się zna, a jedyne co umie to HTTP stack i jakiś obiektowy język wysokopoziomowy i co najwyżej pare komend w linuxie czy tam poklikać na
@polskie-k0rpo: tak taki crud to prosta robota ale widać na przykładzie wykopu jak ludzie sobie komplikują życie. pierwsze pytanie wcale nie głupie czy wykop naprawdę potrzebuje żeby to chodziło po kolejkach. ktoś powie no pewnie bo jest tak dużo powiadomień. a ja wtedy zadam pytanie; czy rzeczywiście aż tak dużo powiadomień to dobry pomysł? c---a mnie obchodzi, że ktoś odpisał w wątku w którym ja się udzielałem ale nie napisał
@tubkas12: frontend jest zbugowany bo frontendowcy to najczęściej najmniej techniczni ludzie w IT, chyba najcześciej zdarzają się w tej działce ludzie bez technicznego wykształcenia, po studiach typu kosmetologia lub logistyka xD więc frontend, ci ludzie nie ogarniają nic, poza nadupianiem kodu masowego.
co do kolejek, to nie wiem czy myślimy o takich samych kolejkach, bo powiadomienia idące na front to chyba działają tutaj na websocketach jeżeli się nie mylę (chociaż
tak gadacie o crudziażach, że to prosta robota a weźcie zobaczcie na wykop. to jest naprawdę prosty crud a i tak jest s---------y. na przykład ktoś pomyślał o kolejkach w nowej wersji wykopu ale nie pomyślał, że kolejki tworzą pewne problemy które trzeba brać pod uwagę na etapie refactoru czy projektowania. Na przykład co się stanie jeśli event z liczbą powiadomień przyjdzie dużo szybciej niż kolejny event który zawiera listę wiadomości. Co się stało to widać. Dostajesz powiadomienie klikasz i nic bo powiadomień nie ma, bo event nie został jeszcze skonsumowany przez jakiś worker. Musisz czekać czasami kilka nawet minut na powiadomienie mimo że ci się wyświetla w UI że dostałeś powiadomienie. Prosta rzecz? No tak. A z-----a.
ale dochodzą ciekawsze casy, ktoś ci napisał odpowiedź a ty ją już przeczytałeś. co zrobić z eventami powiadomień? Ano na wykopie po prostu dostajesz powiadomienie na wiadomość którą przeczytałeś.
i wykop to jest crud jak pisałem i to jeden z prostrzych bo tutaj nie masz jakaś zaawansowanej logiki domenowej a i tak ta strona jest r-------a i to od lat.
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery
co do kolejek, to nie wiem czy myślimy o takich samych kolejkach, bo powiadomienia idące na front to chyba działają tutaj na websocketach jeżeli się nie mylę (chociaż