Hacker News

Lil 'Kwinezeza Ururimi' Guts

Ibitekerezo

7 min read Via taylor.town

Mewayz Team

Editorial Team

Hacker News

Kuki Kwitegereza Munsi Yururimi Ruto Gutegura Indimi Zigutera Umwubatsi mwiza

Igice cyose cya software ukoresha - uhereye kuri CRM ikurikirana inzira yawe iganisha kuri moteri yikora yohereza inyemezabuguzi mu gicuku - yubatswe nururimi rwa porogaramu. Ariko wigeze wibaza icyakora ururimi rwa programme tick ? Ntabwo ari urusobe runini rwibinyabuzima nka Python cyangwa JavaScript, ariko ntoya, scrappy, ishimishije bidasanzwe abaterankunga bubaka muri wikendi kugirango bakemure ikibazo kimwe cyangwa kwiga gusa. Izi "lil 'zishimishije" - indimi zikinisha, indimi zihariye (DSLs), hamwe nabasemuzi biga - niho bimwe mubitekerezo byiza cyane mubumenyi bwa mudasobwa bibera. Gusobanukirwa amara yabo ntibigutera gusa gahunda nziza; ihindura muburyo utekereza kubikoresho byubaka, gutangiza akazi, no gushushanya sisitemu ikorera abantu.

Nukuri Niki "Lil 'Indimi Zishimishije"?

Isi yo gutangiza gahunda yuzuye indimi zitigeze zigenewe ingufu za seriveri zitanga ingufu cyangwa gutunganya amamiriyoni yubucuruzi. Indimi nka Lox (zivuye muri Ubukorikori bw'abasobanuzi ) ya Robert Nystrom, Inguge (kuva kuri Thorsten Ball's Kwandika Umusemuzi muri Go ), cyangwa n'indimi zisetsa nka Brainfuck na Chef zibaho kwigisha, kwinezeza, no guhana imbibi z'icyo "ururimi" rusobanura. Izi ndimi nto ziyambura urwego rugoye rwibikoresho byisi kandi rugaragaza ubukanishi bwibanze bwuburyo code iba ibikorwa.

Ariko "lil 'kwinezeza" ntabwo bigarukira kumyitozo yuburezi. Indimi zihariye zikoresha imbaraga mubikoresho byubucuruzi bikora neza kumasoko. Igihe cyose wanditse formulaire kurupapuro rusobanutse, usobanure itegeko ryo kuyungurura umukiriya wawe wa imeri, cyangwa ugena ibikorwa byikora byikora murubuga nka Mewayz , urimo ukorana nururimi ruto, rwubatswe. Module 207 imbere muri Mewayz - izenguruka CRM, inyemezabuguzi, HR, imicungire yimodoka, nibindi byinshi - bishingira moteri yimbere yimbere hamwe na pariseri zerekana imvugo, muribanze, indimi nto zagenewe guha abakoresha imbaraga badakeneye impamyabumenyi ya mudasobwa.

Gusobanukirwa anatomiya yizi ndimi byerekana impamvu ibikoresho bimwe byunvikana mugihe abandi bumva bashaka kurwana nigitabo cyanditse murundi rwego.

Inkoranyamagambo: Kumena Amagambo muri Atome

Ururimi rwose, nubwo rwaba ruto, rutangirana nintambwe imwe yibanze: isesengura ryamagambo, cyangwa "amagambo." Inkoranyamagambo ifata umugozi muto winyuguti - ikintu nka igiteranyo = igiciro * ingano + umusoro - ikagicamo ibice bisobanutse byitwa ibimenyetso. Inkoranyamagambo ntabwo yitaye kubisobanuro. Gusa iragaragaza ko yose ari ikiranga, = numukoresha, umukoro igiciro nikindi kimenyetso, * ni kugwira, nibindi.

Kubaka inkoranyamagambo y'ururimi ruto biratangaje. Mugihe kitarenze imirongo 100 ya code, urashobora kwigisha progaramu yo kumenya imibare, imirongo, ijambo ryibanze, nabakoresha. Ubworoherane ni ingingo - iguhatira gutekereza kubyo byibuze byibuze "amagambo" ururimi rwawe rukeneye. Iki gitekerezo kimwe kirakoreshwa mugushushanya ibikoresho-bireba abakoresha. Iyo moteri ya Mewayz ituma ureka nyir'ubucuruzi buciriritse ashyiraho itegeko nka "mugihe inyemezabuguzi yarengeje iminsi 7, ohereza imeri yibutsa," sisitemu irimo gucecekesha iryo tegeko mubimenyetso byubaka bishobora gukora. Imigaragarire myiza yumva idafite imbaraga mubyukuri kuko umuntu yatekereje cyane kubijyanye nuduce duto duto twingirakamaro kubakoresha bagamije.

Parsing: Guhindura Tokens ya Flat mubiti bizima

Iyo ufite ibimenyetso, ukeneye imiterere. Parsing ihindura urutonde rwibimenyetso mu giti cyitwa Abstract Syntax Igiti (AST) - icyerekezo cyerekana imiterere ihuza ibice bitandukanye byimvugo. Imvugo 3 + 4 * 5 ntabwo ikurikirana gusa ibimenyetso bitanu; ni igiti aho kugwiza guhuza gukomera kuruta kwiyongera, bitanga 23 aho kuba 35.

Aha niho ibintu bishimisha byukuri. Kugereranya algorithms nkibisanzwe byamanuka cyangwa Pratt parsing nibice byiza byubuhanga bihuye na dosiye imwe nyamara birashobora gukora ikibonezamvugo gitangaje. Isubiramo ryamanuka risubiramo, byumwihariko, soma hafi nkibisobanuro byururimi ubwabyo - buri gikorwa gihuye n amategeko yikibonezamvugo, bigatuma code yiyandikisha muburyo budasanzwe mugutezimbere software.

Amasomo yo gusesengura ararenze kure igishushanyo mbonera. Sisitemu iyo ari yo yose itunganya ibyinjijwe byubatswe - urupapuro rwabigenewe rufite itariki ntarengwa, imishahara yimishahara ifite amategeko asabwa, umuyoboro wa CRM ufite logique ishami - ukemura ikibazo cyo gusesengura. Abakoresha 138.000+ kurubuga rwa Mewayz batanga amakuru akomeye, yubatswe buri munsi. Gusobanukirwa uburyo abasesengura bahindura ibyinjijwe bidasobanutse muburyo budasobanutse ni itandukaniro riri hagati yo kubaka sisitemu ikemura ibibazo byimanza neza kandi igabanya igihe umuntu yinjiye mumatariki muburyo butunguranye.

Umusobanuzi: Aho Kode igeze muzima

Umusemuzi niho ubumaji bubera. Igenda AST, node kuri node, na ikora . Umubare node isubiza agaciro kayo. Binary operation node isuzuma abana bayo ibumoso niburyo kandi ikabahuza. Igikorwa guhamagarwa kireba imikorere mubidukikije, ihuza impaka, kandi isuzuma umubiri. Mu rurimi rw igikinisho, umusemuzi wose ashobora kuba imirongo 200-300 - ntoya ihagije kugirango ifate mumutwe wawe, ariko ifite imbaraga zihagije zo gukora progaramu nyazo.

Hariho uburyo bubiri bwagutse bwo gukora: abasobanuzi-bagenda-basobanuzi hamwe na bytecode imashini ziboneka. Abagenda ku biti biroroshye ariko bitinda; banyura AST mu buryo butaziguye. Bytecode VMs ikusanya AST muburyo bukurikiranye bwamabwiriza yoroshye (nkururimi ruto rwo guterana) hanyuma ikabishyira mubikorwa aho, gucuruza mubikorwa bigoye kubikorwa byiza cyane. CPython, ishyirwa mubikorwa rya Python, ikoresha bytecode VM. Lua, rumwe mu ndimi zikoreshwa neza cyane, yatangije igishushanyo mbonera cya VM cyanditse kuri moteri yimikino kwisi yose.

Ubushishozi bwibanze: Ibikoresho byubucuruzi bikomeye cyane ntabwo aribyo bifite ibintu byinshi - ni byo bifite "ururimi" rwimbere rwimbere rwo kwerekana ibyo abakoresha bakeneye. Buri moteri yamategeko, sisitemu ya formula, hamwe niyubaka ryikora ni umusemuzi muto wiyoberanya. Ubwiza bwuwo musemuzi bugena niba igikoresho gipima kuva kubakoresha 10 kugeza 100.000.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Ibidukikije n'ahantu: Ubwubatsi bwihishe bwa Leta

Kimwe mu bitekerezo byoroshye mugushyira mubikorwa ururimi - kandi kimwe mubishobora gukoreshwa kuri software yubucuruzi - nuburyo indimi ziyobora leta binyuze mubidukikije. Iyo wanditse ibintu bihinduka imbere mumikorere, iyo variable ntigomba gusohoka no kwandika hejuru murwego rwisi. Ibi bisa nkaho bigaragara, ariko kubishyira mubikorwa neza bisaba imiterere yamakuru yiswe urunigi rwibidukikije : urutonde ruhujwe namakarita ya hash aho buri rwego rugereranya urwego, kandi gushakisha guhinduka bigenda kumurongo kugeza babonye umukino.

Ubu buryo bugaragara ahantu hose muri software yateguwe neza. Uruhushya rwabakoresha murubuga rwubucuruzi rukora kimwe - kwinjira kwitsinda bigenwa no kugenzura uburenganzira bwabo kugiti cyabo, hanyuma uruhushya rwuruhare rwabo, hanyuma ibikorwa byumuryango. Sisitemu ya module ya Mewayz, ikubiyemo ibintu byose uhereye kumurongo-muri-bio kugeza kumishahara yuzuye, ikoresha ibice byerekana indorerwamo. Nyir'ubucuruzi ashyiraho ishyirahamwe-ridasanzwe, abayobozi bashinzwe barashobora kurenga igenamiterere ryihariye, kandi abakoresha kugiti cyabo barashobora guhitamo aho bakorera - byose nta makimbirane.

Kubona urugero nabi mururimi rwa porogaramu bitera amakosa. Kubona urugero nabi mubucuruzi byubucuruzi bitera amakuru kumeneka, kwiyongera kwuruhushya, nubwoko bwimvururu zikorwa zitwara amafaranga nyayo. Amasomo ni amwe murwego rwose rwo gukuramo.

Niki Kubaka Ururimi Ruto Mubyukuri Birakwigisha

Niba utarigeze wubaka ururimi ruto rwo gutangiza porogaramu, dore ibyo uburambe bwigisha neza - n'impamvu bifite akamaro waba uri umuterimbere, uwashinze tekinike, cyangwa umuntu ushaka kumva gusa ibikoresho bakoresha buri munsi:

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime