Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
Framework or library ?
Last Updated: Nov 16 2019 17:47, Started by
iulian_1976
, Mar 19 2019 20:44
·
0
#73
Posted 26 March 2019 - 17:09
BraviaAmpero, on 26 martie 2019 - 17:05, said:
Framework = un API care este gestionat prin intermediul unui mecanism denumit IoC container bazat pe DI pattern. Ce alegi? |
#74
Posted 26 March 2019 - 19:26
#75
Posted 26 March 2019 - 19:39
Nu neaparat. Controleaza doar pluginul de UI: Baze de date embedded – exercitiu practic (pentru programatori mid-level)
Prin definitie, un framework trebuie sa fie flexibil, atat de flexibil incat il poti flexa cum ai nevoie. Din acest motiv, nu poti caracteriza un framework dupa felul in care il folosesti. Daca ai face asta, nu ai caracteriza framework-ul insusi, ci felul in care il folosesti. Analog: cand caracterizezi un element chimic, nu il caracterizezi prin prisma unui obiect fabricat din acel element. Nu iei un ciocan si spui "fierul este patrat si are X laturi plate". Da, poti obtine cateva caracteristici asa, de exemplu "Fe. poate fi magnetizat", dar fierul are mai multe sau mai putine caracteristici fata de ciocan. Deci daca vrei sa definesti ce e un framework, trebuie sa te uiti efectiv la cat mai multe frameworks, si sa definesti numitorul comun. |
#76
Posted 26 March 2019 - 19:52
Evident ca va controla doar partea de aplicatie de care e responsabil
|
#78
Posted 27 March 2019 - 12:57
Pana acum avem caracteristicile unui framework:
1. este compus din mai multe componente care rezolva probleme disjuncte dar au o arhitectura unitara 2. acapareaza intregul subsistem/plugin in care e folosit (fluxul de executie, de date) 3. permite extensii La 1 intra: componente pentru UI, structuri de date, retelistica, multithreading, storage (ORM, DBAL, s.a.m.d.), tactici pentru diferite arhitecturi (exemple: aop cu un weaver, generare de cod - ex. moc din qt, un IoC, event-driven, actors), s.a.m.d.; un framework nu trebuie sa implementeze toate aceste lucruri, dar trebuie sa implementeze mai mult de unul La 2: cum s-a spus mai sus La 3: "extensie" inseamna ca frameworkul permite utilizatorului executia de cod propriu in cadrul fluxului de date/executie prestabilit de framework (de la punctul 2); extensii folosesc fie strategii specifice limbajului, ex subclassing, dependency injection (manuala, nu cu un IoC), fie tactici pentru diferite arhitecturi implementate pentru punctul 1, fie o combinatie a acestora Cu siguranta imi scapa lucruri, deci va rog sa ma corectati, DAR pentru a mentine discutia focusata: veniti mereu cu exemplu de framework concret care valideaza sau invalideaza unele dintre aspectele de mai sus. Edited by OriginalCopy, 27 March 2019 - 13:07. |
#79
Posted 27 March 2019 - 13:21
Conform paginii wikipedia, si OpenCV e framework (desi i se zice 'librarie': https://opencv.org/). Nu as zice ca respecta punctul 2. Depinde insa cum o folosesti.
|
#80
Posted 27 March 2019 - 13:59
Pentru caracteristica 2: asta inseamna ca "frameworkul" trebuie sa aiba fie o bucla de procesare ceva (in aplicatii stateful, e.g. desktop), fie un "request lifecycle" (in aplicatii stateless, e.g. web), altfel nu are cum sa acapareze fluxul de executie. Daca nu are nici una, nici alta, atunci "frameworkul" e de fapt librarie (sau o colectie de librarii care pot interopera).
Din cate stiu eu, din acest motiv, OpenCV nu este framework. Nu vad nici unde zice pe wikipedia in engleza ca ar fi framework. Cateva idei/intrebari care merita discutate: - exista proiecte mari care sunt compuse din mai multe proiecte de sine statatoare; LLVM de exemplu. Are in el ceva ce poate fi considerat framework? - conform criteriilor de mai sus, o biblioteca standard s-ar incadra (in mod gresit) la framework? De exemplu biblioteca standard python. Am ales python deoarece are ideologia de "batteries included" - cum e cu un kernel? Conform criteriilor 1-3, e un framework? Adevarul e ca ii cedezi controlul cand apelezi un syscall, si el "te apeleaza" pe tine cand vrea el (da, nu "te apeleaza", ci iti cedeaza controlul asupra hardware-ului, desi nu il pierde niciodata pentru totdeauna - ex. prin timer interrupt), nu cand vrei tu Sper ca daca elucidam aceste intrebari, putem sa definim mai bine ce e aia framework (si indirect apoi, ce e library). In caz ca nu am fost clar: folosesc llvm, biblioteca standard python, si un kernel ca exemple pentru a valida/invalida/rafina caracteristicile unui framework, nu pentru a spune ca sunt sau nu sunt frameworks dani.user, on 26 martie 2019 - 20:26, said:
O intrebare mai interesanta: unde se incadreaza COM? Edited by OriginalCopy, 27 March 2019 - 13:51. |
#81
Posted 27 March 2019 - 17:27
Quote
Nu vad nici unde zice pe wikipedia in engleza ca ar fi framework. |
#82
Posted 27 March 2019 - 18:41
parabellum, on 27 martie 2019 - 17:27, said:
Am pus pe celalalt thread un link la https://en.wikipedia...tware_framework OpenCV apare acolo la exemple. |
|
#83
Posted 28 March 2019 - 13:01
Nici eu nu sunt de acord, dar inteleg unde bate. De exemplu la dispozitie cv::namedWindow sau cv::viz::Viz3d, etc si poti sa le folosesti in asa hal incat sa poti sa zici ca apare 'inversia controlului'. Treaba e ca se folosesc doar in aplicatii mici, pentru teste, 'proof of concept', rareori in aplicatii mari.
|
#84
Posted 16 November 2019 - 12:30
Acest om care are Vlog de IT spune ca jQuery este: o librarie, un framework al Javascript.
Daca el spune asta - el care castiga sigur peste 1000 de euro/luna, ,are vlog si face parte din comunitatea de vlogori IT-isti de la noi din tara - cine sunt eu sa psun altfel ? Daca el spune ca jQuery este un framework al Javascript, pot eu spune altfel ? Cu alte cuvinte, este posibil ca un programator care castiga peste 1000 de euro pe luna si are vlog sa spuna ca jQuery este un framework ? Minutul 2:50 [ https://www.youtube-nocookie.com/embed/PvoDwEi1h5c?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] Dar ce soune Wikipedia: jQuery is a Javascript library. Ma intreb daca unii programatori lucreaza cu unele tehnologii dar nu inteleg diferenta intre ele. |
#85
Posted 16 November 2019 - 12:34
Ca jQuery e considerat framework sau library e printre cele mai inofensive/irelevante aspecte din viata de zi cu zi a unui programator.
Edited by dani.user, 16 November 2019 - 12:34. |
#86
Posted 16 November 2019 - 12:44
Jenkins, on 26 martie 2019 - 15:19, said:
MFC sau Java Collections Framework nu sunt frameworks tocmai pentru ca nu implementeaza astfel de mai multe concerns in maniera cross-cutting. Minutul 7:45 [ https://www.youtube-nocookie.com/embed/V8H7h0fOoBc?feature=oembed - Pentru incarcare in pagina (embed) Click aici ] dani.user, on 16 noiembrie 2019 - 12:34, said:
Ca jQuery e considerat framework sau library e printre cele mai inofensive/irelevante aspecte din viata de zi cu zi a unui programator. iulian_1976, on 19 martie 2019 - 23:04, said:
Doar faptul ca se confunda o librarie cu un framework spune multe Edited by PlatonX, 16 November 2019 - 12:45. |
#87
Posted 16 November 2019 - 13:55
|
#88
Posted 16 November 2019 - 17:47
dani.user, on 16 noiembrie 2019 - 12:34, said:
Ca jQuery e considerat framework sau library e printre cele mai inofensive/irelevante aspecte din viata de zi cu zi a unui programator. Problena nu e prostul in sinea lui, ci faptul ca avem novici care cred ce spune prostul, novici care îți devin colegi și pe care trebuie să îi manageriezi, să le faci code review, trainings, etc. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users