Jump to content

MrGrj

Active Members
  • Posts

    1405
  • Joined

  • Last visited

  • Days Won

    39

Posts posted by MrGrj

  1. Cred ca asta e mot-a-mot cu ce ai tu acolo desi b-ul ala nush de ce nu e float:

     

    #include <iostream>
    #include <cmath>
    
    using namespace std;
    
    int main()
    {
        int n, a, b;
        cout << "n = "; cin >> n;
        
        a = 1;
        b = 1;
        
        while (a*a + b*b <= n) {
            if (a*a + b*b == n) {
                cout << "a = "; cin >> a;
                cout << "b = "; cin >> b;
            }
            a += 1;
            b = sqrt(n - a*a);
        }
        
        cout << "a = " << a << endl;
        cout << "b = " << b << endl;
        
        return 0;
    }

     

    // LE. Sunt platit foarte bine ca sa ajut lumea la teme. That could be you :( Learn and you'll get rich

    • Upvote 5
  2. 1 hour ago, Wav3 said:

    Ai depus efort mai mult de 5 secunde ca sa numeri cuvintele.

    len("Acum cativa ani cand umblam pe aici era o activitate mare acum este intr-un punct mai greu, ma gandesc ca sa formam echipe mici sa revitalizam comunitatea dinou , 3 membri bunicei evident si cineva din staff de aici sa ne ocupam sa facem un grup puternic pe facebook Romanian Security Team unde acolo se creste foarte usor si foarte repede grupul. Sunt multi pasionati de informatica , iar pagina rst sa se ocupe alti 3 membri pentru revitalizare , trebuie sa cautam sa fim undeva in pas cu modul de expunere a comunitati cu timpul , parerea mea ca daca ne facem echipe de cate 3 , 3 pe un grup care garantat in 1 luna 2 face sigur 10.000 membri o spun din proprie experienta ca am crescut grup in scurt timp la 11.000 iar apoi 3 se ocupa de pagina rst acolo nu este munca multa doar daca se posteaza odata pe zi din 3 insi cate 1 post de fiecare in tema informatica plus noutatile in tehnologie etc iar avem de castigat ,iar unul pasionat de informatica din grup de aici care este pasionat si de tik tok poate face un cont de tik tok gen Rst, si tot asa pe diferite retele mai vechi si mai noi iar toate sa duca la acest forum , sursa mama si tata unde cine vor pe celelalte comunitati ale noastre sa dezvolte proiecte sa se inscrie aici si de aici facut un chat frumos unde sa dezbatem fel si fel de teme, vreau pareri si opinii".split())

    Aproximativ 5 secunde, da, ca se incarca greu zsh. Se pare ca am gresit: sunt 258. Prima fraza am omis-o & inclus-o in count :( 

  3. M-am uitat la ei pe lib si nu suporta timeout ca parametru. Ca workaround poti face ceva de genu':

     

    import requests
    import yfinance as yf
    import functools
    
    session = requests.Session()
    session.request = functools.partial(session.request, timeout=30)
    
    # replace requests library in yfinance
    yf.base._requests = session
    yf.utils._requests = session
    yf.ticker._requests = session

     

    The above should do the trick

    • Thanks 1
    • Upvote 1
  4. 58 minutes ago, Che said:

    Cum faci atunci cand conexiunea ramane blocata? Adica internet este, ping catre google este dar conexiunea yfinance ramane blocat pur si simplu fara sa arate vreo eroare, fara nimic, doar astepti sa ia rezultatele si astepti si tot astepti dar nu se mai intampla nimic fiindca conexiunea este cumva inghetata.

    Setezi `timeout=<cat_vrei_tu>` pe fiecare request (e.g. `requests.get(url, timeout=10)`), dai retry de 3 ori sau cat vrei si treci mai departe daca resursa respectiva e busita (eventual stochezi in logs ca sa vezi ce se intampla si de ce nu merge). De asemenea, e posibil sa ai ceva antibots mechanism si sa iti dea block pentru cateva secunde/minute/ani etc...caz in care tre' sa folosesti proxies / socks. Uneori merge doar daca pui un mic sleep intre requesturi (e posibil sa le omori serveru') + schimbi User-Agent.

  5. E destul de usor ce vrei tu sa faci si poti combina solutiile de mai sus. Intr-adevar, pentru a fi sigur ca scriptul isi reia treaba de unde a ramas iti trebuie un Queuing mechanism in care sa stochezi statusul si id-ul fiecarui request in parte. Iti va fi usor sa reiei taskurile de unde au ramas.

     

    Ca sa rezolvi problemele cu no internet connection, curent nema, apocalipsa etc e ceva mai interesant (intra cumva in categoria de disaster recovery - multa teorie). Dar pe scurt, cu cateva try / except-uri ar trebui sa o rezolvi (e.g. poti face initial un HEAD request catre yfinance + retry de cateva ori in cazul in care requestul faileaza. Daca dupa cateva retry-uri nu primesti nimic de la url-ul respectiv, treci la urmatorul si pui in queue url-ul precedent pentru a-l incerca mai tarziu bla bla e mult de scris). Poti incerca urmatorul stack:

     

    - Python (il folosesti deja)

    - RabbitMQ (message broker)

    - Ceva DB (ceva cum ar fi Mongo cred ca ar merge perfect din moment ce nu pare ca ai vreo relatie intre datele de care ai nevoie)

     

    Ideea generala pentru a scapa de acel "retrieving..." e ca trebuie sa faci mereu sanity request check-uri care sa te asigure ca urmatoarele reqs vor merge. In caz contrar, tratezi acolo ce e de tratat. E.g:

     

    try:
        import httplib
    except:
        import http.client as httplib
    
    def i_have_internet():
        conn = httplib.HTTPConnection("www.google.com", timeout=5)
        try:
            conn.request("HEAD", "/")
            conn.close()
            return True
        except:
            conn.close()
            return False
          
    
    def main():
        if i_have_internet():
            # do your stuff (process yfinance bla bla)
        else:
            # wait, retry, check internet settings or w/e u want
            
            
    main()

     

    Mai sus e un exemplu simplu de check insa tu ar trebui sa tratezi tot ce ai nevoie. Asta se rezolva pe parcurs dupa ce intampini toate problemele.

    • Thanks 1
    • Upvote 2
  6. 6 hours ago, turcul said:

    Deci sa presupunem ca pot infesta 150-500 de calculatoare cu un botnet cu scopul de a mina pentru mine crypto.

    Se merita efortul avand in vedere ca tintele vor fi calculatoare  home pcuri?Cat cam pot castiga din 100 de calculatoare infectate? Si cam cat timp pana sa astept sa vina sa ma ia ? 

    Administrez un server de L2 , pentru a accesa servarul si nevoie de un patch care il iei de pe  site-ul servarului , patchul a fost downloadat de peste 500 persoane diferite si intreb informativ , daca este cineva sa ma lamureasca si pe mine multumesc anticipat

    E simplu:

     

    mqdefault.jpg

    • Haha 1
  7. In viata Dumnezeu iti da, da' nu-ti baga si-n gura. Fa si tu ceva research sau pune pe cineva sa iti faca asta contra-cost :) Nu e ca si cum ai intreba pe cineva: "Cum fac o ciocolata calda" si gata. Tre' sa pui ceva efort in asta. Good luck.

     

    • Upvote 4
  8. Cadou de Craciun :) 

     

    import random
    import sys
    import time
    
    
    # generate numbers from 1 to 30 mapped to red color
    NUMBERS = {number: 'red' for number in list(range(1, 31))}
    
    
    class Colors:
        """
        ANSI color codes.
        """
        # RED is used for all the numbers
        RED = '\033[91m'
    
        # GREEN is used for displaying computer's random
        # chosen number
        GREEN = '\033[92m'
    
        # BLUE is used for displaying user's chosen
        # number
        BLUE = '\033[94m'
    
        END = '\033[0m'
    
    
    def assign_color_to_number(number, color):
        """
        Show ANSI colors in terminal for nicer UX.
        """
        
        if color == 'red':
            return f'{Colors.RED}{number}{Colors.END}'
        elif color == 'green':
            return f'{Colors.GREEN}{number}{Colors.END}'
        elif color == 'blue':
            return f'{Colors.BLUE}{number}{Colors.END}'
        else:
            return number
    
    
    def print_table(numbers):
        """
        Print a nice table with colorful numbers wrapped at 5.
        """
    
        print('\n')
        for number, color in numbers.items():
            number = assign_color_to_number(number, color).ljust(12)
            if number % 5 != 0:
                print(number, end=' ')
            else:
                print(number)
        print('\n')
    
    
    def countdown(seconds, user_number):
        """
        Let user know how much until the next game.
    
        Arguments:
            seconds (int): How many seconds until next game.
            user_number (int): User's lucky & chosen number.
        """
    
        print(f"You chose {user_number}. GOOD LUCK!\n\n")
    
        for second in range(seconds, -1, -1):
            sys.stdout.write(
                f"\r{second} seconds remaining until one number will change its color to green."
            )
            time.sleep(1)
            sys.stdout.flush()
    
        print('\n')
    
    
    def get_user_number():
        """
        Sanitize user's input.
        """
    
        while True:
            try:
                value = int(input('Please choose a number between 1 and 30: '))
                if 30 < value < 1:
                    print("Please insert a number between 1 and 30!\n")
                    continue
                return value
            except ValueError:
                print("Please insert a number between 1 and 30!\n")
                continue
    
    
    def play():
        print_table(NUMBERS)
    
        user_number = get_user_number()
        countdown(5, user_number)
    
        random_number = random.randint(1, 30)
    
        if user_number != random_number:
            NUMBERS.update({random_number: 'green', user_number: 'blue'})
            print_table(NUMBERS)
            print(
                f'You did not guess the number. Our number was: {random_number} '
                f'and yours was: {user_number}.\n\nGOOD LUCK NEXT TIME'
            )
        else:
            print(
                'You guessed it! Congrats! Please fill in the information '
                'below in order to receive your prize.\n\n'
            )
    
            name = input('Your name: ')
            age = input('Your age: ')
            email = input('Your email: ')
    
            print(f'Name: {name}\nAge: {age}\nEmail:{email}')
    
        # reset our numbers
        NUMBERS.update({random_number: 'red', user_number: 'red'})
    
    
    def main():
        print('\nWELCOME TO LOTTERY!')
    
        while True:
            play()
            answer = input('Play again? [Y]es/[N]o: ')
    
            if answer.lower() == 'n':
                break
    
        print('\nTHANKS FOR PLAYING!')
    
        
    if __name__ == '__main__':
        main()

     

    Aici ai si link cu codu' si poti sa ii dai un Run de test. Am pus si niste comment-uri in caz ca vrei sa intelegi ce se intampla, desi ma indoiesc.

     

    PS: Codu' e scris destul de repede but it does it job chiar daca nu e perfect organizat.

     

    Enjoy :) 

    • Upvote 1
  9. Salut,

     

    Io n-am inteles nimic din ceea ce vrei.

     

    - Care numere sunt verzi si care sunt rosii? 

    - Sunt doua seturi de 30 de numere, un set fiind rosu si altul fiind verde?

    - Cum determini cand un numar e disponibil?

    - De unde au aparut campurile alea? Sunt prin Baragan?

    - Etc.

     

    Mersi

  10. Hai sa iti explic putin cum sta treaba daca vrei sa gasesti pe cineva:

     

    1. Descrie asa cum trebuie proiectul.

    1.1 Ce fel de interfata? Web / Desktop / Command Line?

    1.2 Cum arata excel-ul respectiv? Sunt mai multe sheets? E foarte mare fisierul?

    1.3 Cum ai vrea sa arate "interfata" respectiva?

    1.4 Ce legatura au PDF-ul si WORD-ul cu excelul?

     

    2. Ce suma oferi pentru cele de mai sus?

    2.1 Oferi un avans?

    2.2 Garantezi ca vei plati developerul care iti va face acest proiect?

    2.3 Daca garantezi, cum o faci?

    2.4 Cum vei face plata?

     

    Daca oferi aceste detalii iti garantez ca se vor gasi oameni care te vor ajuta. Poate chiar si gratis, pentru portofoliu, daca e ceva rapid :) 

    • Like 1
    • Thanks 1
    • Upvote 3
×
×
  • Create New...