Zaj dab neeg ntawm ib qhov project me me kaum ob xyoos ntev (txog BIRMA.NET thawj zaug thiab hais ncaj qha ua ntej)

Lub hnub yug ntawm qhov project no tuaj yeem suav hais tias yog lub tswv yim me me uas tuaj rau kuv qhov chaw thaum kawg ntawm 2007, uas yog lub hom phiaj los nrhiav nws daim ntawv kawg nkaus xwb 12 xyoo tom qab ntawd (ntawm lub sijhawm no - ntawm chav kawm, txawm hais tias qhov kev siv tam sim no, raws li rau tus sau, txaus siab heev).

Nws tag nrho pib thaum, nyob rau hauv tus txheej txheem ntawm ua kom tiav kuv ces official lub luag hauj lwm nyob rau hauv lub tsev qiv ntawv, kuv tau mloog mus rau lub fact tias cov txheej txheem ntawm nkag mus rau cov ntaub ntawv los ntawm cov scanned ntawv ntawm cov ntsiab lus ntawm phau ntawv (thiab suab paj nruag) luam tawm rau hauv cov ntaub ntawv uas twb muaj lawm, Thaj, tuaj yeem ua tau yooj yim thiab automate, ua kom zoo dua ntawm cov cuab yeej ntawm kev txiav txim siab thiab rov ua dua ntawm txhua cov ntaub ntawv xav tau rau kev tawm tswv yim, xws li lub npe ntawm tus sau tsab xov xwm (yog tias peb tab tom tham txog ib phau ntawv sau), lub npe ntawm tsab xov xwm (los yog lub subtitle xav tau nyob rau hauv lub rooj ntawm cov ntsiab lus) thiab nplooj ntawv tus naj npawb ntawm cov ntsiab lus tam sim no. Thaum xub thawj, kuv tau xyaum ntseeg tias lub kaw lus tsim nyog rau kev ua haujlwm no tuaj yeem pom tau yooj yim hauv Is Taws Nem. Thaum qee qhov kev xav tsis thoob los ntawm qhov tseeb tias kuv nrhiav tsis tau ib txoj haujlwm zoo li no, kuv txiav txim siab los sim ua nws ntawm kuv tus kheej.

Tom qab lub sijhawm luv luv, thawj tus qauv pib ua haujlwm, uas kuv tam sim ntawd pib siv hauv kuv cov haujlwm txhua hnub, ib txhij debugging nws ntawm tag nrho cov qauv uas tuaj rau kuv txhais tes. Hmoov zoo, ntawm kuv qhov chaw ua haujlwm ib txwm muaj, qhov twg kuv tsis yog tus programmer, kuv tseem tau tawm mus nrog pom "lub sijhawm poob" hauv kuv txoj haujlwm, thaum lub sijhawm kuv tau mob siab rau debugging kuv lub hlwb - qhov yuav luag tsis xav txog hauv qhov tseeb tam sim no, uas txhais tau hais tias cov lus ceeb toom txhua hnub ntawm kev ua haujlwm uas tau ua thaum nruab hnub. Cov txheej txheem ntawm polishing qhov kev pab cuam tau siv tag nrho tsis pub tsawg tshaj li ib xyoos, tab sis txawm tias tom qab ntawd qhov tshwm sim tsis tuaj yeem hu ua tiav tag nrho - ntau lub tswv yim sib txawv tau pib ua tiav uas tsis meej meej rau kev siv: cov ntsiab lus xaiv uas tuaj yeem ua tiav. raug hla; xa mus rau kev saib cov ntsiab lus (rau lub hom phiaj ntawm kev hloov cov ntsiab lus yav dhau los rau hauv kev tshawb fawb tau); txawm tias peb tus kheej sim ua ib yam dab tsi zoo li cov kab lus tsis tu ncua (uas muaj ib qho tshwj xeeb syntax). Kuv yuav tsum hais tias ua ntej qhov no kuv tau tso tseg qhov programming me ntsis (txog li 8 xyoo, yog tias tsis ntxiv), yog li lub sijhawm tshiab los siv kuv cov kev txawj ntse mus rau ib qho kev nthuav thiab tsim nyog ua tiav tag kuv lub siab. Nws tsis yog qhov xav tsis thoob tias qhov tshwm sim ntawm qhov chaws - thaum tsis muaj ib qho kev qhia meej rau nws qhov kev tsim ntawm kuv qhov - sai heev dhau los ua qhov tsis txaus ntseeg ntawm qhov tsis sib xws ntawm cov lus C nrog qee cov ntsiab lus ntawm C ++ thiab cov ntsiab lus ntawm kev pom (thaum pib nws. tau txiav txim siab siv cov qauv tsim xws li Borland C ++ Builder - "yuav luag Delphi, tab sis hauv C"). Txawm li cas los xij, tag nrho qhov no thaum kawg ua rau cov txiv hmab txiv ntoo hauv kev ua haujlwm txhua hnub ntawm peb lub tsev qiv ntawv.

Nyob rau tib lub sijhawm, kuv txiav txim siab, tsuas yog nyob rau hauv rooj plaub, mus kawm cov kev cob qhia cov kws tshaj lij software tsim tawm. Kuv tsis paub tias nws puas tuaj yeem kawm "ua tus programmer" los ntawm kos rau ntawd, tab sis suav nrog cov txuj ci uas kuv twb muaj nyob rau lub sijhawm ntawd, kuv muaj peev xwm ua tau qee yam tswv yim uas muaj feem cuam tshuam los ntawm lub sijhawm ntawd, xws li raws li C#, Visual Studio rau kev txhim kho nyob rau hauv .NET, nrog rau qee cov thev naus laus zis ntsig txog Java, HTML thiab SQL. Tag nrho cov kev cob qhia tau siv tag nrho ob xyoos, thiab tau ua lub luag haujlwm pib rau lwm qhov haujlwm ntawm kuv, uas thaum kawg tau ncav cuag ntau xyoo - tab sis qhov no yog lub ntsiab lus rau kev tshaj tawm. Ntawm no nws tsuas yog tsim nyog kom nco ntsoov tias kuv tau sim hloov kho cov kev txhim kho uas kuv twb muaj nyob rau hauv qhov kev piav qhia los tsim ib daim ntawv thov qhov rais tag nrho hauv C# thiab WinForms uas siv cov haujlwm tsim nyog, thiab siv nws los ua lub hauv paus rau lub tom ntej no diploma project.
Sij hawm dhau mus, lub tswv yim no tau pib zoo li kuv tsim nyog tau hais tawm hauv lub rooj sib tham txhua xyoo nrog kev koom tes ntawm cov neeg sawv cev ntawm ntau lub tsev qiv ntawv xws li "LIBKOM" thiab "CRIMEA". Lub tswv yim, yog, tab sis tsis yog kuv qhov kev siv ntawm lub sijhawm ntawd. Tom qab ntawd kuv kuj cia siab tias ib tug neeg yuav rov sau dua nws siv cov kev txawj ntse dua. Ib txoj kev los sis lwm qhov, los ntawm 2013 kuv txiav txim siab sau ib tsab ntawv qhia txog kuv txoj hauj lwm ua ntej thiab xa mus rau Pawg Neeg Saib Xyuas Kev Sib Tham nrog rau daim ntawv thov nyiaj pab koom nrog hauv lub rooj sab laj. Ua rau kuv xav tsis thoob, kuv daim ntawv thov raug pom zoo, thiab kuv tau pib ua qee yam kev txhim kho rau qhov project los npaj nws rau kev nthuav qhia ntawm lub rooj sab laj.

Los ntawm lub sijhawm ntawd, qhov project twb tau txais lub npe tshiab BIRMA, tau txais ntau yam ntxiv (tsis yog ua tiav tag nrho, tab sis xav tau) peev xwm - tag nrho cov ntsiab lus tuaj yeem pom hauv kuv daim ntawv tshaj tawm.

Ua kom ncaj ncees, nws nyuaj rau hu rau BIRMA 2013 ib yam dab tsi ua tiav; Hais lus ncaj ncees, nws yog ib qho khoom siv dag zog heev uas ua rau nrawm. Nyob rau hauv cov nqe lus ntawm txoj cai, muaj xyaum tsis muaj tshwj xeeb nrhav nyob rau hauv tag nrho cov, tshwj tsis yog rau ib tug theej helpless sim los tsim ib co kev sib koom ua ke syntax rau parser, nyob rau hauv tsos reminiscent ntawm IRBIS 64 formatting lus (thiab qhov tseeb, kuj ISIS system - nrog cov kab lus raws li cov qauv cyclic; yog vim li cas Thaum lub sij hawm kuv xav tias nws zoo nkauj zoo nkauj). Tus parser hopelessly stumbled rau cov voj voog ntawm lub voj voog ntawm hom tsim nyog (vim cov kab lus tseem ua tau lwm lub luag haujlwm, xws li, lawv tau cim cov qauv xaiv thaum lub sij hawm parsing uas tuaj yeem hla). Kuv rov xa mus rau txhua tus neeg uas xav kom paub txog qhov nyuaj rau kev xav, tsis ncaj ncees syntax ntawm BIRMA kom ntxaws ntxiv rau kuv daim ntawv tshaj tawm ntawm lub sijhawm ntawd.

Nyob rau hauv dav dav, sib nrug los ntawm kev tawm tsam nrog kuv tus kheej parser, kuv tsis muaj dab tsi ntxiv hais txog cov cai ntawm no version - tsuas yog rau qhov rov qab hloov dua siab tshiab ntawm cov ntaub ntawv uas twb muaj lawm rau hauv C ++ thaum khaws cia ib co raug nta ntawm .NET code (kom ncaj ncees, nws yog. nyuaj rau to taub, dab tsi ua rau kuv txav txhua yam rov qab - tej zaum qee qhov kev ntshai ruam rau kev khaws kuv cov lej zais zais, zoo li nws yog qee yam sib npaug rau daim ntawv qhia zais cia ntawm Coca-Cola).

Tej zaum qhov kev txiav txim siab ruam no kuj yog qhov laj thawj rau qhov teeb meem hauv kev sib koom ua ke DLL lub tsev qiv ntawv nrog lub interface uas twb muaj lawm ntawm lub chaw ua haujlwm hauv tsev rau kev nkag mus rau hauv cov ntaub ntawv hauv hluav taws xob (yog, kuv tsis tau hais txog lwm qhov tseem ceeb: txij tam sim no mus, txhua tus. cov cai ntawm BIRMA "cav" tau raws li qhov xav tau, nws raug cais tawm ntawm qhov sib txuas thiab ntim rau hauv qhov tsim nyog DLL). Vim li cas nws thiaj li tsim nyog los sau ib qho chaw ua haujlwm sib cais rau cov hom phiaj no, uas txawm li cas los xij, hauv nws qhov tsos thiab kev sib cuam tshuam nrog tus neeg siv, tsis txaj muag tau theej tib lub chaw ua haujlwm "Catalogizer" ntawm IRBIS 64 system - qhov no yog cov lus nug cais. Nyob rau hauv luv luv: nws muab qhov tsim nyog solidity rau kuv ces txoj kev loj hlob rau kuv kawm tiav qhov project (yog li ntawd lub indigestible parser cav ib leeg yog cas tsis txaus). Tsis tas li ntawd, tom qab ntawd kuv tau ntsib qee qhov teeb meem hauv kev siv lub interface ntawm Cataloger workstation nrog kuv tus kheej modules, siv nyob rau hauv ob qho tib si C ++ thiab C #, thiab ncaj qha mus rau kuv lub cav.

Feem ntau, oddly txaus, nws yog qhov zoo li clumsy qauv ntawm yav tom ntej BIRMA.NET uas tau destined los ua kuv "workhorse" rau plaub xyoos tom ntej no. Nws tsis tuaj yeem hais tias lub sijhawm no kuv tsis tau tsawg kawg sim nrhiav txoj hauv kev tshiab, ua tiav kev ua tiav ntawm lub tswv yim ntev. Ntawm lwm cov kev nrhav tshiab, yuav tsum tau muaj cov txheej txheem cyclic uas tuaj yeem suav nrog cov ntsiab lus xaiv - qhov no yog li cas kuv yuav coj mus rau lub neej lub tswv yim ntawm universal templates rau cov ntaub ntawv piav qhia ntawm cov ntawv luam tawm thiab ntau lwm yam nthuav. Txawm li cas los xij, hauv kuv cov kev ua ub no nyob rau lub sijhawm ntawd, tag nrho cov no yog qhov xav tau me ntsis, thiab kev siv kuv muaj nyob rau lub sijhawm ntawd yog qhov txaus txaus rau nkag mus rau cov ntsiab lus. Tsis tas li ntawd, lub vector ntawm kev loj hlob ntawm peb lub tsev qiv ntawv pib deviate ntau thiab ntau dua mus rau digitization ntawm tsev cia puav pheej archives, qhia thiab lwm yam kev ua ub no ntawm me ntsis kev txaus siab rau kuv, uas nyob rau hauv lub kawg yuam kom kuv mus thaum kawg tawm nws, muab txoj kev rau cov neeg uas yuav. txaus siab rau tag nrho cov no.

Paradoxically, nws yog tom qab cov xwm txheej txaus ntshai uas BIRMA project, uas nyob rau lub sijhawm ntawd twb muaj tag nrho cov yam ntxwv ntawm kev tsim kho lub sijhawm ntev, zoo li pib coj nws lub neej tshiab tos ntev! Kuv muaj sijhawm pub dawb ntau dua rau kev xav tsis zoo, Kuv rov pib zuag Lub Ntiaj Teb Wide Web hauv kev tshawb nrhiav qee yam zoo sib xws (zoo hmoo, tam sim no kuv tuaj yeem kwv yees mus nrhiav txhua qhov no tsis yog nyob txhua qhov chaw, tab sis ntawm GitHub), thiab qee qhov hauv Cov. pib ntawm lub xyoo no, thaum kawg kuv tuaj hla cov khoom sib xws los ntawm lub tuam txhab Salesforce paub zoo nyob rau hauv lub npe tsis tseem ceeb Gorp. Los ntawm nws tus kheej, nws yuav ua tau yuav luag txhua yam uas kuv xav tau los ntawm xws li ib tug parser engine - uas yog, ntse cais ib tug neeg tawg tsam los ntawm arbitrary, tab sis kom meej meej cov ntaub ntawv, thaum muaj ib tug haum tus neeg siv-phooj ywg interface rau cov neeg siv kawg, nrog rau xws li cov ntsiab lus nkag siab, xws li ib tug qauv, template thiab tshwm sim, thiab nyob rau tib lub sij hawm siv cov paub syntax ntawm cov kab lus tsis tu ncua, uas dhau los incomparably nyeem tau ntau dua vim yog kev faib mus rau hauv pawg semantic rau parsing.

Feem ntau, kuv txiav txim siab tias qhov no yog ib qho Gorp (Kuv xav paub tias lub npe no txhais li cas? Tej zaum qee yam ntawm "kev taw qhia dav dav parser"?) - raws nraim qhov kuv tau nrhiav ntev. Muaj tseeb, nws tam sim no siv rau kuv tus kheej cov kev xav tau muaj xws li teeb meem uas lub cav no yuav tsum nruj heev rau kev ua raws li cov txheej txheem ntawm cov ntawv nyeem. Rau qee cov ntawv ceeb toom xws li cov ntaub ntawv teev tseg (xws li, lawv tau muab tso rau los ntawm cov neeg tsim khoom raws li cov piv txwv meej ntawm kev siv qhov project), qhov no yog qhov tsim nyog, tab sis rau tib cov ntawv ntawm cov ntawv scanned ntawm cov ntsiab lus, nws tsis zoo li. Tom qab tag nrho, tib nplooj ntawv nrog cov ntsiab lus tuaj yeem pib nrog cov lus "Table of Contents", "Cov ntsiab lus" thiab lwm yam kev piav qhia ua ntej uas peb tsis tas yuav muab tso rau hauv cov txiaj ntsig ntawm kev tsom xam (thiab txiav lawv tawm ntawm tus kheej. txhua zaus kuj tsis yooj yim). Tsis tas li ntawd, ntawm ib tus neeg rov hais dua cov ntsiab lus, xws li tus sau lub npe, lub npe thiab tus lej nplooj ntawv, nplooj ntawv yuav muaj qee yam khib nyiab (piv txwv li, kos duab, thiab cov cim random), uas nws kuj yuav zoo rau muaj peev xwm. txiav tawm. Txawm li cas los xij, qhov kawg nam tseem tsis tau tseem ceeb, tab sis vim yog thawj zaug, qhov kev siv uas twb muaj lawm tsis tuaj yeem pib nrhiav cov qauv tsim nyog hauv cov ntawv nyeem los ntawm ib qho chaw, tab sis tsuas yog ua tiav nws los ntawm qhov pib, tsis pom qhov teev cov qauv muaj thiab ... xaus kuv txoj hauj lwm. Pom tseeb, qee qhov tweaking yog xav tau kom tsawg kawg tso cai rau qee qhov chaw ntawm cov qauv rov ua dua, thiab qhov ntawd tau ua rau kuv rov qab mus ua haujlwm.

Lwm qhov teeb meem yog tias qhov project nws tus kheej tau ua tiav hauv Java, thiab yog tias kuv tau npaj yav tom ntej los siv qee qhov kev cuam tshuam cov thev naus laus zis no nrog cov ntawv siv paub txog kev nkag mus rau cov ntaub ntawv rau hauv cov ntaub ntawv uas twb muaj lawm (xws li Irbis "Cataloguer"), ces tsawg kawg yog tsawg kawg. ua qhov no hauv C# thiab .NET. Nws tsis yog tias Java nws tus kheej yog hom lus tsis zoo - Kuv ib zaug txawm siv nws los siv cov ntawv thov qhov rai nthuav dav uas siv cov kev ua haujlwm ntawm lub tshuab xam zauv hauv tsev (raws li ib feem ntawm txoj haujlwm kawm). Thiab nyob rau hauv cov nqe lus ntawm syntax nws zoo ib yam li tib C-sharp. Zoo, qhov no tsuas yog ib qho ntxiv: qhov yooj yim dua nws yuav ua rau kuv ua tiav qhov project uas twb muaj lawm. Txawm li cas los xij, kuv tsis xav rov qab mus rau hauv lub ntiaj teb no txawv txawv ntawm qhov rais (lossis theej, desktop) Java thev naus laus zis - tom qab tag nrho, cov lus nws tus kheej tsis yog "tsim" rau kev siv, thiab kuv tsis xav rov ua dua. qhov kev paub dhau los. Tej zaum nws yog qhov tseeb vim tias C# ua ke nrog WinForms yog ze dua rau Delphi, nrog rau ntau ntawm peb ib zaug pib. Hmoov zoo, qhov kev daws teeb meem tsim nyog tau pom sai heev - hauv daim ntawv ntawm qhov project IKVM.NET, uas ua rau nws yooj yim los txhais cov kev pab cuam Java uas twb muaj lawm rau hauv tswj .NET code. Muaj tseeb, qhov project nws tus kheej twb tau tso tseg los ntawm cov kws sau ntawv los ntawm lub sijhawm ntawd, tab sis nws qhov kev ua tiav tshiab tau tso cai rau kuv ua tiav cov haujlwm tsim nyog rau cov ntawv sau. Gorp.

Yog li kuv tau ua tag nrho cov kev hloov pauv tsim nyog thiab sib sau ua ke rau hauv DLL ntawm hom tsim nyog, uas tuaj yeem yooj yim "siv" los ntawm txhua qhov haujlwm rau .NET Framework tsim hauv Visual Studio. Lub sijhawm no, kuv tsim lwm txheej rau kev nthuav qhia yooj yim ntawm cov txiaj ntsig rov qab los Gorp, nyob rau hauv daim ntawv ntawm cov ntaub ntawv sib txuas lus uas yuav yooj yim rau txheej txheem nyob rau hauv lub rooj saib (siv raws li ib tug hauv paus ob kab thiab kab; ob phau ntawv txhais lus yuam sij thiab cov zauv indexes). Zoo, cov khoom siv tsim nyog rau lawv tus kheej rau kev ua thiab nthuav tawm cov txiaj ntsig tau sau sai heev.

Tsis tas li ntawd, cov txheej txheem ntawm kev hloov cov qauv rau lub cav tshiab txhawm rau qhia nws kom txheeb xyuas cov qauv uas twb muaj lawm ntawm cov ntawv luam tawm ntawm cov lus ntawm cov ntsiab lus tsis ua rau muaj teeb meem tshwj xeeb. Qhov tseeb, kuv tsis tas yuav xa mus rau kuv cov qauv dhau los ntawm txhua qhov: Kuv tsuas yog tsim txhua tus qauv tsim nyog los ntawm kos. Ntxiv mus, yog tias cov qauv tsim los ua haujlwm nrog cov qauv dhau los ntawm lub kaw lus tau teeb tsa lub hauv paus nqaim rau cov ntawv uas tuaj yeem txheeb xyuas kom raug nrog lawv cov kev pab, lub cav tshiab twb tau ua rau nws tsim nyog rau kev tsim qauv thoob ntiaj teb haum rau ntau hom cim ntawm ib zaug. Kuv txawm sim sau qee hom kev qhia dav dav rau txhua lub ntsiab lus ntawm cov ntawv nyeem, txawm hais tias, tau kawg, txawm tias muaj txhua yam tshiab tau qhib rau kuv, suav nrog, tshwj xeeb, muaj peev xwm txwv tsis pub siv tib lub nested repeating sequences ( xws li, piv txwv li, lub xeem lub npe thiab cov npe sau npe ob peb tus kws sau ntawv ua ke), qhov no tau dhau los ua ib qho utopia.

Tej zaum yav tom ntej nws yuav muaj peev xwm siv tau qee lub tswv yim ntawm meta-templates, uas yuav tuaj yeem tshawb xyuas cov ntawv nyeem kom ua raws li ntau yam ntawm cov qauv muaj nyob rau ib zaug, thiab tom qab ntawd, raws li cov txiaj ntsig tau, xaiv cov tsim nyog tshaj plaws, siv qee hom kev txawj ntse algorithm. Tab sis tam sim no kuv txhawj xeeb txog lwm lo lus nug. Ib tug parser zoo li Gorp, txawm tias tag nrho nws cov versatility thiab cov kev hloov kho kuv tau ua, nws yog tseem inherently tsis muaj peev xwm ua ib qho yooj yim seemingly uas kuv tus kheej sau parser muaj peev xwm ua tau los ntawm thawj heev version. Namely: nws muaj peev xwm mus nrhiav thiab rho tawm los ntawm cov ntawv nyeem tag nrho cov seem uas phim lub npog qhov ncauj teev nyob rau hauv lub template siv nyob rau hauv txoj cai qhov chaw, thaum tsis txaus siab rau dab tsi cov ntawv nyeem muaj nyob rau hauv qhov chaw ntawm cov fragments. Txog tam sim no, kuv tsuas yog txhim kho lub cav tshiab me ntsis, tso cai rau nws tshawb nrhiav txhua qhov ua tau rov ua dua tshiab ntawm qhov muab ib ntu ntawm cov ntsej muag zoo li no los ntawm txoj haujlwm tam sim no, tawm hauv qhov muaj peev xwm rau qhov muaj nyob hauv cov ntawv sau ntawm cov cim tsis ncaj ncees uas tau ua tiav. unaccounted rau nyob rau hauv lub parsing, enclosed nruab nrab ntawm cov kuaj pom rov qab qauv. Txawm li cas los xij, qhov no tsis tau ua rau nws tuaj yeem teeb tsa lub npog ntsej muag tom ntej txawm tias qhov txiaj ntsig ntawm kev tshawb nrhiav cov ntu yav dhau los uas siv lub npog ntsej muag sib xws: qhov nruj ntawm cov qauv ntawv piav qhia tseem tsis tau tawm hauv chav rau kev suav nrog cov cim tsis xwm yeem.

Thiab yog tias rau cov piv txwv ntawm cov ntsiab lus uas kuv tuaj hla qhov teeb meem no tseem tsis tau zoo li loj heev, ces thaum sim siv cov txheej txheem parsing tshiab rau txoj haujlwm zoo sib xws ntawm kev txheeb xyuas cov ntsiab lus ntawm lub vev xaib (piv txwv li tib parsing), nws kev txwv nyob ntawm no lawv tshwm sim nrog tag nrho lawv cov kev pom tseeb. Tom qab tag nrho, nws yog qhov yooj yim heev los teeb tsa lub qhov ncauj qhov ntswg tsim nyog rau cov khoom tawg ntawm lub vev xaib, ntawm cov ntaub ntawv uas peb tab tom nrhiav (uas yuav tsum tau muab rho tawm) yuav tsum nyob, tab sis peb yuav ua li cas thiaj li yuam tus parser tam sim ntawd txav mus rau lwm qhov. zoo ib yam, txawm tias tag nrho cov cim npe thiab HTML tus cwj pwm uas tuaj yeem muab tso rau hauv qhov chaw nruab nrab ntawm lawv?

Tom qab xav me ntsis, kuv txiav txim siab los qhia ob peb yam kev pabcuam (%all_ua ntej) и (% tag nrho_tom qab), ua haujlwm rau lub hom phiaj pom tseeb ntawm kev ua kom ntseeg tau tias txhua yam uas yuav muaj nyob rau hauv cov ntawv nyeem raug hla ua ntej cov qauv (daim npog) uas ua raws li lawv. Ntxiv mus, yog (%all_ua ntej) tsuas ignored tag nrho cov arbitrary inclusions, ces (% tag nrho_tom qab), ntawm qhov tsis sib xws, tso cai rau lawv ntxiv rau qhov xav tau tawg tom qab tsiv los ntawm cov kab dhau los. Nws suab yooj yim heev, tab sis kom siv lub tswv yim no kuv yuav tsum tau zuag los ntawm gorp qhov chaw dua los ua qhov tsim nyog hloov kho kom tsis txhob ua txhaum qhov kev ua tiav lawm. Thaum kawg, peb muaj peev xwm ua qhov no (txawm hais tias txawm tias thawj zaug, txawm hais tias buggy heev, kev siv kuv tus parser tau sau, thiab txawm sai dua - ob peb lub lis piam). Txij li tam sim no, lub kaw lus tau coj mus rau hauv daim ntawv thoob ntiaj teb tiag tiag - tsis pub tsawg dua 12 xyoo tom qab thawj zaug sim ua kom nws ua haujlwm.

Tau kawg, qhov no tsis yog qhov kawg ntawm peb txoj kev npau suav. Koj tuaj yeem rov sau tag nrho cov gorp template parser hauv C#, siv ib qho ntawm cov tsev qiv ntawv muaj rau kev siv cov qauv sau ntawv dawb. Kuv xav tias cov cai yuav tsum tau ua kom yooj yim, thiab qhov no yuav tso cai rau peb tshem tawm cov qub txeeg qub teg hauv daim ntawv ntawm Java qhov chaw uas twb muaj lawm. Tab sis nrog cov hom cav uas twb muaj lawm, nws kuj tseem tuaj yeem ua tau ntau yam nthuav dav, suav nrog kev sim ua raws li cov qauv uas kuv tau hais lawm, tsis txhob hais txog kev txheeb xyuas ntau yam ntaub ntawv los ntawm ntau lub vev xaib (txawm li cas los xij, kuv tsis txiav txim siab. tias cov cuab yeej tshwj xeeb software uas twb muaj lawm yog qhov tsim nyog rau qhov no - Kuv tsuas yog tsis tau muaj kev tsim nyog ntawm kev siv lawv tsis tau).

Los ntawm txoj kev, lub caij ntuj sov no kuv twb tau txais kev caw los ntawm email los ntawm lub tuam txhab uas siv Salesforce technologies (tus tsim tawm ntawm thawj Gorp), hla kev xam phaj rau kev ua haujlwm tom ntej hauv Riga. Hmoov tsis zoo, lub sijhawm tam sim no kuv tsis tau npaj rau kev rov ua haujlwm dua.

Yog tias cov ntaub ntawv no ua rau muaj kev txaus siab, tom qab ntawd hauv ntu thib ob kuv yuav sim piav qhia ntau ntxiv txog cov thev naus laus zis rau kev sib sau thiab tom qab ntsuas cov qauv siv cov piv txwv ntawm kev siv hauv Salesforce. Gorp (Kuv tus kheej ntxiv, nrog rau kev zam ntawm ob peb lo lus ua haujlwm tau piav qhia, ua kom tsis muaj kev hloov pauv rau tus qauv syntax nws tus kheej, yog li yuav luag tag nrho cov ntaub ntawv rau thawj qhov system Gorp Haum rau kuv version ib yam nkaus).

Tau qhov twg los: www.hab.com

Ntxiv ib saib