User Tools

Site Tools


contrib:rsoc:pylxr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
contrib:rsoc:pylxr [2010/05/17 17:06]
10.38.236.130
contrib:rsoc:pylxr [2020/07/20 09:16] (current)
Line 1: Line 1:
-= PyLXR = +====== PyLXR =====
-== Nume și descriere proiect ==+===== Nume și descriere proiect =====
  
 PyLXR este o aplicație care oferă posibilitatea navigării codului printr-o interfață web. Aplicația este o reimplementare [[http://sourceforge.net/projects/lxr/ | LXR]] sau [[http://lxr.linux.no/ | lxrng]] dar scrisă în Python. Aplicațiile actuale scrise în Perl sunt dificil de înțeles și configurat. Considerăm că un limbaj precum Python poate oferi un timp de dezvoltare rapid și o mentenanță facilă a codului. PyLXR este o aplicație care oferă posibilitatea navigării codului printr-o interfață web. Aplicația este o reimplementare [[http://sourceforge.net/projects/lxr/ | LXR]] sau [[http://lxr.linux.no/ | lxrng]] dar scrisă în Python. Aplicațiile actuale scrise în Perl sunt dificil de înțeles și configurat. Considerăm că un limbaj precum Python poate oferi un timp de dezvoltare rapid și o mentenanță facilă a codului.
-== Categorie aplicație ==+===== Categorie aplicație =====
  
-* Software engineering (parsing, căutare, baze de date, interfață web)+   Software engineering (parsing, căutare, baze de date, interfață web)
  
-=== Aplicații similare ===+==== Aplicații similare ====
  
-* [[http://sourceforge.net/projects/lxr/ | LXR]] +   [[http://sourceforge.net/projects/lxr/ | LXR]] 
-* [[http://lxr.linux.no/ | lxrng]] +   [[http://lxr.linux.no/ | lxrng]] 
-* [[http://www.gnu.org/software/global/ | GNU GLOBAL]] +   [[http://www.gnu.org/software/global/ | GNU GLOBAL]] 
-== Obiective ==+===== Obiective =====
  
-* Se dorește obținerea unei aplicații care să permită acces prin intermediul interfeței web la codul sursă al unui program. +   Se dorește obținerea unei aplicații care să permită acces prin intermediul interfeței web la codul sursă al unui program. 
-* Pentru moment este vizat limbajul C. +   Pentru moment este vizat limbajul C. 
-* Se dorește căutarea atât după numele funcției sau variabilei (tag-search) cât și după nume de fișiere (file search) sau șiruri de caractere (freetext search). +   Se dorește căutarea atât după numele funcției sau variabilei (tag-search) cât și după nume de fișiere (file search) sau șiruri de caractere (freetext search). 
-* Aplicația va fi implementată în Python. +   Aplicația va fi implementată în Python. 
-== Grup țintă ==+===== Grup țintă =====
  
-* Dezvoltatori de programe, preponderent proiecte FOSS. Aplicații de source-code browsing precum [[http://ctags.sourceforge.net/ | ctags]], [[http://cscope.sourceforge.net/ | cscope]], [[http://www.gnu.org/software/global/ | GNU GLOBAL]] și cele care oferă interfață web precum [[http://sourceforge.net/projects/lxr/ | LXR]], [[http://lxr.linux.no/ | lxrng]] sau [[http://www.gnu.org/software/global/ | GNU GLOBAL]] sunt utile pentru parcugerea rapidă și înțelegerea codului. +   Dezvoltatori de programe, preponderent proiecte FOSS. Aplicații de source-code browsing precum [[http://ctags.sourceforge.net/ | ctags]], [[http://cscope.sourceforge.net/ | cscope]], [[http://www.gnu.org/software/global/ | GNU GLOBAL]] și cele care oferă interfață web precum [[http://sourceforge.net/projects/lxr/ | LXR]], [[http://lxr.linux.no/ | lxrng]] sau [[http://www.gnu.org/software/global/ | GNU GLOBAL]] sunt utile pentru parcugerea rapidă și înțelegerea codului. 
-== Limbaje de programare/biblioteci/aplicații/framework-uri folosite ==+===== Limbaje de programare/biblioteci/aplicații/framework-uri folosite =====
  
-* Limbaj principal: Python +   Limbaj principal: Python 
-* [[http://ctags.sourceforge.net/ | ctags]], [[http://cscope.sourceforge.net/ | cscope]] sau [[http://www.gnu.org/software/global/ | GNU GLOBAL]] pentru obținerea backendului de tag-uri +   [[http://ctags.sourceforge.net/ | ctags]], [[http://cscope.sourceforge.net/ | cscope]] sau [[http://www.gnu.org/software/global/ | GNU GLOBAL]] pentru obținerea backendului de tag-uri 
-* Aplicație de indexare a codului care să permită căutarea rapidă +   Aplicație de indexare a codului care să permită căutarea rapidă 
-* Bază de date (de preferat [[http://www.sqlite.org/ | SQLite]]) +   Bază de date (de preferat [[http://www.sqlite.org/ | SQLite]]) 
-* Python (CGI sau [[http://www.modpython.org/ | mod_python]]) pentru interfața web +   Python (CGI sau [[http://www.modpython.org/ | mod_python]]) pentru interfața web 
-== Cerințe necesare ==+===== Cerințe necesare =====
  
-* Cunoștințe de bază de progamare +   Cunoștințe de bază de progamare 
-* Cunoștințe medii de programare C +   Cunoștințe medii de programare C 
-* Cunoștințe de algoritmi de căutare și sortare +   Cunoștințe de algoritmi de căutare și sortare 
-* Deprinderi în utilizarea unui sistem Unix (linia de comandă) +   Deprinderi în utilizarea unui sistem Unix (linia de comandă) 
-* Deprinderi de folosire a tool-urilor principale de programare (editor, compilator, debugger) +   Deprinderi de folosire a tool-urilor principale de programare (editor, compilator, debugger) 
-== Cerințe recomandate ==+===== Cerințe recomandate =====
  
-* Cunoștințe de bază Python +   Cunoștințe de bază Python 
-* Cunoștințe de bază de web programming +   Cunoștințe de bază de web programming 
-* Cunoștințe de bază de baze de date +   Cunoștințe de bază de baze de date 
-* Deprinderi de utilizare a ctags/csope +   Deprinderi de utilizare a ctags/csope 
-* Folosirea unui sistem de versioning (CVS, SVN, Git, Darcs etc.) +   Folosirea unui sistem de versioning (CVS, SVN, Git, Darcs etc.) 
-== Cunoștințe/abilități dobândite ==+===== Cunoștințe/abilități dobândite =====
  
-* Cunoștințe de software engineering, integrare de aplicații, folosirea unor aplicații deja existente +   Cunoștințe de software engineering, integrare de aplicații, folosirea unor aplicații deja existente 
-* Cunoștințe medii/avansate de programare în Python +   Cunoștințe medii/avansate de programare în Python 
-* Cunoștințe de documentare a unui proiect de amploare +   Cunoștințe de documentare a unui proiect de amploare 
-* Cunoștințe de lucru în echipă, colaborare, comunicare +   Cunoștințe de lucru în echipă, colaborare, comunicare 
-* Deprinderi de folosire avansată a unui sistem Unix +   Deprinderi de folosire avansată a unui sistem Unix 
-* Deprinderi de configurare/administrare a unui server web și a unui sistem de baze de date +   Deprinderi de configurare/administrare a unui server web și a unui sistem de baze de date 
-== Plan/roadmap pe termen scurt ==+===== Plan/roadmap pe termen scurt =====
  
-* 3-4 zile: training/acomodare cu limbajul Python, aplicațiile folosite, baze de date, proiectarea arhitecturii aplicației, proiectarea unui sistem de logging a informațiilor (probabil folosind [[http://docs.python.org/library/logging.html | Python logging]] +   3-4 zile: training/acomodare cu limbajul Python, aplicațiile folosite, baze de date, proiectarea arhitecturii aplicației, proiectarea unui sistem de logging a informațiilor (probabil folosind [[http://docs.python.org/library/logging.html | Python logging]] 
-* 1 săptămână: integrarea ctags/cscope/GNU GLOBAL în Python, proiectarea și configurarea bazei de date, proiectarea cazurilor de test +   1 săptămână: integrarea ctags/cscope/GNU GLOBAL în Python, proiectarea și configurarea bazei de date, proiectarea cazurilor de test 
-* 1 săptămână: integrarea facilităților de căutare, aplicație de test în linia de comandă, proiectarea cazurilor de test +   1 săptămână: integrarea facilităților de căutare, aplicație de test în linia de comandă, proiectarea cazurilor de test 
-* 3-4 zile: testarea aplicației în stadiul actual (integrare sistem de source code tagging și căutare în baza de date) +   3-4 zile: testarea aplicației în stadiul actual (integrare sistem de source code tagging și căutare în baza de date) 
-== Plan pe termen mediu (continuarea colaborării) ==+===== Plan pe termen mediu (continuarea colaborării) =====
  
-* Proiectarea unui fișier de configurare pentru aplicație (loc cod sursă, informații bază de date, informații despre publicare). Integrarea fișierului de configurare în aplicație +   Proiectarea unui fișier de configurare pentru aplicație (loc cod sursă, informații bază de date, informații despre publicare). Integrarea fișierului de configurare în aplicație 
-* Definirea unui API de comunicare cu aplicația (văzută ca un backend). Diversele interfețe de folosire (CLI, GUI, WebUI) vor fi văzute ca front-end +   Definirea unui API de comunicare cu aplicația (văzută ca un backend). Diversele interfețe de folosire (CLI, GUI, WebUI) vor fi văzute ca front-end 
-* Proiectarea și implementarea interfeței web folosite de aplicației +   Proiectarea și implementarea interfeței web folosite de aplicației 
-* Integrarea interfeței web cu aplicația +   Integrarea interfeței web cu aplicația 
-* Testarea aplicației +   Testarea aplicației 
-* Installer pentru aplicație (pachet) +   Installer pentru aplicație (pachet) 
-== Draft arhitectură (componente principale) ==+===== Draft arhitectură (componente principale) =====
  
-{{ :contrib:rsoc:pylxr-architecture.png?500|Arhitectură PyLXR}}+{{ :contrib:rsoc:pylxr-architecture.png?800 |Arhitectură PyLXR}}
  
-== Resurse disponibile ==+===== Resurse disponibile =====
  
-* Vom folosi [[https://projects.rosedu.org/ | un proiect Redmine]] și repository [[http://git-scm.com/ | Git]] pentru dezvoltare, testare și planificare. Instanța Redmine va fi creată în momentul pornirii proiectului. +   Vom folosi [[https://projects.rosedu.org/ | un proiect Redmine]] și repository [[http://git-scm.com/ | Git]] pentru dezvoltare, testare și planificare. Instanța Redmine va fi creată în momentul pornirii proiectului. 
-* Pentru comunicare vom folosi o listă de discuții. Lista de discuții va fi creată în momentul pornirii proiectului. +   Pentru comunicare vom folosi o listă de discuții. Lista de discuții va fi creată în momentul pornirii proiectului. 
-* Pentru lucru efectiv vom folosi sala EG106.+   Pentru lucru efectiv vom folosi sala EG106.
contrib/rsoc/pylxr.1274105197.txt.gz · Last modified: 2010/05/17 17:06 by 10.38.236.130