Darbo su „Fullstack“ žiniatinklio kūrimu pradžia
Šiandienos šiuolaikinės pilnas kamino kūrimas yra labai populiarus tiek mažose agentūrose, tiek didesnėse įmonėse su specialia technine komanda. Pilnas tinklų inžinierių darbas atliekamas visame technologijų tinkle įskaitant „frontend“, „backend“, ir serverio valdymas.
Daugelis žmonių teigia, kad pilnas krūvas veda prie to, kad jis yra „visų sandorių lizdas. Tam tikru požiūriu tai gali būti tiesa, tačiau įgūdžių rinkinys yra tik toks svarbus, kaip ir su juo. Daugelis pilno stekų siūlo vertę, nes jie gali priimti idėją nuo koncepcijos iki paleidimo, ir visiškai suvokti kiekvienas proceso etapas.
Jei galvojate eina į visą steką, tada šis straipsnis yra skirtas jums. Aš paaiškinsiu visus reikalavimus, keliamus pilno kūrėjo kūrėjui, kokį vaidmenį atlieka, ir kaip įgūdžiai gali būti naudingi laisvai samdomiems darbuotojams / rangovams, norintiems dirbti tiesiogiai klientams ar savo projektams.
„Full Stack“ pagrindai
Šiuolaikinis visiško kamino kūrimas tęsė ilgą kelią, nes interneto technologija labai pasikeitė. Reikalavimai, kuriuos reikia atlikti, turi būti naudojami kaip gairės, pagal kurias reikia atsižvelgti. Apskritai „stekas“ reiškia technologijas, veikiančias vienodai dirbti svetainėje. Tai reiškia „frontend“ kodą, „backend“ kodą, duomenų bazės sistemą ir serverio interneto serverio platformą + OS.
Pagrindinis visiško kamino kūrimo principas yra suprasti visus svetainės kūrimo aspektus. Tai nereiškia žinių apie dizainą ar UI / UX darbą, nors tai gali labai pagerinti jūsų gyvybingumą ir darbo kokybę.
- Frontendo pagrindai yra HTML / CSS ir „JavaScript“, greičiausiai su a sistemą, pvz., kampinis arba reaguoja.
- Jei norite naudoti „backend“ kalbą, norėsite pasirinkti ką nors, kuri gali būti sujungta su duomenų bazės sistema. PHP / MySQL yra labiausiai paplitusi ir lengviausia išmokti, nes ji suteikia daugybę CMS variklių, pvz., „WordPress“. Taip pat LAMP šiandien stack yra neabejotinai populiariausias internetinis tinklas.
- Serverio žinios gali būti tokios paprastos ar išsamios, kaip jums patinka. Absoliutus pagrindai būtų žinoti apie serverio programą Apache su duomenų baze, kaip MySQL arba PostgreSQL.
- Gali eiti dar toliau, kad būtų įtrauktos žinutės apie pašto serverių diegimą arba našumo įrankius, pvz., Atminties arba Varnish.
Visose trijose srityse, turinčiose pakankamai žinių, pilnas stack dev turėtų drebėti paleisti svetainę savarankiškai, be jokios kitos pagalbos.
Techninis žinių gylis
Didelis klausimas apie visišką kamino kūrimą kaip giliai eiti į kiekvieną vietovę. Ar pilno kamino inžinierius tikrai yra nieko meistras? Kai kurie teigia, kad tai įmanoma, bet tai gali būti ne visiško krūvos tikslas.
Dauguma kompanijų nori išsinuomoti pilnus inžinierius, kurie visur turi šiek tiek žinių. Šie inžinieriai gali specializuotis vienoje srityje, bet jie prireikus gali užpildyti bet kokį vaidmenį.
Devai, kurie tik pradeda šitą kelią, turėtų žaislas visose srityse mokosi „tiesiog pakankamai“, kad išspręstų problemas, kai jos kyla. Tai suteikia realią pasaulio interpretaciją, kad būtų galima pamatyti, kaip skirtingos problemos taikomos realiems projektams.
Didžiausias visiško kamino kodavimo privalumas yra gebėjimas kurti savo programas be jokio kito darbo.
Jei išmoksite kiekvieną vystymosi proceso etapą, galite viską daryti patys. Jums nereikia būti PHP meistru, kad sukurtumėte pasirinktinę „Laravel“ programą. Ir jums nereikia būti „JavaScript“ guru, kad sukurtumėte lanksčią išskleidžiamąją navigaciją, ypač dabar, kai žiniatinklyje yra tiek daug atviro kodo..
Taigi, kaip giliai turėtumėte eiti į bet kurią iš šių sričių? Tai priklauso tik nuo jūsų, ir jūsų atsakymas tikriausiai pasikeis.
Bet kai pirmą kartą pradėjote, tiesiog eiti pakankamai giliai, kad įgyvendintumėte tai, ką išmoko į tikrą projektą. Kai įveiksite kažką, ko nesuprantate, naudoti kaip galimybę eiti giliau, ir sužinokite daugiau apie tą konkretų dalyką.
Kalbų pasirinkimas
Naujasis kūrėjas gali rinktis, kurias technologijas mokytis. Išvengti reikiamų reikmenų, HTML ir CSS yra būtini. „JavaScript“ taip pat yra būtinybė, bet jums nereikia apsvarstyti JS meistro. Vis dėlto turėtumėte būti suinteresuoti sužinoti daugiau nei paprastą „JavaScript“.
Dauguma devų taip pat mokosi jQuery, tačiau sistemos, pvz., „React“, „Žmogus“, „Kampinis“, „Vue“ ar „Backbone“, suteikia paprastesnį procesą visapusiškų interneto programų kūrimui..
Galima nardyti dar gilesnį mokymąsi „JavaScript“ efektai, pavyzdžiui, animacijos, bet jie yra visiškai neprivalomi. Pilnas stekų kūrėjas turėtų žinoti tik pakankamai, kad būtų atliktas darbas, ir judėti iš ten.
Galimybė pasirinkti kalbą yra mažiau susijusi su techniniu pranašumu ir daugiau apie komfortą. Dauguma programuotojų tai supranta „Python“ yra labiau universalus nei PHP, tačiau dauguma svetainių veikia PHP serveriuose. Tai daro PHP vertinga kalba daugiau įmonių.
Pasirinkite, kokia kalba tinka jūsų poreikiams, arba siūlo didžiausią perspektyvą. Taip pat turėkite omenyje tai jūs nesuprantate vienos backend kalbos amžinai. Jei pradėsite naudoti „Ruby“, bet persijungsite į „Python“, šiame procese nieko neprarasite.
Vis dėlto aš rekomenduoju, kad, kai surasite norimą „backend“ kalbą, giliau su šia kalba, ir susieti atitinkamą sistemą. PHP turi „Laravel“, „Ruby“ turi „Rails“, o „Python“ - „Django“ - tarp daugelio kitų variantų. Šios sistemos pagreitins jūsų kūrimo procesą ir padės tinkamai struktūrizuoti jūsų programas.
Duomenų bazės ir serveriai
Pasirinkus duomenų bazės variklį, reikia atitikti projekto reikalavimus ir serverio steką. PHP dažnai dirba su „MySQL“, todėl tai yra labiausiai pageidaujamas pasirinkimas. The du didžiausi interneto tinklai šiandien yra LAMP („Linux-Apache-MySQL-PHP“) ir PASIEKTI (MongoDB-ExpressJS-AngularJS-Node.js).
Dauguma prieglobos kompanijų nuo pat pradžių siūlo LAMP be jokio nustatymo. Tačiau pasirinktiniai sprendimai, tokie kaip „Digital Ocean“, leidžia beveik viskas paleisti su nedideliu alkūnės tepalu. Šiame sąraše galite rasti daugiau tinklų ar ieškoti internete.
Jūsų pasirinkta duomenų bazė dažnai bus susieta su jūsų backend kalba. „Python“ yra numatytas „SQLite“ palaikymas, ir RoR Devs paprastai gali dirbti su nieko. Be abejo, bet kokia kalba paprastai gali dirbti su bet kuria duomenų baze.
Tačiau norite pasirinkti kažką, kas yra pakankamai paplitusi, kad ją būtų galima naudoti daugelyje interneto projektų. SQL yra bendroji kalba, ir ji dažniausiai naudoja tą pačią sintaksę visuose duomenų bazių varikliuose. Lentelių sąrankos ir administravimo skirtumus rasite, tačiau jie paprastai yra nedideli.
Be duomenų bazių, čia pateikiamos kelios techninės serverio temos, apie kurias galbūt norėtumėte sužinoti.
- CDN ir turinio priegloba
- Serverio programinės įrangos diegimas ir atnaujinimas
- Geriausi serverio konfigūracijos srautams ir apkrovos laikams
- Duomenų bazių užklausų ir failų sistemos saugojimo talpyklos
- Automatizuotos duomenų bazių ir plokščių failų arba disko vaizdų atsarginės kopijos
- HTTPS sąranka su domeno valdymu (DNS serveriai, CNAME įrašai ir tt)
- Išsamesnės temos, pvz., El. Paštas, mikroservisas ir apkrovos balansavimas
Vienas iš geriausių būdų mokytis yra tinkering su serveriais kurdami projektus. Grab VPS paskyrą ir pabandykite nustatyti savo kaminus. Šios VPS yra visiškos virtualiosios serverio aplinkos, kuriose galite visiškai valdyti, kad sukonfigūruotumėte (ar sunaikintumėte) viską. Be to, aukščiau pateiktas sąrašas nėra būtinas visų pilno kamino kūrėjų planas.
Vienintelės jums reikalingos žinios kas reikalinga tam, kad sukurtumėte tuščią serverio aplinką, ir įdiegti programinę įrangą, reikalingą svetainei paleisti. Iš ten bet kas kita yra tik geresnės žinios. Jei kada nors turite klausimų ar norite sužinoti iš profesionalų, patikrinkite Reddit / r / SysAdmin bendruomenę.
Kelias į priekį
Jei tikrai norite išmokti visą stekų kūrimą, sudaryti visų technologijų, kurias norite mokytis, sąrašą. Iš ten jūs galite išspręsti juos vienas po kito, sudarydami savo praktikos projektus, kad išbandytumėte, ką išmokote.
Interneto kūrimas yra nuolat besikeičianti pramonė, todėl visada turėtumėte būti pasirengę sužinoti daugiau. Išbandykite įvairius kaminus ir kalbas, kol nerasite tai, ką norite. Bet visada būkite pasirengę giliau ir geriau!
Ar pilnas kamino kūrimas verta pastangų? Tai jums nuspręsti. Tačiau čia yra keletas susijusių pranešimų, kurie gali padėti jums tai išsiaiškinti.
- Dėl „Full-Stack“ teisėtumo (heapsortjobs.com)
- Taigi norite tapti pilno kūrėjo kūrėju (rubysteps.com)
- 7 patarimai, kaip tapti pilno kūrėjo kūrėju (usersnap.com)