Despre Dropbox, Git si alte sisteme de bacup
Moderator: Manu
- Manu
- General de divizie
- Mesaje: 4120
- Membru din: 02 Feb 2007, 01:15
- Localitate: Cluj-Napoca
- Contact:
Despre Dropbox, Git si alte sisteme de bacup
Am instalat Dropbox si eu intr-un final si chiar pare a fi avantajos ca mod de lucru.
In felul acesta pot lucra la un joc de pe mai multe calculatoare.
Ce nu imi dau seama si nu am putut inc aincerca, ar fi:
Daca deschid in Notepad, sa zicem, un document direct din Dropbox si fac niste modificari apoi dau Save. Se actualizeaza automat si pe server? adica isi da seama de modificarea datei salvarii? Asa ar fi chiar super, ar fi cu adevarat ca un folder comun pe mai multe computere.
In felul acesta pot lucra la un joc de pe mai multe calculatoare.
Ce nu imi dau seama si nu am putut inc aincerca, ar fi:
Daca deschid in Notepad, sa zicem, un document direct din Dropbox si fac niste modificari apoi dau Save. Se actualizeaza automat si pe server? adica isi da seama de modificarea datei salvarii? Asa ar fi chiar super, ar fi cu adevarat ca un folder comun pe mai multe computere.
Ultima oară modificat 06 Oct 2010, 11:10 de către Manu, modificat de 2 ori în total.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
Da, se actualizeaza automat. In plus in dropbox un fisier deschis pe alt calculator apare ca si cum ar fi in lucru. Un alt mare avantaj e faptul ca pe server se pastreaza versiuni anterioare ale fisierului timp de 30 de zile. Asta mi-a salvat mie intr-o seara viata cand am lucrat vreo 4 ore la un proiect pentru masterat si cand era aproape gata am dat select all apoi delete apoi am salvat. Dupa ce mi-am smuls niste peri din cap am mers pe interfata web a dropbox si am gasit pe undeva restore previos versions... si erau acolo toate versiunile fisierului in functie de cum le salvasem eu ordonate dupa data salvarii. Am ales versiunea dinaintea comiterii faptei si s-a restabilit repede si pe calculatorul meu. Apoi mai e avantajul ca iti poti accesa fisierele oriunde ai un browser de internet chiar daca nu instalezi programelu .... Si. last but not least ... Are versiuni si pentru linux.... si pentru iphone .... pentru symbian nu stiu daca are inca.... asta ar mai lipsi
- Manu
- General de divizie
- Mesaje: 4120
- Membru din: 02 Feb 2007, 01:15
- Localitate: Cluj-Napoca
- Contact:
Atunci este excelent, faza cu bacupurile e foarte utila.
Am vazut ca are si pentru Android, dar pentru Symbian... nu.
Am vazut ca are si pentru Android, dar pentru Symbian... nu.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
-
- Soldat
- Mesaje: 4
- Membru din: 27 Sep 2010, 12:46
- Localitate: Montreal
Version Control
Salut,
Cel mai bine este sa folositi un program care face controlul versiunilor. De exemplu: GIT sau Subversion.
Cel mai bine este sa folositi un program care face controlul versiunilor. De exemplu: GIT sau Subversion.
- Manu
- General de divizie
- Mesaje: 4120
- Membru din: 02 Feb 2007, 01:15
- Localitate: Cluj-Napoca
- Contact:
Salut si bine ai venit pe aici!
Ce anume e cu cele doua programe? Variante la Dropbox?
Ce anume e cu cele doua programe? Variante la Dropbox?
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
-
- Soldat
- Mesaje: 4
- Membru din: 27 Sep 2010, 12:46
- Localitate: Montreal
Version Control
Nu e un destinat sa fie folosit ca un remote storage.
Un sistem de control al versiunilor este un software care permite sa pastrezi documente text, deobicei surse de cod cu toate versiunile care au fost create de la inceputul proiectului. Asa ai istoria intregului proiect pe masura ce a evoluat. Poate fi privit ca un backup care ocupa foarte putin spatiu e rapid si permite colaborarea foarte usoara.
De asemenea se pot face separari si apoi combinari de proiecte (numite in engleza branching and merging).
Daca faceti ceva programare cat de cat serioasa este bine sa invatati sa folositi un astfel de program.
Wikipedia RO - controlul versiunilor
Wikipedia RO - git
Wikipedia EN - Revision Control
Wikipedia EN - git
Un sistem de control al versiunilor este un software care permite sa pastrezi documente text, deobicei surse de cod cu toate versiunile care au fost create de la inceputul proiectului. Asa ai istoria intregului proiect pe masura ce a evoluat. Poate fi privit ca un backup care ocupa foarte putin spatiu e rapid si permite colaborarea foarte usoara.
De asemenea se pot face separari si apoi combinari de proiecte (numite in engleza branching and merging).
Daca faceti ceva programare cat de cat serioasa este bine sa invatati sa folositi un astfel de program.
Wikipedia RO - controlul versiunilor
Wikipedia RO - git
Wikipedia EN - Revision Control
Wikipedia EN - git
- Manu
- General de divizie
- Mesaje: 4120
- Membru din: 02 Feb 2007, 01:15
- Localitate: Cluj-Napoca
- Contact:
Acuma nu stiu ce inseamna programare chiar serioasa.
Facem si noi tot felul de aplicatii mai mici pentru niste scopuri imediate, amatori.
Voi studia problema programelor mentionate, suna interesant si este sigur foarte util sistemul.
Facem si noi tot felul de aplicatii mai mici pentru niste scopuri imediate, amatori.
Voi studia problema programelor mentionate, suna interesant si este sigur foarte util sistemul.
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
-
- Soldat
- Mesaje: 4
- Membru din: 27 Sep 2010, 12:46
- Localitate: Montreal
Ai nevoie de control al versiunilor cand:
- ti-a luat mai mult de o zii sa scrii codul
- sau cand programul este modificat si de altii si o sa incorporezi modificarile lor in codul tau
- sau cand ai nevoie de backup pentru codul scris de tine.
Eu am folosit subversion, dar acum am vazut ca multe proiecte trec pe "git" sau pe "mercurial".
- ti-a luat mai mult de o zii sa scrii codul
- sau cand programul este modificat si de altii si o sa incorporezi modificarile lor in codul tau
- sau cand ai nevoie de backup pentru codul scris de tine.
Eu am folosit subversion, dar acum am vazut ca multe proiecte trec pe "git" sau pe "mercurial".
Mircea_Vutcovici scrie:Ai nevoie de control al versiunilor cand:
- ti-a luat mai mult de o zii sa scrii codul
- sau cand programul este modificat si de altii si o sa incorporezi modificarile lor in codul tau
- sau cand ai nevoie de backup pentru codul scris de tine.
Eu am folosit subversion, dar acum am vazut ca multe proiecte trec pe "git" sau pe "mercurial".
Sistemele de control de versiune GIT, Mercurial, Bazaar sunt sisteme distribuite, adica in care nu trebuie neaparat sa existe un repository central, caci fisierele urmarite sunt pastrate intr-un repository local si deci o modificare a fisierelor respective poate fi marcata chiar daca computerul propriu nu are pentru moment acces la internet pentru a salva modificarile in repository-ul central.
De asemenea, operatiunile "merge" se pot face mult mai usor cu aceste sisteme de control ale versiunilor decat cu sistemele centralizate vechi de tipul CVS sau SVN (Subversion).
GIT este creat de Linus Torvalds si este cel mai avansat, cel mai complex si cel mai dificil de utilizat dintre ele. Este si cel mai rapid de departe. Este creat in C si Perl.
Cei mai multi programatori au rareori nevoie de atat de multe facilitati cate ofera GIT.
Pentru programatorii care folosesc doar Unix/Linux, GIT este solutia perfecta. Pentru cei care programeaza si sub Windows GIT nu este pentru moment prea bun, deoarece in prezent versiunea de GIT pentru Windows are anumite incompatibilitati cu command prompt-ul Windowsului si asta poate genera incaruntire prematura.
(Cum GIT este creat de Linus Torvalds, el nu prea este deosebit de interesat sa il faca foarte bun pentru Windows.)
Mercurial si Bazaar sunt mai putin avansate, cu mai putine optiuni, mai usor de utilizat, mult mai lente decat GIT, iar dintre cele doua, Mercurial pare a avea mai multi utilizatori.
Mercurial functioneaza foarte bine si sub Windows fiind solutia recomandata pentru cei care programeaza sub Windows si eventual Unix/Linux.
Dintre sistemele centralizate de control al surselor, Subversion este cel mai bun, doar ca de multa vreme se cam renunta la sistemele centralizate...
Sistemele distribuite pot avea oricate repository-uri pentru acelasi proiect, unul dintre ele putand fi oricand ales ca repository central daca este nevoie.
Totusi, aceste sisteme nu sunt sisteme pentru "backup", adica ele nu salveaza automat modificarile dupa fiecare salvare a unui fisier, ci trebuie date comenzile necesare pentru ca modificarile sa fie inregistrate in repository.
- Manu
- General de divizie
- Mesaje: 4120
- Membru din: 02 Feb 2007, 01:15
- Localitate: Cluj-Napoca
- Contact:
Totusi, daca nu se lucreaza la proiecte mari, tot Dropboxul e mai laindemana. Nici nu stiu cam cat de accesibile ar fi aplicatiile mentionate mai sus, cel putin care merg pe Windows.
Cei care lucreaza in domeniu pot spune de fapt cel mai bine care aplicatie in ce proportie se foloseste.
Aplicatiile de mai sus cred ca sunt foarte utile pentru Open Source gen Firefox, phpBB si din astea, ori se foloseste chiar si in programarea in cadrul unei firme cu programe Closed Source?
Pe care dintre ele as putea-o incerca cu JAWS si eu sa vad cam cum arata?
Cei care lucreaza in domeniu pot spune de fapt cel mai bine care aplicatie in ce proportie se foloseste.
Aplicatiile de mai sus cred ca sunt foarte utile pentru Open Source gen Firefox, phpBB si din astea, ori se foloseste chiar si in programarea in cadrul unei firme cu programe Closed Source?
Pe care dintre ele as putea-o incerca cu JAWS si eu sa vad cam cum arata?
Errare humanum est, sed perseverare diabolicum...
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
In forum linguae Latinae venite! (via est: www.limbalatina.ro)
-
- Colonel
- Mesaje: 1511
- Membru din: 16 Ian 2007, 23:15
- Localitate: Bucuresti
- Contact:
In firmele care fac soft de calitate care nu este open-source, controlul versiunilor este vital. Ca sa simplific, fara un control strict al versiunilor risti sa dai clientului, la sfarsit, un soft cu cine stie ce bucurie rezolvata la un moment dat si apoi revenita in actualitate din cauza unei simple probleme de versionare.
In firma in care lucrez, cunoasterea softului de control al versiunilor e obligatorie inca din prima luna de la angajare.
In firma in care lucrez, cunoasterea softului de control al versiunilor e obligatorie inca din prima luna de la angajare.
Andreea - Elena Neagu
Designer www.pontes.ro
Anjo.ro - Magazin virtual de produse pentru nevăzători
Şcoala pentru toţi - site dedicat elevilor nevăzători
Designer www.pontes.ro
Anjo.ro - Magazin virtual de produse pentru nevăzători
Şcoala pentru toţi - site dedicat elevilor nevăzători
Pentru orice programator, indiferent daca creaza programe open source sau closed source, utilizarea unui sistem de control al versiunilor este vitala.
Dupa ce un programator foloseste o perioada foarte scurta un astfel de sistem ajunge de obicei sa se intrebe cum a putut sa lucreze pana in acel moment fara asa ceva.
Vestea buna este ca aceste sisteme sunt simplu de folosit, sau cel putin cele mai frecvente comenzi de care este nevoie.
Toate aceste sisteme sunt programe care ruleaza in linia de comanda, deci sunt foarte accesibile.
Cam pentru toate exista si variante cu interfata grafica pentru Windows, insa varianta linie de comanda este recomandata fiindca in cele mai multe cazuri este mai completa, poate fi folosita si remote cu SSH, se pot da comenzi mai avansate care pe langa adaugarea in repository sau restaurarea sursei mai pot executa si alte operatii, etc.
Dupa cum am mai spus, GIT este cel mai rapid si avansat sistem de management al surselor, dar in linia de comanda de sub Windows intampina anumite probleme din cauza incompatibilitatii cu ea. Nu strica insa sa fie instalat, mai ales ca instaleaza si un program SSH plus alte programe utile cum ar fi curl, diff, dos2unix, grep, egrep, head, tail, ls, OpenSSL, patch, Perl, ps, scp, ssh-keygen, plus multe altele.
Bineinteles, sunt doar strict programele executabile, asa ca cele mai avansate ca Perl si OpenSSL pot fi instalate separat de cei care au nevoie de ele pentru treburi mai complexe.
GIT este bun si pentru ca poate doriti sa preluati codul sursa al unor programe de pe situl github.com.
GIT pentru Windows se poate descarca direct de la:
http://msysgit.googlecode.com/files/Git ... 101002.exe
Alte variante se pot descarca de la:
http://code.google.com/p/msysgit/downloads/list
Exista si o varianta cu interfata grafica numita TortoiseGIT.
Dupa aparitia programului cu interfata grafica TortoiseSVN pentru vechiul sistem centralizat SVN, pentru cele mai importante sisteme de control al versiunilor au aparut interfete grafice care se numesc si ele "Tortoise" desi sunt create de persoane diferite. Unele dintre aceste interfete grafice sunt foarte accesibile pentru JAWS, dar altele sunt absolut inaccesibile. Nu mai retin care cum este, fiindca eu prefer varianta linie de comanda.
Apoi mai sunt sistemele Mercurial si Bazaar. Bazaar nu am folosit fiindca am vazut ca Mercurial este mai folosit decat Bazaar si dupa ce am testat Mercurial am fost foarte multumit de el.
Mercurial pentru Windows poate fi descarcat de la adresa:
http://bitbucket.org/tortoisehg/thg-win ... -1.6.4.msi
Iar TortoiseHG (HG este simbolul chimic al mercurului) poate fi descarcat de la:
http://bitbucket.org/tortoisehg/stable/ ... .4-x86.msi
Mercurial este creat in limbajul Python si este mai lent decat GIT, insa nu trebuie sa aveti instalat Python fiindca isi instaleaza el o versiune limitata de Python, la fel cum GIT instaleaza Perl.
Puteti citi online cartea "Mercurial, the definitive guide" la:
http://hgbook.red-bean.com/
Alte sisteme de management al surselor mai vechi, de genul SVN sau CVS nu sunt recomandate.
Pentru a utiliza de exemplu HG, adica Mercurial trebuie folosite comenzi de genul urmator:
1. Initierea repository-ului:
hg init
2. Adaugarea tuturor fisierelor neadaugate in repository:
hg commit -A
3. Duplicarea intregului repository pentru a crea un nou set de fisiere sursa pe care sa le modificati:
hg clone director_vechi director_nou
4. Duplicarea unui repository cu toate modificarile pana la revizia numarul 123:
hg clone -r 123 director_vechi director_nou
5. Vizualizarea fisierelor care nu au fost adaugate in repository:
hg status
6. Actualizarea directorului cu modificarile din repository (dupa pull sau alte asemenea comenzi):
hg update
7. Actualizarea directorului curent cu situatia care exista in revizia 23:
hg up 23
Pe langa acestea mai puteti face push catre un alt repository, gazduit probabil pe un server la distanta, pull pentru a prelua modificarile facute de alti programatori in alt repository, merge pentru a combina modificarile facute in acelasi fisier de doi programatori diferiti, diff-uri pentru a compara diverse revizii, log pentru a vedea o situatie cu toate modificarile si comentariile pentru fiecare dintre ele si multe altele mai complexe dar mai putin folosite.
Dupa ce un programator foloseste o perioada foarte scurta un astfel de sistem ajunge de obicei sa se intrebe cum a putut sa lucreze pana in acel moment fara asa ceva.
Vestea buna este ca aceste sisteme sunt simplu de folosit, sau cel putin cele mai frecvente comenzi de care este nevoie.
Toate aceste sisteme sunt programe care ruleaza in linia de comanda, deci sunt foarte accesibile.
Cam pentru toate exista si variante cu interfata grafica pentru Windows, insa varianta linie de comanda este recomandata fiindca in cele mai multe cazuri este mai completa, poate fi folosita si remote cu SSH, se pot da comenzi mai avansate care pe langa adaugarea in repository sau restaurarea sursei mai pot executa si alte operatii, etc.
Dupa cum am mai spus, GIT este cel mai rapid si avansat sistem de management al surselor, dar in linia de comanda de sub Windows intampina anumite probleme din cauza incompatibilitatii cu ea. Nu strica insa sa fie instalat, mai ales ca instaleaza si un program SSH plus alte programe utile cum ar fi curl, diff, dos2unix, grep, egrep, head, tail, ls, OpenSSL, patch, Perl, ps, scp, ssh-keygen, plus multe altele.
Bineinteles, sunt doar strict programele executabile, asa ca cele mai avansate ca Perl si OpenSSL pot fi instalate separat de cei care au nevoie de ele pentru treburi mai complexe.
GIT este bun si pentru ca poate doriti sa preluati codul sursa al unor programe de pe situl github.com.
GIT pentru Windows se poate descarca direct de la:
http://msysgit.googlecode.com/files/Git ... 101002.exe
Alte variante se pot descarca de la:
http://code.google.com/p/msysgit/downloads/list
Exista si o varianta cu interfata grafica numita TortoiseGIT.
Dupa aparitia programului cu interfata grafica TortoiseSVN pentru vechiul sistem centralizat SVN, pentru cele mai importante sisteme de control al versiunilor au aparut interfete grafice care se numesc si ele "Tortoise" desi sunt create de persoane diferite. Unele dintre aceste interfete grafice sunt foarte accesibile pentru JAWS, dar altele sunt absolut inaccesibile. Nu mai retin care cum este, fiindca eu prefer varianta linie de comanda.
Apoi mai sunt sistemele Mercurial si Bazaar. Bazaar nu am folosit fiindca am vazut ca Mercurial este mai folosit decat Bazaar si dupa ce am testat Mercurial am fost foarte multumit de el.
Mercurial pentru Windows poate fi descarcat de la adresa:
http://bitbucket.org/tortoisehg/thg-win ... -1.6.4.msi
Iar TortoiseHG (HG este simbolul chimic al mercurului) poate fi descarcat de la:
http://bitbucket.org/tortoisehg/stable/ ... .4-x86.msi
Mercurial este creat in limbajul Python si este mai lent decat GIT, insa nu trebuie sa aveti instalat Python fiindca isi instaleaza el o versiune limitata de Python, la fel cum GIT instaleaza Perl.
Puteti citi online cartea "Mercurial, the definitive guide" la:
http://hgbook.red-bean.com/
Alte sisteme de management al surselor mai vechi, de genul SVN sau CVS nu sunt recomandate.
Pentru a utiliza de exemplu HG, adica Mercurial trebuie folosite comenzi de genul urmator:
1. Initierea repository-ului:
hg init
2. Adaugarea tuturor fisierelor neadaugate in repository:
hg commit -A
3. Duplicarea intregului repository pentru a crea un nou set de fisiere sursa pe care sa le modificati:
hg clone director_vechi director_nou
4. Duplicarea unui repository cu toate modificarile pana la revizia numarul 123:
hg clone -r 123 director_vechi director_nou
5. Vizualizarea fisierelor care nu au fost adaugate in repository:
hg status
6. Actualizarea directorului cu modificarile din repository (dupa pull sau alte asemenea comenzi):
hg update
7. Actualizarea directorului curent cu situatia care exista in revizia 23:
hg up 23
Pe langa acestea mai puteti face push catre un alt repository, gazduit probabil pe un server la distanta, pull pentru a prelua modificarile facute de alti programatori in alt repository, merge pentru a combina modificarile facute in acelasi fisier de doi programatori diferiti, diff-uri pentru a compara diverse revizii, log pentru a vedea o situatie cu toate modificarile si comentariile pentru fiecare dintre ele si multe altele mai complexe dar mai putin folosite.
-
- Sergent major
- Mesaje: 89
- Membru din: 20 Aug 2009, 23:44
- Localitate: Timisoara
- Contact:
Salutare tuturor! As avea nevoie de un program care sa imi verifice doua fisiere, si sa imi spuna daca, si mai precis unde sunt diferentele de cod din ambele. E vorba de cod php. As dori eventual, si instructiuni de folosire (cu Jaws). Nu stiu daca e topicul potrivit pentru intrebarea mea.
Renunta la ce nu poti pastra, pentru a castiga ce nu poti pierde!!!
Utilizatorii de Linux au un program numit diff care face exact acest lucru.
Sub Windows exista un program diff.exe care se instaleaza odata cu programul de control al surselor de cot git.
S-ar putea ca diff.exe sa se gaseasca si separat...
Oricum, cel mai simplu este sa cauti "git for windows", sa il instalezi, si sa folosesti programul diff.exe astfel:
diff.exe file1.php file2.php > result.txt
In fisierul result.txt vei avea diferentele intre cele doua programe intr-un format standard care poate fi apoi aplicat fisierului file1.php pentru a se transforma in file2.php.
Evident, cu diff se pot compara orice fel de fisiere text, nu doar cod PHP.
De obicei se foloseste cu parametrul -u pentru a crea asa numitul "Unified diff" care este mai usor de citit si inteles cu ochiul liber:
diff.exe -u file1.php file2.php > result.txt
Sub Windows exista un program diff.exe care se instaleaza odata cu programul de control al surselor de cot git.
S-ar putea ca diff.exe sa se gaseasca si separat...
Oricum, cel mai simplu este sa cauti "git for windows", sa il instalezi, si sa folosesti programul diff.exe astfel:
diff.exe file1.php file2.php > result.txt
In fisierul result.txt vei avea diferentele intre cele doua programe intr-un format standard care poate fi apoi aplicat fisierului file1.php pentru a se transforma in file2.php.
Evident, cu diff se pot compara orice fel de fisiere text, nu doar cod PHP.
De obicei se foloseste cu parametrul -u pentru a crea asa numitul "Unified diff" care este mai usor de citit si inteles cu ochiul liber:
diff.exe -u file1.php file2.php > result.txt
-
- Sergent major
- Mesaje: 89
- Membru din: 20 Aug 2009, 23:44
- Localitate: Timisoara
- Contact:
Salutare tuturor! Am facut in dropbox inlocuiri de foldere si fisiere, si as dori o restaurare la o data anterioara a unui singur folder. In acel folder au fost modificate unele fisiere (nu mai stiu exact care), si as dori sa restaurez tot continutul acelui folder. Dupa cate stiu, modificarile se pastreaza timp de 30 de zile, dar de la acea modificare n-au trecut de cat vre-o 2 zile. Dropbox ofera cumva posibilitatea de restaurare a unui intreg folder?
Renunta la ce nu poti pastra, pentru a castiga ce nu poti pierde!!!