Wpis z mikrobloga

W sumie to jakbyście widzieli taki #algorytmy gorących ala wykop?. Każdy użytkownik powinien dostać gorące z odpowiednio odfiltrowanymi tagami, które zablokował. Takich tagów może mieć dodanych mnóstwo. Jak trafimy na wpis z tagiem z listy zablokowanych to powinniśmy go zastąpić jakimś innym wpisem, żeby nie było pustych lub niepełnych stron. To wszystko zajmuje czas. Stawiam na jakiś cache ze wszystkimi gorącymi z danego okresu no ale to matchowanie tagów i tak czasochłonne jednak.

#programowanie #programista15k
  • 13
@Pabl0: no tak ale fajnie jakby to się działo szybko. Jakoś nie chce mi się wierzyć, że bierzemy wpis, który ma 5 tagów i np user ma 100 tagów na liście zablokowanej to przeszukujemy tę listę 5 razy (w najgorszym wypadku), aby stwierdzić czy można go wyświetlić. W sumie można puścić to szukanie na wątkach
@muchatse: trzeba by pewnie przeanalizować jak wyglądają tagi, które trafiają na czarną listę i ile rzeczy z tych tagów trafia potem w gorące. Podejrzewam, że jest kilka tagów, które są na czarnej liście wielu użytkowników i które generują dużo rzeczy w gorących i je warto by optymalizować a reszta to jakiś margines. Pewnie najwięcej osob ma na czarno tagi typu przegryw/polityka/famemma/mecz i przydałoby się je efektywnie usuwać z gorących bo to
via Wykop Mobilny (Android)
  • 0
@kobrys13: Przecież opisałeś jak to wygląda teraz xD Masz prekalkulowaną listę, potem filtrowanie i puste gorące ( ͡° ͜ʖ ͡°)

@muchatse: Ja tu widzę podobieństwo do problemu który występuje w sklepach internetowych - powiadamianie o dostępności towarów spełniających kryteria. Tutaj towarem jest post uznany za gorący a kryteria to brak tagów z czarno. Z doświadczeń ludzi budujących takie systemy, to generowanie się słabo skalowało, system zostawał
@aloucie: no nie, a ty myślisz że YouTube na żywca liczy gorące dla ciebie?

Wszystko musi być prekalkulowane inaczej system przy dużym obciążeniu przestaje wyrabiać.

Po prostu liczy się to inaczej niż ci się wydaje.
via Wykop Mobilny (Android)
  • 0
@kobrys13: Gdzie na YouTube są tagi które mogę sobie zablokować, żeby mi się nie wyświetlały określone filmy? Z poziomu "Na czasie" to nawet kanału nie można zablokować, ani kliknąć "nie podpowiadaj filmu". Gdzie tu personalizacja ze strony użytkownika? Percolate to nie liczenie "na żywo" (na żądanie użytkownika), tylko zmiana paradygmatu z "liczymy co interwał X" na "aktualizujemy kiedy wpadnie nowy gorący wpis". W największym uproszczeniu pewna forma pub-sub. Myślisz że to