Ang istorya sa usa ka gamay nga proyekto nga dose ka tuig ang gitas-on (mahitungod sa BIRMA.NET sa unang higayon ug prangka nga una)

Ang pagkahimugso niini nga proyekto mahimong giisip nga usa ka gamay nga ideya nga miabut kanako sa usa ka dapit sa katapusan sa 2007, nga gitagana sa pagpangita sa iyang katapusan nga porma lamang sa 12 ka tuig sa ulahi (sa niini nga punto sa panahon - siyempre, bisan pa sa kasamtangan nga pagpatuman, sumala sa tagsulat, makatagbaw kaayo).

Nagsugod ang tanan sa dihang, sa proseso sa pagtuman sa akong opisyal nga mga katungdanan kaniadto sa librarya, akong gipunting ang pagtagad sa kamatuoran nga ang proseso sa pagsulod sa datos gikan sa gi-scan nga teksto sa mga talaan sa mga sulod sa libro (ug musika) nga mga publikasyon ngadto sa kasamtangan nga database, dayag, mahimong kamahinungdanon gipayano ug automate, pagpahimulos sa kabtangan sa kahapsay ug repeatability sa tanan nga mga data nga gikinahanglan alang sa input, sama sa ngalan sa tagsulat sa artikulo (kon kita sa paghisgot mahitungod sa usa ka koleksyon sa mga artikulo), ang titulo sa ang artikulo (o ang subtitle nga makita sa talaan sa mga sulod) ug ang numero sa panid sa kasamtangan nga talaan sa mga sulod nga butang. Sa sinugdan, halos kombinsido ako nga ang usa ka sistema nga angay alang sa paghimo niini nga buluhaton dali nga makit-an sa Internet. Sa diha nga ang usa ka katingala gipahinabo sa kamatuoran nga wala ako makakita sa ingon nga proyekto, nakahukom ko nga sulayan nga ipatuman kini sa akong kaugalingon.

Human sa mubo nga panahon, ang unang prototype nagsugod sa pagtrabaho, nga diha-diha dayon akong gisugdan sa paggamit sa akong adlaw-adlaw nga mga kalihokan, dungan nga pag-debug niini sa tanan nga mga pananglitan nga miabut sa akong kamot. Maayo na lang, sa akong naandan nga trabahoan, diin dili ako usa ka programmer, nakalikay gihapon ako sa makita nga "downtime" sa akong trabaho, diin ako intensive nga nag-debug sa akong utok - usa ka halos dili mahunahuna nga butang sa karon nga mga kamatuoran, nga nagpasabut adlaw-adlaw nga mga taho sa trabaho nga gihimo sa adlaw. Ang proseso sa pagpasinaw sa programa nagkinahanglan og usa ka kinatibuk-an nga dili moubos sa usa ka tuig, apan bisan human niana ang resulta halos dili matawag nga hingpit nga malampuson - daghan kaayong lain-laing mga konsepto ang una nga gibutang nga dili hingpit nga tin-aw alang sa pagpatuman: mga opsyonal nga mga elemento nga mahimo laktawan; unahan nga pagtan-aw sa mga elemento (alang sa katuyoan sa pag-ilis sa nangaging mga elemento sa mga resulta sa pagpangita); bisan ang atong kaugalingon nga pagsulay sa pagpatuman sa usa ka butang sama sa regular nga mga ekspresyon (nga adunay usa ka talagsaon nga syntax). Kinahanglan kong isulti nga sa wala pa kini ako mihunong sa programming medyo (sa mga 8 ka tuig, kung dili labaw pa), mao nga ang bag-ong oportunidad sa paggamit sa akong mga kahanas sa usa ka makapaikag ug gikinahanglan nga buluhaton hingpit nga nakuha ang akong atensyon. Dili ikatingala nga ang resulta nga source code - sa walay bisan unsa nga tin-aw nga mga pamaagi sa iyang disenyo sa akong bahin - sa madali nahimong usa ka dili mahanduraw mishmash sa lain-laing mga piraso sa C nga pinulongan uban sa pipila ka mga elemento sa C ++ ug mga aspeto sa visual programming (sa sinugdan kini. nakahukom nga gamiton ang ingon nga sistema sa disenyo sama sa Borland C++ Builder - "halos Delphi, apan sa C"). Bisan pa, kining tanan sa katapusan nagbunga sa pag-automate sa adlaw-adlaw nga mga kalihokan sa among librarya.

Sa samang higayon, nakahukom ko, sa kaso, sa pagkuha sa mga kurso sa pagbansay sa propesyonal nga software developers. Wala ko mahibal-an kung posible ba nga makat-on "nga mahimong usa ka programmer" gikan sa sinugdanan didto, apan gikonsiderar ang mga kahanas nga naa nako kaniadto, nakahimo ako sa pag-master sa mga teknolohiya nga labi ka may kalabotan nianang panahona, isip C#, Visual Studio alang sa kalamboan ubos sa .NET, ingon man sa pipila ka mga teknolohiya nga may kalabutan sa Java, HTML ug SQL. Ang tibuok nga pagbansay mikabat sa total nga duha ka tuig, ug nagsilbi nga punto sa pagsugod alang sa lain nakong proyekto, nga sa katapusan milungtad sa pipila ka tuig - apan kini usa ka hilisgutan alang sa usa ka lahi nga publikasyon. Dinhi angayan lamang nga timan-an nga misulay ako sa pagpahiangay sa mga kalamboan nga naa na nako sa gihulagway nga proyekto aron makahimo og usa ka bug-os nga aplikasyon sa bintana sa C# ug WinForms nga nagpatuman sa gikinahanglan nga pagpaandar, ug gigamit kini isip basehan sa umaabot nga diploma project.
Sa paglabay sa panahon, kini nga ideya nagsugod sa akong pagtan-aw nga takus nga ipahayag sa ingon nga tinuig nga mga komperensya uban ang pag-apil sa mga representante sa lainlaing mga librarya sama sa "LIBKOM" ug "CRIMEA". Ang ideya, oo, apan dili ang akong pagpatuman niini niadtong panahona. Unya naglaum usab ako nga adunay usa nga mosulat pag-usab niini gamit ang labi ka takus nga mga pamaagi. Sa usa ka paagi o sa lain, sa 2013 nakahukom ko sa pagsulat sa usa ka report sa akong pasiuna nga trabaho ug ipadala kini sa Conference Organizing Committee uban ang aplikasyon alang sa usa ka grant aron makaapil sa komperensya. Sa akong medyo katingala, ang akong aplikasyon giaprobahan, ug ako misugod sa paghimo sa pipila ka mga kalamboan sa proyekto sa pag-andam niini alang sa presentasyon sa komperensya.

Nianang panahona, ang proyekto nakadawat na og bag-ong ngalan nga BIRMA, nakabaton og nagkalain-laing dugang (dili kaayo hingpit nga gipatuman, apan gituohan) nga mga kapabilidad - tanang detalye makita sa akong report.

Sa tinuud, lisud ang pagtawag sa BIRMA 2013 nga usa ka butang nga kompleto; Sa prangka nga pagsulti, kadto usa ka hacky nga craft nga gihimo sa dinalian. Sa mga termino sa code, halos wala'y espesyal nga mga inobasyon, gawas sa usa ka walay mahimo nga pagsulay sa paghimo sa usa ka matang sa hiniusang syntax alang sa parser, sa panagway nga nagpahinumdom sa IRBIS 64 formatting nga pinulongan (ug sa pagkatinuod, usab ang sistema sa ISIS - nga adunay mga parentheses isip cyclic nga mga istruktura; nganong Sa panahon nga ako naghunahuna nga kini nindot tan-awon). Ang parser walay paglaum nga napandol sa kini nga mga lingin sa mga parentheses sa angay nga tipo (tungod kay ang mga parentheses nagpahigayon usab og laing tahas, nga mao, gimarkahan nila ang mga opsyonal nga istruktura sa panahon sa pag-parse nga mahimong laktawan). Akong gi-refer na usab ang tanan nga gustong masinati sa lisod hunahunaon, dili makatarunganong syntax sa BIRMA sa mas detalyado sa akong report niadtong panahona.

Sa kinatibuk-an, gawas sa pakigbisog sa akong kaugalingon nga parser, wala na akoy ikasulti pa bahin sa code niini nga bersyon - gawas sa reverse conversion sa kasamtangan nga mga tinubdan ngadto sa C++ samtang nagpreserbar sa pipila ka tipikal nga bahin sa .NET code (sa tinuod, kini mao ang lisud sabton , unsa gyud ang nag-aghat nako nga ibalik ang tanan - tingali usa ka binuang nga kahadlok sa pagtago sa akong mga source code nga sekreto, ingon nga kini usa ka butang nga katumbas sa sekreto nga resipe sa Coca-Cola).

Tingali kini nga binuang nga desisyon mao usab ang hinungdan sa mga kalisud sa pagpares sa resulta nga librarya sa DLL nga adunay kasamtangan nga interface sa usa ka home-made workstation alang sa pagsulod sa data ngadto sa usa ka electronic catalog (oo, wala ako maghisgot og laing importante nga kamatuoran: gikan karon, tanan ang code sa BIRMA "engine" sama sa gipaabut, kini gibulag gikan sa interface nga bahin ug giputos sa angay nga DLL). Ngano nga kinahanglan nga magsulat usa ka lahi nga workstation alang sa kini nga mga katuyoan, nga bisan pa, sa hitsura ug pamaagi sa interaksyon sa tiggamit, walay kaulaw nga gikopya ang parehas nga workstation nga "Catalogizer" sa sistema sa IRBIS 64 - kini usa ka lahi nga pangutana. Sa laktod nga pagkasulti: naghatag kini sa gikinahanglan nga kalig-on sa akong mga kalambuan kaniadto alang sa akong proyekto sa pagtapos (kung dili ang dili matunaw nga parser engine lamang dili igo). Dugang pa, nakasugat ko og pipila ka mga kalisud sa pagpatuman sa interface sa Cataloger workstation uban sa akong kaugalingon nga mga module, gipatuman sa C++ ug C#, ug direkta nga pag-access sa akong makina.

Sa kinatibuk-an, katingad-an, kini nga medyo clumsy nga prototype sa umaabot nga BIRMA.NET nga gitakda nga mahimong akong "workhorse" sa sunod nga upat ka tuig. Dili kini maingon nga niining panahona wala ko maningkamot sa pagpangita og mga paagi alang sa bag-o, mas kompleto nga pagpatuman sa dugay na nga ideya. Taliwala sa uban pang mga inobasyon, aduna na untay mga nested cyclic sequence nga mahimo nga maglakip sa opsyonal nga mga elemento - mao kini ang paagi nga akong buhion ang ideya sa unibersal nga mga templates alang sa bibliographic nga mga paghulagway sa mga publikasyon ug lain-laing mga makapaikag nga mga butang. Bisan pa, sa akong praktikal nga mga kalihokan niadtong panahona, kining tanan gamay ra ang panginahanglan, ug ang pagpatuman nga akong nabatonan niadtong panahona igo na alang sa pagsulod sa mga talaan sa mga sulod. Dugang pa, ang vector sa pag-uswag sa among librarya nagsugod sa pagtipas ug labaw pa ngadto sa digitalization sa mga archive sa museyo, pagreport ug uban pang mga kalihokan nga dili kaayo interesado kanako, nga sa katapusan nagpugos kanako sa pagbiya niini, nga naghatag ug dalan sa mga tawo nga gusto. mas malipay ka niining tanan.

Katingad-an, pagkahuman niining mga dramatikong mga panghitabo nga ang proyekto sa BIRMA, nga kaniadto adunay tanan nga mga kinaiya sa usa ka tipikal nga dugay na nga proyekto sa pagtukod, daw nagsugod sa pagkuha sa dugay nang gipaabut nga bag-ong kinabuhi! Ako adunay mas daghang libre nga oras alang sa walay pulos nga mga hunahuna, nagsugod na usab ako sa pagsudlay sa World Wide Web sa pagpangita sa usa ka butang nga susama (maayo na lang, karon ako makatag-an na nga pangitaon kining tanan dili lang bisan asa, kondili sa GitHub), ug sa usa ka dapit sa At the sugod karong tuiga, sa katapusan nakit-an nako ang usa ka katugbang nga produkto gikan sa bantog nga kompanya sa Salesforce nga wala’y hinungdan nga ngalan Gorp. Sa iyang kaugalingon, mahimo niini ang halos tanan nga akong gikinahanglan gikan sa usa ka parser engine - nga mao, maalamon nga ihimulag ang indibidwal nga mga tipik gikan sa arbitraryo, apan tin-aw nga structured nga teksto, samtang adunay usa ka medyo user-friendly nga interface alang sa katapusan nga tiggamit, lakip ang mga masabtan nga mga esensya, sama sa usa ka sumbanan, template ug panghitabo, ug sa samang higayon naggamit sa pamilyar nga syntax sa regular nga mga ekspresyon, nga nahimong dili matupngan nga mas mabasa tungod sa pagkabahin ngadto sa gitudlo nga semantic nga mga grupo alang sa pag-parse.

Sa kinatibuk-an, nakahukom ko nga kini ang usa Gorp (Naghunahuna ko kung unsa ang gipasabut niini nga ngalan? Tingali usa ka matang sa "general oriented regular parser"?) - eksakto kung unsa ang akong gipangita sa dugay nga panahon. Tinuod, ang gilayon nga pagpatuman niini alang sa akong kaugalingon nga mga panginahanglan adunay ingon nga problema nga kini nga makina nanginahanglan labi ka estrikto nga pagsunod sa pagkasunod-sunod sa istruktura sa gigikanan nga teksto. Alang sa pipila nga mga taho sama sa mga file sa log (nga mao, gibutang sila sa mga nag-develop ingon tin-aw nga mga pananglitan sa paggamit sa proyekto), kini angayan, apan alang sa parehas nga mga teksto sa gi-scan nga mga sulud sa sulud, kini dili mahimo. Pagkahuman, ang parehas nga panid nga adunay usa ka talaan sa sulud mahimong magsugod sa mga pulong nga "Talaan sa mga sulud", "Mga sulud" ug bisan unsang uban pang mga pasiuna nga paghubit nga dili kinahanglan nga ibutang sa mga sangputanan sa gituyo nga pag-analisar (ug putlon kini nga mano-mano. matag higayon usab dili kombenyente). Dugang pa, tali sa mga indibidwal nga nagbalikbalik nga mga elemento, sama sa ngalan sa tagsulat, titulo ug numero sa panid, ang panid mahimong adunay usa ka piho nga kantidad sa basura (pananglitan, mga drowing, ug mga random nga karakter), nga maayo usab nga mahimo. giputol. Bisan pa, ang katapusan nga aspeto dili pa kaayo hinungdanon, apan tungod sa una, ang naglungtad nga pagpatuman dili makasugod sa pagpangita sa gikinahanglan nga mga istruktura sa teksto gikan sa usa ka lugar, apan giproseso lang kini gikan sa sinugdanan, wala makit-an ang gipiho nga mga sumbanan didto ug... natapos ang akong trabaho. Dayag nga, gikinahanglan ang pipila ka pag-tweak aron matugotan ang pipila ka wanang tali sa nagbalikbalik nga mga istruktura, ug kana nakapabalik kanako sa pagtrabaho.

Ang laing problema mao nga ang proyekto mismo gipatuman sa Java, ug kung ako nagplano sa umaabot nga ipatuman ang pipila ka paagi sa pag-interface niini nga teknolohiya sa pamilyar nga mga aplikasyon alang sa pagsulod sa datos ngadto sa kasamtangan nga mga database (sama sa Irbis's "Cataloguer"), nan labing menos Sa labing menos buhata kini sa C# ug .NET. Dili nga ang Java mismo usa ka dili maayo nga lengguwahe - kaniadto gigamit nako kini aron ipatuman ang usa ka makapaikag nga aplikasyon sa bintana nga nagpatuman sa pagpaandar sa usa ka domestic programmable calculator (isip bahin sa proyekto sa kurso). Ug sa termino sa syntax kini susama kaayo sa parehas nga C-sharp. Aw, kini usa lamang ka dugang: mas sayon ​​​​alang kanako ang pagtapos sa usa ka kasamtangan nga proyekto. Bisan pa, dili ko gusto nga mobalik pag-usab sa niining dili kasagaran nga kalibutan sa bintana (o labi pa, desktop) nga mga teknolohiya sa Java - pagkahuman, ang sinultian mismo wala "gipahiangay" alang sa ingon nga paggamit, ug wala gyud ako nangandoy nga magbalik-balik. ang miaging kasinatian. Tingali kini tungod kay ang C# inubanan sa WinForms mas duol sa Delphi, diin daghan kanato nagsugod kaniadto. Maayo na lang, ang gikinahanglan nga solusyon nakit-an nga dali - sa porma sa proyekto IKVM.NET, nga nagpasayon ​​sa paghubad sa kasamtangan nga Java nga mga programa ngadto sa gidumala nga .NET code. Tinuod, ang proyekto mismo gibiyaan na sa mga tagsulat nianang panahona, apan ang pinakabag-o nga pagpatuman niini nagtugot kanako nga malampuson nga mahimo ang gikinahanglan nga mga aksyon alang sa gigikanan nga mga teksto Gorp.

Busa akong gihimo ang tanang gikinahanglan nga mga kausaban ug gitigom kining tanan ngadto sa usa ka DLL sa tukma nga matang, nga daling "makuha" sa bisan unsang mga proyekto alang sa .NET Framework nga gihimo sa Visual Studio. Sa kasamtangan, naghimo ako og laing layer alang sa sayon ​​​​nga presentasyon sa mga resulta nga gibalik Gorp. Aw, ang mga kinahanglanon nga kagamitan sa ilang kaugalingon alang sa pagproseso ug pagpakita sa mga resulta gisulat nga dali.

Usab, ang proseso sa pagpahiangay sa mga templates alang sa bag-ong makina aron sa pagtudlo niini sa pag-parse sa kasamtangan nga mga sample sa mga scan nga teksto sa mga talaan sa mga sulod wala magpahinabog bisan unsang espesyal nga komplikasyon. Sa tinuud, dili na nako kinahanglan nga i-refer ang akong nangagi nga mga templates: Gibuhat ra nako ang tanan nga kinahanglan nga mga template gikan sa wala. Dugang pa, kung ang mga templates nga gidisenyo sa pagtrabaho uban sa miaging bersyon sa sistema nagtakda sa usa ka medyo pig-ot nga gambalay alang sa mga teksto nga mahimong husto parsed uban sa ilang tabang, ang bag-o nga makina nahimo na nga posible sa paghimo sa patas nga unibersal nga mga templates nga angay alang sa pipila ka mga matang sa markup sa. kausa. Gisulayan pa gani nako ang pagsulat sa usa ka matang sa komprehensibo nga template alang sa bisan unsang arbitraryong talaan sa mga sulod nga teksto, bisan pa, siyempre, bisan sa tanan nga mga bag-ong posibilidad nga nagbukas alang kanako, lakip na, ilabi na, ang limitado nga abilidad sa pagpatuman sa sama nga nested repeating sequences ( sama pananglit, mga apelyido ug mga inisyal sa daghang mga tagsulat sa usa ka laray), kini nahimo nga usa ka utopia.

Tingali sa umaabot posible nga ipatuman ang usa ka piho nga konsepto sa mga meta-template, nga makahimo sa pagsusi sa gigikanan nga teksto alang sa pagsunod sa daghang magamit nga mga template sa usa ka higayon, ug dayon, uyon sa mga resulta nga nakuha, pilia ang labing angay, gamit ang usa ka matang sa intelihenteng algorithm. Apan karon mas nabalaka ko sa laing pangutana. Usa ka parser sama Gorp, bisan pa sa tanan nga versatility niini ug sa mga pagbag-o nga akong gihimo, kini sa kinaiyanhon nga dili makahimo sa pagbuhat sa usa ka daw yano nga butang nga mahimo sa akong kaugalingon nga sinulat nga parser gikan sa unang bersyon. Nga mao: siya adunay katakus sa pagpangita ug pagkuha gikan sa gigikanan nga teksto sa tanan nga mga tipik nga mohaum sa maskara nga gipiho sa sulod sa template nga gigamit sa husto nga lugar, samtang dili interesado kung unsa ang sulud sa gihatag nga teksto sa mga wanang tali sa kini nga mga tipik. Sa pagkakaron, gamay ra nako nga gipauswag ang bag-ong makina, nga gitugotan kini nga pangitaon ang tanan nga posible nga mga bag-ong pagsubli sa usa ka gihatag nga han-ay sa ingon nga mga maskara gikan sa karon nga posisyon, nga gibiyaan ang posibilidad sa presensya sa teksto sa mga hugpong sa mga arbitraryong karakter nga hingpit. wala makit-an sa pag-parse, gilakip sa taliwala sa mga nakit-an nga nagbalikbalik nga mga istruktura. Bisan pa, wala kini nagpaposible sa pagtakda sa sunod nga maskara bisan pa sa mga resulta sa pagpangita sa miaging tipik gamit ang katugbang nga maskara: ang kahigpit sa gihulagway nga istruktura sa teksto wala gihapon magbilin ug lugar alang sa arbitraryong paglakip sa dili regular nga mga karakter.

Ug kung alang sa mga panig-ingnan sa mga talaan sa mga sulud nga akong nakit-an kini nga problema dili pa ingon ka grabe, nan kung gisulayan nga magamit ang usa ka bag-ong mekanismo sa pag-parse sa parehas nga buluhaton sa pag-parse sa mga sulud sa usa ka website (ie parehas nga pag-parse), Ang mga limitasyon ania dinhi sila nagpakita sa tanan nilang klaro. Human sa tanan, sayon ​​​​ra ang pagtakda sa gikinahanglan nga mga maskara alang sa mga tipik sa web markup, diin ang datos nga atong gipangita (nga kinahanglan nga makuha) kinahanglan nga mahimutang, apan unsaon nato pagpugos ang parser nga magpadayon dayon sa sunod. susama nga tipik, bisan pa sa tanan nga posible nga mga tag ug HTML nga mga hiyas nga mahimong ibutang sa mga luna tali kanila?

Human sa paghunahuna og gamay, nakahukom ko sa pagpaila sa pipila ka mga sumbanan sa pagserbisyo (%all_before) и (%all_after), nagsilbi sa klaro nga katuyoan sa pagsiguro nga ang tanan nga mahimong naa sa gigikanan nga teksto gilaktawan sa wala pa ang bisan unsang sumbanan (mask) nga nagsunod kanila. Dugang pa, kon (%all_before) gibalewala lang kining tanan nga arbitraryong mga inklusyon, unya (%all_after), sa kasukwahi, gitugotan sila nga idugang sa gitinguha nga tipik human sa pagbalhin gikan sa miaging tipik. Morag yano ra kini, apan aron ma-implementar kini nga konsepto kinahanglan nako nga magsuklay pag-usab sa mga gigikanan sa gorp aron mahimo ang kinahanglan nga mga pagbag-o aron dili mabungkag ang gipatuman na nga lohika. Sa katapusan, nakahimo kami sa pagbuhat niini (bisan bisan ang labing, labing una, bisan pa kaayo nga buggy, ang pagpatuman sa akong parser gisulat, ug mas paspas - sa usa ka magtiayon nga mga semana). Sukad karon, ang sistema mikuha sa usa ka tinuod nga unibersal nga porma - dili moubos sa 12 ka tuig human sa unang pagsulay sa paghimo niini.

Siyempre, dili kini ang katapusan sa atong mga damgo. Mahimo usab nimo nga hingpit nga isulat pag-usab ang gorp template parser sa C #, gamit ang bisan unsang magamit nga mga librarya alang sa pagpatuman sa usa ka libre nga gramatika. Sa akong hunahuna ang code kinahanglan nga labi nga gipasimple, ug kini magtugot kanamo sa pagtangtang sa kabilin sa porma sa mga gigikanan sa Java. Apan sa kasamtangan nga matang sa makina, posible usab nga makahimo sa nagkalain-laing mga makapaikag nga mga butang, lakip na ang pagsulay sa pagpatuman sa meta-templates nga akong nahisgotan na, wala pay labot ang pag-parse sa nagkalain-laing mga datos gikan sa nagkalain-laing mga website (bisan pa, wala ako magpugong sa nga ang naglungtad nga espesyal nga mga himan sa software mas angay alang niini - wala pa ako adunay angay nga kasinatian sa paggamit niini).

Pinaagi sa dalan, karong ting-init nakadawat na ko og imbitasyon pinaagi sa email gikan sa usa ka kompanya nga naggamit sa mga teknolohiya sa Salesforce (ang developer sa orihinal Gorp), pagpasa sa usa ka interbyu alang sa sunod nga trabaho sa Riga. Ikasubo, sa pagkakaron dili pa ako andam alang sa ingon nga mga pag-redeploy.

Kung kini nga materyal makapukaw sa pipila ka interes, nan sa ikaduha nga bahin sulayan nako nga ihulagway sa mas detalyado ang teknolohiya alang sa pag-compile ug pagkahuman sa pag-parse sa mga template gamit ang panig-ingnan sa pagpatuman nga gigamit sa Salesforce Gorp (ang akong kaugalingon nga mga pagdugang, gawas sa usa ka pares nga mga pulong sa function nga gihulagway na, halos wala’y pagbag-o sa template nga syntax mismo, busa hapit tanan nga dokumentasyon para sa orihinal nga sistema Gorp Angayan usab sa akong bersyon).

Source: www.habr.com

Idugang sa usa ka comment