Darba sākšana ar Fullstack Web Development
Mūsdienās mūsdienīgas pilnīga kaudze ir ļoti populārs gan mazās aģentūrās, gan lielos uzņēmumos ar īpašu tehnisko komandu. Pilna kaudze tīmekļa inženieri strādā visā tīmekļa stekā ieskaitot frontend, backend, un servera pārvaldība.
Daudzi cilvēki apgalvo, ka pilna kaudze tikai noved pie tā, ka tā ir "visu amatu, neviens nav". No konkrēta viedokļa tas var būt taisnība, tomēr prasme ir tikai tikpat svarīga kā ar to. Daudzi pilna kaudze piedāvā vērtību, jo viņi var pieņemt ideju no koncepcijas līdz palaišanai, un pilnībā saprast katrs procesa posms.
Ja jūs domājat iet pa pilnu kaudze, tad šis raksts ir par jums. Es izskaidrošu pilnu steku izstrādātāja prasības, kāda nozīme ir, un kā skillset var būt noderīgs ārštata darbiniekiem / darbuzņēmējiem, kuri vēlas strādāt tieši vai nu klientiem, vai savos projektos.
Pilnu steku pamati
Mūsdienīga pilnā kaudze attīstījās tālu, jo tīmekļa tehnoloģijas ir daudz mainījušās. Pilnīgas prasības attiecībā uz kaudzēm būtu jāizmanto kā vadlīnijas, lai apsvērtu turpmāk. Vispārīgi runājot, "kaudze" ir tehnoloģijas, kas darbojas vienoti veikt mājas lapas darbu. Tas nozīmē frontend kodu, backend kodu, datu bāzes sistēmu un tīmekļa servera platformu + OS serverim.
Pilna steku izstrādes pamatprincips ir izprast visus tīmekļa vietnes veidošanas aspektus. Tas nenozīmē zināšanas par dizainu vai UI / UX darbu, lai gan tas var ievērojami uzlabot jūsu dzīvotspēju un darba kvalitāti.
- Frontendes pamatprincipi ir HTML / CSS un JavaScript, visticamāk ar a sistēmu, piemēram, leņķveida vai reaģēt.
- Par backend valodu jūs vēlaties izvēlēties kaut ko, ko var apvienot ar datu bāzes sistēmu. PHP / MySQL ir visizplatītākais un vieglākais, lai uzzinātu, jo tā daudziem CMS dzinējiem, piemēram, WordPress, ir pilnvaras. Arī LAMP kaudze ir nenoliedzami populārākā tīmekļa kaudze šodien.
- Servera zināšanas var būt tikpat vienkāršas vai detalizētas, cik vēlaties. Absolūtie pamati būtu tādas servera programmas zināšanas kā Apache kopā ar tādu datubāzi kā MySQL vai PostgreSQL.
- Iespējams, jūs vēl vairāk iekļausiet zināšanas par pasta serveru vai veiktspējas rīku, piemēram, memcached vai Varnish, instalēšanu.
Pilna kaudze dev būtu jāaplūko visās trijās jomās ar pietiekamām zināšanām uzsākt tīmekļa vietni neatkarīgi, un bez lielas palīdzības no citiem.
Tehniskā zināšanu dziļums
Liels jautājums par pilnīgu kaudze attīstību ir cik dziļi iet katrā apgabalā. Vai pilna kaudze inženieris tiešām ir kaut ko meistars? Daži apgalvo, ka tas ir iespējams, bet tas var nebūt pilnīgas kaudzes nolūks.
Lielākā daļa uzņēmumu vēlas nolīgt pilnu kaudze inženierus, kuriem visur ir maz zināšanu. Šie inženieri var specializēties vienā jomā, bet viņi vajadzības gadījumā var aizpildīt jebkuru lomu.
Deviem, kas tikko sākas šajā ceļā, vajadzētu būt rotaļlietās visās jomās mācoties „vienkārši”, lai atrisinātu problēmas, kad tās rodas. Tas dod reālu pasaules interpretāciju tehnoloģijām, lai redzētu, kā dažādas problēmas attiecas uz reāliem projektiem.
Vislielākais ieguvums no pilnas kaudzes kodēšanas ir spēja veidojiet savus pieteikumus strādājot nevienam citam.
Ja jūs apgūsiet katru attīstības procesa posmu, tad jūs varat darīt visu sev. Jums nav jābūt PHP meistaram, lai izveidotu pielāgotu Laravel lietotni. Un jums nav jābūt JavaScript guru, lai izveidotu elastīgu nolaižamo navigāciju, jo īpaši tagad, kad tīmeklī ir pieejams tik daudz atvērtā pirmkoda..
Tātad, cik dziļi vajadzētu doties uz kādu no šīm jomām? Tas ir atkarīgs no jums, un jūsu atbilde, iespējams, laika gaitā mainīsies.
Bet, pirmo reizi sākoties, vienkārši iet pietiekami dziļi, lai īstenotu to, ko esat iemācījušies reālajā projektā. Kad jūs satriekt kaut ko, ko jūs nesaprotat, izmantot to kā iespēju dziļāk, un uzzināt vairāk par šo konkrēto tēmu.
Valodu izvēle
Jaunajam attīstītājam tas ir mazliet daudzsološs, lai izvēlētos, kādas tehnoloģijas mācīties. Nepieciešamo priekšmetu iegūšana, HTML un CSS ir absolūti nepieciešami. JavaScript ir arī nepieciešamība, bet jums nav nepieciešams sevi uzskatīt par JS meistaru. Tomēr jums vajadzētu būt ieinteresētam uzzināt vairāk par vienkāršu JavaScript.
Lielākā daļa devu mācās arī jQuery, bet sistēmas, piemēram, React, Ember, Angular, Vue vai Backbone, piedāvā vienkāršāku procesu, lai izveidotu pilna mēroga tīmekļa lietojumprogrammas.
Ir iespējams ienirt vēl dziļāku mācīšanos iedomātā JavaScript efekti, piemēram, animācijas, bet tās ir pilnīgi izvēles. Pilna kaudze attīstītājam ir jāzina tikai pietiekami, lai veiktu darbu, un pāriet no turienes.
Aizmugures valodas izvēle ir mazāka par tehnisko priekšrocību, un vairāk par komfortu. Lielākā daļa programmētāju to saprot Python ir daudzpusīgāka valoda nekā PHP, tomēr lielākā daļa tīmekļa vietņu darbojas uz PHP serveriem. Tas padara PHP ir vērtīga valoda vairāk uzņēmumu.
Izvēlieties kādu valodu, kas atbilst jūsu vajadzībām, vai piedāvā lielākās iespējas. Ņemiet vērā arī to jūs neesat iestrēdzis ar vienu backend valodu uz visiem laikiem. Ja sākat ar Ruby, bet pāriet uz Python, jūs neko nezaudējat šajā procesā.
Tomēr es ieteiktu, ka pēc tam, kad jūs atradīsiet sev vēlamo backend valodu, ienāciet dziļāk ar šo valodu un saistītu sistēmu. PHP ir Laravel, Ruby ir Rails, un Python ir Django - starp daudzām citām iespējām. Šīs sistēmas paātrinās jūsu izstrādes procesu un palīdzēs pareizi strukturēt jūsu lietojumprogrammas.
Datu bāzes un serveri
Izvēloties datubāzes dzinēju, tiek izpildītas projekta prasības un servera kaudze. PHP bieži strādā ar MySQL, tāpēc tā ir vispiemērotākā izvēle. The divas lielākās tīmekļa kaudzes šodien ir LAMP (Linux-Apache-MySQL-PHP) un MEAN (MongoDB-ExpressJS-AngularJS-Node.js).
Lielākā daļa hostinga uzņēmumu piedāvā LAMP jau no paša sākuma bez nepieciešamās uzstādīšanas. Bet pasūtījuma risinājumi, piemēram, Digital Ocean, ļauj jums palaist gandrīz visu ar mazu elkoņu smērvielu. Šajā sarakstā varat atrast vairāk tīmekļa skalu vai meklēt internetā.
Jūsu izvēlētā datu bāze bieži būs saistīta ar jūsu backend valodu. Python pēc noklusējuma nāk ar SQLite atbalstu, un RoR Devs parasti var strādāt ar kaut ko. Un godīgi, jebkura valoda parasti var strādāt ar jebkuru datu bāzi.
Bet jūs vēlaties izvēlēties kaut ko, kas ir pietiekami bieži, lai to izmantotu lielākajā daļā tīmekļa projektu. SQL ir vispārēja valoda, un tā galvenokārt izmanto vienu un to pašu sintaksi visos datubāzu dzinējos. Jūs atradīsiet atšķirības tabulas iestatījumos un administrācijā, taču tās parasti ir nelielas.
Papildus datubāzēm šeit ir dažas tehniskas servera puses tēmas, par kurām jūs varētu vēlēties uzzināt.
- CDN un satura mitināšana
- Servera programmatūras instalēšana un atjaunināšana
- Labākie servera konfigurācijas datplūsmas tapām un ielādes laikiem
- Caching risinājumi gan datu bāzes vaicājumiem, gan failu sistēmas glabāšanai
- Datu bāzu un plakanu failu vai diskā attēlveidošanas dublējumu automatizēti dublējumi
- HTTPS iestatīšana ar domēna pārvaldību (DNS serveri, CNAME ieraksti utt.)
- Detalizētāki priekšmeti, piemēram, e-pasts, mikroservisi un slodzes līdzsvarošana
Viens no labākajiem mācīšanās veidiem ir tīkot ar serveriem veidojot projektus. Grab pamata VPS kontu un mēģiniet izveidot savas skavas. Šie VPS ir pilnīgas virtuālo serveru vides, kurās jums ir pilnīga kontrole, lai konfigurētu (vai iznīcinātu) visu. Arī iepriekš minētais saraksts nav obligāts ceļvedis visiem pilna kaudze izstrādātājiem.
Vienīgās zināšanas, kas jums patiešām ir vajadzīgas lai izveidotu tukšu servera vidi, un instalējiet tīmekļa vietnes palaišanai nepieciešamo programmatūru. No turienes kaut kas cits ir tikai uzlabotas zināšanas. Ja jums kādreiz ir jautājumi vai vēlaties mācīties no profesionāļiem, pārbaudiet Reddit / r / SysAdmin kopienu.
Ceļš uz priekšu
Ja jūs patiešām vēlaties apgūt pilnu kaudze attīstību, izveidojiet sarakstu ar visām tehnoloģijām, kuras vēlaties mācīties. No turienes jūs varat tos risināt pa vienam, veidojot savus prakses projektus, lai pārbaudītu, ko jūs mācīsiet.
Tīmekļa izstrāde ir nemitīgi mainīga nozare, tāpēc jums vienmēr jābūt gatavam uzzināt vairāk. Pārbaudiet dažādas kaudzītes un valodas, līdz atrodat to, kas jums patīk. Bet vienmēr būsiet gatavs dziļāk un labāk!
Vai pilnīga kaudze ir vērta? Tas jums ir jāizlemj. Bet šeit ir dažas saistītās ziņas, kas varētu palīdzēt jums to saprast.
- Par "pilnas kaudzes" leģitimitāti (heapsortjobs.com)
- Tātad jūs vēlaties kļūt par pilnu kaudze izstrādātāju (rubysteps.com)
- 7 padomi, kā kļūt par pilnu kaudze izstrādātāju (usersnap.com)