Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Fast Forum – Interfata Web – Demo Online!
Last Updated: Sep 24 2019 20:16, Started by
dani.user
, Nov 24 2017 23:15
·
0
#37
Posted 13 January 2018 - 11:59
Da, folosesc MathJax acum. Voi migra curand la KaTeX, viteza m-a convins
Edited by dani.user, 13 January 2018 - 11:59. |
#38
Posted 13 January 2018 - 17:58
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
Posted 19 January 2018 - 21:22
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
Posted 20 January 2018 - 15:26
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
Posted 20 January 2018 - 16:08
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
Posted 20 January 2018 - 16:18
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
Posted 20 January 2018 - 16:32
Exact. Un tabel pentru threaduri, unul pentru mesaje.
|
#44
Posted 20 January 2018 - 16:42
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?
|
#46
Posted 22 January 2018 - 19:04
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 , aduce si ceva forme unei pagini pline doar de text. Edited by dani.user, 22 January 2018 - 19:05. |
|
#47
Posted 26 January 2018 - 17:15
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
Posted 26 January 2018 - 19:58
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? Edited by dani.user, 26 January 2018 - 20:00. |
#49
Posted 26 January 2018 - 20:27
dani.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. 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
Posted 03 February 2018 - 14:07
Timpul de incarcare "la rece" dupa ce am mai grupat dependinte si am extins ce vine comprimat cu gzip.
Serverul e prin Olanda. bundles.png 87.82K 62 downloads Edited by dani.user, 03 February 2018 - 14:08. |
#51
Posted 25 February 2018 - 20:07
Am redus instanta la una cu 1 GB RAM si, drept urmare, si numarul de entitati demonstrative.
|
|
#52
Posted 16 March 2018 - 19:24
Placut surprins de evolutia crawler-ului lui Google. Stie sa randeze pagina chiar daca e de tip SPA.
|
#53
Posted 19 March 2018 - 23:52
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
Posted 18 April 2018 - 14:42
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
▶ 1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users