[Mikä on] Full Stack Developer + 9 Steps to Become One (2022)


täysi pino -kehittäjä

Täyden pinon kehitysasiantuntija on henkilö, joka tuntee hyvin kehityksen tekniset näkökohdat, kuten käyttöliittymän, takapään, tietokannan hallinnan, version control, käyttöjärjestelmät, järjestelmän suunnittelu ja paljon muuta.

Täysin kattava verkkokehitys on nykyään suosittu urapolku. Yritykset etsivät jatkuvasti kehittäjiä, joilla on vahva erikoistuminen näille eri aloille.

Tämän päivän ajatus täyspinosta on kuitenkin joustava ja jollain tapaa myös yrityskohtainen.

Cloud computing ja esimerkiksi käyttöönotto ovat kaksi osaamista, jotka täyden pinon kehittäjällä tulee olla yllä lueteltujen lisäksi. Hallitsemalla koko sovellusta täyden pinon verkkokehittäjä auttaa välttämään yksittäisten roolikohtaisten henkilöiden palkkaamisen.

He ovat niitä, jotka työskentelevät suoraan asiakkaiden kanssa ymmärtääkseen projektin tavoitteet projektin suunnitteluvaiheessa.

Etupää vai takapää?

Joten pääkysymys sinun ja muiden mielessä on kuinka hallita molemmat yhtä aikaa, ja onko haastavaa olla asiantuntija molemmissa?


Pähkinänkuoressa kyllä ​​ja ei.

Aluksi on hyödyllistä hallita sekä takapää että etuosa samanaikaisestiless koska menetät mahdollisuuden ymmärtää jompaakumpaa perusteellisesti ja saatat päätyä sabotoimaan molemmat pinot.

Oikea tapa tulla täyden pinon kehittäjäksi on erikoistua joko etu- tai takapäähän samalla kun sinulla on perusymmärrys toisesta ja sen jälkeen asteittain parannat toista osaa.

Tämän menetelmän käyttöönotto antaa sinun tehdä yhteistyötä projekteissa alusta alkaen. Yrityksillä on omat teknologiapinot, ja sinun pitäisi pystyä siirtymään nykyisestä pinostasi omaan.

Suurilla teknologiayrityksillä, Amazonilla ja Facebookilla on suuria projektitiimejä, ja voit myös päästä tällaisiin tuotepohjaisiin teknologiayrityksiin, jos olet erikoistunut joko Front Endiin tai vain Back Endiin.

Kuitenkin, jotta voit edetä näissä yrityksissä, sinun on oltava täyden pinon kehittäjä; muuten kohtaat vaikeuksia.

Startup-yritykset puolestaan ​​palkkaavat mieluummin täyden pinon kehittäjiä ohuen tiimirakenteensa ja jatkuvan multitasker-tarpeen vuoksi. Täyden pinon kehittäjän palkkaaminen on paljon taloudellisesti kannattavampaa kuin erikoistuneiden kehittäjien palkkaaminen.

Tässä artikkelissa kerrotaan lyhyesti suosituista teknisistä pinoista ja niiden hallitsemisesta sekä siitä, kuinka saavutat täyden pinon kehittäjästatuksen nautinnollisimmalla mahdollisella tavalla!

Miksi sinun pitäisi jatkaa uraa täyden pinon kehittäjänä?

Otetaan tämä ensin pois tieltä. Tässä on kolme tärkeintä syytä, miksi sinun pitäisi ryhtyä täyden pinon kehittäjäksi:

1. Ainutlaatuisten ohjelmistotuotteiden luominen

Tuotetta kehittäessään jokainen yritys/kehittäjä näyttää noudattavan omaa tekniikkaansa, koska jokaisella tuotteella on omat vaatimuksensa.

Tällaisten erilaisten teknologioiden käyttö monimutkaistaa projektin koodipohjaa, mikä johtaa ainutlaatuiseen koodiin tietylle tuotteelle. Tämä etu menee yrityksille, jotka käyttävät täyden pinon kehitystä.

2. Laaja verkkoteknologiakirjasto takaa erinomaisen tuotekehityksen

Täyspinon kehittäjät ovat työskennelleet useiden etu- ja taustajärjestelmien (kielien ja kehysten) kanssa, kuten HTML, CSS, JS, Python, Ruby, PHP ja muut.

Koska jokaisella tekniikalla on jotain ainutlaatuista tarjottavanaan – yleensä syntaksien, käännösajan (suorituskyvyn), yhteensopivuuden ja koodin uudelleenkäytettävyyden suhteen – tämä ainutlaatuinen työtieto antaa kehittäjille joustavuutta muokata projektiin tarvittavia työkaluja projektin tarpeiden mukaan ja luoda huippuluokan tuotteita.

Esimerkiksi web-kehittäjät, joilla on käyttöliittymän asiantuntemusta, voivat helposti muuntaa ohjelmistojen, kuten Adobe Photoshopin, tarjoamat animaatiot ja grafiikat välittömästi käyttöliittymäkoodiksi.

Tämän seurauksena riippuvuus sellaisista kolmannen osapuolen omistamista ohjelmistoista vähenee. Koska kehittäjällä ei ole tietoa perusmuotoilutyökaluista, hän joutuu käyttämään kolmannen osapuolen ohjelmistoa, mikä vaarantaa projektin budjetin.

Taustaskenaariot hyötyvät samoista eduista.

3. Koko pinon ymmärtäminen mahdollistaa nopean etenemisen työtehtävissä

Projektijohtajana (projektitiimin hierarkian huipulla oleva henkilö) sinun on kyettävä integroimaan sekä käyttöliittymä- että taustakehitys muiden tehtävien, kuten tietokannan hallinnan tai pilvipalvelujen lisäksi.

Kapeakehittäjänä oleminen voi usein johtaa tiesulkuihin projekteissasi, ja sen seurauksena yritykset enimmäkseen välttävät tällaisia ​​kehittäjiä.

Mikä on täyden pinon kehittäjän rooli?

Seuraavat ovat täyden pinon kehittäjän tärkeimmät ominaisuudet. Näiden taitojen hallitseminen ryhmänä määrittelee kehittäjän "Full Stack" -kehittäjäksi.

Etupään kehitys 

Etupään kehitys

Tämä on verkkosivuston asiakaspuolen osa, jonka käyttäjä näkee ja jonka kanssa hän kommunikoi. Tässä osiossa kehittäjän on oltava innovatiivinen ja luova grafiikan ja suunnittelun suhteen. UI/UX-suunnittelu on sekä vaikea että kriittinen tehtävä.
HTML5, CSS3 ja JavaScript ovat etupäässä (ES6) tarvittavia ensisijaisia ​​tekniikoita. Tee sivustostasi trendikäs käyttämällä kirjastoja/kehyksiä, kuten jQuery, Angular, ReactJs ja muut.

Takapään kehitys

Nämä ovat sovelluksen aivot ja rehellisesti sanottuna sovelluksen takaosan rakentaminen vaatii aivoja. Kaikki outo juttusi sovelluksen pitäisi pystyä tekemään on kirjoitettu sovelluksen palvelinpuolella. Pääsy tietokannan avulla, käyttäjän todennus ja validointi ja niin edelleen ovat vain muutamia niistä monista tehtävistä, jotka on suoritettava tässä.

Taustakehittäjät luovat ja ylläpitävät palvelinpuolen teknologiaa, joka tarvitaan toimittamaan komponentteja, jotka mahdollistavat verkkosivuston käyttäjäpuolen toiminnan. Tämä sisältää sovelluksen ydinlogiikan, tietokannat, tietojen ja sovellusten integroinnin, API:t ja muut taustaprosessit.
Jos haluat oppia ja harjoitella suosittuja taustakehitystekniikoita, ota aikaa ymmärtääksesi kaikki taustakehittäjäraidan opetussuunnitelman käsitteet.

tietokanta

tietokantatehtävät

Tarvitsemme tietokannan tietojen tallentamiseen ja hakemiseen, eikö niin? Tietokannat luokitellaan kahteen tyyppiin: relaatioon ja ei-relaatioon (SQL vs. NoSQL).

Tietokannat, kuten MySQL, PostgreSQL, MongoDB ja Cassandra, pitäisi olla kehittäjille tuttuja. Lisäksi välimuistivaihtoehtojen, kuten Redis, Memcached ja Varnish, tuntemus on valtava plussa!

Version Control Järjestelmä (VCS)

Ennen kuin tuote tai sovellus käännetään ja asennetaan, se käy läpi useita versioita ja muutoksia. A version control järjestelmä, kuten GitHub (suosittu), GitLab tai Apache Subversion, tulee ymmärtää ja käyttää.

Täyspinon kehittäjän tulee tuntea muun muassa seuraavat aiheet.

Kehittäjien tulee tuntea komentorivi, erilaiset käyttöjärjestelmät (erityisesti Linux-pohjaiset) ja erilaisten pilvipalvelujen, kuten AWS, GCP, Microsoft Azure ja niin edelleen, tarjoamat käyttöönottotavat.

Pilvilaskennan tai pilvipohjaisten palveluiden tuntemista odotetaan nykyään myös täyden pinon kehittäjiltä, ​​mutta tämä pitäisi opetella ihanteellisesti vahvan toimivan kehityspinon jälkeen.

Full Stack -kehittäjien päävastuut

  • Käyttöliittymän verkkosivustoarkkitehtuurin luominen
    • Visuaalisesti houkuttelevien käyttäjävuorovaikutusten kehittäminen verkkosivuilla.
  • Verkkosivustojen taustasovellusten luominen
  • Toimivien palvelimien ja tietokantojen aktiivinen hallinta.
  • Tehokkaiden API:iden luominen ja suunnittelu.
  • Tuotteelle parhaan teknologiapinon valitseminen.
  • Sovelluksen reagoivuuden varmistaminen.
  • Yhteistyö graafisten suunnittelijoiden kanssa web-suunnitteluominaisuuksien parissa.
  • Projektin näkeminen alusta loppuun saakka.
  • Täyttää sekä asiakkaan että tekniset vaatimukset.
  • Tee vianmääritys, vianetsintä ja päivitä ohjelmistoja sekä testaa ja korjaa vikoja tai muita koodausongelmia.
  • Määritä suojaus- ja tietosuojaasetukset.
  • Pysy ajan tasalla verkkosovelluskehysten, kirjastojen, ohjelmistojen ja komentosarjakielien muutoksista.
  • Matkapuhelimen alustojen välisen optimoinnin varmistaminen.
  • Sovelluksen perusteellinen dokumentointi ja lopulta tuotteen käyttöönotto asiaankuuluvilla pilvipalveluilla tai muilla vastaavilla menetelmillä.

Mennään nyt yksityiskohtiin ja tarkastellaan muutamia tärkeimpiä teknologiapinoja, joiden kanssa täyden pinon kehittäjä työskentelee.


Jos haluat aloittaa urasi täyden pinon kehittäjänä, seuraavassa osiossa kerrotaan, kuinka sinun tulee hankkia tietoa täyden pinon taidoista.

Suositut teknologiapinot ja sinulle parhaiten sopivat

Jokaisella yrityksellä on oma tekniikkapinonsa. Täyspinon verkkokehittäjän valitsema pino määräytyy henkilökohtaisten tavoitteiden, sovelluksen odotetun suorituskyvyn, organisaation tarpeiden ja niin edelleen perusteella.

Jotkut tekniikkapinot ovat saavuttaneet suosiotaan vuosien varrella niiden uskomattomien ominaisuuksien ja käyttäjäystävällisten ominaisuuksien ansiosta.

Tässä ovat tunnetuimmat teknologiapinot täyden pinon kehittäjille:

1. MERN-pino

Graafinen käyttöliittymä

Haluatko oppia täyden pinon verkkokehitystä? Sitten työstämään tätä!

MongoDB on NoSQL-tietokanta, joka käyttää binaarista JSON:ia tietojen tallentamiseen (kutsutaan BSONiksi).

Express on Node.js-taustaverkkosovelluskehys, jonka avulla voit suunnitella ja kehittää verkkosovelluksia nopeasti ja vaivattomastilessly.

React on JavaScript-kirjasto käyttöliittymien luomiseen

Node.js on JavaScript-ajonaikainen ympäristö, joka toimii palvelimella.

2. LAMPPUpino

Voit aloittaa tästä vanhan tyylin teknologiasta, mutta älä takerru siihen liikaa.

Linux-käyttöjärjestelmä on avoimen lähdekoodin käyttöjärjestelmä, joka toimii perustana tälle pinomallille.

Apache on verkkopalvelin, joka jakaa verkkosisältöä Internetissä. Yksi Internetin yleisimmin käytetyistä HTTP-asiakasohjelmista.

MySQL on avoimen lähdekoodin tietokanta, josta voidaan tehdä kyselyjä komentosarjakielillä verkkosivustojen rakentamiseksi.

PHP on palvelinpuolen komentosarjakieli, joka on saatavana avoimen lähdekoodin projektina.

3. MEAN pino

Haluatko luoda kestäviä sovelluksia? Kokeile sitten tätä.

MongoDB on NoSQL-tietokanta, joka käyttää binaarista JSON:ia tietojen tallentamiseen.

Express on Node.js-taustaverkkosovelluskehys, jota käytetään verkkosovellusten tehokkaaseen ja yksinkertaiseen suunnitteluun ja rakentamiseen.

Angular.js on kehys, jolla luodaan yksisivuisia asiakassovelluksia, jotka käyttävät HTML:ää ja TypeScriptiä. Se tarjoaa ydin- ja valinnaisia ​​toimintoja kokoelmana TypeScript-kirjastoja, jotka voit tuoda sovelluksiisi.

Node.js on JavaScript-ajonaikainen ympäristö, joka toimii palvelimella.

Jos olet vasta aloittamassa, JavaScript-pohjaiset teknologiapinot ovat hauskempia ja helpompia oppia kuin vastineet, kuten Java tai Python.

Kun olet perehtynyt täydelliseen pinon kehittämiseen tarvittaviin oikeisiin näkökohtiin, voit aina sukeltaa Python-pohjaisiin kehyksiin (Django/Flask) tai Java-pohjaisiin kehyksiin (Spring/Spring Boot).

Kuten aiemmin todettiin, vaatimukset vaihtelevat, mutta ydinperiaate pysyy yhtenäisenä.

Alhaisen tuottavuuden ja monimutkaisen rakenteensa vuoksi LAMP-pinoa ei enää suositella. MERN- ja MEAN-stackit sen sijaan ovat suosittuja ja trendikkäitä. Ero näiden kahden välillä on React ja Angular.

Facebook kehittää ja ylläpitää React, yksinkertainen ja joustava JavaScript-kirjasto, kun taas Angular on TypeScript-pohjainen kehys. Joitakin perustietoja näistä kahdesta -

  1. React mahdollistaa jonkin verran freestyle-koodausta, kun taas Angular JS:llä on ennalta määritellyt säännöt, joita on noudatettava.
  2. React edellyttää, että asennat riippuvuuksia edetessäsi, kun taas Angular tarjoaa sinulle koko paketin, kun käynnistät Angular projekti.
  3. Tällä hetkellä, React on suurempi työmarkkina kuin Angular ja muut tekniikat.

Seuraavat ovat tärkeimmät syyt, miksi MERN on suosituin pino uuden sukupolven täyden pinon kehittäjille:

Verkkosivuston suorituskyky

Koska React on vain kirjasto, se on erittäin helppoa sisällyttää käyttöliittymäkoodiisi. Tämän seurauksena sillä on erinomainen käyttöliittymän renderöintisuorituskyky.

Tehokkaat asiakas-palvelin sopimukset

Tämä pino käyttää JavaScriptiä sekä asiakas- että palvelinpuolen komentosarjaan, mikä tekee koodin kirjoittamisesta ja toteuttamisesta paljon helpompaa.

Johdonmukaisuus

MERN-pinot käyttävät vain JavaScript-kieltä (enimmäkseen), mikä tekee koodista johdonmukaisemman ja yksinkertaisemman.

Tämä auttaa yritystä myös palkkaamisessa, koska heidän tarvitsee vain etsiä JavaScript-kehittäjiä nyt. 

Yhteisön tuki

MERN:n teknologiat ovat kaikki avoimen lähdekoodin. Tämä on synnyttänyt monia fantastisia yhteisöjä React- liittyvä kyselytuki, joka on olemassa nykyään.

Kehittäjät voivat hyödyntää näitä uskomattomia alustoja laajentaakseen taitojaan ja verkostoaan.

Facebook, Netflix, Reddit, Dropbox, Airbnb, Mattermark ja Atlassian ovat vain muutamia tunnetuista verkkosivustoista, jotka käyttävät React.

Tesla on myös käyttänyt React rakentaakseen verkkosivustonsa.

React, ja erityisesti MERN on startup-verkkosivustojen kehittämisen pyhä malja.

Seurauksena on, että tulevassa startup-maailmassa on kasvava kysyntä MERN-erikoistuille täyden pinon kehittäjille.

Kun tiedät, mitä kehittäjät vaativat, sinun kannattaa tutustua Full Stack -kehitysohjelmaan, joka tarjoaa sinulle ammattimaisen kehittäjäkokemuksen oppimisen alusta alkaen.

Ohjelma tarjoaa laajan valikoiman käytännön ja harjoittelutason projekteja täydentämään oppimiskokemustasi.

Näiden projektien tekeminen valmistaa sinut perusteellisesti tulevien projektien kehittämiseen.

Ei vain sitä, vaan pääset hiomaan CS:n perusteita, ohjelmointitaitojasi, tietorakenteita ja algoritmeja, järjestelmäsuunnittelua ja kaikkea muuta, mitä tarvitset loistavaan työhön.

Etenemissuunnitelma täyden pinon kehittäjille

On suositeltavaa, että aloitat täyden pinon matkasi etuosasta ja jatkat takapäästä. Tämä johtuu siitä, että jotta tämä monimutkainen oppimisprosessi vauhdittuisi, alun pitäisi olla vähintään jännittävää.

Kun kehität sivuston käyttöliittymää, näet kaikki liikkuvat osat, mikä lisää hauskuutta ja inspiraatiota. Vaikka tausta on tyypillisesti monimutkainen ja vaatii jonkin verran analyyttistä päättelyä ymmärtääkseen, se on usein turhauttava aloittelijoille.

Kuinka tulla MERN Full Stack -kehittäjäksi 9 perusvaiheessa

1. Verkkokehityksen perusteet

Yleisin virhe, jonka useimmat ihmiset tekevät, on sukeltaa suoraan verkkokehitykseen ymmärtämättä ensin, mitä se sisältää.

2. HTML ja CSS

HTML ja CSS ovat jokaisen verkkokehittäjän ydinelementtejä.

Näitä käytetään staattisten web-sivujen luomiseen. On suositeltavaa, että opit tästä eteenpäin edistyneitä muotoilumenetelmiä; aloita Bootstrapilla (CSS-osa) ja siirry sitten SCSS:ään, Tailwind CSS:ään ja niin edelleen.

Vaihtoehtoja on paljon; valitse itsellesi sopivin.

3. Javascriptin peruskäsitteet ja DOM-manipulaatio

Seuraava vaihe kehittäjille on oppia JavaScript- ja DOM-käsittely. JavaScript voi olla pelottavaa oppia tässä vaiheessa. Sen sijaan voit käyttää kolmannen osapuolen laajennuksia, erityisesti sovellusliittymiä, tuodaksesi verkkosivusi eloon.

4. Vahvista perustasi

Ennen kuin siirryt seuraavaan suureen siirtoon (JavaScriptin oppiminen), sinun kannattaa mieluiten harjoitella yksinkertaisten dynaamisten verkkosivustojen luomista nykyisellä HTML-, CSS-, Bootstrap- ja API-tietojesi avulla.

Find a Full Stack Developer Track edistää aktiivista oppimista itsenäisessä XBoard-projektissa, joka on uutissyöte, joka kerää artikkeleita suosituista tiedotusvälineistä.

Tällä voit testata QTrip-projektiopintojasi ja rakentaa portfoliotasi suorittamalla tehtävän itse.

5. Edistynyt Javascript

Ennen kuin sukellat edistyneeseen JavaScriptiin, on suositeltavaa tutustua jQueryyn. Koska kaikki mukana olevat tekniikat ovat JavaScript-pohjaisia, JavaScript on kriittinen MERN-pinon kannalta.

Useimmat nykyaikaiset verkkosivustot käyttävät ES6:ta (ECMAScript), joten on hyvä idea päivittää taitojasi tällä alalla.

6. Valitse käyttöliittymäpino.

Valitse käyttöliittymän tekniikkapino – React, Angular, Vue ja niin edelleen. (Perustuu JavaScriptiin)

Kuten tämän blogin edellisessä osiossa mainittiin, React on erinomainen valinta, ja sinun tulee hallita se ensin.

Lisäksi työskentelet kehittääksesi täysin toimivan, täyden pinon ostossovelluksen – QKart.

Saat syvälliset tiedot työskentelystä React ja kehitä JavaScript-taitojasi luomalla laaja käyttöliittymä QKartille.

Tämä projekti opettaa sinulle kaiken, mitä sinun tarvitsee tietää React ja miten sitä käytetään.

7. Paranna käyttöliittymätaitojasi.


Ollakseni rehellinen, hallitessaan kirjaston kuten React (tai puitteet kuten Angular tai Vue) on monumentaalinen tehtävä. Kaikkea ei kuitenkaan tarvitse tietää kerralla.

Tämän tekniikan ymmärtäminen on hyvä paikka aloittaa. Ja paras tapa tehdä se on toteuttaa käytännön projekteja.

8. Valitse taustapino

Voit nyt aloittaa Node.js- ja Express.js-kehysten oppimisen taustakomentosarjaa varten. Taustakehitys vaatii kriittistä ajattelua, koska se on prosessi, joka on optimoitava suurimman osan ajasta tuotteessa.

Mitä tehokkaampi sovellus, sitä parempi taustapää.

Tietokannat ovat toinen tärkeä käsite, joka on linjassa taustajärjestelmän (DBMS) kanssa. Voit oppia sen tietokantasi asetusten perusteella.

9. Paranna tausta-taitojasi

Taustataidot eivät kuitenkaan kehity yhdessä yössä. Se vaatii paljon harjoittelua ja kokemusta. Lisää projekteja on erinomainen tapa hioa taitojasi ja saada vankka ymmärrys taustateknologioista.

Kun olet suorittanut tämän metodisen oppimisrakenteen, portfoliossasi on 7 työharjoittelutason projektia, jotka voit luottavaisesti näyttää kenelle tahansa.

Ei vain sitä, mutta olet nyt valmis työhön!

Full-Stack Developer -raita opettaa sinulle edelleen kokeiltuja ongelmanratkaisumenetelmiä, joiden avulla voit helposti ratkaista tuntemattomia tietorakenteita ja algoritmeja koskevia ongelmia ja jopa läpäistä System Design -haastattelut heti ensimmäisellä kerralla.

Full Stack -kehittäjien usein kysytyt kysymykset

Kuinka nopeasti sinusta voi tulla Full Stack -kehittäjä?

3 kuukautta on yleensä minimi, ja tämä aikakehys sopii parhaiten erittäin motivoituneille opiskelijoille.

Onko vaikea työskennellä täyden pinon kehittäjänä?

Vastaus on, että täyden pinon kehittäjänä oleminen ei ole vaikeaa! Voit aloittaa käyttöliittymästä ja palata takaisin takapäähän; työskennellä tietokantojen kanssa; hanki täysin konfiguroitu verkkosivusto ja luo käyttöliittymä älypuhelinsovellukselle!

Mitä ohjelmointikieliä täyden pinon kehittäjä vaatii?

Web-kehittäjät, joilla on täydellinen pino, ymmärtävät HTML:ää, CSS:ää, JavaScriptiä ja yhtä tai jopa useampaa taustakieltä. Useimmat täyden pinon kehittäjät ovat erikoistuneet yhteen taustaohjelmointikieleen, kuten Ruby, PHP tai Python.

kirjailijasta
Shahzad Saeed
Kirjoittaja: Shahzad SaeedVerkkosivu: http://shahzadsaeed.com/
Shahzaad Saaed on ollut esillä lukuisilla viranomaisverkkosivustoilla WordPress-asiantuntijana. Hän on erikoistunut sisältömarkkinointiin auttaakseen yrityksiä kasvattamaan liikennettä.

Yksi asia vielä... Tiesitkö, että ihmiset, jotka jakavat hyödyllisiä juttuja, kuten tämä viesti, näyttävät myös mahtavilta? ;-)
Ole hyvä Jätä hyödyllinen kommentoi ajatuksiasi ja jaa tämä sitten Facebook-ryhmissäsi (ryhmissä), jotka pitävät tätä hyödyllisenä, ja hyödynnetään yhdessä. Kiitos jakamisesta ja mukavuudesta!

Disclosure: Tämä sivu voi sisältää linkkejä ulkoisille sivustoille tuotteille, joita rakastamme ja kannatamme sydämestämme. Jos ostat suosittelemiamme tuotteita, saatamme ansaita viittausmaksun. Tällaiset maksut eivät vaikuta suosituksiimme, emmekä hyväksy maksuja positiivisista arvosteluista.

Kirjoittaja (t) esillä:  Inc-lehden logo   Sitepoint-logo   CSS Tricks -logo    webdesignerdepot-logo   WPMU DEV -logo   ja paljon muuta ...