Jump to content

MrGrj

Active Members
  • Posts

    1413
  • Joined

  • Last visited

  • Days Won

    44

Posts posted by MrGrj

  1. 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 :) 

  2. 3 minutes ago, tjt said:

    Ar fi interesant de stiut la ce optiuni are acces utilizatorul. O sa fie si query-uri mai complexe gen care sa contina Group By, Order, inner Select ?

     

    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. 

  3. 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! :)

  4. 1 hour ago, fbob said:

    acum explica'ne noua, muritorilor de rand, ce face asta si nu face aircrack-ng. IMHO tipul care a scris atata amar de linii.. are prea mult timp liber :)

    Tu ai prea mult timp liber pentru ca , comentezi aiurea. Programarea nu se limiteaza la: "ce face ala si nu face alalalt?". O fi parerea ta, da' e proasta (IMHO, desigur). Taci acolo si vezi de treaba ta si joaca-te cu `aircrack-ng` daca nu poti sa accepti faptul ca unii oameni vor continua sa programeze ce vrea pula lor chiar daca 20 inaintea lor au facut fix acelasi lucru. Nu-mi bat capu' la ora asta mai mult.

     

    1 hour ago, dancezar said:

    Bat la pariu ca este mult mai simplu sa citesti sursele alea in C

    Meh, depinde de nivelul la care esti :P M-am uitat acum ceva ani pe sursa aia si...era cam haos asa :)) cred ca ala o fost momentu' in care am zis: "bag pula-n el C, ma duc sa invat si altceva".

     

    Pentru cei interesati, sursa e aici

    • Upvote 5
  5. Salut Radu,

     

    Desigur, te ajutam cu placere daca ne raspunzi la urmatoarele intrebari:

     

    - ce e aia flood?

    - ce e aia domeniu DDoS?

    - care este diferenta dintre cei doi termeni de mai sus?

    - ce vrei sa faci mai exact?

    - de ce vrei sa faci asta?

    - esti metinar? 

    - crezi ca rezolvi ceva facand asta?

     

    Uite, din partea celor care inteleg divinitatea absoluta si astralul concurential:

     

              .-.                     .-.               
              |U|                     | |               
              | |                     | |               
              | |                     | |               
             _| |_                   _| |_              
            | | | |-.               | |_| |-.           
           /|     ` |              / )| |_|_|           
          | |       |             | |-' `-^-'           
          |         |             |     ||  |           
          \         /             \     '   /           
           |       |               |       |            
           |       |               |       |            
                                                

    Cu stima,

    eu

    • Upvote 5
  6. Hai sa iti povestesc ceva, poate o sa te opresti cu postarile astea. Am apreciat in multe din postarile tale trecute (legate de programare in general) ca incercai. Pula mea, nu iesea ceva, postai aici. Parea ca o sa ajungi undeva si ca o iei pe un drum okay. Acum daca ma uit in istoricu' postarilor tale, ai asa (ordine aleatoare):

     

    - fitness

    - PPI (sau cum pula mea se cheama cacatu' ala cu click-uri)

    - stomatologie

    - off-shores / dropshipping

    - forex

    - contabilitate

    - site de iteme cs-go

    - etc...

     

    Toate cele de mai sus intr-un interval super scurt. Acu' na, nu e nevoie sa ma asculti, majoritatea de aici stiu ca fac multa caterinca, stiu ca sunt un retardat, handicapat, prost si ca ma doare-n pula de absolut orice exista pe planeta asta in special tigani, biserica si politica. Unde vreau sa ajung cu asta? 

     

    Cois, treziti-va "an" pula mea! Terminati cu forex / ppi / fbi / nsa / plm / fmm etc. Sau tineti-va in moloz de una din ele si bagati pana vedeti ca iese banu' sau ca esuati. Mai ales astia care aveti cate ceva la mansarda si puteti sa profitati de pe urma asta. Mi-aduc aminte ca si eu eram asa:

     

    - mama ce idee de aplicatie am. Devin milionar.

    - sa-mi bag pula ce idee mi-a venit, gata rup google apps

    - bag pula-n ea programare, ma apuc de poker.

    - ma fac futangiu pe macarale

     

    Si am tinut-o asa vreun an ca sa realizez ca eram un lache de doi lei (bine, si acum sunt) care nu facuse nimic, pierdea timpu' in pula cu satelitu' si cam atat. M-am oprit, m-am axat pe progra & stuff si acum ma doare in pula, fac ce-mi place si fac misto cu @fallen_angel @Gecko @badluck @aelius etc... pe chat cat sunt la birou pentru ca totu' mi se pare lejer si usor si fain. 

     

    Unde sunt trilionarii ? Sunt peste tot man, doar ca ei nu deschid 9 topicuri pe luna, fiecare din ele avand un subiect total diferit. Baga-ti mintile in cap si revin-o in pula mea cu picioarele pe pamant. 

     

    //PS: e misto sa pui intrebari, sa vrei sa stii chestii s.a.m.d... insa asta o poti face pe chat, in timpu' liber, cand iei o pauza de la ceea ce conteaza cu adevarat. In viata nu le poti avea pe toate :( 

     

    //PS2: Pentru cei plictisiti de postarea mea, luati aici:

     

     

    • Upvote 10
  7. 6 minutes ago, gigiRoman said:

    M-am gandit ca cineva este interesat si poate incercat totusi un interviu la ei.

    Am avut si eu interviu la ei chiar luna trecuta pentru pozitie de Senior Python Dev. Testul a fost super asemanator cu al tau (mai putin chestiile legate de security). Doar ca mie mi-au zis ca am trecut si ca vor sa vin la "proba practica". Proba practica = sa stau juma' de zi acolo sa vada cum m-as descurca intr-o zi de munca. Am zis pas :) 

     

    Posibil sa ma fi chemat la proba aia ca sa justifice suma pe care o cerusem. Sunt sigur ca daca ceream mai putin nu mai exista o astfel de proba. 

  8. 1 hour ago, tjt said:

    Eu cred ca cineva care e la inceput, cineva care a investit timpul personal chiar si bani ca sa isi imbunatateasca cunostinte, sa obtina certificari, e mult mai valoros. Dovedeste entuziasm, pasiune si determinare.

    Asta e doar parerea ta. Si a mea, sincer sa fiu. Dar nu a celor de la HR. Vezi tu, daca totul era roz, era plina lumea de entuziasti plini de vise...

    • Upvote 1
  9. 4 hours ago, QuoVadis said:

    Pana la urma sunt ani din viata ta pe care nu ii vei putea da inapoi si in mare masura iti vor influenta restul vietii. Trebuie sa alegi ceva ca apoi sa poti dormi noaptile, in loc sa stai cu gandul "ce ar fi fost daca..." si sa ai regrete (ia marturiseste, @MrGrj, iti dai pumni in coaie acum? :D Daca nu probabil inca nu ai ajuns la criza varstei mijlocii... :P )

    Ma dor coaiele sincer la cati pumni am dat. Mai ales cand am prieteni p-acolo si vad ce bine le merge (la facultate // munca etc). PWP

    • Upvote 1
  10. Mi-aduc aminte ca acum ~6 ani cand am terminat liceul  am aplicat si eu la ceva facultati in UK (5 la numar: UCL, Essex, Portsmouth, Warwick si inca ceva). Cred ca pe-atunci se aplica prin ceva platforma care se numea UCAS. Maxim pana in februarie trebuia sa ai totul facut si trimis (mai putin diploma de engleza si notele + foaia matricola din clasele 9-12 pe care evident nu le aveai pana atunci).

     

    Ca idee, facultatile bune chiar tin cont de medie si le cam doare in pula daca iti doresti tu extrem de mult sa ajungi acolo sau nu. Cel putin, eu am avut o scrisoare de intentie super misto, insa din cauza mediei pe care am avut-o la bac, nu am intrat la Warwick si UCL. La restu' da. Din cate mi-aduc aminte, contau foarte mult si notele de la materiile aferente profilului pe care doreai sa-l urrmezi. Spre exemplu, daca te duci pe Computer Science, aia se vor uita pe foaie matricola la mediile de la Mate/Info/Fizica + eu spre exemplu am avut scrisoare de recomandare de la profa de Info, ceea ce a contat.

     

    In momentul in care aplicai prin UCAS, aveai practic 5 optiuni maxime available si plateai o taxa modica (sub 200 lei). In rest, pe-atunci m-am bagat intr-un program de la EDMUNDO si de-acolo mi-au asignat o gagica super de treaba care m-a ajutat cu sfaturi/acte/traduceri/muie etc.

     

    Sfaturi primite de pe la altii pe care merita sa le iei in considerare:

     

    - acolo nu merge cu copiatu' cum merge la noi. Ai fost prins, ai fost dat afara. Punct. Oamenii sunt foarte stricti in ceea ce priveste contentu'. Intr-adevar, acolo, o biblioteca de la o oarecare universitate arata ca biblioteca nationala din bucale. (ai de unde sa iti faci temele / proiectele)

    - daca te duci acolo, invata. Costa 9k lire/an sa inveti. Nu-i face p-ai tai sa se chinuie doar pentru ca ai auzit tu ca e smecher sa pleci si ca se fumeaza iarba in Essex pana se crapa.

     

    • Upvote 4
  11. 8 hours ago, Che said:

    Ce e aia AGSQ ca vad ca nici Google nu ma ajuta ?

     

    =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) =))=)) 

    • Upvote 3
  12. 1 hour ago, aelius said:

    selfbashed.

     

     Am plecat seara din FR cu masina. Pe la ora 23, pe drum, am vazut o benzinarie mare la Colmar. Zic, hai ca opresc, ma mai alimentez cu o cafea si abandonez ceva nasol mirositor la toaleta. Zis si facut, opresc acolo, iau un espresso scurt, il sorb repede si merg la toaleta.

     Abandonez eu treaba acolo si trag apa. Vad ca era deja infundat wc-ul si incepea sa creasca mult nivelul "marii". Mi-am dat seama ca e defect si ala de apa.... a tot curs acolo, ma gandeam ca nu se mai opreste in ma-sa....

    Ala plutea deasupra, a dat peste wc, au cazut jos doua bucati de stiuca ce pluteau pe deasupra apei involburate si a intrat pe sub cabina in cabina cealalalta, plutind asa in deriva in mortii lui. Mi-au dat lacrimile de ras si nu stiam cum sa fug mai repede de acolo. Radeam odata de intamplare si odata cu gandul ca in cabina cealalalta ar fi putut fi un fracez nenorocit! :))))))

     

     

     

    What a shitty day :( 

    • Upvote 1
×
×
  • Create New...