Почетак рада са Фуллстацк Веб Девелопмент-ом
Ових дана, модерно фулл стацк девелопмент је веома популаран у малим агенцијама и већим компанијама са посвећеним техничким тимом. Веб инжењери са пуним стацком раде на читавом низу технологија укључујући фронтенд, бацкенд, и сервер манагемент.
Многи људи тврде да пуни стацк води само ка томе да буде "јацк оф алл традес, мастер оф ноне". Са одређене тачке гледишта то може бити истина, међутим, вјештина је једнако важна као и оно што се може постићи њоме. Многи фулл стацк девс нуде вриједност јер могу узети идеју од зачећа до лансирања, и потпуно схватити сваком кораку процеса.
Ако мислите на то идете на пуну стацк руту, онда је овај чланак за вас. Објаснит ћу опће захтјеве развојног инжењера с пуним стогом, какву улогу има и како вјештина може бити корисна за слободњаке / уговаратеље који желе да раде директно за клијенте или у својим властитим пројектима..
Фулл Стацк Фундаменталс
Модерни развој потпуног стацк-а је прошао дуг пут, јер се веб технологија много промијенила. Потпуни захтјеви за стацк треба користити као смјернице за разматрање. Уопштено говорећи, "стацк" представља технологије које се покрећу унисоно да направите веб сајт. То значи фронтенд код, бацкенд код, систем базе података и веб сервер платформа + ОС за сервер.
Основни принцип развоја потпуног стог-а је разумевање свих аспеката изградње веб-локације. То не значи познавање дизајна или УИ / УКС рада, иако то може значајно побољшати вашу одрживост и квалитет рада.
- Основе фронтенд-а укључују ХТМЛ / ЦСС и ЈаваСцрипт, највероватније са а оквир, као што су Ангулар или Реацт.
- За позадински језик желите да изаберете нешто што може бити повезано са системом базе података. ПХП / МиСКЛ је најчешћи и најлакши за учење јер покреће многе ЦМС моторе као што је ВордПресс. Алсо тхе ЛАМП стацк је данас најпопуларнији веб стацк.
- Знање сервера може бити једноставно или детаљно колико желите. Апсолутне основе би биле познавање серверског програма Апацхе заједно са базом података МиСКЛ или ПостгреСКЛ.
- Можда ћете чак и више укључити знање о инсталирању сервера поште или алатки за перформансе, као што је мемцацхед или Варнисх.
Комплетни стог ће се бавити свим трима подручјима са довољно знања покрените сајт независно, и без много помоћи од било кога другог.
Техничка дубина знања
Велико питање о развоју потпуног стацк-а је колико дубоко треба ићи у свако подручје. Да ли је инжењер са пуним стацком заиста икада мајстор свега? Неки тврде да је то могуће, али то можда није сврха пуног стог.
Већина компанија жели да запосли инжењере који имају пуно знања свуда. Ови инжењери могу да се специјализују у једној области, али они могу попунити сваку улогу када је то потребно.
Девови који тек почињу овим путем би требали играју се у свим областима, учећи "довољно" да реше проблеме чим се појаве. Ово даје технологији реалну интерпретацију како би се видјело како се различити проблеми примјењују на стварне пројекте.
Највећа предност потпуног кодирања је могућност направите сопствене апликације без рада за било кога другог.
Ако научите сваку фазу развојног процеса, онда све можете сами. Не морате бити мајстор ПХП-а да бисте направили прилагођену апликацију Ларавел. А не морате да будете ЈаваСцрипт гуру да бисте креирали флексибилну навигациону навигацију, посебно сада када имамо толико отвореног изворног кода на вебу.
Колико дубоко треба да идете у било коју од ових области? Ово је у потпуности на вама, и ваш одговор ће се вероватно променити током времена.
Али када први пут почнете, само довољно дубоко да имплементирате оно што сте научили у стварном пројекту. Када налетиш на нешто што не разумеш, искористите га као прилику да продрете дубље, и сазнајте више о тој теми.
Избор језика
Мало је загонетка да нови програмер изабере које ће технологије да научи. Склоните ствари са пута, ХТМЛ и ЦСС су апсолутно потребни. ЈаваСцрипт је такође неопходан, али не морате себе сматрати мајстором ЈС-а. Међутим, требало би да вас занима више од обичног ЈаваСцрипта.
Већина развојних програмера такође учи јКуери, али оквири као што су Реацт, Ембер, Ангулар, Вуе или Бацкбоне нуде једноставнији процес за израду комплетних веб апликација.
Могуће је још дубље заронити фанци ЈаваСцрипт ефекти, као што су анимације, али су потпуно опционалне. Програмер са пуним стацком треба да зна довољно само да би обавио посао, и да крену одатле.
Избор позадинског језика је мање о техничкој предности, а више о удобности. Већина програмера то схвата Питхон је језик који је разноврснији од ПХП-а, међутим већина веб сајтова ради на ПХП серверима. Ово прави ПХП вриједан језик више компанија.
Изаберите језик који одговара вашим потребама, или вам нуди највеће могућности. Имајте на уму и то нисте заувек заглављени са једним позадинским језиком. Ако почнете са Руби али се пребаците на Питхон, нећете изгубити ништа у том процесу.
Међутим, препоручујем вам да, када пронађете жељени позадински језик, продубите тај језик и покупити одговарајући оквир. ПХП има Ларавел, Руби има Раилс, а Питхон има Дјанго - међу многим другим опцијама. Ови оквири ће убрзати ваш развојни процес и помоћи вам да правилно структурирате ваше апликације.
Датабасес & Серверс
Одабир механизма базе података своди се на захтјеве пројекта и послужитељски стацк. ПХП често ради са МиСКЛ-ом, тако да је то најпожељнији избор. Тхе два највећа веб стацка данас су ЛАМП (Линук-Апацхе-МиСКЛ-ПХП) и ЗНАЧИТИ (МонгоДБ-ЕкпрессЈС-АнгуларЈС-Ноде.јс).
Већина хостинг компанија нуди ЛАМП од почетка без потребе за подешавањем. Али прилагођена решења као што је Дигитал Оцеан омогућују вам да покренете скоро све са мало масноће за лакат. На овој листи можете пронаћи више стацкова или претраживати онлине.
Ваша база података често ће бити везан за ваш позадински језик. Питхон долази са СКЛите подршком по дефаулту, и РоР Девс обично може радити са било чим. И искрено, сваки језик обично може радити са било којом базом података.
Али желите да одаберете нешто што је довољно заједничко за употребу у већини веб пројеката. СКЛ је општи језик и користи углавном исту синтаксу у свим погонима базе података. Наћи ћете разлике у постављању и администрацији табела, али оне су обично мање.
Поред база података, ево неких техничких тема на страни сервера о којима можда желите да научите.
- ЦДН и хостинг садржаја
- Инсталација и ажурирање софтвера за сервер
- Најбоља конфигурација сервера за шиљке промета и времена учитавања
- Решења за кеширање за упите за базе података и за складиштење датотека
- Аутоматизовано прављење резервних копија база података и равних фајлова или резервних копија диска
- Подешавање ХТТПС-а са управљањем доменом (ДНС сервери, ЦНАМЕ записи, итд.)
- Детаљније теме, као што су е-пошта, микросервис и балансирање оптерећења
Један од најбољих начина за учење је тинкеринг са серверима док градите пројекте. Узми основну ВПС и покушајте да поставите сопствене стацкове. Ови ВПС-ови су потпуна виртуелна серверска окружења у којима имате потпуну контролу за конфигурирање (или уништавање) свега. Такође, горе наведена листа није обавезна мапа за све програмере пуног стацк-а.
Једино знање које ти заиста треба је све што је потребно за креирање празне серверске околине и инсталирање софтвера потребног за покретање веб странице. Одатле, било шта друго је само побољшано знање. Ако имате питања или желите да научите од професионалаца, погледајте Реддитову / р / СисАдмин заједницу.
Пут напред
Ако заиста желите да научите потпуно развијање стог, направите листу свих технологија које желите да научите. Одатле можете да се бавите њима један по један, чинећи сопствене пројекте за тестирање како бисте тестирали оно што сте научили.
Веб развој је индустрија која се стално мења, тако да увек треба да будете спремни да научите више. Тестирајте различите стацкове и језике док не пронађете оно што желите. Али увек будите спремни ићи дубље и боље!
Да ли је пуна израда стог вриједна труда? То је за тебе. Али ево неких повезаних постова који вам могу помоћи да то схватите.
- О легитимности "Фулл-Стацк" -а (хеапсортјобс.цом)
- Дакле, желите да постанете фулл-стацк девелопер (рубистепс.цом)
- 7 савета о томе како да постанете Фулл Стацк Девелопер (усерснап.цом)