Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/07/15 in Posts

  1. Multi te pot ajuta, dar probabil nimeni nu o va face. N-ai cum sa vii cu cacaturi d'astea si sa ai pretentia sa te ajute cineva.
    1 point
  2. Pentru inceput: Testele, sunt o parte importanta a unei aplicatii. Cu ajutorul lor reusesti sa-ti refactorizezi codul, motiv pentru care TDD (Test Driven Development) este incurajat, dar in acelasi timp, mai greu de pus in practica. Oricum, aici nu voi vorbi de TDD sau alte metode, ci voi scrie putin despre Mock Tests. Ce sunt Mock Testele? Ei bine, Mock Testele, sunt testele automate care folosesc obiecte de tip Mock; Obiecte construite pentru a simula obiecte deja existente in codul vostru. Mock Testele sunt folosite in deosebi in momentul in care aplicatia voastra comunica cu surse externe, surse care ofera reply-uri diferite la request-uri. Mock Testele si Python Pentru folosirea Mock Testelor in Python va puteti folosi de package-ul Mock. Il instalati usor cu: pip install mock Dar, sa trecem la niste exemple, pentru a vedea mai usor modul in care mock-ul este folosit in cod. 1. Sa presupunem ca avem urmatoarea clasa: >>> class A(): ... def now(self): ... return datetime.datetime.now() ... >>> O instanta a clasei A se va putea folosi de metoda now pentru a returna data curenta. >>> instance = A() >>> instance.now() datetime.datetime(2014, 5, 30, 17, 9, 51, 47591) >>> In cazul unui test, vom dori ca metoda now() sa returneze o valoare constanta, tinand cont ca in momentul de fata la fiecare rulare a testului vom avea o data noua. Aici sunt cateva exemple: Ex1: Definim o metoda noua in cadrul testului nostru mock_now() care sa returneze aceiasi valoare indiferent cand testul este rulat: >>> def mock_now(x ): ... return datetime(2014, 4, 9, 11, 50, 6, tzinfo=utc) ... >>> Apoi, cu ajutorul decoratorului patch, vom spune ca metoda now() a clasei A() sa fie inlocuita cu noua metoda mock_now(). >>> @patch('fisier.cu.clasa.A.now', mock_now) ... def test_method(self): ... testInstance = A() ... return testInstance.now() >>> In acest mod, testInstance.now() va returna (2014, 4, 9, 11, 50, 6, tzinfo=utc) Ex2: Se poate mockui metoda now() si fara definirea unei noi metode; Tot cu ajutrul decoratorului patch: >>> def test_method(self): ... with patch('fisier.cu.clasa.A.now') as mock_stuff: ... mock_stuff.return_value = datetime(2014, 4, 9, 11, 50, 6, tzinfo=utc) ... testInstance = A() ... return testInstance.now() >>> Ex3: In ultimul exemplu de mockuire al metodei, voi isntantia un obiect de tip Mock(). >>> def test_method(self): ... testInstance = A() ... testInstance.now = Mock() ... testInstance.now.return_value = datetime(2014, 4, 9, 11, 50, 6, tzinfo=utc) ... return testInstance.now() >>>
    1 point
  3. Serverele cu sisteme de operare Linux ?i FreeBSD au fost expuse timp de cinci ani unui program care trimiteam spam permanent c?tre utilizatori.Mii de servere cu Linux ?i FreeBSD au fost expuse doar în ultimele luni unui program de tip malware. Acesta din urm?, denumit de c?tre cei de la Eset Mumblehard, a afectat calculatoarele timp de cinci ani de zile, perioad? în care a reu?it s? nu fie detectat. Dup? cum era de a?teptat, programul ?i cei care l-au utilizat au conexiuni cu o companie denumit? Yellsoft. Aceasta comercializeaz?, printre altele, DirectMailer, un sistem pentru distribu?ia automat? de email-uri anonime. Conform Ars Technica, timp de cinci ani de zile acesta nu a fost identificat datorit? complexit??ii sale ?i felului în care func?iona. Astfel, acesta nu infecta constant alte dispozitive, era extrem de silen?ios ?i persistent, iar serverele în care era plasat nu trimiteau constant spam. De asemenea, se b?nuie?te c? programul s-ar instala ?i prin metode care au de-a face cu Joomla ?i WordPress. În urm? cu câteva zile, o nou? vulnerabilitate a blogurilor care se folosesc de WordPress a fost scoas? în eviden??. Din câte se pare, cu ajutorul unui comentariu suficient de lung, o persoana r?u-inten?ionat? putea prelua controlul unui blog WordPress. Vulnerabilitatea a fost descoperit? de c?tre un angajat al unei companii finlandeze de securitate. Multumesc pentru timpul acordat! Sursa: Playtech.ro
    -1 points
This leaderboard is set to Bucharest/GMT+02:00
×
×
  • Create New...