Arhive categorie: Uncategorized

9 programe pentru web development

Pentru web development in principiu este nevoie de browser si editor text. Am pregatit o lista programe pe care le folosesc si iti recomand sa le instalezi si tu pe laptopul / PC-ul tau. Majoritatea softurilor sunt gratuite. 

  1. Browser – Gratuit
    Iti recomand Chrome / Firefox, totusi un web developer ar trebui sa aiba acces la toate tipurile de browsere.

  2. Terminal – Gratuit
    Pentru windows iti recomand Git bash
    Pe linux / macos ai acces la un terminal puternic

  3. Editor text – Gratuit
    Netbeans este ideal pentru PHP development
    Visual Studio Code este foarte bun pentru JS development
    Sublime Text* este ok atat pentru PHP cat si pentru JS. Este un editor care consuma foarte putine resurse.

    Sublime Text necesita licenta comerciala, in acest moment costa 80$ USD.

  4. XAMP / MAMP / LAMP  – Gratuit
    Apache – Web server
    MySQL – Baza de date relationala
    PHP* – Limbaj de programare / scripting.

    *Pentru development este de ajuns serverul de web din PHP.

  5. Postman – Gratuit
    Postman este un client API, se foloseste pentru testare API-uri.

    Exista si o varianta comerciala, dar nu este necesara pentru inceput.

  6. MySQL Workbench – Gratuit
    Este cel mai puternic client MySQL.
    Alternative: PhpMyAdmin sau Adminer

  7. Comunicare – Gratuit
    Skype / Gmail

  8. GIT – Gratuit
    Este folosit pentru versionarea proiectelor.
  9. Synergy – 19$ USD
    Este un software pentru a share-ui o singura tastatura / mouse pe mai multe laptopuri / PC-uri.

Daca iti doresti sa inveti programare web de la zero, si nu numai, alaturat gasesti datele mele de contact!

Anunțuri

Securizeaza aplicatia web: Session fixations

Iti este securizata aplicatia web? Cunosti termenul si semnficatia de session fixation? Ii doresti sa afli mai multe despre asta?

Cand vine vorba de securitate este mereu loc de imbunatatiri, deoarece la fel cum tehnologia avanseaza pe zi ce trece, in acelasi mod gasesc si hackeri posibilitati prin care iti pot afecta securitatea aplicatiei web.

Motiv pentru care e important sa cunosti tipurile de atacuri cibernetice si ce poti face pentru a le preveni.

Ce este Session Fixation?

Un alt tip de atac cibernetic este Session Fixation. Acesta ii permite unui atacator atace sesiunea valida a unui utilizator. Atacul exploreaza o limitatie, in sensul in care aplicatia web coordoneaza sesiunea de ID, care este partea vulnerabila a unei aplicatii web.

In momentul in care un utilizator se autentifica, nu i se atribuie o sesiuna noua de ID, iar acest proces face posibil sa folosesti o sesiune de ID deja existenta. Atacul e bazat pe obtinerea unei sesiuni valide, in care utilizatorul se autentifica, urmand ca atacatorul sa preia controlul asupra sesiunii. Atacatorul trebuie sa furnizeze o sesiune ID web veritabila, iar pentru aceasta incearca sa faca victima sa foloseasca browserul.

Good to know! Acest tip de atac, tinteste sesiunile stabilite in browser-ul victimei, ceea ce inseamna ca atacul incepe inainte ca utilizatorul sa se autentifice.

Tehnici de executare

Pentru a executa atacul exista mai multe tehnici, in functie de token-urile folosite pentru sesiunile aplicatiei web.

Sesiune ID intr-un cookie

<META> tag – Acesta este considerat si un atac de tip injectare cod. Un atac care foloseste aceasta tehnica este mult mai eficient. Asta deoarece este imposibil sa dezactivezi procesarea acestor etichete in browsere.

Client-side script – Majoritatea browserelor suporta tipul de executie client-side scripting. Pentru aceasta tehnica, atacatorul poate folosi atacuri de injectare cod, ca de exemplu atacul XSS (cross-site scripting) pentru a insera un cod malicious in hyperlink-ul trimis victimei. Astfel e fieaza o sesiune ID in cookies.

HTTP header response – Pentru aceasta metoda, se cerceteaza raspunsul server-ului pentru a fixa sesiunea ID in browser-ul victimei. Astfel, atacatorului ii este permis sa insereze valoarea sesiunii ID in cookie, incluzand parametrul Set-Cookie in raspunsul header-ului HTTP, iar apoi este trimis catre browser-ul victimei.

Sesiuni token in argumentul URL-ului

Sesiunea ID ii este trimisa victimei sub forma unui link prin care victima acceseaza aplicatia web printr-un URL daunator.

Sesiuni token ascunse intr-un formular

Pentru aceasta tehnica, e necesar ca victima sa fie pacalita in autentificarea unui server web tinta, folosind un formular de login, care este creat de atacator. Formularul poate fi gazduit in emailul formatat HTML sau in server-ul web daunator.  

Exemple explicative

 

  • Client-side scripting

 

Procesul pentru acest tip de atac care foloseste scripturile de executie in browserul victimei care nu apar sub forma unui argument in URL, dar in cookie-uri. Atacatorul poate insera un cod JavaScript in URL care va fi efectuat in browser-ul victimei.

http://website.kom/document.cookie=”sessionid=abcd”;

 

  • HTTP header response

 

Prin interceptarea pachetelor de schimb intre aplicatia web si client, se face inserarea valoarei sesiunii ID in cookie prin manipularea raspunsului server-ului.

 

  • <META> tag

 

Codul de injectare e necesar sa ie introdus in URL-ul care va fi trimis victimei.

http://website.kon/<meta http-equiv=Set-Cookie content=”sessionid=abcd”>

 

 

  • Formularul

 

Pentru atacul in formular, atacatorul trebuie sa stabileasca o conexiune vertabila cu server-ul web. Mai apoi, se elibereaza sesiunea ID, sau atacatorul creaza o noua sesiune. Atacatorul trimite link-ul cu conexiunea gazduita victimei, pentru a fi accesat de victima.

Timp in care server-ul web vede sesiunea are a fost deja stabilita, nemaifiind nevoie de una noua. Astfel victima isi introduce datele server-ului web, iar atacatorul poate accesa contul utilizatorului.

Daca iti doresti sa inveti cum sa oferi aplicatiei web o securizare mai solida, gasesti aici datele mele de contact!

Cum sa verifici daca ai configurat securitatea aplicatiei web?

Iti este configurata securitatea aplicatiei web? Te intereseaza cum poti verifica daca configurarea a fost facuta corespunzator?

Cand vine vorba de securitate, un aspect important este ca aceasta sa fie configurata corespunzator. Aceasta conteaza deoarece in acest fel poti determina daca aplicatia web este intr-adevar securizata, sau daca exista puncte slabe.

Ce inseamna configurarea gresita a securitatii unei aplicatii web?

Configurarea gresita a securitatii unei aplicatii web se afla pe locul 5 pe lista vulnerabilitatilor. Daca o componenta este predispusa la atacul cibernetic datorita configurarii necurespunzatoare, se incadreaza in categoria configurarii securitatii necorespunzatoare. Indiferent de locul in care apare configurarea gresita, fie in baza de date, sau pe server-ul web e considerata acelasi tip de vulnerabilitate.

Cat de raspandita este aceasta vulnerabilitate?

Configurarea necorespunzatoare a securitatii este o categorie cuprinzatoare. In acelasi timp, este si un fenomen care se intampla chiar frecvent.

O aplicatie web este construita pe mai multe straturi, motiv pentru care posibilitatea de a gresi creste cu fiecare parte.

Ce impact aduce?

Impactul se diferentiaza in functie de specificul fiecarei configuratii gresite. Cert este ca, posibilele impacte pot fi de la cele mai mici si chiar pana la intreaga preluarea a aplicatiei web.

Preluarea de catre o terta parte a aplicatiei web inseamna informatii confidentiale care sunt furate in diferite scopuri, iar recuperarea acestora poate sa coste destul de mult.

Cum poti descoperi daca configurarea securitatii este gresita sau nu

Singura modalitate prin care poti verifica este sa incepi sa verifici intreg sistemul. Poti incepe sa verifici prin raspunsul la mai multe intrebari:

  • Atunci cand e posibil sa aplici o securitatea mai solida intr-un framework, se executa acest lucru?
  • Au ramas conturi implicite? Daca da, au fost schimbate parolele?
  • Sunt instalate sau activate functionalitati care nu sunt necesare? Pot fi sterse?

Si prea putine si prea multe functionalitati pot sa faca ca securizarea aplicatiei web sa fie instabila.

Daca iti doresti sa inveti cum sa configurezi securitatea unei aplicatii web, sau iti doresti sa inveti programare web de la zero, si nu numai, ma poti contacta aici!

Securizarea informatiilor confidentiale

Unele dintre cele mai importante parti pe care le contine un site web sunt informatiile confidentiale, fie ca sunt ale vizitatorilor, clientilor, sau chiar ale tale.

Ca si proprietarul unui site web e esential sa intelegi importanta securizarii informatiilor confidentiale. Deoarece in cazul in care o parte terta are acces la astfel de informatii, atat increderea clientilor, cat site-ul tau sunt in pericol.

Dezvaluirea unor informatii confidentiale se intampla atunci cand aplicatia sau site-ul web nu beneficiaza de o securitate puternica pentru a proteja informatiile. Aceste informatii sunt de mai multe tipuri, de la tokens pentru anumite sesiuni, parola pana la informatiile private de sanatate, sau informatii bancare.

Raspandire

In multe cazuri, in dezvoltarea unei aplicatii sau a unui site web, partea de securizare a informatiilor condifentiale e planificata spre sfarsit. Acest lucru se intampla deoarece, in plan prioritar este dezvoltarea unei aplicatii cat mai bune si functionale.

Sa lucrezi cu date confidentiale si criptate e unul dintre cele mai dificile lucruri. Aceste este unul dintre motivele pentru care se fc multe greseli in implementarea unei solutii self-built, lucru care va duce la o securizare insuficienta a datelor.

Astfel, dezvaluirea unor date confidentiale este o vulnerabilitate des intalnita, care poate fi mai daunatoare celor cu proiecte sau companii mai mici. Sigur ca, chiar si companiile mari pot fi afectate de acest fenomen, insa nu atat de des.

Impact potential

Impactul potential e considerat mereu a fi mare deoarece implica ne referim la informatii confidentiale. Pericolul consta in dezvaluirea informatiilor, iar impactul potential reflecta importanta si confidentialitatea informatiilor.

In cazul in care cardul tau bancar a fost furat, atacatorul poate goli intreg contul victimei, daca anumite certificate sunt furate atacatorul poate pretinde ca el este tinta, sau daca parolele sunt dezvaluite, atacatorul poate abuza de numele si functia ta. Totul depinde de informatiile care sunt in riscul de a fi dezvaluite.

Exploatabilitate

O mare parte dintre vulnerabilitatile criptate sunt considerate a fi greu de exploatat, in special la scara larga. Totusi, exista cealalta jumatate, in care aceste vulnerabilitati sunt mult mai usor de exploatat.

Daca un atacator ar avea acces la o baza de date care este necriptata, acestia nu ar avea nevoie de nimic special pentru a exploata informatiile gasite. Ar avea cu un strat de securitate mai putin, ceea ce ar face procesul de atac mult mai usor.

Cum previi dezvaluirea informatiilor confidentiale

Un prim pas pentru a preveni dezvaluirea informatiilor confidentiale este sa faci o analiza a datelor si sa vezi care sunt intr-adevar confidentiale si prin urmare, care sunt esentiale de protejat.

  • Dupa analiza, asigura-te de urmatoarele:
  • Informatiile nu sunt transmise in text clar niciodata;
  • Generarea cheii este securizata;
  • Informatiile nu sunt niciodata stocate in text clar;
  • Headerele din browser sunt setate sa nu faca cache in momentul in care informatiile confidentiale sunt prezentate utilizatorului;
  • Algoritmii sunt folositi pentru a cripta datele care sunt considerate a fi destul de solide.

Cum descoperi

Acest tip de vulnerabilitate este diferit de cele care sunt putin mai traditionale, motiv pentru care nu poate fi gasita prin aceleasi modalitati. Multe vulnerabilitati care fac parte din aceasta categorie nu pot fi scanate, iar acest lucru este explicat in doua motive:

  • Un pentester extern nu poate stii daca informatiile interne sunt criptate sau nu;
  • Pentru a determina riscul, trebuie decis daca informatia e considerata confidentiala, fapt care e dificil de realizat in mod automat.

In majoritatea cazurilor, pentru a vedea daca site-ul sau aplicatia ta sunt vulnerabile la dezvaluirea informatiilor confidentiale e necesar sa urmezi pasii din lista de prevenire, deoarece e singura cale prin care poti identifica daca site-ul tau securizeaza informatiile confidentiale.

Daca iti doresti sa inveti cum sa iti securizezi informatiile confidentiale sau iti doresti sa fie securizate de o parte terta, aici gasesti datele mele de contact!

Creeaza primul tau plugin WordPress

Plugin-urile WordPress sunt scripturi care au rolul de a modifica site-ul tau. Aceste schimbari se refera de la cele mai simple care modifica mici parti din header pana la cele mai complicate care declanseaza trimiterea email-urilor, etc.

Diferenta dintre o tema WordPress si un plugin WordPress este ca tema este folosita pentru a schimba aspectul site-ului web in timp ce plugin-urile au rolul de a schimba modul de functionare.

Primul plugin

Un prim pas in realizarea unui plugin este crearea unui folder, urmand alcatuirea unui singur fisier cu o singura linie de continut. Acest lucru il poti efectua in folderul wp-content/plugins in care vei crea un nou folder care se poate numi, de exemplu greatplugin. In acest folder, alcatuieste un fisier numit greatplugin.php. Ca si un pas urmator e necesar sa deschizi fisierul intr-un editor de text in care sa lipesti urmatoarea informatie:

<?php    
/*    
Plugin Name: Pluginul meu cool    
Plugin URI: http://pluginul-meu-cool.ro    
Description: Descriere plugin cool    
Version: 1.0    Author: Sandor Kovacs    
Author URI: https://www.sandorkovacs.ro    
License: GPL2    
*/ 
?>

Daca intentionezi sa distribui plugin-ul tau, e important de retinut ca ar fi bine sa adaugi cat mai multe date posibile, dar daca nu, numele plugin-ului este de ajuns.

Acum, iti poti activa plugin-ul din back-end, desi momentan nu face nimic.

Structura plugin-ului

In cazul in care plugin-ul tau se adreseaza in special unei clase principale, pune aceea clasa in fisierul principal al plugin-ului, iar pentru alte functionalitati adauga fisiere diferite. Daca plugin-ul tau dezvolta partea de back end a WordPress-ului avand comenzi personlizate, poti creea fisierele JavaScript si CSS pentru a stoca fisierele adecvate.

Good to know! In crearea unor functionalitati complexe, e de preferat sa iti iparti plugin-ul in fisiere si foldere mutiple. De asemenea, e important sa gasesti o balanta intre gradul de utilizare, structura layout-ului si minimalismul.

Numele si functionalitatile plugin-ului

In realizarea unui plugin, o parte importanta careia sa-i acorzi mai multa atentie, este denumirea plugin-ului, functionalitatilor si claselor. Este necesar pentru a nu avea functionalitati similare care au nume aproape identince.

Una dintre cele mai folosite solutii este folosirea anumitor prefixe, scazand mult posibilitatea de a avea aceleasi denumiri ca si altcineva.

Securitatea plugin-ului

Securitatea online este unul dintre cei mai importanti factori, iar aceasta regula se aplica si in cazul realizarii unui plugin, in special daca doresti sa il distribui.

In ceea ce priveste securitatea unui plugin, aceasta se bazeaza pe doi piloni: unul care se asigura ca plugin-ul nu raspandeste date stricate si al doilea pilon care permite utilizatorului sa efectueze anumite actiuni.

Poate pare mai complicat, dar WordPress ofera multiple functionalitati pentru a duce la bun sfarsit crearea unui plugin.

Lasa ordine in urma ta

O problema cu multe plugin-uri este ca in urma lor lasa multe date care nu sunt necesare. Astfel de date sunt utilizate doar de plugin-uri si care ajung a fi o greutate in plus, daca plugin-ul nu curata dupa el.

Pentru acest proces, WordPress ofera trei hooks:

 

  • Register_activation_hook () – Acest hook iti permite sa realizezi o functionalitate care functioneaza in timp ce plugin-ul tau este activat.
  • Register_deactivation_hook () – Functioneaza ca o replica a hook-ului mai sus mentionat, dar doar atunci cand plugin-ul este dezactivat.
  • Register_unistall_hook () – Aceasta functioneaza doar cand administratorul site-ului sterge plugin-ul tau in back end. E o metoda eficienta pentru a elimina datele in plus.

 

Documentatie si standarde de codare

In cazul in care dezvolti plugin-uri pentru comunitati mari, atunci a face documentatie codului tau este considerat ca fiind un gest de bune maniere si totodata e eficient pentru business.

A face documentatie codului tau e un obicei eficient chiar daca il folosesti in mare parte in scopuri personale. In acest fel, vei avea o evidenta rolul fiecarei functionalitati, chiar daca a fost scris cu luni in urma.

De asemenea, pe langa documentatie, respectarea standardelor de codare sunt importante, pentru a se conforma cu instructiunile WordPress-ului.

Practica e mama invataturii!

Ca dupa orice teorie, practica e modalitatea prin care poti observa daca intr-adevar ai inteles. Pentru aceasta vom realiza un plugin care atrage mai multa popularitate articolelor prin stocarea tuturor datelor de vizionare a fiecarei postare.

Planificare din timp

Inainte de scrierea propriu-zisa a codurilor, e important sa te gandesti si sa incerci sa determini fiecare functionalitate de care plugin-ul are nevoie. De exemplu:

  • O functionalitate care inregistreaza fiecare vizualizare pe care o postare o are;
  • O functionalitate care permite sa recuperezi numarul burt de vizualizari;
  • O functionalitate care restabileste o lista de postari in functie de numarul de vizualizari;
  • O functionalitate care ne arata numarul de vizualizari a fiecarui utilzator.

Pregatirea functionalitatilor

Primul pas este crearea folder-ului si structura fisierului. In folderul plugins poti alcatui un folder numit great_popular, iar dupa creaza un fisier numit great_popular.php. Dupa ce deschizi fisierul poti copia urmatoarele:

<?php    
/*    
Plugin Name: Pluginul meu cool    
Plugin URI: http://pluginul-meu-cool.ro    
Description: Descriere plugin cool    
Version: 1.0    Author: Sandor Kovacs    
Author URI: https://www.sandorkovacs.ro    
License: GPL2    
*/ 
?>

Inregistrarea numarul de vizualizari ale postarilor

Daca se poate gasi gasi o functionalitate WordPress care sa ruleze atunci cand o postare este vizualizata, mai e nevoie doar de scrierea functionalitatii care inregistreaza numarul de vizualizari si dupa se face hook.

/**
* Adds a view to the post being viewed
*
* Finds the current views of a post and adds one to it by updating
* the postmeta. The meta key used is "awepop_views".
*
* @global object $post The post object
* @return integer $new_views The number of views the post has
*
*/
function awepop_add_view() {
  if(is_single()) {
     global $post;
     $current_views = get_post_meta($post->ID, "awepop_views", true);
     if(!isset($current_views) OR empty($current_views) OR !is_numeric($current_views) ) {
        $current_views = 0;
     }
     $new_views = $current_views + 1;
     update_post_meta($post->ID, "awepop_views", $new_views);
     return $new_views;
  }
}

 

Recuperarea si dezvaluirea vizualizarilor

Folosirea unei functionalitati mai mult de o data poate crea redundanta, dar in acest caz promoveaza gandirea orientata spre obiect, care ofera si flexibilitate in dezvoltarea plugin-ului:

/**
* Retrieve the number of views for a post
*
* Finds the current views for a post, returning 0 if there are none
*
* @global object $post The post object
* @return integer $current_views The number of views the post has
*
*/
function awepop_get_view_count() {
  global $post;
  $current_views = get_post_meta($post->ID, "awepop_views", true);
  if(!isset($current_views) OR empty($current_views) OR !is_numeric($current_views) ) {
     $current_views = 0;
  }

  return $current_views;
}

 

Pentru dezvaluirea vizualizarilor se poate folosi urmatoarea functionalitate:


/**
* Shows the number of views for a post
*
* Finds the current views of a post and displays it together with some optional text
*
* @global object $post The post object
* @uses awepop_get_view_count()
*
* @param string $singular The singular term for the text
* @param string $plural The plural term for the text
* @param string $before Text to place before the counter
*
* @return string $views_text The views display
*
*/
function awepop_show_views($singular = "view", $plural = "views", $before = "This post has: ") {
  global $post;
  $current_views = awepop_get_view_count();

  $views_text = $before . $current_views . " ";

  if ($current_views == 1) {
     $views_text .= $singular;
  }
  else {
     $views_text .= $plural;
  }

  echo $views_text;

}

 

Lista cu postarile in functie de numarul de vizualizari

Pentru ca lista cu postarile in functie de numarul de vizualizari sa fie disponibila, e necesar sa dezvolti o functionalitate care poate fi plasata oriunde in tema site-ului.

/**
* Displays a list of posts ordered by popularity
*
* Shows a simple list of post titles ordered by their view count
*
* @param integer $post_count The number of posts to show
*
*/
function awepop_popularity_list($post_count = 10) {
 $args = array(
   "posts_per_page" => 10,
   "post_type" => "post",
   "post_status" => "publish",
   "meta_key" => "awepop_views",
   "orderby" => "meta_value_num",
   "order" => "DESC"
 );
 
 $awepop_list = new WP_Query($args);
 
 if($awepop_list->have_posts()) { echo "
<ul>"; }
 
 while ( $awepop_list->have_posts() ) : $awepop_list->the_post();
   echo '
<li><a href="'.get_permalink($post->ID).'">'.the_title('', '', false).'</a></li>

';
 endwhile;
 
 if($awepop_list->have_posts()) { echo "</ul>

";}
}

Pentru a adauga precautiune, poti adauga aceasta functionalitate in tema ta:

if (function_exists("awepop_popularity_list")) {
  awepop_popularity_list();
}

 

In acest fel, daca plugin-ul este dezactivat, iar functionalitatile nedefinite, PHP nu va arata o eroare a site-ului, ci doar lista nu va fi disponibila.

Daca iti doresti sa inveti cum sa dezvolti primul tau plugin, sa inveti programare de la zero, si nu numai, alaturat gasesti datele mele de contact!

Noutati in WordPress 4.6

Cunosti ultima versiune WordPress? Te intereseaza sa afli noutatile pe care WordPress 4.6 le aduce?

Ca si programator web, sau ca si om de IT e important sa fii mereu la curent cu noutatile pe care domeniul le aduce. Tehnologiile se schimba si se imbunatatesc mereu, astfel incat e important sa gasesti mereu metode prin care sa iti imbogatesti cunostintele si pentru a face fata cerintelor clientilor.

Asadar, noua versiune a WordPress-ului este inca in dezvoltare, lansarea oficiala fiind programata pe 16 August. Pana atunci, e in stadiu de testare, tocmai pentru a se asigura calitatea CMS-ului si pentru a face modificarile necesare.

Native Fonts in Admin

In versiunea 3.8 a WordPress-ului, s-a trecut la Open Sans ca si font nativ, iar avand in vedere ca necesita incarcarea lui din Google Fonts, insemna alocarea unui timp mai indelungat, ceea ce multi administratori de WordPress au gasit ca fiind ineficient.

In noua versiune 4.6, pentru a mari timpul de incarcare si pentru o experienta mai eficienta a administratorilor, se revine la system fonts. Varianta aceasta e preferata deoarece nevoia de o a treia parte este eliminata, iar timpul de incarcare este marit si in cazul lucrului offline.

Shiny Updates v2

Shiny Updates v2 ofera utilizatorilor o experienta mai fluenta in administrarea temelor si plugin-urilor din WordPress. Asadar, procesul de descarcare si actualizare va fi facut mult mai usor si rapid; intrucat e necesar un singur click.

Imbunatatiri in Editor

Noua versiune WordPress, aduce imbunatatiri si in Editor, avand un mai bun modul de recuperare – disaster recovery mode.

Acesta ofera un modul de revenire mai solid si de asemenea detecteaza URL-urile deteriorate in timp ce le tastezi.

Schimbari si pentru programatori

WordPress 4.6 aduce schimbari si imbunatatiri si pentru programatori:

  • API Widgets – Procesul a fost imbunatatit pentru a suporta inregistrarea widget-urilor pre-instantiate;
  • Resource Hints – Permite browserelor sa proceseze anumite pagini, sa le interpreteze in spate, sa efectueze DNS lookups, sau sa inceapa procesul de conectare handshake;
  • Language Packs – Traducerile sunt efectuate prin WordPress si sunt incarcate pe loc;
  • Requests – O noua biblioteca PHP pentru cererile HTTP care suporta cererile paralele.

Daca iti doresti sa inveti programare web de la zero, cum sa fii developer in WordPress, si nu numai, ma poti contacta aici!

Ce laptop sa aleg pentru web development?

In web development, pe langa toate cunostintele care le acumulezi, ai nevoie de un laptop cu care sa poti pune toate acele informatii in practica, care sa functioneze la parametrii buni pentru ca tu sa poti sa iti faci treaba.

Alegerea laptopului, la fel ca si alegerea anumitor limbaje, depinde in mare parte de web developer si de preferintele acestuia. Insa, iti recomand sa te ghidezi dupa anumite criterii pentru a-ti duce proiectele la bun sfarsit.

Laptop cu performanta ridicata

Performanta unui laptop e cheia atunci cand vorbim de business; aceasta incepe de la procesor, tehnologie SSD si memoria RAM. Un laptop cu un procesor bun inseamna i5 sau i7. Asta deoarece munca de web developer implica de multe ori proiecte mari si complicate, iar laptopul tau ar fi bine sa fie unul care poate sa iti sustina munca.

Pe langa un procesor bun, ai nevoie de un laptop cu SSD si un minim de 8 GB RAM pentru performanta si viteza ridicata. Ca si programator web ai nevoie de performanta si viteza nu doar pentru a respecta deadline-urile, dar in primul rand pentru a le putea efectua. Un laptop cu procesor mai slab, cu memorie RAM mai mica, va fi un laptop care va avea o performanta mai scazuta, ingreunandu-ti treaba.

Pe langa laptopul performant, iti recomand ca si tastatura si mouse-ul sa fie potrivite pentru tine. Vei avea multe proiecte, iar o tastatura comoda si un mouse potrivit tie, iti vor usura mult munca pe care o depui.

In cazul in care esti un programator web care calatoreste mult, recomandarea mea ar fi sa ai un laptop si cu baterie puternica, pentru a te asigura ca poti sa lucrezi de oriunde in orice moment.

Ecrane externe

Ca si web developer, pentru proiectele pe care le desfasori e indicat sa ai si unul sau doua ecrane externe sau un monitor 4k de minim 27”, deoarece un ecran normal de laptop iti va ingreuna munca, intrucat vei reusi sa ai o imagine de ansamblu a ceea ce faci.

Sunt multi programatori web care prefera un laptop de jocuri video care sa il foloseasca si pentru programare web, datorita performantei si vitezei ridicate. Dar jocurile video nu necesita atat de mult suport financiar cum necesita un business.

Daca iti doresti sa inveti programare web de la zero, si nu numai, ma poti contacta aici!