Jump to content

MrGrj

Active Members
  • Posts

    1405
  • Joined

  • Last visited

  • Days Won

    39

Everything posted by MrGrj

  1. IBM has struck a deal to acquire cloud software company Red Hat for $34 billion. IBM will pay $190 per share for the software company, which it described as the world's leading provider of open source cloud software, a more than 60% premium to Red Hat's closing stock price of $116.68 on Friday. Shares traded upwards of $175 in June, butdisappointing earnings combined with a volatile market had seen the price drop sharply. More here: https://www.businessinsider.com/ibm-is-reportedly-nearing-a-deal-to-acquire-redhat-the-software-company-valued-at-20-billion-2018-10
  2. N-ai shaiz-da-euro ma? Mars la distractie aicisha ca iar te duc in regie :)))))))))
  3. Nu seamana "catarii" cu "cautarii" niciodata.
  4. =))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  5. Poti lua modafinil linistit. Consulta totusi un medic inainte pentru ca exista si reactii adverse daca esti alergic la anumite substante
  6. @spider sunt aproape sigur ca nu e cazul aici, insa exista oameni care sunt antisociali, introvertiti si sociopati. Astfel de oameni nu stiu cum sa abordeze o femeie. De fapt, nu stiu cum sa porneasca/intretina o discutie cu oricine. @Alexandrustiemulte https://kupdf.com/download/cum-sa-vorbesti-cu-o-femeie-alex-david-wwwfiibarbatro_5a46bd4de2b6f5a30759630b_pdf
  7. Ba, nu fi pizda. Si stiu ca nu esti suparat ca nu ai de ce. Eu ti-am zis de la inceput ca stau prost cu timpul. Asta unu la mana. Doi, scriptul il ai si e functional, doar ca trebuie retusat un pic, asa ca nu te plange ca nu primisi nimic, ca acum pun mafia aeliusiana pe tine. Stiu ca am zis ca intru ieri, da' nu avui timp. Il fac acu'. Data viitoare nu mai veni sa te plangi aici Ca nu-i frumos. Zic si eu. //EDIT: M-am razgandit. Te-astept cu walletu' pe Skype / PM. Daca ai timp sa postezi (te plangi) pe forum ai timp sa gasesti si pe altu'. No offence Pwp @aelius
  8. https://pwnthecode.com/ Enjoy! PS: Momentan nu te poti loga cu ajutorul social media, dar cred ca te descurci si cu cont normal. Nu prea e timp si fiecare face ce poate.
  9. Da-mi PM si spune-mi ce ai nevoie
  10. Cateva sugestii, majoritatea PEP8 related: - constantele ar trebui sa fie UPPERCASEd: (e.g: targetRadius ar trebui redenumit ca TARGET_RADIUS) - ar trebui sa lasi doua linii noi intre functiile din afara unei clase sau intre functii si clase Asta: .. particleColor = sf.Color(255, 255, 255, 50) def distance(x1, y1, x2, y2): """ Calculate the distance from 2 points. (X1, Y1) and (X2, Y2) Formula: ( (X1-X2)**2 + (Y1-Y2)**2 )**1/2 """ return math.sqrt((x1 - x2)**2 + (y1 - y2)**2) class DNA(): ... Ar trebui sa arate asa: .. particleColor = sf.Color(255, 255, 255, 50) def distance(x1, y1, x2, y2): """ Calculate the distance from 2 points. (X1, Y1) and (X2, Y2) Formula: ( (X1-X2)**2 + (Y1-Y2)**2 )**1/2. """ return math.sqrt((x1 - x2)**2 + (y1 - y2)**2) class DNA(): ... - denumirea variabilelor tre' sa fie snake_cased (la fel si numele metodelor): e.g: def applyForce -> def apply_force etc - cand iterezi printr-o lista, si ai nevoie si de index si de valoare, e recomandat sa faci asa: lista_mea = ['malai', 'faina', 'pui', 'clatite'] for i, value in enumerate(lista_mea): print(i, value) """ output: (0, 'malai') (1, 'faina') (2, 'pui') (3, 'clatite') """ - cand creezi o clasa care nu are nici-un argument poti renunta la paranteze: class DNA() -> class DNA: - urmatoarea functie: def crossover(self, partner): """ Take the genes from 2 parents and create 1 offspring """ newDNA = [] # Pick one random point from the genes randomPoint = random.randint(0, len(self.genes)) for x in range(len(self.genes)): if x < randomPoint: newDNA.append(self.genes[x]) else: newDNA.append(partner.genes[x]) return DNA(newDNA) Poate fi rescrisa cu recomandarea de mai sus si folosind list comprehensions astfel: def crossover(self, partner): """ Take the genes from 2 parents and create 1 offspring. """ random_point = random.randint(0, len(self.genes)) new_dna = [ value if i < random_point else partner.genes[i] for i, value in enumerate(self.genes) ] return DNA(new_dna) Probabil ca se pot face mai multe schimbari insa nu am timp sa ma uit peste tot codu'. Felicitari oricum pentru efort si keep it goin'
  11. Da-mi skype pe PM si te ajut eu in Py
  12. Ia d-aici Silvache: https://def.camp/venue/ -> http://goo.gl/maps/Z8I34 -> Calea Rahovei 198A, București
  13. Datorita eforturilor depuse de @SilenTx0 @sleed @QuoVadis , pwnthecode (varianta beta) este aproape gata. Ca orice platforma care se afla in beta, avem nevoie de cateva persoane care sa testeze aplicatia. Eventualele buguri, greseli, etc pe care le gasiti, o sa va rog sa mi le trimiteti mie, sau unuia din cei trei useri mentionati mai sus, prin PM (daca iese treaba si exista un numar rezonabil de testeri, probabil ca se va creea un canal pe Slack in care vom discuta tot ceea ce se gaseste in neregula pe platforma). NU postati problemele gasite aici pentru ca vor fi sterse! De asemenea, cei interesati de testare, va rog sa cereti link-ul catre aplicatie tot prin PM. Pwp & Multumim anticipat!
  14. Nu exista Windows custom bun si eficient. Exista laptop bun (cu resurse decente) sau prost. E simplu, dai un ban in plus si rulezi orice.
  15. Hello, In Python, it's really easy to work with API calls using the requests module. To install it, just do: pip install requests Unfortunately, depending on your version, the API is largely SOAP based. The simplest way to consume VMWare's API is via one of the existing SDKs. Now, moving further and looking at a newer version of VMWare docs, we can see that there's an already developed module to interfere with it named pyvmomi. You can follow the instructions from the github to set everything up. If you follow carefully those steps you will find this https://github.com/vmware/pyvmomi-community-samples/blob/master/samples/ which contains tons of examples. Now, literally speaking, if you specifically need to play a bit with requests, you can do the following: 1. Import the needed modules 2. Make GET requests 3. Process the data 4. POST processed data 1. Import the needed modules import requests 2. Make GET requests GET_URL = 'https://httpbin.org/get' POST_URL = 'https://httpbin.org/post' data = requests.get(GET_URL).json() # this will be a json data structure containing the data you need The output of the above is: {'args': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Connection': 'close', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.18.1'}, 'origin': '86.120.146.226', 'url': 'https://httpbin.org/get'} 3. Process the data Let's suppose you want to modify the origin value into something else: data['origin'] = 'something else' 4. POST processed data r = requests.post(POST_URL, data=data) print(r.text) Now, the output of the above will be: { "args": {}, "data": "", "files": {}, "form": { "headers": [ "Accept", "Accept-Encoding", "Connection", "Host", "User-Agent" ], "origin": "something else", "url": "https://httpbin.org/get" }, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Content-Length": "147", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org", "User-Agent": "python-requests/2.18.1" }, "json": null, "origin": "86.120.146.226", "url": "https://httpbin.org/post" } Now, regarding your unicode issue, the error was raised because the data is a unicode/str variable, which means that you first have to make it a JSON object (which is basically a dict). In my example, you can see that I already called .json() which makes sure the data is a JSON object. But, if the returned data is a string, you won't be able to do that. To do that, you can use the json module: import json data = json.loads(data)
  16. In principiu: - tu, ca developer care descarca un package, trebuie sa faci audit (sau sa pui pe altcineva sa faca asta daca folosesti modulul in ceva critical environment / production). - toate package-urile PyPi au semnaturi md5 atasate (unele au chiar si PGP). Cu md5 se verifica integritatea, iar cu PGP integritatea + originea. (asa ca e recomandat sa se descarce package-urile care au md5 + PGP). Acum intrebarea fireasca: pot sa fie PyPi signatures trusted ? Pai, pot fi trusted la fel de mult ca oricare alta semnatura Am vazut ca se practiva mentinerea unui repo PyPi intern. Avantaje: - verificare mai buna - fiabilitate mai buna + viteza (daca serverul oficial PyPi pica, te doare la banana) - eviti problemele cu updateurile / package-urile inlocuite bla bla
  17. Nice challenge si mersi de urari @Silviu Frumoasa postare (si fain challenge @Usr6)
  18. Da, momentan pwn este aproape finalizat si testat de noi ( @SilenTx0 inca lucreaza la ceva tutoriale). Peste putin timp o sa puteti sa accesati versiunea beta.
  19. Da, si wallet-urile alea iti vin si cu masina, o pizda de 18 ani si o casa.
  20. Pana la urma am ajuns la urmatorul model care pare sa isi indeplineasca scopu': { "endpoint": "rfc", "filter_by": ["change_ref", "change_i"], "limit_results_to": "2", "expression": { "item1": { "field": "first_name", "operator": "EQ", "value": "O'Neil" }, "operator": "AND", "item2": { "item1": { "field": "last_name", "operator": "NEQ", "value": "Smith" }, "operator": "AND", "item2": { "item1": { "field": "middle_name", "operator": "EQ", "value": "Sam" }, "operator": "OR", "item2": { "field": "middle_name", "operator": "EQ", "value": "Sam" } (...) } } } } Mersi all pentru recomandari
  21. Well, in principiu userul ar trebui sa poata sa aleaga intre cele doua variante. Asta e si problema mea, daca stai si iei fiecare edge case... o iei razna.
  22. Nu, utilizatorul va avea o lista de operatori disponibili. Probabil ca cei de mai jos: LOGICAL_OPERATORS = { 'AND': 'AND', 'OR': 'OR' } COMPARISON_OPERATORS = { 'LT': '<', 'GT': '>', 'LTE': '<=', 'GTE': '>=', 'EQ': '=', 'NEQ': '!=', 'CONTAINS': 'LIKE %{}%', 'STARTSWITH': 'LIKE {}%', 'ENDSWITH': 'LIKE %{}', 'NCONTAINS': 'NOT LIKE %{}%', 'NSTARTSWITH': 'NOT LIKE {}%', 'NENDSWITH': 'NOT LIKE %{}' } Nu vor exista JOIN-uri etc, pentru ca fiecare endpoint corespunde unui singur view din DB, deci toate datele is deja acolo.
  23. Bun, de cateva zile ma chinui sa construiesc o schema JSON decenta, pentru ca mai tarziu sa o pot manipula cat mai usor posibil. Scenario: User-ul va face un POST request cu un JSON care va arata de cele ai multe ori, asa: { "endpoint": "ep", "expression": { "field": "first_name", "operator": "EQUALS", "value": "Jack" }, "query_limit": "2" } Acum, in principiu, `endpoint` si `query_limit` vor fi mereu stringuri. Partea unde am eu probleme este `expression`. Exemplul de expresie de mai jos este minimal dar de ajuns pentru a explica ceea ce vreau sa fac. Acea expresie va face parte din clauza WHERE dintr-un query MSSQL. Spre exemplu, cea de mai sus va deveni: SELECT * FROM table WHERE first_name='Jack'; E de la sine inteles ca va exista o mapare intre operatorii din JSON si cei din MSSQL. In python, maparea aia se va face prin doua dictionare simple: LOGICAL_OPERATORS = { 'AND': 'AND', 'OR': 'OR' } COMPARISON_OPERATORS = { 'LT': '<', 'GT': '>', 'LTE': '<=', 'GTE': '>=', 'EQ': '=', 'NEQ': '!=' } The problem: Acum, partea la care intampin probleme este aceea de a dezvolta mai departe acel expression din JSON, astfel incat va putea suporta query-uri mult mai complexe. Vreau sa incerc sa acopar cat mai multe scenarii, asa ca am nevoie de o schema cat mai bine pusa la punct. Un exemplu: 1. Userul doreste ca `first_name` sa fie 'Jack' SI `last_name` sa fie 'Lola'. In cazul acela, JSON-ul ar putea sa arate asa: { "endpoint": "rfc", "expression": { "AND": [ { "field": "first_name", "operator": "EQUALS", "value": "Jack" }, { "field": "last_name", "operator": "EQUALS", "value": "Lola" } ] }, "limit": "2" } Exemplul de mai sus, va fi transformat intr-un SQL care va fi de forma: SELECT * FROM table WHERE first_name='Jack' AND last_name='Lola'; User-ul doreste ca `age` sa fie mai mic decat 17 SAU `age` mai mare decat 10 SI `first_name` sa fie 'Dick'. SQL-ul pentru descrierea de mai sus va fi de forma: SELECT * FROM table WHERE age > 10 OR age < 17 AND first_name='Jack'; Ceva idei pentru cum ar trebui sa arate JSON-ul in acest caz? Ceva care sa fie usor de adaptat pentru cazuri si mai complexe (va trebui sa generalizez toata treaba pentru ca asa cum stim toti care lucram in industria IT, userul e foarte inventiv cand vine vorba de edge cases). Thanks!
×
×
  • Create New...