Kuidas saada täisversiooni veebiarendajaks 2020. aastal

Täiskoguga veebiarendajad on Šveitsi armee koodimaailma nuga. Selle nimetuse olemasolu tähendab, et saate luua otsast lõpuni lahendusi, mis on väga turustatav ja vilgas oskuste kogum. Kuid mida on selle staatuse saavutamiseks tegelikult vaja?

Ükskõik, kas olete uus, kogenud või spetsialiseerunud virna ühte otsa, on siin palju seedida. Sukelduge julgelt ülevalt või põrgatage sinna, kus vajate kõige rohkem tuge.

  • Esiteks, mis teeb arendajast tegelikult täieliku virna?
  • Enne kui sukeldume, räägime sellest fookusest
  • Kust me siis alustame?
  • Esiots
  • Tagumine ots
  • DevOps ja pilv
  • Aga disain?
  • Muud asjad, kui alles alustate
  • Muud asjad, kui otsite rohkem

Esiteks, mis teeb arendajast tegelikult täieliku virna?

On lõbus ja kihvt öelda, et iga kasutajaliidese arendaja on täispika arendaja, kuid veebisaidi juurutamine Netlify-sse ei muuda teid täisvormiks.

See ei ole mõeldud heidutamiseks - lihtsalt realistlikult, ainult selle kogemuse omamine ei aita teie järgmisel intervjuul seda ametinimetust hästi. Sel ajal, kui loote ja juurutate oma tööd tehniliselt algusest lõpuni, annavad Netlify, Zeit ja teised pakkujad teile volitused seda teha oma maagiliste tööriistadega, mis viivad suurema osa virnastamistoimingutest võrrandist välja.

See ei tähenda, et võtaksime ära selle, mida me kõik esiotsa arendajatena saavutame. Kasvav liikumine staatiliste veebisaitide koostamiseks ja juurutamiseks on selle protsessi hilisemas pooles lihtsalt lihtsustanud, pakkudes eeliseid kõikjal.

Lisaks on tööriistavõimaluste paindlikkus, näiteks võimalus JS-i serveris käivitada, meie oskuste kogumid üle kanda rohkematele juhtumitele kui kunagi varem.

Kust me tulime

Veebiarenduse maastik on kiiresti muutunud. Wordpress on juba mõnda aega olnud CMS-i kuningas, esindades üle kolmandiku CMS-i kasutavatest veebisaitidest ja aidates PHP-l populaarsust koguda. Kuid teised töötasid kodumaiste lahenduste kallal.

Need esindasid traditsioonilisemat veebipakku nagu LAMP. Nendel juhtudel olid teie veebiserveritel tavaliselt mingisugune sisuhaldussüsteem ja serveripoolne keel (näiteks PHP), mis liidestuksid andmebaasidega ja tooksid koodi, mis lõpuks brauserisse toimetati.

Lisaks võib teil olla Javascript, kes teeb CSS-iga interaktiivseid funktsioone lehe kuva haldamiseks. Mõnel juhul on teatud veebihostide jaoks kõik, mida vajate hallatud Wordpressi serveri olemasolu. Kuid teiste suuremate saitide jaoks on vaja, et kood teenusesse jõudmiseks haldaks neid teenuseid ja kasutuselevõtu torujuhet teine ​​meeskond.

Kus me oleme ja kuhu me läheme

Kuigi Wordpress ei lähe kuhugi, on serveriteta ja JAMstacki arhitektuurid hoogu juurde saamas. Neile, kes pole tuttavad, pole mõte selles, et servereid sõna otseses mõttes pole, vaid see on pigem teie jaoks hallatavate serverite kasutamine pilves.

Sellised teenused nagu AWS Lambda võimaldavad teil luua funktsiooni, mis töötleb lihtsat sisendit ja väljundit. Manustage see API lüüsi juurde ja teil on kohe lõpp-punkt, millega saate liidestada, ilma et peaksite kunagi serverit tegelikult haldama.

Teised, näiteks S3, võimaldavad teil HTML, CSS, JS, pildid ja mis tahes muud staatilised varad ladustada ja teenindada saiti otse sellest. Serveris ei töödelda midagi, vaid serveerite kliendile staatilisi faile.

Selle geniaalne osa on see, et üldkulusid on palju vähem ja tavaliselt on see palju odavam. Paljudel juhtudel saate ka suure jõudluse, kus saidi s3 serveerimine nõuab brauserisse esimese vastuse saamiseks vähem töötlemist, mis võib otseselt võrdsustada paranenud kasutuskogemust.

See ei aita teid JAMstacki juurde, vaid selleks, et näidata, et kogu virna paradigma on nihkumas ja see on midagi, mida tasub vaadata. Töö erinevuses on endiselt traditsiooniline tunne, kuid see muutub natuke teistsuguseks.

DevOpsi meeskonnad haldavad nüüd pilveallikaid ja juurutavad. Taustaprogrammi arendajad ehitavad nüüd API-sid ja koodi, mis liidestuvad teenustega, kasutades selliseid tööriistu nagu lambda-funktsioonid. Ja esiotsa arendajad töötavad peamiselt Javascripti loomisel React või Vue rakendustes, mis jõuavad teie taustaprogrammi arendajate loodud teenusteni. Väidetavalt võib see sisaldada või mitte sisaldada selliseid asju nagu CSS, kuid see on veel üks ussikarp selle kohta, mis tiitli alla see ametlikult kuuluv teos kuulub (spoiler: sõltub meeskonnast).

Kuigi kohusetunnet on endiselt jagatud, on piir hägustunud ja muudab teie fookuse levitamise paremini juhitavaks.

Enne kui sukeldume, räägime sellest fookusest

See võib olla üsna ahvatlev, kui soovite sukelduda otse ja katta kogu virna arendaja kogu spektri, kuid fookuse kohta on midagi öelda. See on aluseks väljendile “kõigi ametite jack, mitte ühegi meister”, kus proovite õppida natuke kogu virna igast osast ja kunagi ei õpi midagi.

See võib olla ohtlik, kui alustate oma uue arendaja tugevuste loomist. Nii et proovige hinnata, mis tüüpi õppija te olete ja keskenduge seal, kus see on oluline. Kui võitlete laialivalgunud õppekavaga, ei pruugi see tingimata aidata teil saada kogemusi, mida vajate selle esimese töökoha või unistuste töökoha saamiseks.

Uudne lähenemisviis võib olla näiteks individuaalne keskendumine, kuid kogu stäkkide oskuste arendamine selle tugevuse ümber. See võib olla kasutajaliidese arendaja, kes saab juurutada oma veebirakendusi ja jätkata nende põhiteadmiste arendamist.

Pealegi ei pruugi osa täiskogumi arendajaks olemisest tingimata öelda, et oskate x-, y- ja z-keeli. Koodi- ja tarkvarakujunduse kontseptsioonide mõistmine ning kõigi olemasolevate väljakutsete lahendamine, kõrvale ladumine on see, mis teeb suurepäraseks arendajaks.

Alumine rida: proovige välja mõelda, mis on teie jaoks parim, ja ärge laske oma suurel ambitsioonil oma teekonda juhtida.

Kust me siis alustame?

Selle artikli tähenduses peame kinni virna lõhkumise traditsioonilistest murdepunktidest (esiosa, tagumine ots jne). Ehkki mõned inimesed ütlevad, et see pole tegelikult enam asi, on reaalses plaanis hulgaliselt töökohti täisversiooni arendajatele ja igapäevaselt, viidatakse tavapärastele murdepunktidele. "Full stack arendaja" ei lähe kindlasti kuhugi.

Niipalju kui virn läheb, toetume serverita / JAMstacki arhitektuuridele, kuna see lihtsalt kasvab. Ja kui te neid õpiksite, muudab see teid ainult paremini turustatavaks, kui selle ümber avaneb mitu töökohta.

Nagu märkate allpool, ei ole see mõeldud hõlmama igat tüüpi andmebaase ja kõiki renderdamislahendusi. Tugev arendaja peaks olema võimeline oma tööriistade abil paindlik olema, jõudes oma töö mõistete mõistmiseni, selle asemel et olla üksmeelne ja osata olla produktiivne ainult ühes raamistikus.

Kuigi võite töötada Reactis ja teil on see praegusel töökohal mugav (see on okei!), Võib teie järgmine töö olla Vue jaoks raske või "üllatus!" teie meeskonna juht soovib rakenduse Svelte'is ümber kirjutada. Püüdke mõista, miks kasutate kasutajaliidese raamistikku esiteks ja kuidas see aitab teil käsitletud probleemi lahendada.

Nüüd asume sellesse ...

Esiots

Veebisaidi või rakenduse kasutajaliides on tavaliselt kasutajaliides, millega teie teenust kasutav inimene suhtleb. Mängu suurim keelemängija on Javascript, kus oma projekti komponentide haldamiseks toetute tavaliselt kasutajaliidese teekidele nagu React või Vue.

Nende kasutajaliidese raamistike kasutamine võimaldab teil luua "komponente", peamiselt koodiplokke, mis lõpuks toodavad HTML-i koos võimalusega luua koos koodiga interaktsioone ja dünaamilisi olekuid. See muutub tõeliselt võimsaks ja kuigi alustamiseks võib olla väike kõver, on pärast töötamist üsna meeldiv töötada.

Ükskõik, kas olete selles valdkonnas uus või hästi kogenud, võite lõpuks kokku puutuda jQueryga. Kuigi sellel on oma teenused ja see on kogukonnale hästi teeninud, on Javascripti kohalikud funktsioonid tõesti kasvanud ja loonud vähem nõudlust funktsionaalsuse järele, mida jQuery suutis pakkuda. Nüüd toetuvad arendajad hoopis kasutajaliidese raamistikele ja natiivsele Javascriptile.

Seega on hea mõista, mis on jQuery, kuid ma ei soovita selle õppimiseks praegu aega võtta. Hea on see, et kui maandute tööle, kus seda kasutatakse, võite kirjutada JavaScripti otse koos jQueryga, nii et vanilje Javascripti õppimine ise on õige vastus.

Mida ma siis õppima peaksin?

Kui olete tõeliselt algaja, võtke aega HTML-i ja CSS-i õppimiseks. See ei pruugi olla nii lõbus ja atraktiivne kui Javascripti kaevamine, kuid parema jala alustamisel on võtmetähtsusele tuginedes veebi põhialused.

Järgmisena õppige Javascripti. See jääb lähitulevikus kuningaks. Javascript annab aluse mis tahes raamistikule või teegile, millele saate tugineda, nii et keele enda osade toimimise mõistmine aitab teil liikuda läbi asjade esiotsa õppimise teekonna.

See muudab teie elu lihtsamaks ka siis, kui proovite mõista erinevate mustrite keerukust ja kasutatavate raamistike taga olevaid mõisteid.

Raamistikest rääkides on React ja Vue oma populaarsust arvestades ilmselt parimad kandidaadid. React on kamp populaarseim ja kasvab lihtsalt edasi. Selle meeskond töötab pidevalt raamistiku küpsemise ja API-de väljatöötamise nimel, mis aitavad luua kaasaegseid kiireid veebirakendusi.

Rakenduse Create React või Gatsby kasutamisega alustamine aitab teil isegi React'i rakendust hõlpsalt üles keerata ja sattuda kohe olukorda, kus saate koodis ringi käia.

Kuigi CSS-i eeltöötlejate ja selliste tööriistade nagu Sass väljakutsumine oleks kasulik, on CSS-i jaoks juba praegu palju lahendusi, sealhulgas CSS-in-JS.

Kuigi CSS-i sisestamisel JS-is on mõningaid plusse ja miinuseid, ei pea tingimata näitama, mida konkreetse suunana kasutada, kuna see sõltub tegelikult meeskonnast.

CSS-i põhitõdede ja jõu mõistmine ning selle kasutamine vanillivormis aitab teil selle kasutamiseks raamistikust hoolimata ette valmistada.

Ressursid

  • freecodecamp.org Tundlik veebidisaini sertifikaat //www.freecodecamp.org/learn
  • „Pange JavaScripti alla: õppige kõigepealt HTML-i ja CSS-i“ //www.freecodecamp.org/news/put-down-the-javascript-learn-html-css/
  • MDN-i sissejuhatus JavaScripti //developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
  • Lihtsalt Javascripti meilikursus //justjavascript.com/
  • JSRoboti õppemäng //lab.reaal.me/jsrobot/
  • reakjs.org Reacti sissejuhatus //reactjs.org/tutorial/tutorial.html
  • gatsbyjs.org õpetused //www.gatsbyjs.org/tutorial/

Tagumine ots

JAMstacki maailmas viitab tagumine osa API-dele, mida meie esiotsad kasutavad dünaamiliste kogemuste loomiseks kliendi (näiteks CRUD API-de) lõpp-punktidega suhtlemisel. Kui saate kliendilt neid taotlusi esitada, ei pea te enne seda lehte brauserile esitama, et seda töödeldakse.

Kuigi te ei peaks tundma, et saate kunagi ainult ühes keeles kodeerida, annab Javascriptis kirjutamise võimalus siin mõnusa eelise, kuna saate kasvada tuttava keelega (või vastupidi esiotsaga).

NodeJS on tavaline tööaeg, mille leiate enamikus pilvekeskkondades ja mis pakub teile sarnast kogemust, mida brauseris oodata võiksite. Peamine erinevus on see, et teil pole juurdepääsu teatud brauseri API-dele ega ka windowobjekti ja sellega seotud API-sid.

See tähendab, et Python on ka teine ​​populaarne keel ja kasvab, eriti arvestades selle populaarsust andmeteaduste ja inseneride kogukonnas. PHP ja Ruby, kuigi mõlemad kehtivad ja pakuvad teile tööturul võimalusi, ei tundu olevat nii populaarsed ega ole nii üldises tõusutrendis kui Javascript ja Python.

Teie valitud keele abil saate kõige paremini õppida looma pilveteenuseid, millega teie rakendused saavad liidestuda.

Lihtsa lambda loomine, millega saate mängida, kas AWS-is, Netlify'is või mõnes muus pilvepakkujas, annab teile hea kogemuse selle kohta, mida võite sellel alal töötada.

Ja isegi kui te ei pruugi leiduvas töökohas otseselt areneda, saate hakata tundma mõisteid, mis on tagatipuga töötamise seisukohast olulised. Ja lõpuks saate neid funktsioone kasutada teiste teenuste ja andmebaasidega ühenduse loomiseks, et luua oma dünaamilisi teenuseid.

Mida ma siis õppima peaksin?

Kui töötate juba Javascripti õppimisega asjade esiosast, jätkake oma taustaprogrammi jaoks JavaScripti kasutamist. Keerake lambda üles Netlify funktsioonide abil, kus peate lihtsalt keskenduma koodile ja Netlify hoolitseb ülejäänu eest (nagu näiteks teie funktsiooni ülesehitamine ja juurutamine).

Oma valitud keele ja esimese funktsiooniga proovige alustada koostööd teiste koodis sisalduvate teenustega, et saada kolmanda osapoole API-dega töötamise kogemus.

Ehk ehitada lõpp-punkt, mis suudaks Twitteri API abil piiksuma saata (kuid ärge kuritarvitage seda). Siit saate teada, kuidas andmebaasi luua ja oma funktsioon CRUD-mustriga liidestamiseks seadistada. See annab teile realistlikuma juhtumi selle kohta, kuidas tüüpiline rakendus võib taustaprogrammiga suhelda.

Teie eesmärk peaks siin olema teenuste loomine, millega teie kasutajaliides otspunkti kaudu suhtleb, et teie rakendust kasutava inimese jaoks toiminguid teha. Hea uudis antakse pilve hoogu, teil on palju võimalusi ja tasuta võimalusi või tasemeid, et saaksite nendega ringi mängida.

Ressursid

  • "Ülim lihtne serverivaba algus" //kentcdodds.com/blog/super-simple-start-to-serverless
  • „Serverita CRUD-rakenduste loomine Netlify funktsioonide ja FaunaDB abil“ //www.netlify.com/blog/2018/07/09/building-serverless-crud-apps-with-netlify-functions-faunadb/

DevOps ja pilv

DevOps tuleneb vajadusest osata luua lahendusi, mis siluvad ja kiirendavad koodi saamise protsessi inimestelt, kes seda kirjutavad, juurutatud olekusse.

See töö võib ulatuda paljudest kohustustest vähesteni, olgu see siis bash-skriptide kirjutamine kohandatud lahenduse jaoks või CloudFormationi malli kirjutamine, mis loob kõik rakenduse käitamiseks vajalikud ressursid.

Tavaliselt leiate selle osana CI / CD töövoogude suuremast orkestreerimisest, mis automatiseerib loomise ja juurutamise protsessi.

Ja see muutub pidevalt! Võttes arvesse serverivaba buumi, ilmnes serverivaba raamistik, mis haldab teie jaoks paljusid asju lihtsamal viisil, mis viis AWS-i isegi oma lahenduse SAM-i loomiseni. Sellised tööriistad nagu Jenkins on asjade CI / CD osa jaoks juba natuke aega olnud, kuid nüüd näete, et Github, Gitlab ja teised allikahalduse pakkujad pakuvad oma lahendusi ja tööriistu nagu CircleCI, mis ühendavad teie projekti.

Samuti pole see veel täiuslik - CloudFormationi mallide kirjutamine on hirmutav. Ka automatiseerimisskriptide kirjutamine pole kõige lõbusam, ehkki see töötab suurepäraselt!

Kuid see muutub paremaks, kuhu sobivad sellised tooted nagu Netlify ja Zeit. Kuigi need juurduvad rohkem asjade staatilisest hostimisest, kus koostate oma rakenduse ja ladustate selle, kasvavad nende pakkumised, nagu näiteks Netlify funktsioonid tegelikult lihtsalt AWS Lambdas, mida on hõlpsam seadistada ja täielikult toimivale lõpp-punktile juurutada (see on tõsiselt väga lihtne).

Mida ma siis õppima peaksin?

Kui olete sellist asja seadistamas esimest korda, alustage Netlify'ist. Githubi hoidlas seadistage rakendus React või isegi lihtsalt HTML-fail, ühendage see uue Netlify kontoga ja vaadake selle juurutamist.

Sealt edasi või kui teil on juba vähe kogemusi, hakake huvi tundma, mis kulisside taga toimub. Netlify võtab tõenäoliselt teie koodi, käivitab teie loodud käsud (nagu yarn build) virtuaalses keskkonnas, viskab salvestusruumi sisseehitatud failid nagu S3 ja paneb CDN-i ette nagu CloudFront, et seda otspunktist teenida.

Esmalt proovige seda teha arvutist käsitsi, kasutades AWS-i konsooli ja nende CLI-d, seejärel kirjutage skript, et automatiseerida kogu protsess, mis integreeritakse Circle CI-ga teie Githubi projekti Netlify asemel, et see tegelikult AWS-i juurutada.

Selle pügala ülesvõtmine hõlmab selliste teenuste väljatöötamist, millega teie tagaosa võib liidestuda. Kas teil on andmebaasi, mida teie teenused kasutavad? Selle andmebaasi ketramise saate automatiseerida CloudFormationi või bashi skriptide abil.

Infrastruktuuri käsitlemine ühekordselt kasutatavate hõlpsasti taastatavate ressurssidega koodiga aitab teil ja teie projektidel muutuda paindlikumaks ning neil on parem võimalus ebaõnnestumise korral uuesti varundada.

Ja see kõik kehtib iga pilve või CI / CD pakkuja jaoks, mitte ainult AWS ja Circle CI. Valige oma lemmik pilve- ja töövoo tööriist ning käivitage see. Asi on selles, et hakake uurima oma projekti vajadusi ja uurige, mis tegelikult toimub virna automatiseeritud osades. See aitab teil rohkem teada saada ja oma projekti vajadustele vastavalt leida.

Ressursid

  • „Samm-sammuline juhend: Netlify juurutamine” //www.netlify.com/blog/2016/09/29/a-step-by-step-guide-deploying-on-netlify/
  • „Staatilise veebisaidi seadistamine” //docs.aws.amazon.com/AmazonS3/latest/dev/HostingWebsiteOnS3Setup.html
  • „AWS-i sertifitseeritud pilvepraktika koolitus 2019 - tasuta 4-tunnine videokursus“ //www.freecodecamp.org/news/aws-certified-cloud-practitioner-training-2019-free-video-course/
  • Vaadake Javascripti ressursse ülaltoodud esiosas

Aga disain?

Jah, peaksite mõistma disaini põhitõdesid. Ei, te ei pea olema disainer.

Disainis on palju aspekte, mis kiirendavad teie kui arendaja võimeid. Kuigi me kõik teame, et visuaalsed ja UX-i disainerid toodavad võluväge, võib põhiteadmiste omamine takistada teie rakendusel tohutut pettumust.

Kõik arendusprotsessis töötavad eesmärgi nimel, mis mõjutab lõppkasutajat ühel või teisel viisil. Võimalus mõista, mida teie töö vajab, ja kuidas see mõjutab kasutajaid, aitab meeskonnal tervikuna välja töötada terviklikum lõpplahendus.

Mõelgem taustaprogrammi arendajale, kes loob API, et keegi saaks rakenduses kasutajaid hallata. API nõuded on üsna lahjad ja sisaldavad ainult kasutaja nime. Tingimus, et üksiku välja „nimi” asemel „esimene” ja „viimane” ei pruugi enamuse jaoks olla kõige intuitiivsem lahendus. Kuid see võib olla möödarääkimine, mis muudab keerulisemaks, kuidas esiotsa arendaja seda kasutajaliideses paljastab, mis teeks arendajale valusaks kuvamise või muudaks lõppkasutaja tarbimise segaseks.

Kõigele lisaks võib disain otseselt konversiooni mõjutada. Kui ehitate poodruumis, võib nupp, mis ei tundu nupp, takistada inimestel toodet oma ostukorvi lisada. See muidugi hoiab ära ostu, mis on saamata jäänud tulu. Kasutajaliidese humaniseerimise mõistmine isegi põhitähenduses võib sõna otseses mõttes muuta teie projekti rohkem raha või lihtsalt aidata kellelgi seda hõlpsamalt kasutada.

Ja mis veelgi tähtsam, soovite, et teie saidil oleks juurdepääs. Paljudel inimestel on erinevad vajadused, olenemata sellest, kas nad ei näe värve ühetaoliselt või ei kuule teie rakenduse tekitatavaid helisid, soovite ära tunda teiste vajadused ja proovida kujundada nii, et teie rakendus oleks kõigile kasutatav.

Mida ma siis õppima peaksin?

Kuigi ma ei eelda, et te selle läbiksite terve kursuse, proovige olla teadlik ja uudishimulik. Ja võib-olla järgmisel korral ei jäta seda disainiartiklit vahele, mida nägite freeCodeCampi twitteris.

Lahenduste loomisel proovige ette kujutada, kuidas teie tööd kasutatakse. Mida vajavad teised teie meeskonna arendajad teie API-st? Mida vajavad teie rakendust kasutavad inimesed teie liideselt?

Samuti võite proovida saada inspiratsiooni sellest, mida teised teie ruumis teevad. Kuidas ootaksite rakendust sarnase funktsionaalsuse pakkumisel välja nägema? See ei ole litsents kopeerimiseks ega varastamiseks, kuid peaksite mõistma vajadusi, mida nende lahendus lahendab. Mõelge, miks on nende nupp Lisa ostukorvi nii suur, miks nad annavad kasutajatele võimaluse toote fotot suumida või kuidas saate muuta tabeli kujunduse veidi kasutatavamaks.

Juurdepääsetavuse osas proovige õppida põhitõdesid. Üha rohkem on saadaval ressursse, mis aitavad teil mõista teiste vajadusi. Püüdke mõista, millised puuded on ja kuidas need võivad teie rakenduse kasutamist mõjutada. Võib-olla vaadake mõnda levinumat mudelit selle kohta, kuidas neid probleeme lahendada.

Enamasti pole see liiga raske kaasata ja kui teil on harjumus seda teha algusest peale, ei mõtle te sellele järgmisel rakenduse ehitamisel isegi mõelda.

Ressursid

  • Disain arendajatele //thoughtbot.com/upcase/design-for-developers
  • Hack Design //hackdesign.org
  • Häkkerite kujundus //designforhackers.com/
  • Veebi juurdepääsetavuse tutvustus //webaim.org/intro/

Muud asjad, kui alles alustate

Suur osa sellest artiklist eeldab, et teil on mõned põhitõed maas, näiteks saate aru, mis on git ja allika juhtimine, või lasete lihtsalt oma koodiredaktori seadistada. Kui olete tõepoolest alles alustamas, soovite vähemalt mõista neid mõisteid lihtsalt, sest ilma nendeta muutub see kiiresti keerulisemaks.

Terminali kasutamise õppimise kohta on ka midagi öelda. Uue kasutajaliidese kasutamata jätmine võib olla tohutu, kuid kui olete liikuma hakanud, saate kiiresti teada, et olete terminali abil produktiivsem ja paljud projektid vajavad terminali kasutamist igal juhul.

Mida ma siis õppima peaksin?

Kõigepealt peate seadistama koodiredaktori. Visual Studio kood on praegu moes, kuid on ka teisi, mis teenivad teid vastavalt teie eelistustele nagu Atom või Sublime Text. Leiate isegi pilvepõhised IDE-d nagu Repl.it või saate lihtsalt alustada madalama sisenemistõkkega, mängides CodePenis või JSFiddle'is.

Mõlemal juhul, kui olete valmis kodeerima, soovite mõista, mis on allika juhtimine, kus git on praegu suurim mängija. Git on võimas tööriist, mis võimaldab teil jälgida koodi muudatusi ja muutuda teiste arendajatega koostöös produktiivsemaks.

Soovite tutvuda mõne giti põhikäsklusega, nagu uute muudatuste lisamine, samuti harud ja kuidas neid kasutada. Git on tohutu maailm, te ei pea seda kohe õppima, saate kiiresti teada, et teie git fu valdamise teemal on õppida lõputult palju uusi asju.

Paljude kasutatavate tööriistade jaoks on saadaval GUI-d, näiteks GitKraken, kuid saate siiski veidi piiratud võimalustega. Parim valik on masina vaiketerminalide ümber õppimine või muude valikute allalaadimine, näiteks iterm2 (minu eelistus) või Xterm.js. Boonus: tunnete end filmihäkkerina iga kord, kui seda kasutate (või kas see on lihtsalt mina?).

Ressursid

  • Alustamine Visual Studio koodiga //www.codecademy.com/articles/visual-studio-code
  • Giti ressursid saidilt Github //try.github.io/
  • Õppige git mängu hargnemisega //learngitbranching.js.org/
  • Sissejuhatus Maci käsureale //blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line

Muud asjad, kui otsite rohkem

Seal on nii palju muud, et saaksite kiiresti jäneseaugust alla minna. Ärge unustage, et ärge levitage oma tähelepanu ja proovige ennast mitte üle koormata. Kuid kui tunnete end oma asukohas üsna hästi, on veel mõned mõisted, mis aitavad ainult siis, kui tegelete väljakutsetega reaalses maailmas.

Testimine ja erinevad metoodikad

Koodi kirjutamine on üks asi, kuid tõhusate testide seadistamine aitab koodi kõvaks muuta ja vead välja pääseda. Kui sait väheneb, ei taha te oma tulevast aega raisata ega isegi oma tootele raha maksta. Testide kirjutamise ja erinevate lähenemisviiside õppimine on oluline koodi kindlustamiseks.

Brauseritööriistad, näiteks Chrome DevTools

Üks võimsamaid tööriistu, mis teil silumise ajal võivad olla, on minu arvates teie rakenduse brauseris silumine.

Ükskõik, kas DOM-i renderdamine, CSS-iga mängimine või teie võrgupäringute silumine, saate kiiresti teada, kuidas aega kokku hoida ja kuidas viga lihtsamalt tuvastada.

HTTP ja päringute silumine võrgupaneelil

Kuna veeb põhineb Internetil, esitab teie rakendus lõpuks taotlusi teistele serveritele. Kui see juhtub, aitab päringu kontrollpunktide mõistmine või lihtsalt päringu esitamine aidata teil mõista, miks teie rakendus näib olevat hilja või miks teie nuppu Salvesta ei tööta.

Põhiline arusaamine päringute toimimisest ja nende silumiseks visualiseerimisest aitab teie teekonnal palju kaasa.

Avatud lähtekoodiga tarkvara ja paketihaldurid

See pole nii oskus või tööriist, et õppida nii palju kui tarkvara levitamise viis. Alustades koodilahenduste loomist, saate teada, et paljud meist toetuvad avatud lähtekoodiga pakettidele. Enamasti on see läbi npm, kui kirjutate Javascripti, mis aitab meil produktiivsemaks muutuda, ilma et peaksime ratast iga kord uuesti leiutama.

Kulutage mõnda aega avatud lähtekoodiga kontseptsiooni mõistmiseks ja mõelge isegi oma lemmikprojektile kaasa aidates tagasi. Käte laenamine on tavaliselt ülimalt hinnatud, see aitab teil kogemusi omandada ja võite isegi oma esimese heakskiidetud tõmmisnõude korral mõne tasuta löögi saada! Ole sealsamas lihtsalt lugupidav, taotluse teisel poolel on ka päris inimene.

Mida veel?

Seda loendit võib jätkata igavesti, kuna kodeerimismaailmas on nii palju. Mis on veel teie arvates oluline arengumeistriks saamise teekonnal? Saatke mulle säutsu või DM, kui arvate, et mul on midagi olulist puudu!

Sa põled! See kõik kokku tõmmata

Arvestades kõiki ülaltooduga kogutud kogemusi, peaksite olema võimeline ise kogu rakenduse algusest lõpuni looma. Kas saate aru, mis jõud teil on?

Siit algab lõbu. Proovige luua uus rakendus - pole tähtis, mis see on, lihtsalt ehitage midagi. Parim, mida saate õppimiseks teha, on sellega kogemuste hankimine. Pole tähtis, kas see on üks miljonist toto-õpetusest, mille leiate või õpetades ennast kodeerima, ehitades ühe suurima sotsiaalse võrgustiku, nagu Instagrami looja.

Siit peaksite saama luua:

  • Veebirakenduse kasutajaliides, mis töötab brauseris
  • Taustateenused, millele teie veebirakendus võib taotleda lõpp-punktide kaudu
  • Kirjutage skript, mis ühendatakse CI / CD-tööriistaga, et automatiseerida oma loomise ja juurutamise protsess
  • Boonus: head otsused teie liidese väljanägemise kohta, et inimesed saaksid seda tegelikult kasutada!

Minge välja ja ehitage! Jagage meiega Twitteris oma arenguteekonda, kasutades räsimärki #codejourney. Tahaksime kuulda rohkem sellest, kus olete käinud ja mida olete ehitanud või kuhu lähete ja mida soovite ehitada.

Järgige mind, et saada rohkem Javascripti, UX-i ja muud huvitavat!

  • ? Jälgi mind Twitteris
  • ? ️ Telli Minu Youtube
  • ✉️ Registreeru minu uudiskirja saamiseks