Acasă
Despre
Cautare
🌐
English Română
  • if(!WYSIWYG()) die();

    Oct 31, 2008 IDE WYSIWYG zend
    Share on:

    Traim intr-o lume inconjurati de medii de programare.  Incepand de la Adobe Dreamweaver si Eclipse pana la notepad fiecare din noi foloseste un mediu de programare, un IDE (Integrated development environment) sau pe romaneste “mediu integrat de dezvoltare”.

    Fiecare firma si individ are preferintele lui in functie de limbaj, costuri, complexitate etc. Probabil cel mai folosit din punctul de vedere al webdesig-nerilor este Adobe Dreamweaver, ba chiar acesta este preferat si de foarte multi programatori. Eu personal am testat Zend Studio for Eclipse varianta trial si pot spune ca sunt impresionat, cand vine vorba de programare in PHP este un mediu complet utilat, dar nu voi intra in mai multe detalii.

    Cu toate ca lumea este plina de IDE-uri, atat cu licente platite cat si open-source multe firma prefera varianta notepad sau chiar am intalnit la o firma editate folosind MC (Midnight Commander, foarte similar cu Windows commander dar pentru linux). Motivele sunt simple de cele mai multe ori, bani, obisnuinta, licenta incompatibila sau chiar lipsa de interes.

    Eu unul pur si simplu nu pot sa-i inteleg pe cei care fac aceste alergeri, ok eu nu sunt designer si nici nu pretind ca sunt sub nici o forma dar fara un mediu cu WYSIWYG (What You See Is What You Get) ma simt terminat. Un mediu vizual poate sa creasca productivitatea considerabil si sa scada numarul de erori intr-un site, intr-un cuvand este o investitie nu o cheltuiala si ar trebui perceputa ca atare. Pentru mine sunt trei lucruri esentiale intr-un IDE: 1 sa aiba un editor WYSIWYG, 2 sa aiba autocomplete (nu pentru ca nu stiu sintaxa, dar ma ajuta sa scriu cod mult mai repede si mai corect), 3 sa aiba suport FTP ca sa pot lucra direct pe server. Daca tu nu folosesti asa ceva ar trebui sa te gandesti serios la asta, iar daca seful tau nu se gandeste la asta ar trebui sa te gandesti serios la care sunt prioritatile lui!

    Concluzia, alege bine mediul de programare pentru ca el va determina cat de repede si bine vei lucra in continuare.

  • Windows XP Service Pack 3

    Oct 24, 2008 xp
    Share on:

    Microsoft a lansat de curand, SP3 pentru Windows XP.

    Cum spuneam intr-un blog anterior, asta arata ca Microsoft inca nu va renunta la acest sistem de operare etc.

    Intr-o zi, cineva a incercat sa acceseze o anumina aplicatie de la o anumita banca (bancile in general folosesc token, un sistem pentru autentificare, nu vreau sa spun decat ca acesta se poate genera ori din software cu un program sau hardware cu un dispozitiv), a incercat sa se autentifice asa cum face aproape zilnic dar… nimic, eroare dupa eroare. Dupa suficient timp pierdut si destule telefoane la banca a reperat si problema, sofware-ul nu este compatibil cu SP3.

    Cum ce s-a intamplat mai sus nu m-a afectat chiar de loc sa va povestesc o alta problema care am intalnit-o eu personal. A trebuit sa fac un proiect zilele trecute folosind serverul Oracle (am folosit 10g). Din pacate… nu am reusit sa-l fac sa functioneze normal pe desktopul meu, am incercat pe laptop… la fel. Totusi in mod ciudat dupa ce l-am instalat pe o versiune de Win cu SP2 ca prin minune a mers (Win original, acelasi ca pe laptop).

    Trebuie sa recunosc ca de mult nu am mai vazut un update care sa faca atat de multe probleme ca SP3, nu spun ca nu au mai fost si altele, dar… se pare ca povestea continua. Voi decideti daca faceti pasul spre SP3 sau… nu. Oricum putea sa fie si mai rau, daca nu mai pornea Apache sau MySQL?

  • In ce mai programam azi?

    Oct 20, 2008 c Pascal PHP
    Share on:

    M-am saturat, sunt mult prea multe limbaje de programare si scripting in ziua de azi.

    De exemplu, daca vrei sa faci un site nu foarte complicat ai nevoie de:

    • HTML
    • CSS
    • JavaScript
    • PHP sau alt limbaj server-side.

    Si totusi… aplicatiile web sunt totusi simple.

    Poate o sa spuneti ca nu este o problema atat de mare pentru ca acestea au stuctura si “parinti” comuni.

    Adevarat, sa incepem cu un limbaj cum este C (aparut in anul 1972). In anii “80 lumea avea sa cunoasca o noua abordare in lumea programarii, universul orientat obiect. Si a aparut C++ (1983). Totul era bine daca lucrurile ramaneau asa simple, dar nuu, a aparut si Objective C, un alt descendent obiectual (folosit de Apple in principal). Pentru ca lucrurile nu erau destul de “simple”, cei de la SUN s-au gandit sa faca un alt limbaj care avea sa fie obiectual in intregime. Si asa a venit pe lume Java. Microsoft au incercat sa preia acest limbaj dar din pricina unor probleme de licenta s-au hotarat sa faca limbajul lor mai bun si mai destept decat ce era deja pe piata. Iar dupa ceva vreme s-a nascut Fat-Frumos, sau C#. Si toate acestea pornind de la un singur limbaj…

    Multi au impresia ca Pascal a murit undeva pe la finalul “80 inceputul “90, nu va inselati, dar inainte sa moara s-a transformat in Delphi, o versiune de Pascal orientata obiect.

    Iar ca totul sa fie mai complicat, limbajul C# a fost proiectat de cel care a realizat compilatorul Turbo Pascal de la Borland.

    Adevarul este ca nu s-a ajuns la un standard si nu cred ca se va ajunge prea curand, chiar daca majoritatea OS-urilor au la baza C.

    Mi se pare inuman sa trebuiasca sa inveti atatea limbaje de programare, iar in functie de ce ai nevoie in general schimbi limbajul, iar daca schimbi OS-ul de cele mai multe ori trebuie sa schimbi si limbajul (mai putin la limbaje cum ar fi Java). Incep sa cred ca este mai bine ca un limbaj din trecut sa dispara, pana la urma limbaje precum Cobol (1959) inca se mai folosesc, iar mult mai tanarul Pascal s-a dovedit depasit.

    Oricum atunci cand invatati un limbaj sa nu aveti impresia ca o sa ajungeti sa deveniti un expet universal in el, un limbaj simplu cum este PHP are posibilitati nebanuite de multi si chiar daca trecem cu vederea lucruri cum ar fi PHP-GTK si PHP-QT tot mai ramand o groaza de framework-uri si module optionale.

    In cazul unui limbaj cum este C nici nu mai are rost sa vorbim, acesta poate sa fie folosit pentru aproape orice, incepand de la drivere pana la pagini web inclusiv serverele pe care acestea ruleaza.

    Pana si limbaje de scripting care pana nu de mult erau considerate “de jucarie” cum este JavaScript, pana si acestea au posiblitati nebanuite astazi, de la pagini web, pana la plug-inuri FireFox si nu numai.

    Chiar si cand vine vorba de office, MS Excel suporta VB Script, pe cand Open Office suporta JavaScript.

    O data ce ai intrat pe fagasul acesta al programarii, ar trebui sa ai multa rabdare si pasiune, altfel nu o sa iesi prea bine…

  • Drivere generice?

    Oct 20, 2008 drivere
    Share on:

    Multi nu inteleg ce inseamna un drivere generic desi ne lovim atat de des de acest termen.

    Un driver generic, este un driver general. Sa zicem ca avem o placa video, driverul generic inglobeaza caracteristicile comune, sau mai bine zis, caracteristicile minime comune pentru a putea folosi componenta.
    Microsoft Windows in general instaleaza drivere generice pentru placa video, de sunet si retea.

    Din pacate aceste drivere nu ofera suport complet de cele mai multe ori, de ex la multe placi video driverul generic nu suporta functii avansate 3D, sau in cazul multor laptopuri rezolutia nativa. Fata de un CRT, monitoarele LCD functioneaza optim doar pe o singura rezolutie sau pe variatii la aceleasi proportii.

    Concluzia, mergeti frumos pe site-ul producatorului de chipset (ATI, NVIDIA etc.) si instalati ultimul driver, acesta nu doar ca o sa va permina sa jucati jocuri mai noi, dar chiar in aplicatii office calitatea va fi mai buna.

  • Cum scriem cod frumos

    Oct 18, 2008 cod frumos
    Share on:

    Inca de la primele bucati de cod scrise de programatori au aparut si primele probleme. De cand au aparut primii programatori a aparut si codul scris urat.

    Cred ca fiecare carte respectabila de programare care explica de la inceput un limbaj se afla doua elemente importante, comentariile si reguli generale de scriere.

    Eu la inceputurile mele de programare evident nu puneam nici un comentariu si nici nu ma omoram sa aranjez codul, toate astea pentru ca ma interesa sa mearga si… cam atat (mai ales ca nuprea mergeau din prima). Cu cat incepi sa lucrezi mai mult pe bucati de cod scrise de altii, incepi sa intelegi de ce sunt o inventie atat de buna comentarile si aranjarea in pagina.

    De ce sa pierzi vremea ca sa aranjezi codul si sa-l comentezi? Hmmm, din perspectiva mea, pentru ca nu-mi place sa pierd vremea cautand bug-uri si incercand sa-mi dau seama ce am facut acum o gramada de vreme, sau chiar saptamana trecuta, orice programator prefera sa scrie cod nu sa-l repare. Munca pe care o depui acum o sa-ti fie rasplatita in timp.

    Sa luam un exemplu:

    1while($row= mysql_fetch_array($rez))
    2   {
    3   $dump=$row["ceva"];
    4   $$dump =$row["altceva"];
    5   }
    6   $name=basename($_SERVER["PHP_SELF"]);
    7   $query = 'select t.ceva, sum(a.altceva) as REZ from tabela t, altatab a WHERE
    8adresa="'.$name.'" and t.val1=a.val2';
    9$result = mysql_query($query);
    

    Se intelege repede din codul de mai sus care este rezultatul. Dar daca acest cod este ascuns printre alte cateva sute/mii de linii de cod, deja nu se mai intelege nimic.

    Cateva probleme:

    • codul nu este ordonat, macar daca nu il comentezi ARANJEAZA-L!!! Nu te gandi niciodata ca o faci pentru altcineva, de cele mai multe ori tot eu fac debuging pe un script facut de mine, dar cand trebuie sa urmaresc logica altcuiva… ganduri necurate imi strabat mintea.
    • fii consistent, in general atunci cand lucrez pe un script care nu e facut de mine incerc sa pastrez consistenta modului de scriere (daca exista) a celui care a scris bucata de cod, asa nu o sa trebuiasca sa urmaresti doua moduri de scriere iar totul o sa fie mult mai vizual.
    • scrierea conform standardului, chiar ieri aveam o discutie despre diferenta intre JOIN si conditie in WHERE in Oracle, concluzia a fost ca nu reduc performanta. Trebuie sa recunosc, nici eu nu foloseam aceasta tehnica pana nu de mult, dar o interogare scrisa aranjat o sa fie mult mai usor de inteles ulterior. Chiar daca nu o faci conform standardului, macar sa fie aranjata, cand sari de doua tabele si ai gresit ceva o sa fie mult mai usor sa urmaresti ce ai facut.
    • scrie interogarile pe mai multe linii. MySQL nu intoarce erori explicite de multe ori, spune doar zona in care a gasit o eroare, atunci cand sunt pe mai multe linii vei afla si linia cu probleme. Un alt mare avantaj este ca poti sa comentezi cu usurinta o linie.

    Varianta “frumoasa” a codului de mai sus ar fi ceva de genul:

     1while($row = mysql_fetch_array($rez)) {
     2  $dump = $row["ceva"];
     3  $$dump = $row["altceva"];
     4}
     5
     6$name = basename($_SERVER["PHP_SELF"]);
     7
     8$query = "SELECT t.ceva, SUM(a.altceva) AS rez
     9          FROM tabela AS t, altatab AS a
    10          WHERE adresa='".$name."'
    11          AND t.val1=a.val2";
    12$result = mysql_query($query);
    

    Parca arata altfel nu? Evident se poate aranja si mai mult dar eu unul sunt multumit daca gasesc asa ceva in codul altcuiva.

    Un blog interesant despre Lazy Ones (lenesi) este aici.

    • ««
    • «
    • 26
    • 27
    • 28
    • 29
    • 30
    • »
    • »»

Claudiu Perșoiu

Programare, tehnologie și altele
Mai multe

Postări recente

  • Slider in Tasmota folosind BerryScript
  • Proiectul care rezista probei timpului
  • Docker in interiorul wsl2
  • Migrând de la Wordpress
  • Calea personalizată pentru Composer cache
  • Magento2 si crudul adevar
  • Un pic de PHP, Go, FFI si atmosfera de sarbatori
  • Cum sa folosesti Xiaomi Air Conditioning Companion in Home Assistant in doar de 20 pasi usor de urmat!

DIVERSE 72 PHP 67 JAVASCRIPT 22 BROWSERS 12 MYSQL 12 WEB STUFF 12 MAGENTO 7 DESIGN PATTERNS 5 HARDWARE 3 HOME AUTOMATION 2 LINUX-UNIX 2 GO 1 MISCELLANEOUS 1

PHP 52 JAVASCRIPT 20 PHP5.3 14 MYSQL 13 PHP6 12 PHP5 10 FIREFOX 9 CERTIFICARE 8 INTERNET EXPLORER 8 ZCE 8 ZEND 8 CERTIFICATION 7 MAGENTO 7 HACK 6
Toate etichetele
10 ANI1 3D1 ADOBE AIR2 AJAX1 ANDROID3 ANGULAR1 ANONYMOUS FUNCTIONS3 API1 APP1 BERRYSCRIPT1 BETA1 BOOK1 BROWSER4 C2 CALCULATOARE1 CARTE2 CERTIFICARE8 CERTIFICATION7 CERTIFIED2 CERTIFIED DEVELOPER1 CHALLENGE1 CHM1 CHROME1 CLASS1 CLI2 CLOSURES5 COD1 CODE QUALITY1 CODEIGNITER3 COFFEESCRIPT1 COLLECTIONS1 COMPOSER1 CSS3 CSV1 CURL1 DEBUG1 DESIGN PATTERNS4 DEVELOPER1 DEVELOPMENT TIME1 DIAGRAME1 DOCKER2 DOCKER-COMPOSE1 DOUGLAS CROCKFORD3 DRIVERE2 ELEPHPANT2 ENGINEER1 EXAMEN1 EXCEL1 FACEBOOK2 FEEDBACK1 FFI1 FINALLY1 FIREFOX9 FISIERE1 FPDF1 FRUMOS1 FTP1 GAMES1 GD2 GENERATOR1 GO1 GOOGLE5 GOOGLE ANALYTICS1 GOOGLE CHROME3 GOOGLE MAPS2 HACK6 HARDWARE1 HC-911 HEADER1 HEIGHT1 HOMEASSISTANT2 HTML2 HTML HELP WORKSHOP1 HTML51 HUG1 HUGO1 IDE1 IMAGINE1 INFORMATION_SCHEMA1 INI1 INTERNET4 INTERNET EXPLORER8 IPV41 IPV61 ISP1 ITERATOR2 JAVA1 JAVASCRIPT20 JQUERY1 LAMBDA2 LAPTOP2 LINUX1 LIVELY1 LUNI1 MAGENTO7 MAGENTO22 MAP1 MAPS1 MICROSOFT1 MINESWEEPER1 MOTIVATION1 MSN MAPS1 MYSQL13 MYSQL WORKBENCH1 NGINX1 NODE.JS2 NOFALLOW1 NOSQL1 OBSERVER3 OBSERVER PATTERN1 OOP1 OPERA1 OPTIMIZATION1 ORACLE2 PAGESPEED1 PAIR1 PARSE_INI_FILE1 PASCAL1 PEAR1 PECL1 PERSON VUE2 PHAR1 PHONEGAP2 PHP52 PHP ELEPHANT2 PHP FOR ANDROID1 PHP-GTK1 PHP42 PHP510 PHP5.314 PHP5.46 PHP5.53 PHP5.61 PHP612 PHP7.41 POO1 PR1 PROGRAMMING1 PROIECTE1 RETEA1 REVIEW1 ROCK STAR1 ROMANIAN STEMMER2 RSS1 SAFARY1 SCALAR TYPE HINTING1 SCHEME1 SEO1 SET1 SHOPPING CART PRICE RULE1 SIMPLEXML1 SINGLETON1 SOAP2 SPL2 SQLITE1 SSH1 STACK TRACE1 STDERR1 STDIN1 STDOUT1 STOCATE1 STUDY GUIDE1 SUN2 SYMFONY2 TABLE1 TASMOTA1 TEST TO SPEECH1 TITANIUM2 TRAITS1 TTS1 UBUNTU1 UNICODE3 UTF-82 VECTOR1 VISTA2 WEB2 WEBKIT1 WINBINDER1 WINDOWS2 WORDPRESS1 WSL21 WYSIWYG1 XP3 YAHOO3 YAHOO MAPS2 YAHOO OPEN HACK1 YSLOW1 YUI1 ZCE8 ZCE5.31 ZEND8 ZEND FRAMEWORK4
[A~Z][0~9]

Copyright © 2008 - 2024 CLAUDIU PERȘOIU'S BLOG. Toate drepturile rezervate