Kako postati cjeloviti web programer u 2020

Web programeri punog sloga švicarski su vojni nož svijeta koda. Ako imate tu oznaku, znači da možete proizvesti cjelovita rješenja, što je vrlo tržišno i okretno znanje. Ali što je zapravo potrebno za postizanje tog statusa?

Bez obzira jeste li novi, sezonski ili ste specijalizirani za jedan kraj hrpe, ovdje se može puno probaviti. Slobodno zaronite s vrha ili odskočite do mjesta gdje vam je potrebna najveća podrška.

  • Prvo, što stvarno čini puni niz programera?
  • Prije nego što zaronimo, razgovarajmo o tom fokusu
  • Pa gdje da krenemo?
  • Prednji kraj
  • Stražnji kraj
  • DevOps i oblak
  • Što je s dizajnom?
  • Ostale stvari ako tek započinjete
  • Ostale stvari ako tražite više

Prvo, što stvarno čini puni niz programera?

Zabavno je i vrtoglavo reći da je bilo koji front end programer programer s punim stogom, ali mogućnost postavljanja web stranice na Netlify ne znači da imate puni stog.

To ne bi trebalo biti obeshrabrujuće - samo realno, samo to iskustvo neće se dobro držati tog naziva radnog mjesta u vašem sljedećem intervjuu. Dok tehnički stvarate i implementirate svoj posao od početka do kraja, Netlify, Zeit i drugi pružatelji usluga daju vam moć da to učinite svojim čarobnim alatima koji većinu složenih operacija izbacuju iz jednadžbe.

To ne znači oduzeti ono što smo svi sada u mogućnosti postići kao prednji uređaji. Rastući pokret za sastavljanjem i raspoređivanjem statičnih web stranica upravo je pojednostavnio ovaj postupak u kasnijoj polovici stoga, uz sve prednosti.

Uz to, fleksibilnošću mogućnosti alata, poput mogućnosti pokretanja JS-a na poslužitelju, naši skupovi vještina mogu se prenijeti na više slučajeva korištenja nego ikad prije.

Odakle smo došli

Krajolik web razvoja brzo se mijenja. Wordpress je već neko vrijeme glavni CMS, predstavljajući više od trećine web stranica koje koriste CMS i pomažući PHP-u da stekne popularnost. Ali drugi su razradili domaća rješenja.

Oni su predstavljali tradicionalniji web skup poput LAMP-a. U tim slučajevima imali ste web poslužitelje koji su obično izvodili nekakav sustav za upravljanje sadržajem i jezik na poslužitelju (poput PHP-a) koji bi se povezivao s bazama podataka i proizvodio kôd koji bi na kraju bio isporučen u preglednik.

Povrh toga, možda imate Javascript koji izrađuje neke interaktivne značajke s CSS-om koji upravlja prikazom stranice. U nekim je slučajevima upravljanje određenim Wordpress poslužiteljem sve što vam treba za određene web hostove. Ali za druge veće web lokacije potreban je drugi tim koji će upravljati tim uslugama i cjevovod za postavljanje koda za proizvodnju.

Gdje smo i kuda idemo

Iako Wordpress nikamo ne ide, arhitekture bez poslužitelja i JAMstack grade zamah. Za one koji nisu upoznati, ideja nije da doslovno nema poslužitelja, već se više radi o upotrebi poslužitelja kojima se upravlja u oblaku.

Usluge poput AWS Lambda omogućuju vam izgradnju "funkcije" koja obrađuje jednostavne ulazne i izlazne podatke. Priložite to API API-ju i odmah ćete dobiti krajnju točku s kojom možete surađivati, a da nikada ne morate stvarno upravljati poslužiteljem.

Drugi poput S3 omogućuju vam da HTML, CSS, JS, slike i bilo koju drugu statičku imovinu izbacite u pohranu i poslužite web lokaciju izravno iz nje. Na poslužitelju se ništa ne obrađuje, vi jednostavno služite statičke datoteke klijentu.

Sjajan dio u ovome je što je puno manje troškova, a obično je puno jeftiniji. U mnogim ćete slučajevima dobiti i veliko poboljšanje performansi, gdje će za posluživanje web mjesta iz s3 biti potrebno manje obrade da bi se dobio prvi odgovor na preglednik, što se izravno može izjednačiti s poboljšanim korisničkim iskustvom.

Ovo vas ne tjera na JAMstack, već da bi se pokazalo da se paradigma punog sloga mijenja i to je nešto što vrijedi pogledati. Još uvijek postoji tradicionalni osjećaj razlike u poslu, ali postaje pomalo drugačiji.

Timovi DevOps sada upravljaju resursima u oblaku i postavljanjem. Backend programeri sada grade API-je i kod koji se povezuju sa uslugama pomoću alata poput lambda funkcija. A front end programeri prvenstveno rade u Javascript zgradi React ili Vue aplikacija koje dopiru do usluga koje su stvorili vaši pozadinski programeri. Vjerojatno, ovo može uključivati ​​ili ne uključivati ​​stvari poput CSS-a, ali to je još jedna vrsta crva o tome pod kojim naslovom taj rad "službeno" potpada (spojler: ovisi o timu).

Iako još uvijek postoji podijeljen osjećaj dužnosti, linija se zamućuje i čini lakše upravljanjem širenjem vašeg fokusa.

Prije nego što zaronimo, razgovarajmo o tom fokusu

Može biti prilično primamljivo poželjeti zaroniti i obuhvatiti cijeli spektar programera punog sloga, ali ima se što reći o fokusu. To je osnova izraza "jack of all trades, master of none", gdje pokušavate naučiti pomalo svaki dio punog stoga i nikada zapravo ništa ne savladate.

To može biti opasno kad u startu pokušavate izgraditi svoje snage kao novi programer. Stoga pokušajte procijeniti koji ste tip učenika i usredotočite se tamo gdje je to važno. Ako se borite s raširenim nastavnim planom i programom, to vam možda neće nužno pomoći da dobijete iskustvo koje vam je potrebno da biste pronašli prvi posao ili posao iz snova za kojim posežete.

Na primjer, novi pristup mogao bi biti usmjeren na pojedinca, ali izgradnja punih vještina oko te snage. Ovo je možda napredni programer koji može implementirati vlastite web aplikacije i nastavlja graditi na tom temeljnom znanju.

Povrh toga, dio toga što je programer punog stoga ne mora nužno moći reći da znate jezike x, y i z. Razumijevanje koncepata dizajna koda i softvera, kao i sposobnost rješavanja bilo kojeg izazova koji je pri ruci, stoje na stranu, ono je što čini izvrsnog programera.

Dno crta, pokušajte shvatiti što je najbolje za vas i ne dopustite da vam velika ambicija priječi na svladavanju vašeg putovanja.

Pa gdje da krenemo?

U svrhe ovog članka pridržat ćemo se tradicionalnih točaka prijeloma onoga što razbija stog (prednji kraj, stražnji kraj, itd.). Iako neki ljudi kažu da to zapravo više nije stvar, realno, postoji mnoštvo poslova za programere punih slogova i iz dana u dan, oni se pozivaju na tradicionalne točke prekida. "Full stack developer" definitivno ne ide nikamo.

Što se tiče stoga, oslanjat ćemo se na arhitekture bez poslužitelja / JAMstack, jer će to samo nastaviti rasti. A ako ih naučite, samo će vas učiniti tržišnima s brojem radnih mjesta koji se pojavljuju oko njega.

Kao što ćete primijetiti u nastavku, ovo nije namijenjeno tome da obuhvaća svaku vrstu baze podataka i svaku vrstu rješenja za prikazivanje. Jaki programer trebao bi biti sposoban biti fleksibilan sa svojim alatima, dosegnuti kako bi razumio koncepte svog rada, a ne biti jednouman i samo biti sposoban biti produktivan u jednom okviru.

Iako možda radite u Reactu i ugodno vam je na vašem trenutnom poslu (to je u redu!), Vaš sljedeći posao može biti težak za Vue ili "iznenađenje!" vaš vođa tima želi prepisati aplikaciju u Svelte. Pokušajte razumjeti zašto uopće upotrebljavate okvir korisničkog sučelja i kako vam pomaže u rješavanju problema.

Sad krenimo u to ...

Prednji kraj

Prednji kraj web stranice ili aplikacije obično je korisničko sučelje s kojim osoba koja koristi vašu uslugu komunicira. Najveći jezični igrač u igri je Javascript, gdje ćete se za upravljanje komponentama svog projekta obično oslanjati na UI knjižnice kao što su React ili Vue.

Korištenje ovih UI okvira omogućit će vam stvaranje "komponenata", zapravo blokova koda, koji će na kraju proizvesti HTML s mogućnošću stvaranja interakcija i dinamičkih stanja točno uz vaš kôd. Ovo postaje stvarno moćno, i premda bi mogla započeti mala krivulja, postaje prilično divno raditi s njom jednom kad je shvatite.

Bilo novi na terenu ili dobro iskusni, na kraju biste mogli naletjeti na jQuery. Iako ima svoje zasluge i dobro je služio zajednici, izvorne značajke Javascripta doista su porasle i stvorile manje potražnje za funkcionalnošću koju je jQuery mogao pružiti. Sada se programeri oslanjaju na okvire korisničkog sučelja i izvorni Javascript.

Stoga je dobro razumjeti što je jQuery, ali ne preporučujem odvojiti vrijeme da ga naučim u ovom trenutku. Dobra stvar je što, ako naiđete na posao koji ga koristi, možete napisati izvorni Javascript zajedno s jQueryjem, pa je učenje samog Javascripta vanilije pravi odgovor.

Pa što bih trebao naučiti?

Ako ste doista početnik, odvojite vrijeme da naučite osnovne HTML i CSS. Možda neće biti tako zabavno i atraktivno kao kopanje izravno u Javascript, ali nadogradnja na osnovama onoga što čini mrežu bit će ključna za početak s desne noge.

Zatim naučite Javascript. Ostat će kralj u doglednoj budućnosti. Javascript će pružiti osnovu bilo kojem okviru ili biblioteci na kojem nadograđujete, pa će vam razumijevanje kako djeluju dijelovi samog jezika pomoći u promicanju kroz vaše učenje učenja prednje strane stvari.

Olakšat će vam i život kada pokušavate razumjeti neke složenosti različitih uzoraka i koncepte iza okvira koje ćete koristiti.

Kad smo već kod okvira, React i Vue su vjerojatno najbolji kandidati s obzirom na njihovu popularnost. React je najpopularniji među hrpama i samo će nastaviti rasti. Njegov tim neprestano radi na sazrijevanju okvira i izradi API-ja koji će pomoći u izgradnji modernih, brzih web aplikacija.

Početak rada s Create React App ili Gatsby čak će vam pomoći da lako zavrtite React aplikaciju i odmah dođete u poziciju u kojoj možete petljati oko koda.

Iako bi bilo korisno pozvati CSS pretprocesore i alate poput Sass-a, sada postoji mnoštvo rješenja za CSS, uključujući CSS-in-JS.

Iako stavljanje CSS-a unutar JS-a ima neke prednosti i nedostatke, ne vrijedi nužno isticati što koristiti kao određeni smjer, jer će stvarno ovisiti o timu.

Razumijevanje osnova i snage CSS-a i kako ga koristiti u obliku vanilije pomoći će vam da se pripremite za njegovo korištenje bez obzira na okvir.

Resursi

  • freecodecamp.org Responsive Web Design Certification //www.freecodecamp.org/learn
  • „Spusti Javascript: Prvo nauči HTML i CSS“ //www.freecodecamp.org/news/put-down-the-javascript-learn-html-css/
  • MDN Uvod u Javascript //developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
  • Just Javascript tečaj e-pošte //justjavascript.com/
  • JSRobot igra za učenje //lab.reaal.me/jsrobot/
  • responsejs.org Uvod u React //reactjs.org/tutorial/tutorial.html
  • Vodiči za gatsbyjs.org //www.gatsbyjs.org/tutorial/

Stražnji kraj

U svijetu JAMstacka, pozadina će se općenito odnositi na API-je koje naši prednji krajevi koriste za stvaranje dinamičkih iskustava interakcijom s krajnjim točkama klijenta (poput onih u CRUD API-ima). Mogućnost podnošenja tih zahtjeva od klijenta uklonit će potrebu za bilo kojom od tih obrada prije nego što se stranica posluži pregledniku.

Iako se ne biste trebali osjećati kao da ikad možete kodirati samo na jednom jeziku, mogućnost pisanja na Javascriptu ovdje daje lijepu prednost jer možete prerasti u osnove rada sa stražnjom stranom stvari s poznatim jezikom (ili obrnuto s prednjim krajem).

NodeJS je uobičajeno vrijeme izvođenja koje ćete pronaći u većini oblačnih okruženja kao opciju i pružit će vam iskustvo slično onome što biste očekivali u pregledniku. Glavna je razlika u tome što nećete imati pristup određenim API-ima preglednika niti će s njim postojati windowobjekt i API-ji.

Međutim, Python je također još jedan popularan jezik i raste, posebno s obzirom na njegovu popularnost u zajednici znanosti i inženjeringa podataka. PHP i Ruby, iako su valjani i pružit će vam mogućnosti na tržištu rada, izgleda da nisu toliko popularni i ne toliko u ukupnom trendu rasta kao Javascript i Python.

Uz jezik po vašem izboru, najbolje ćete se naučiti kako stvoriti usluge u oblaku s kojima vaše aplikacije mogu sučeljavati.

Stvaranje jednostavne lambde s kojom se možete poigrati, bilo u AWS-u, Netlifyu ili bilo kojem drugom dobavljaču oblaka, pružit će vam dobro iskustvo onoga što biste mogli očekivati ​​pri radu na terenu.

Pa čak i ako se možda nećete izravno razvijati u lambda-u na poslu koji ćete naći, moći ćete se upoznati s konceptima koji su temeljni za rad sa pozadinom. A te ćete funkcije u konačnici koristiti za povezivanje s drugim uslugama i bazama podataka za stvaranje vlastitih dinamičkih usluga.

Pa što bih trebao naučiti?

Ako već radite na učenju Javascripta s prednje strane stvari, nastavite tako što ćete koristiti Javascript za pozadinu. Zavrtite lambdu pomoću Netlify funkcija, gdje se samo trebate usredotočiti na kôd, a Netlify brine o ostatku (poput stvarne izrade i primjene vaše funkcije).

Uz odabrani jezik i prvu funkciju, pokušajte započeti rad s drugim uslugama unutar vašeg koda kako biste stekli iskustvo u radu s API-jevima treće strane.

Možda izradite krajnju točku koja može poslati tweet pomoću Twitter API-ja (ali nemojte ga zloupotrijebiti). Naučite kako stvoriti bazu podataka i postaviti svoju funkciju za sučelje s njom u CRUD obrascu, što će vam pružiti realniji slučaj upotrebe tipične aplikacije u interakciji sa pozadinom.

Vaš bi cilj ovdje trebao biti stvaranje usluga s kojima će vaš prednji kraj komunicirati putem krajnje točke za obavljanje operacija za osobu koja koristi vašu aplikaciju. Dobre vijesti dobivaju zamah oblaka, imat ćete hrpu opcija i besplatnih opcija ili slojeva s kojima se možete početi igrati.

Resursi

  • “Super jednostavan početak bez poslužitelja” //kentcdodds.com/blog/super-simple-start-to-serverless
  • „Izgradnja CRUD aplikacija bez poslužitelja s Netlify funkcijama i FaunaDB“ //www.netlify.com/blog/2018/07/09/building-serverless-crud-apps-with-netlify-functions-faunadb/

DevOps i oblak

DevOps proizlazi iz potrebe da se mogu stvoriti rješenja koja izravnavaju i ubrzavaju postupak dobivanja koda od ljudi koji ga pišu u raspoređeno stanje.

Ovaj rad može se kretati od mnogih odgovornosti do nekoliko, bilo da se radi o pisanju bash skripti za prilagođeno rješenje ili pisanju predloška CloudFormation koji stvara sve resurse potrebne za pokretanje aplikacije.

To će vam se obično naći kao dio veće orkestracije CI / CD tijekova rada koji automatiziraju postupak izrade i implementacije.

I to se neprestano mijenja! S obzirom na procvat bez poslužitelja, pojavio se okvir bez poslužitelja koji vam puno toga upravlja na lakši način, što čak navodi AWS da kreira vlastito rješenje rješenja SAM. Alati poput Jenkinsa već su malo prisutni u CI / CD dijelu stvari, ali sada vidite da Github, Gitlab i drugi pružatelji usluga nadzora izvora nude svoja rješenja i alate poput CircleCI koji se uključuju u vaš projekt.

Također još nije savršeno - pisanje predložaka CloudFormation zastrašujuće je. Pisanje skripti za automatizaciju također nije najzabavnije, iako je izuzetno korisno kad uspije!

Ali ovo je sve bolje, a tu se uklapaju proizvodi poput Netlifya i Zeita. Iako se više korijene sa statičke strane hostinga, gdje kompajlirate svoju aplikaciju i odlažete je u pohranu, njihova ponuda raste, poput Netlifyevih funkcija koje su zapravo samo AWS lambdas koje je lakše postaviti i rasporediti na potpuno funkcionalnu krajnju točku (to je ozbiljno super jednostavno).

Pa što bih trebao naučiti?

Ako prvi put postavljate ovakve stvari, počnite s Netlifyom. Postavite aplikaciju React ili čak samo jednostavnu HTML datoteku u Github-ovo spremište, povežite je s novim Netlify računom i gledajte kako se postavlja.

Od tada, ili ako već imate malo iskustva, počnite biti znatiželjni što se događa iza kulisa. Netlify vjerojatno uzima vaš kôd, izvodi naredbe koje postavite (poput yarn build) u virtualnom okruženju, izbacuje datoteke ugrađene u pohranu poput S3 i stavlja CDN ispred njega poput CloudFronta da služi s krajnje točke.

Prvo pokušajte to učiniti ručno sa svog računala pomoću AWS konzole i njihovog CLI-a, a zatim napišite skriptu za automatizaciju cijelog procesa integriranja s Circle CI-om u vaš Github projekt umjesto Netlify-a da biste ga stvarno postavili na AWS.

Uzimanje tog usjeka uključivat će usluge okretanja s kojima bi vaš back end mogao biti u sučelju. Imate li bazu podataka koju koriste vaše usluge? Možete okretati tu bazu podataka pomoću CloudFormation ili bash skripti.

Tretiranje vaše infrastrukture kao koda s jednokratnim resursima koji se mogu lako stvoriti pomoći će vam i vašim projektima da postanu fleksibilniji i da imaju bolju sposobnost vraćanja u slučaju neuspjeha.

A sve ovo vrijedi za bilo kojeg pružatelja usluga u oblaku ili CI / CD-u, ne samo za AWS i Circle CI. Odaberite svoj omiljeni alat za oblak i tijek rada i pokrenite se s njim. Poanta je u tome da počnete gledati potrebe svog projekta i istražite što se zapravo događa u automatiziranim dijelovima stoga. To će vam pomoći da naučite više i postanete snalažljiviji za potrebe vašeg projekta.

Resursi

  • “Vodič korak po korak: Uvođenje na Netlify” //www.netlify.com/blog/2016/09/29/a-step-by-step-guide-deploying-on-netlify/
  • “Postavljanje statičke web stranice” //docs.aws.amazon.com/AmazonS3/latest/dev/HostingWebsiteOnS3Setup.html
  • „AWS Certified Cloud Practitioner Training 2019 - Besplatni četverosatni video tečaj" //www.freecodecamp.org/news/aws-certified-cloud-practitioner-training-2019-free-video-course/
  • Pogledajte gore navedene resurse za Javascript u Front Endu

Što je s dizajnom?

Da, trebali biste razumjeti osnove dizajna. Ne, ne trebaš biti dizajner.

Mnogo je aspekata dizajna koji će ubrzati vaše razvojne sposobnosti. Iako svi znamo da vizualni i UX dizajneri proizvode magiju, osnovno razumijevanje može spriječiti da vaša aplikacija postane veliko razočaranje.

Svatko u razvojnom procesu radi na cilju koji na ovaj ili onaj način utječe na krajnjeg korisnika. Sposobnost razumijevanja onoga što treba vaš rad pokušava riješiti i kako to utječe na korisnike pomoći će timu u cjelini da razvije cjelovitije krajnje rješenje.

Razmislite o back back programeru koji stvara API kako bi omogućio nekome upravljanje korisnicima u aplikaciji. Zahtjevi API-ja prilično su mršavi i uključuju samo korisničko ime. Navođenje da kao jedno polje „ime“ umjesto „prvo“ i „posljednje“ za većinu možda neće biti najintuitivnije rješenje. Ali to može biti previd koji komplicira način na koji prednji programer to izlaže u korisničkom sučelju, što bi za razvojnog programera predstavljalo bol ili bi krajnje korisnike moglo zbuniti.

Povrh svega toga, dizajn može izravno utjecati na pretvorbu. Ako gradite u prostoru e-trgovine, posjedovanje gumba koji ne izgleda poput gumba može spriječiti ljude da dodaju proizvod u svoju košaricu. To će, naravno, spriječiti kupnju, koja gubi prihod. Razumijevanje načina humaniziranja korisničkog sučelja čak i u osnovnom smislu vaš projekt može doslovno zaraditi više novca ili jednostavno pomoći nekome da ga lakše koristi.

I što je još važnije, želite da vaše web mjesto bude dostupno. Mnogi ljudi imaju različite potrebe, bilo da ne mogu vidjeti iste boje ili ne čuju zvukove koje vaša aplikacija proizvodi, želite prepoznati potrebe drugih i pokušati dizajnirati na način da vašu aplikaciju učine upotrebljivom svima.

Pa što bih trebao naučiti?

Iako ne očekujem da ćete uzeti cijeli tečaj za to, pokušajte biti svjesni i znatiželjni. I možda sljedeći put nemojte preskočiti onaj članak o dizajnu koji ste vidjeli na twitteru freeCodeCamp.

Kada stvarate rješenja, pokušajte zamisliti kako će se vaš rad koristiti. Što će ostalim programerima u vašem timu trebati od vašeg API-ja? Što će ljudima koji upotrebljavaju vašu aplikaciju trebati s vašeg sučelja?

Također možete pokušati dobiti inspiraciju iz onoga što drugi rade u vašem prostoru. Kako biste očekivali da aplikacija izgleda kad pruža slične funkcije? Ovo nije licenca za kopiranje ili krađu, ali trebali biste razumjeti potrebe koje njihovo rješenje rješava. Razmislite zašto je njihov gumb Dodaj u košaricu tako velik, zašto korisnicima daju mogućnost zumiranja fotografije proizvoda ili kako dizajn stola možete učiniti malo upotrebljivijim.

Što se tiče pristupačnosti, pokušajte naučiti osnove. Dostupna je sve veća količina resursa koji će vam pomoći da razumijete potrebe drugih. Pokušajte razumjeti koje invalidnosti postoje i kako oni mogu utjecati na upotrebu vaše aplikacije. Možda pogledati nekoliko uobičajenih obrazaca o tome kako riješiti te probleme.

Češće je nije teško uključiti, a ako imate naviku to raditi od početka, nećete ni pomisliti na to sljedeći put kad napravite aplikaciju.

Resursi

  • Dizajn za programere //thoughtbot.com/upcase/design-for-developers
  • Dizajn hakova //hackdesign.org
  • Dizajn za hakere //designforhackers.com/
  • Uvod u web dostupnost //webaim.org/intro/

Ostale stvari ako tek započinjete

Većina ovog članka pretpostavlja da imate neke od osnova, poput razumijevanja što je git i kontrola izvora ili jednostavno postavljanje uređivača koda. Ako uistinu tek započinjete, poželjeti ćete barem jednostavno razumjeti ove koncepte, jer će bez njih brzo postati izazovniji.

Također se ima što reći o učenju korištenja terminala. Može biti porazno ako ne upotrebljavate GUI ako ste novi, ali nakon što se pomaknete, brzo ćete saznati da ćete biti produktivniji ako koristite terminal, a mnogi projekti ionako trebaju upotrebu terminala.

Pa što bih trebao naučiti?

Prvo najprije postavite uređivač koda. Visual Studio Code trenutno je u bijesu, ali postoje i drugi koji će vam dobro poslužiti, ovisno o vašim željama poput Atoma ili Sublime Text. Pronaći ćete čak i IDE-ove zasnovane na oblaku, poput Repl.it, ili jednostavno možete započeti s nižom preprekom ulaska igrajući se u CodePenu ili JSFiddleu.

U svakom slučaju, nakon što budete spremni za kodiranje, želite razumjeti što je izvorna kontrola, gdje je git trenutno najveći igrač. Git je moćan alat koji vam omogućuje praćenje promjena u kodu i postajete produktivniji u suradnji s drugim programerima.

Morat ćete se upoznati s nekim od osnovnih naredbi gita poput dodavanja novih promjena, kao i što su grane i kako ih koristiti. Git je ogroman svijet, ne trebate ga odmah svladati, brzo ćete naučiti da postoji beskrajna količina novih stvari koje se mogu naučiti na vašem putu do svladavanja vašeg git fua.

Za puno alata koje ćete koristiti dostupni su GUI-ji poput GitKraken, ali i dalje ćete biti pomalo ograničeni onim što možete učiniti. Upoznavanje sa zadanim terminalima na vašem računalu ili preuzimanje drugih opcija poput iterm2 (po mojoj želji) ili Xterm.js bit će vaš najbolji ulog. Bonus: osjećati ćete se poput filmskog hakera svaki put kad ga upotrijebite (ili sam to samo ja?).

Resursi

  • Početak rada s Visual Studio Codeom //www.codecademy.com/articles/visual-studio-code
  • Git resursi s Githuba //try.github.io/
  • Naučite git razgranavanjem igre //learngitbranching.js.org/
  • Uvod u Mac naredbenu liniju //blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line

Ostale stvari ako tražite više

Postoji još toliko toga s čime se možete brzo spustiti u zečju rupu. Ne zaboravite da ne širite svoj fokus i pokušajte se ne svladati. Ali ako se osjećate prilično dobro o tome gdje se nalazite, postoje neki drugi koncepti koji će vam pomoći samo kad se borite s izazovima u stvarnom svijetu.

Testiranje i različite metodologije

Pisanje koda je jedno, ali mogućnost postavljanja učinkovitih testova pomoći će očvrsnuti vaš kôd i spriječiti bugove da izađu. Ne želite gubiti svoje buduće vrijeme ili čak koštati novac za svoj proizvod kada stranica padne. Naučiti kako pisati testove i različite pristupe važno je za učvršćivanje koda.

Alati preglednika poput Chrome DevTools

Po mom mišljenju, jedan od najsnažnijih alata koji možete imati prilikom otklanjanja pogrešaka je uklanjanje pogrešaka u vašoj aplikaciji u pregledniku.

Bilo da se radi o načinu prikazivanja DOM-a, igranju CSS-a ili otklanjanju pogrešaka u mrežnim zahtjevima, brzo ćete naučiti kako uštedjeti vrijeme i lakše prepoznati odakle dolazi programska pogreška.

HTTP i kako ispraviti pogreške u zahtjevima na mrežnoj ploči

S obzirom da se web temelji na internetu, vaša će aplikacija u konačnici slati zahtjeve drugim poslužiteljima. Kada se to dogodi, razumijevanje prigušnih točaka zahtjeva ili jednostavno kako se zahtjev izrađuje može vam pomoći da shvatite zašto se vaša aplikacija čini zaostalom ili zašto vaš gumb za spremanje ne radi.

Imati osnovno razumijevanje kako zahtjevi rade i kako ih vizualizirati za otklanjanje pogrešaka, uvelike će doprinijeti vašem putovanju.

Upravitelji softvera i paketa otvorenog koda

Ovo nije toliko vještina ili alat za učenje koliko je to način na koji se distribuira softver. Kad započnete graditi rješenja za kodove, saznat ćete da se mnogi od nas oslanjamo na pakete otvorenog koda. Većinu vremena prolazi kroz npm ako pišete Javascript, što nam pomaže da postanemo produktivniji i ne moramo svaki put iznova otkrivati ​​kotač.

Provedite neko vrijeme da biste shvatili koncept otvorenog koda i čak razmislite o tome da biste ga vratili doprinoseći svom omiljenom projektu. Posudba ruke obično je izuzetno cijenjena, pomoći će vam stjecanju iskustva, a možda ćete čak i uspjeti zabiti koju besplatnu zametku na svom prvom odobrenom zahtjevu za povlačenjem! Samo budite pošteni, s druge strane zahtjeva postoji i stvarna osoba.

Što drugo?

Ovaj se popis može nastaviti vječno jer u svijetu kodiranja postoji toliko toga. Što još smatrate važnim na nečijem putu da postanete majstor razvoja? Pošaljite mi tweet ili DM ako mislite da mi nešto važno nedostaje!

Pališ! Povlačeći sve skupa

S obzirom na svo iskustvo koje ste stekli s gore navedenim, trebali biste biti u mogućnosti da sami kreirate cijelu aplikaciju od početka do kraja. Shvaćate li moć koju imate?

Tu zabava započinje. Pokušajte stvoriti novu aplikaciju - nije važno koja je, samo napravite nešto. Najbolje što možete učiniti za učenje je stjecanje iskustva radeći. Nije važno je li to jedan od milijun tutorijala za todo koje ćete pronaći ili ako se naučite kodirati izgradnjom jedne od najvećih društvenih mreža poput tvorca Instagrama.

Odavde biste trebali moći stvoriti:

  • Prednji kraj web-aplikacije koji se pokreće u pregledniku
  • Backend usluge na koje vaša web aplikacija može upućivati ​​zahtjeve putem krajnjih točaka
  • Napišite skriptu za uključivanje u CI / CD alat za automatizaciju procesa izrade i implementacije
  • Bonus: donošenje dobrih odluka o tome kako vaše sučelje izgleda tako da ga ljudi zapravo mogu koristiti!

Krenite dalje i gradite! Podijelite s nama svoje razvojno putovanje na Twitteru pomoću hashtaga #codejourney. Voljeli bismo čuti više o tome gdje ste bili i što ste izgradili ili kamo idete i što želite graditi.

Slijedite me za još Javascripta, UX-a i drugih zanimljivosti!

  • ? Slijedite me na Twitteru
  • ? Pretplatite se na moj Youtube
  • Up Prijavite se za moj bilten