Sida loo joojiyo samaynta isla wax la mid ah

Ma jeceshahay inaad ku celceliso hawlgallada caadiga ah? Markaa anigu ma sameeyo. Laakiin mar kasta oo macmiilka SQL ah marka la shaqaynayo kaydinta Rostelecom, waxaan ku qasbanahay in aan diiwaangaliyo dhammaan isku-dhafka u dhexeeya miisaska gacanta. Tanina inkastoo xaqiiqda ah in 90% ee kiisaska goobaha iyo shuruudaha ku biirista miisaska ay ku beegmeen weydiinta su'aasha! Waxay u egtahay in macmiil kasta oo SQL ah uu leeyahay hawlo dhammaystiran oo otomaatig ah, laakiin kaydinta had iyo jeer ma shaqeeyaan: marar dhif ah ayay ku jiraan xannibaadyo gaar ah iyo furaha shisheeye si loo hagaajiyo waxqabadka, taas la'aanteed barnaamijku ma ogaan doono sida hay'adaha ay ula xiriiraan mid kasta mid kale iyo waxa ay kuu qaban karto

Sida loo joojiyo samaynta isla wax la mid ah

Anigoo soo maray diidmo, cadho, gorgortan, niyad-jab iyo aqbalaad soo dhawaatay, waxaan go'aansaday - maxaan isku dayin inaan isku dayo inaan hirgeliyo autofill leh blackjack oo aan sameeyo habka saxda ah? Waxaan isticmaalaa macmiilka dbeaver, oo ku qoran java, waxay leedahay nooc bulsho oo furan. Qorshe fudud ayaa qaan gaadhay:

  1. Ka hel fasalo koodhka isha ee masuulka ka ah dhamaystirka otomaatiga
  2. Dib u jihsii si ay ula shaqeeyaan xogta badan ee dibadda oo ka soo jiid macluumaadka ku saabsan ku biirista halkaas
  3. ??????
  4. DAKHLIGA

Waxaan si degdeg ah u ogaaday barta koowaad - waxaan ka helay codsi kutaan raadiyaha si aan u hagaajiyo autofill iyo wixii la xiriira galan helay fasalka SQLCCompletionAnalyzer Waxaan eegay koodka oo waa waxa aan u baahanahay. Waxa hadhay oo dhan waa in dib loo qoro si ay wax walba u shaqeeyaan. Waxaan sugayay fiid bilaash ah oo waxaan bilaabay inaan ka fikiro hirgelinta. Waxaan go'aansaday inaan ku qoro xeerarka isku xirka miiska (metadata) json. Maan lahayn waayo-aragnimo wax ku ool ah oo ku shaqeynaya qaabkan, hawsha hadda socotana waxaa loo arkay fursad lagu saxayo maqnaanshahan.

Si aan ula shaqeeyo json waxaan go'aansaday inaan isticmaalo maktabadda json-fudud ka Google. Waa halka ay ka bilaabmeen yaababkii. Siday noqotay, dbeaver, codsi run ah, ayaa lagu qoray goobta Eclipse iyadoo la adeegsanayo qaab-dhismeedka OSGi. Horumarinta khibradda leh, shaygani wuxuu ka dhigayaa mid ku habboon in la maareeyo ku-tiirsanaanta, laakiin aniga waxay ii ahayd wax badan oo la mid ah sixirka mugdiga ah, taas oo aan si cad diyaar u ahayn: sida caadiga ah, waxaan ka soo dejiyaa fasallada aan uga baahanahay maktabadda json-fudud ee madaxa fasalka la tafatiray, ku sheeg pom.xml, ka dib mashruucu wuxuu si cad u diiday inuu si caadi ah isugu keeno oo uu ku dhaco khaladaad.

Dhammaadkii, waxaan ku guuleystey inaan hagaajiyo khaladaadka dhismaha: Waxaan ka diiwaan gashanaa maktabadda ma aha pom.xml, laakiin gudaha manifest.mf, sida ay u baahan tahay OSGI, iyada oo aan caddaynayo inay tahay xirmo soo dejin. Ma aha xalka ugu quruxda badan, laakiin wuu shaqeeyaa. Dabadeed yaabkii xigay ayaa soo baxay. Haddii aad ku horumarinayso Intellij Idea, kaliya ma aadi kartid oo aad bilaabi kartid ciribtirka mashruucaaga iyadoo lagu salaynayo goobta dayax-madoobaadka: horumariye aan khibrad lahayn waa in uu ku dhibtoodaa wax ka yar falanqeeye iyada oo aan la dhamaystirin su'aallaha. Horumarinta beaver-ka laftooda ayaa u soo gurmaday, iyaga oo tilmaamaya wikiga dhammaan qoob-ka-ciyaarka leh daf loo baahan yahay in la sameeyo. Waxa ugu dhibka badan ayaa ah in xitaa ka dib dhammaan kuwan squats, mashruucu ma uusan dooneynin in lagu bilaabo debug la maktabadda json ee ku xiran xirmada soo dejinta (in kasta oo xaqiiqda ah in weli si guul leh loogu soo ururiyey alaabta la dhammeeyey).

Waqtigaas, waxaan horeyba u ogaaday dhibka aan u leeyahay isticmaalka json ee hawshayda - ka dib oo dhan, metadata waxay ahayd in lagu daabaco gacanta, iyo qaabka xml ayaa tan ku habboon. Doodda labaad ee xml waxay ahayd joogitaanka dhammaan fasallada lagama maarmaanka ah ee JDK, taas oo suurtogal ka dhigtay in la joojiyo dagaalka lagula jiro maktabad dibadda ah. Anigoo aad u faraxsan, waxaan ka wareejiyay dhammaan xogta badan ee json una gudbiyay xml oo waxaan bilaabay tafatirka macquulka ah ee dhammaystiran.

Tusaalaha metadata

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tableRelations>
    <tableRelation>
        <leftTable>dim_account</leftTable>
        <rightTable>dim_partner</rightTable>
        <joinColumnPair leftColumn="partner_key" rightColumn="partner_key"/>
        <joinColumnPair leftColumn="src_id" rightColumn="src_id"/>
    </tableRelation>
    <tableRelation>
        <leftTable>dim_account</leftTable>
        <rightTable>dim_branch</rightTable>
        <joinColumnPair leftColumn="src_id" rightColumn="src_id"/>
        <joinColumnPair leftColumn="branch_key" rightColumn="branch_key"/>
    </tableRelation>
</tableRelations>

Natiijo ahaan I isbedel sameeyay galay fasallada SQLUtils iyo SQLCCompletionAnalyzer Fikradda ayaa ah tan: haddii barnaamijku awoodi waayay inuu helo talooyin dhammaystiran oo dhammaystiran oo ku habboon iyadoo la adeegsanayo macquulnimada aasaasiga ah, ka dibna waxay hubisaa jiritaanka suurtagalnimada ku biirista iyadoo la adeegsanayo faylka xml dibadda ah. Faylka laftiisa waxa uu kaydiyaa laba-labo oo miisas ah oo tilmaamaya meelaha loo baahan yahay in lagu xidho miisaska. Xayiraadaha taariikhaha ansaxnimada farsamada ee diiwaanada eff_dttm iyo exp_dttm iyo calanka tirtirka macquulka ah deleted_ind waxaa loo dejiyay si toos ah.

Markii isbedel lagu sameeyay koodhka, su'aashu waxay soo baxday - yaa buuxin doona faylka xogta badan? Waxaa jira hay'ado badan oo ku jira bakhaarka, waa qaali inaad iska diiwaan geliso dhammaan isku xirka naftaada. Natiijo ahaan, waxaan go'aansaday inaan hawshan u xilsaaro falanqeeyayaashayda. Waxaan ku dhejiyay feylka xogta badan ee svn, laga bilaabo meesha hubinta lagu sameeyay hagaha deegaanka ee barnaamijka. Mabda'a waa kan: wax cusub ma ka soo muuqday kaydka? Mid ka mid ah falanqeeyayaasha ayaa geli kara suurtogalnimada inuu ku biiro faylka, sameeyo isbeddelo, inta soo hartay iska hubi oo ku raaxayso dhamaystirka shaqada: bulshada, ururinta aqoonta iyo dhammaan wixii kale. Qabtay aqoon-is-weydaarsi ku saabsan isticmaalka barnaamijka ee asxaabta, ayaa ku qoray maqaal ku saabsan Confluence - hadda shirkadu waxay leedahay hal qalab oo ku habboon.

Ka shaqeynta qaabkan ayaa i siisay fahamka in aysan jirin baahi loo qabo in laga baqo in lagu tinker mashaariicda il furan - sida caadiga ah, waxay leeyihiin qaab-dhismeed cad, iyo xitaa aqoonta aasaasiga ah ee luqadda ayaa ku filan tijaabooyinka. Iyo qadar go'an oo adkeysi leh, waxaad xitaa awoodi doontaa inaad ka takhalusto hawlgallada joogtada ah ee nacaybka, adoo naftaada u badbaadinaya waqti tijaabo cusub.

Source: www.habr.com

Add a comment