paint-brush
Ahoana ny fomba hifidianana stack server amin'ny fandefasana vokatrany@gnovikov
109,422 HENOINA
109,422 HENOINA

Ahoana ny fomba hifidianana stack server amin'ny fandefasana vokatra

ny Grigorii Novikov9m2024/03/01
Read on Terminal Reader
Read this story w/o Javascript

Lava loatra; Mamaky

Eo amin'ny sehatry ny fivoaran'ny vokatra, ny safidin'ny stack server dia manana lanjany lehibe, tsy ny fametrahana voalohany ihany fa ny fahavitrihana maharitra sy ny fahombiazan'ny fampiharanao. Grigorii Novikov, Senior Backend Developer efa za-draharaha, dia maka avy amin'ny traikefany mba hanomezana fomba fijery sarobidy momba ny dingana sarotra amin'ny fisafidianana ny stack server mety indrindra.
featured image - Ahoana ny fomba hifidianana stack server amin'ny fandefasana vokatra
Grigorii Novikov HackerNoon profile picture
0-item


Ny fisafidianana ny stack server tonga lafatra amin'ny fandefasana vokatra dia fanapahan-kevitra mitondra lanja be. Ity safidy ity dia tsy misy fiantraikany amin'ny fametrahana voalohany ihany fa ny fampifanarahana maharitra sy ny fahombiazan'ny fampiharanao. Raha mpamorona zokiolona ianao na mitarika ekipa, dia zakanao ny andraikitr'ireo fanapahan-kevitra momba ny maritrano ireo, mamakivaky ranomason'ny fiteny sy rafitra mba hahitana izay mety indrindra amin'ny filan'ny tetikasanao. Ny andraikitrao eto dia ny manao safidy manan-danja, izay haharitra rehefa mivoatra sy mivelatra ny tetikasanao.


Izaho no Grigorii Novikov, Mpanamboatra Backend Senior manana traikefa an-taonany maro amin'ny fanaovana sary sokitra sy fanodinkodinana ny maritrano rindrambaiko. Nandritra ny asako dia niatrika fanapahan-kevitra be dia be momba ny fisafidianana stack server aho. Ny fanapahan-kevitra tsirairay dia nanampy sosona ny fahatakarako ny fomba hampifanaraka ny teknolojia amin'ny fepetra takian'ny tetikasa mitombo. Ato amin'ity lahatsoratra ity dia hizara aminareo ny sasany amin'ireo hevi-dalina azoko ireo aho, manampy anao hisafidy stack server izay mifanaraka amin'ny filan'ny tetikasanao amin'izao fotoana izao ary hanohana ny fitomboany amin'ny ho avy. Manasa anao aho handinika miaraka amiko ny setroka sy ny fivoahana amin'ny fandraisana fanapahan-kevitra ara-teknolojia izay manokatra ny lalana ho amin'ny fahombiazana, hahazoana antoka fa ny tetikasanao dia mijoro eo amin'ny tany efa masaka ho an'ny fitomboana, ny fahafaha-manao ary ny fanavaozana.


Raha mpamorona zokiolona ianao na mitarika ekipa, dia zakanao ny andraikitr'ireo fanapahan-kevitra momba ny maritrano ireo, mamakivaky ranomason'ny fiteny sy rafitra mba hahitana izay mety indrindra amin'ny filan'ny tetikasanao.


1. Autogenerating Documentation

Na dia tsy mifandray amin'ny code per se aza dia zava-dehibe tokoa io teboka io ka tokony hodinihina voalohany indrindra. Ny antontan-taratasy matanjaka dia vato fehizoron'ny fampandrosoana mahomby, indrindra raha ny momba ny fivoaran'ny mpanjifa sy ny fitsapana fampiharana. Ny fitaovana ho an'ny antontan-taratasy autogenerating dia nanova an'io dingana io, miantoka fa ny antontan-taratasy dia mifanaraka amin'ny fanovana API farany indrindra, manamora ny fizotran'ny fampandrosoana, ary manapaka ny ezaka amin'ny tanana amin'ny fitazonana ny antontan-taratasin'ny tetikasanao.


Anisan'ireo fitaovana azon'ny mpamorona iray, manoro hevitra an'i Swagger aho noho ny fahaizany, ny fananganan'anaka miparitaka ary ny fanohanan'ny vondrom-piarahamonina mahery vaika. Safidy malaza iray hafa dia ny Redoc, izay manolotra interface tsara sy azo zahana ho an'ny antontan-taratasy API. Ho an'ny tetikasa mitaky fanamboarana mivelatra kokoa, ny fitaovana toa an'i Apiary dia manome fahafaham-po miaraka amin'ny fahaiza-manaon'ny antontan-taratasy, na dia mety mitaky fanamboarana voalohany aza izy ireo.


Na inona na inona fitaovana fidinao, ny tanjona dia ny hanatsara ny fizotran'ny antontan-taratasy mba hahombiazana nefa tsy mamela ny fitaovana mihitsy ho tonga fotoana lehibe. Misafidiana vahaolana izay manamaivana ny ezak'ireo antontan-taratasy amin'ny tanana sady manolotra ny fahafaha-mampifanaraka amin'ny fepetra takian'ny tetikasanao.


2. Fanohanana Bug Tracker

Tena ilaina ny fanaraha-maso mahomby amin'ny fitazonana ny fahasalaman'ny fampiharanao. Ho an'ny fampifandraisana mahomby amin'ny fanaraha-maso ny bibikely dia mampiasa fitaovana toa an'i Jira sy Bugzilla aho, izay samy mirehareha amin'ny endri-javatra manankarena sy ny fahafaha-manao. Jira, indrindra indrindra, dia manolotra fahaiza-mitambatra matanjaka amin'ny tontolo fampandrosoana maro; I Bugzilla kosa dia fantatra amin'ny fahatsorany sy ny fahombiazany, indrindra amin'ny tetikasa open-source izay laharam-pahamehana ny fanaraha-maso ny bibikely mivantana.


Ity misy hevi-baovao ho anao: ny fampidirana ireo mpitsikilo bibikely miaraka amin'ny iraka avy hatrany sy ny rafitra fanaraha-maso ny dikan-teny dia hampitombo ny fiaraha-miasa sy ny fahombiazan'ny ekipanao. Ohatra, ny Jira+Bitbucket combo dia manamora ny fizotran'ny asa, mamela ny fanaraha-maso tsy misy olana ao anatin'ny tontolo mifehy ny dikan-teny. Ity fampiarahana ity dia manamora ny fizotran'ny fampandrosoana mangarahara sy kinga, izay mifandray akaiky ny fanavaozana kaody sy ny famahana olana, izay ahafahana mamerina haingana kokoa sy manatsara ny kalitaon'ny kaody.


Fampidirana matanjaka iray hafa dia ny Mattermost+Focalboard, izay manolotra sehatra fiaraha-miasa feno. Izy io dia manambatra ny tombontsoa amin'ny fifandraisana mivantana amin'ny Mattermost miaraka amin'ny tetikasa sy ny fahaiza-mitantana ny asa ao amin'ny Focalboard, manome hery ny ekipa miaraka amin'ny fanavaozam-baovao amin'ny fotoana tena izy amin'ny fanaraha-maso ny bibikely, miaraka amin'ny fahafaha-manatsara ny fitantanana ny asa sy ny workflows ao anatin'ny interface iray mitambatra. Ny fampidirana toy izany dia tsy vitan'ny hoe manatsara ny fizotran'ny famahana ny bug, fa koa mamporisika ny tontolo fampandrosoana mirindra sy kinga kokoa, ary amin'ny farany dia manatsara ny vokatra sy ny vokatry ny tetikasa.


3. Fampitomboana ny fitomboana

Rehefa manomboka mahazo ny vokatrao ianao dia hiatrika ny fanamby amin'ny scaling . Ary tsy hoe firy ny isan'ny mpampiasa no tiako lazaina. Ny fanamafisam-peo dia mitaky ny fampifanarahana amin'ireo endri-javatra vaovao, ny fitantanana ny angon-drakitra mitombo, ary ny fitazonana ny haavon'ny fahombiazan'ny codebase-nao sy ny angon-drakitra ho tsara indrindra. Amin'izay fotoana izay dia tena miditra amin'ny lalao ny maritrano nofidinao ho an'ny stack server-nao.


Ohatra, amin'ny fanombohana ny tetikasanao, ny fandehanana amin'ny maritrano monolithic dia mety ho toy ny fomba voalanjalanja. Saingy rehefa mitombo sy miova ny vokatrao, dia ho hitanao hoe aiza no tsy ampy. Ny fifindrana amin'ny maritrano microservices na ny fampidirana serivisy rahona azo scalable dia afaka manome anao fifehezana tsara kokoa amin'ny lafiny samihafa amin'ny fampiharanao.


Ho an'ny vahaolana stack mpizara azo havaozina dia miantehitra amin'ny teknolojia toa an'i Kubernetes sy Docker aho. Ireo fitaovana ireo dia hanome anao ny fahafaha-manatsara ny serivisy tsy miankina, mitantana ny fametrahana amin'ny fomba mahomby, ary miantoka ny tsy fitoviana manerana ny tontolo iainanao. Fanampin'izay, ny mpanome tolotra rahona toa ny Amazon Web Services, Google Cloud, ary Microsoft Azure dia manolotra serivisy mitantana stellar izay afaka manatsotra ny dianao.


Ny fisafidianana ny maritrano azo scalable dia midika fampifandanjana ny tombotsoan'ny scalability amin'ny fahasarotan'ny fitantanana rafitra zaraina. Amin'ny farany, ny tanjonao eto dia ny hisafidy stack mpizara izay mahafeno ny filanao ankehitriny ary manana fahafaha-manao hiatrehana ny fitomboana ho avy.


4. Mitady izay mety tsara: eo anelanelan'ny fiaraha-monina sy ny fiarovana

Tsy misy ny tsy fahampian'ny fiteny fandaharana sy rafitra misy, samy manana ny tombontsoany manokana toy ny fanohanan'ny vondrom-piarahamonina, ny fisian'ny loharanon-karena, ary na dia ny fiarovana aza. Ity fahasamihafàna ity dia mamela safidy malalaka amin'ny vahaolana izay tsy mamaha ny olan'ny fampandrosoana eo noho eo ihany fa mifanaraka amin'ny tanjon'ny tetikasa maharitra, ao anatin'izany ny fiarovana sy ny fampitomboana .


Ny teknolojia tohanan'ny vondrom-piarahamonina lehibe sy loharano maro, toy ny Python sy JavaScript - ary ny rafitra misy azy ao anatin'ireo fiteny ireo toa an'i Django na React - dia manome fahalalana be dia be sy ohatra kaody vonona hampiasaina. Ity harena ity dia mampihena be ny fotoana laninao amin'ny famahana olana, noho ny fahasahiranana kely amin'ny fihatrehana olana iray izay tsy voavahan'ny olona talohanao. Mifanohitra amin'izany, ny teknolojia vaovao na niche dia mety hitondra tombony tsy manam-paharoa eo amin'ny latabatra, saingy matetika dia mamela anao ho sahirana amin'ny fotoana sarotra kokoa amin'ny fitadiavana vahaolana haingana.


Fotoana manan-danja iray hafa dia ny fandanjalanjana ny fiarovana sy ny fampiasana. Ho an'ny tetikasa izay tena iankinan'ny fiarovana ny kaody loharano, dia eritrereto ny fampiasana fiteny sy teknolojia manohana ny fanakorontanana mora sy ny fonosana azo antoka. Ohatra, Java sy .NET dia nanangana fitaovana sy tontolo iainana hanakanana ny kaody. Hanampy anao eto ihany koa ny teknolojian'ny containerization toa an'i Docker. Amin'ny alàlan'ny fametahana ny fampiharana sy ny tontolo manodidina azy ao anaty fitoeran-javatra iray, dia azonao antoka fa azon'ny mpanjifa ny zavatra rehetra ilaina amin'ny fampandehanana ny fampiharana nefa tsy miditra mivantana amin'ny code-nao. Ity fomba ity dia tsy miaro ny kaody fotsiny fa manamora ny fizotran'ny fametrahana.


5. Vidiny

Ny fiheverana ny vidiny dia tena zava-dehibe amin'ny fisafidianana stack teknolojia. Momba ny sandan'ny fanamboarana voalohany ihany io, mila mieritreritra lavitr'ezaka ihany koa ianao momba ny sandan'ny fitazonana sy fampitomboana ny rafitrao .


Ny teknolojia open-source dia tonga miaraka amin'ny tombony mamy amin'ny saram-pahazoan-dàlana aotra mialoha. Ho an'ny fanombohana na tetikasa amin'ny tetibola tery, mety ho fisarihana lehibe izany. Fanampin'izany, ny dobo midadasika amin'ny mpamorona mahay dia hanampy anao hitazona ny vidin'ny asa ho mora karakaraina.


Amin'ny lafiny iray, ny teknolojia sarotra kokoa sy manokana, toy ny blockchain na sehatra famakafakana data mandroso, dia mety mitaky fampiasam-bola ambony kokoa. Na dia manome tombony lehibe aza izy ireo amin'ny lafiny fampisehoana sy fiarovana, dia tokony handanjalanja ny totalin'ny sandan'ny fananana amin'ny tombontsoa azo antenaina ianao.


Ankoatr'izay, ny serivisy rahona, na dia mampihena ny filana fotodrafitrasa ara-batana aza, dia tonga miaraka amin'ny sarany manokana. Ny AWS, Google Cloud, ary Azure voalaza etsy ambony dia manolotra modely amin'ny vidiny isan-karazany izay afaka manenjana amin'ny fampiasanao; kanefa raha tsy misy fitantanana amim-pitandremana, dia mety hihodina ireo fandaniana ireo rehefa mitombo ny tetikasanao.


6. Fanaterana kaody

Mifantoka amin'ny fizotran'ny fametrahana ny fiantohana ny fandefasana kaody mahomby, indrindra amin'ny alàlan'ny fantsona Continuous Integration/Continuous Deployment (CI/CD) . Ity fomba ity dia manasongadina ny maha-zava-dehibe ny fanaovana automatique ny famindrana kaody amin'ny tontolo isan-karazany, ny fanamorana ny fivoarana sy ny fizotran'ny famokarana.


Ny fitaovana toy ny GitLab CI sy CircleCI dia manolotra vahaolana matanjaka amin'ny fanaovana automatique ny fizotran'ny fitiliana sy ny fametrahana. Fanampin'izany, ny fampiasana fitaovana fanoratana toy ny Ansible sy Terraform dia manatsara kokoa an'io automatique io, mamela ny fanomezana sy ny fitantanana ny fotodrafitrasa amin'ny alàlan'ny code.


Ireo teknôlôjia ireo dia hanampy anao amin'ny fananganana fantsona tsy mitongilana izay mamindra kaody manomboka amin'ny fampandrosoana mankany amin'ny famokarana miaraka amin'ny fahamendrehana sy azo itokisana. Amin'ny fampidirana ireo fitaovana ireo amin'ny rindranasan'asanao, dia manangana rafitra izay tsy vitan'ny hoe manafaingana ny tsingerin'ny fampandrosoana ianao fa miantoka ny fitoniana sy ny fitoniana manerana ny tontolo iainana.


7. Tontolo iainana

Ny famoronana sy ny fitantanana ny tontolon'ny fampandrosoana dia lafiny fototra nefa sarotra amin'ny tsingerin'ny fiainan'ny tetikasa rehetra. Ny famolavolana tontolo azo havaozina sy azo tazomina dia toa mahasahirana, indrindra ho an'ireo ekipa tsy manana manam-pahaizana manokana momba ny DevOps.


Ho an'ny ekipa maro, ny valin'ny fanontaniana momba ny fomba tsara indrindra amin'ny fitantanana ny tontolo iainana dia ny fampiasana serivisy mifototra amin'ny rahona sy ny fametrahana container. AWS, Google Cloud ary Azure indray dia manolotra tolotra isan-karazany azo amboarina hifanaraka amin'ny habeny sy ny fahasarotan'ny tetikasanao. Ireo sehatra ireo dia manome fitaovana ilaina amin'ny famoronana tontolo miovaova sy azo esorina tsy mila fitantanana fotodrafitrasa midadasika. Ankoatr'izay, ny fampiasana ny teknolojia toa an'i Docker sy Kubernetes dia mahatonga ny fandefasana amin'ny dingana samihafa amin'ny fampandrosoana, fitsapana ary famokarana tsy miovaova sy azo ianteherana.


Ny fananganana tontolo mahomby sy mampiadana dia tsy momba ny fananganana server ihany fa momba ny fandrindrana ny tontolo eo an-toerana ho an'ny mpamorona ihany koa. Tena zava-dehibe ho an'ny DevOps io lafiny io, satria matetika izy ireo no manamboatra sora-baventy hanatsorana ny fizotran'ny tetikasa eo an-toerana. Tsy mora foana anefa io asa io. Ohatra, mety ho sarotra ny manomana tontolo eo an-toerana ao amin'ny .NET, manasongadina ny filana ny fisafidianana teknolojia sy fitaovana izay manamora ny fametrahana ny mpizara sy ny eo an-toerana. Ny fiantohana ny mpamorona dia manana fidirana tsy misy olana amin'ny tontolo fampandrosoana mahomby eo an-toerana dia ilaina amin'ny fitazonana ny vokatra sy hanamora ny fizotran'ny asa.


Ny fisafidianana ny stack server mety ho an'ny tetikasanao dia toy ny fametrahana ny fototra ho an'ny trano iray: mila fandinihana tsara, fijerena mialoha ary fifandanjana eo amin'ny filana ankehitriny sy ny fitomboana ho avy. Ny safidy tsirairay ataonao dia misy fiantraikany amin'ny fahombiazan'ny tetikasanao sy ny fahaizany mampifanaraka sy miroborobo amin'ny tontolon'ny teknolojia mavitrika. Miaraka amin'ity lahatsoratra ity, nikendry ny hitarika anao amin'ireo fanapahan-kevitra manan-danja ireo aho, hampitaovana anao amin'ny fomba fijery hiatrehana ireo fahasarotana ho avy. Manantena aho fa ny hevi-baovao azonao androany dia hanampy anao hanao safidy tsara izay mitondra anao amin'ny fahombiazan'ny tetikasanao ankehitriny sy ho avy!



FANAZARAN-TENA A: TETIKASA MPITSARA LAINGA FAOBE

Teo amin'ny fampiroboroboana ny mpitsongo lainga iray natokana ho an'ny fitiliana faobe, tetikasa iray voamarika ho voalohany amin'ny karazany any Eoropa Atsinanana, dia niatrika ny safidin'ny stack server aho ho mpitarika ny ekipan'ny fampandrosoana. Ny fepetra fototra amin'ny tetikasa - fifandraisana microservice marobe sy fampandehanana rakitra midadasika mba hikarakarana ireo vokatra sensor isan-karazany - dia nitaky vahaolana matanjaka nefa mora azo.


Nisafidy Python miaraka amin'ny FastAPI izahay noho ny mpifaninana hafa toa an'i Python/Django ary Go/Fiber. Ny fanapahan-kevitra dia niankina tamin'ny fanohanan'ny FastAPI ambony indrindra amin'ny fandaharana asynchronous, endri-javatra manan-danja amin'ny fikarakarana ny fanodinana angon-drakitra mafonja ny tetikasa. Django, na dia mahery aza, dia natokana noho ny toetrany synchronous, izay tsy mahafeno ny fepetra takiantsika amin'ny fitantanana avo lenta sy ny fitantanana angon-drakitra amin'ny fotoana tena izy. Toy izany koa, i Go dia noheverina noho ny zava-bitany, saingy nolavina tamin'ny farany ny fahafahan'ny fampandrosoana haingana an'ny FastAPI sy ny fanohanan'izy ireo ho an'ny antontan-taratasin'ny Swagger, izay tena sarobidy ho an'ny fandaharam-potoana fampandrosoana MVP tery.


Nandritra izany fotoana izany, ny tetikasa dia nitaky ny famoronana endri-javatra softcam afaka mitantana ny fifandraisana amin'ny webcam sy mitarika ny horonan-tsary manerana ny fantsona isan-karazany. Ny C ++ no lasa fitenin'ny safidy ho an'ity asa ity, noho ny hafainganam-pandehan'ny famonoana tsy manam-paharoa sy ny fampifanarahana amin'ny sehatra.


Ny fanapahan-kevitra noraisinay tamin'io tetikasa io dia tsy vitan'ny nanamora ny fahombiazan'ny tetikasa tamin'ny voalohany fa nametraka fototra mafy orina ho an'ny fitomboany sy ny fampifanarahana hatrany.

FIANARANA B: CRM CRM

Ho an'ity tetikasa ity dia nisafidy an'i Python sy Django aho tamin'ny voalohany, nisafidy azy ireo noho ny fahaizany fampandrosoana haingana izay ilaina amin'ny fandefasana haingana. Ity safidy ity dia nahomby tamin'ny dingana voalohany, ary nandray anjara mivantana tamin'ny fitomboan'ny fidiram-bolan'ny klioba tamin'ny alàlan'ny fanatsarana ny fitantanana ny mpanatrika.


Rehefa niitatra ny sahan'ny tetikasa mba hampidirana ireo endri-javatra toy ny fitantanana mpiasa, analyse, ary rafitra fandefasana hafatra anatiny, dia niharihary ny fetran'ny Django amin'ny fikarakarana saro-takarina sy ny fizotrany miaraka. Izany fahatsapana izany dia nitarika ahy hampiditra ny Go, mampiasa ny goroutine sy Fasthttp ho fampandrosoana ny iraka anatiny. Ny zava-bitan'i Go teo amin'ny fitantanana ireo asa nifanandrify dia nanampy anay hanitarana ny fiasan'ny CRM, ka nahafahanay nihazona ny fampandehanana avo lenta amin'ny overhead kely indrindra.


Ny fanapahan-kevitra hampiasa fomba teknolojia hybrid, amin'ny fampiasana Django ho an'ny fampiasa fototra sy ny Go ho an'ny singa avo lenta, dia voaporofo fa tena zava-dehibe. Ity paikady ity dia nahafahako nampifandanja ny fivoarana haingana sy ny scalability, miantoka ny CRM afaka mivoatra mifanaraka amin'ny filàn'ny klioba mitombo.