Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Masina de tuns... buruieni

Recomandare drona

Exista un soft care sa reia autom...

Identificare plante
 Cum declari o variabila care nu s...

Schimbare certificat de inmatricu...

Poligon auto București

nelamurire legata de pret la mode...
 Hotel cu restaurant si Demipensiu...

Croaziera in Mediterana de Vest 1...

Copilot are pica pe Vladimir Putin

MicroSoft Edge: Cum pun Google in...
 Dashcam

Mini server - VMware

betano.ro

Poveste fara sfarșit
 

Fast Forum – Interfata Web – Demo Online!

* * * * * 2 votes
  • Please log in to reply
86 replies to this topic

#37
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Da, folosesc MathJax acum. Voi migra curand la KaTeX, viteza m-a convins Posted Image

Edited by dani.user, 13 January 2018 - 11:59.


#38
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Am migrat randarea formulelor pe KaTeX. Se simte o imbunatatire. Nu mai am meniul right-click pe formule specific MathJax dar ma gandesc ca oricum nu prea-l folosea nimeni.

Cum ati reusit sa impacati cel mai usor Single-Page-Application cu motoarele de cautare?

#39
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Am implementat SEARCH, o cautare mai practica pentru threaduri si mesaje, folosind Full-Text search din cadrul PostgreSQL si un microserviciu Node.js. E practic un endpoint separat ce poate scala independent de restul serviciului.

Pareri? Performanta e mai modesta fata de restul aplicatiei.

Am pus o limita de 1 request/secunda/IP.

http://fastforumdemo...dapp.azure.com/

Edited by dani.user, 19 January 2018 - 21:23.


#40
Buleandra94

Buleandra94

    Member

  • Grup: Members
  • Posts: 644
  • Înscris: 19.08.2007
Cum functioneaza micro-serviciul? Are datele salvate/indexate local sau acceseaza aceeasi baza de date ca si serverul principal?

PS: Nu merge ENTER pentru cautare, doar click pe butonul de search.
PS2: Eu as elimina iconita de eticheta de la etichetele albastre, se intelege prin culoare/pozitie ca sunt etichete, doar ocupa loc degeaba.

Edited by Buleandra94, 20 January 2018 - 15:29.


#41
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Microserviciul primeste input "ce vreau sa caut" si trimite un query la PostgreSQL. Aici am un tabel cu ID (uuid) si ts_vector (continutul threadului/mesajului semi-procesat). Microserviciul returneaza n id-uri gasite (in ordine descrescatoare a scorului).

Apoi clientul trimite un query la serviciul principal prin care ii cere sa ii ofere threadurile/mesajele avand id'urile cutare. Serviciul le ofera (sau null daca nu exista/access denied).

Serviciul principal nu e relational, e el insusi si baza de date.

Edited by dani.user, 20 January 2018 - 16:08.


#42
Buleandra94

Buleandra94

    Member

  • Grup: Members
  • Posts: 644
  • Înscris: 19.08.2007
Ok mersi, deci in afara de baza de date principala mai ai acest "tabel cu ID (uuid) si ts_vector (continutul threadului/mesajului semi-procesat)." care este folosit doar pentru cautare si care este intr-o baza de date separata fata de cea principala?

#43
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Exact. Un tabel pentru threaduri, unul pentru mesaje.

#44
Buleandra94

Buleandra94

    Member

  • Grup: Members
  • Posts: 644
  • Înscris: 19.08.2007
Suna bine, si cum mentii tabelele pentru search sincronizate cu baza de date? Actualizezi tabelele de search de fiecare data cand se face insert/update/delete la un post in baza de date principala?

#45
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Da. Un observer detecteaza schimbarile si ia masuri.

#46
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Imbunatatiri la fereastra de search. Merge acum ENTER, butonul e pozitionat in dreapta iar, daca operatia dureaza prea mult, apare spinnerul intalnit si pe restul paginilor.

La iconita de eticheta de la etichetele albastre parca inca n-as renunta Posted Image , aduce si ceva forme unei pagini pline doar de text.

Edited by dani.user, 22 January 2018 - 19:05.


#47
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Dupa ce dau click pe search si apare dialogul, cursorul ar trebui sa fie deja in input.

E frustrant sa trebuiasca sa dau inca o data click, cand deja am dat click pe "search", deci mi-am exprimat dorinta de a cauta.

Deasemenea, radio bifat by default ar trebui ales mai bine. Majoritatea cautarilor nu ar trebui sa fie in mod tipic dupa usernames, ci dupa continut.

In rest, A/B test spune ce e mai bine.

#48
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Fixed. Mi-e si rusine ca mi-a scapat amanuntul asta.

Ca tot a venit vorba de defaults, threadurile sunt acum sortate by default descrescator dupa data ultimului mesaj.


PS. A incercat cineva sa caute dupa formule matematice? Posted Image

Edited by dani.user, 26 January 2018 - 20:00.


#49
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postdani.user, on 26 ianuarie 2018 - 19:58, said:

Fixed. Mi-e si rusine ca mi-a scapat amanuntul asta.

Ca tot a venit vorba de defaults, threadurile sunt acum sortate by default descrescator dupa data ultimului mesaj.
Ei na, lucruri d-astea se intampla si la firme uriase cu intregi echipe. E normal, mai ales cand e ceva simplu si iti scapa din cauza prea multei rutine. D-aia avem review usor in open-source.

Faptul ca ai un host de staging ajuta enorm. Putin probabil sa ma uit activ daca trebuia sa instalez si testez local.

Edited by OriginalCopy, 26 January 2018 - 20:32.


#50
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Timpul de incarcare "la rece" dupa ce am mai grupat dependinte si am extins ce vine comprimat cu gzip.

Serverul e prin Olanda.

Attached File  bundles.png   87.82K   62 downloads

Edited by dani.user, 03 February 2018 - 14:08.


#51
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Am redus instanta la una cu 1 GB RAM si, drept urmare, si numarul de entitati demonstrative.

#52
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Placut surprins de evolutia crawler-ului lui Google. Stie sa randeze pagina chiar daca e de tip SPA.

#53
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,241
  • Înscris: 24.02.2007
Am implementat o parte interesanta a aplicatiei: interfata pentru vizualizarea (si ulterior editarea) drepturile de acces. Se acceseaza din meniul de sus (Settings) si, sub aceeasi pictograma, din orice mesaj, topic, tag, etc.

Sistemul e unul ierarhic, iar interfata prezinta si un istoric al acordarii drepturilor, sau a retragerii acestora.

Orice feedback e bine venit.

#54
virgil94

virgil94

    Junior Member

  • Grup: Members
  • Posts: 66
  • Înscris: 08.08.2017
Salut ,

Am citit tot topicul si mi se pare foarte interesat ce ai facut (ca sa nu mai spun ca si interfata arata foarte bine). Este cunva acest proiect open source? Sunt curios ce ai folosit pentru backend, in special pentru procesarea cererilor pentru ca trebuie sa fac si eu un proiect in ideea aceasta si nu ma atrage Java deloc.

Ps: Felicitari pentru munca depusa.

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate