Ukuyeka kanjani ukwenza into efanayo

Ingabe uyathanda ukuphinda imisebenzi evamile kaningi? Ngakho angifuni. Kodwa ngaso sonke isikhathi kuklayenti le-SQL lapho ngisebenza nesitoreji se-Rostelecom, kwakudingeka ngibhalise wonke amajoyina phakathi kwamatafula ngesandla. Futhi lokhu naphezu kweqiniso lokuthi ku-90% yamacala izinkambu nemibandela yokujoyina amatafula kuhambisane nesicelo sokucela! Kungase kubonakale sengathi noma yiliphi iklayenti le-SQL linemisebenzi yokuqedela ngokuzenzakalela, kodwa kusitoreji akusebenzi ngaso sonke isikhathi: abavamile ukufaka umkhawulo oyingqayizivele kanye nokhiye wangaphandle ukuze kuthuthukiswe ukusebenza, futhi ngaphandle kwalokhu uhlelo ngeke lwazi ukuthi izinhlangano zihlobene kanjani neqembu ngalinye. okunye nokuthi yini engakwenzela yona ukunikeza.

Ukuyeka kanjani ukwenza into efanayo

Ngemva kokuphika, intukuthelo, ukuxoxisana, ukudangala kanye nokwamukelwa okusondelayo, nganquma - kungani ngingazami ukusebenzisa ukugcwalisa okuzenzakalelayo nge-blackjack futhi ngikwenze ngendlela efanele? Ngisebenzisa iklayenti le-dbeaver, elibhalwe nge-java, linenguqulo yomphakathi evulekile. Uhlelo olulula selukhulile:

  1. Thola amakilasi kukhodi yomthombo anesibopho sokuqedela ngokuzenzakalela
  2. Ziqondise kabusha ukuze zisebenze ngemethadatha yangaphandle futhi udonse ulwazi mayelana nokujoyina kusukela lapho
  3. ??????
  4. PHAMBILI

Ngithole iphuzu lokuqala ngokushesha okukhulu - ngithole isicelo kusilandeleli sesiphazamisi sokulungisa ukugcwalisa okuzenzakalelayo kanye nokuhlobene bophezela uthole isigaba se-SQLCompletionAnalyzer. Ngibheke ikhodi futhi iyona engiyidingayo. Osekusele wukuthi uyibhale kabusha ukuze konke kusebenze. Ngalinda kusihlwa mahhala futhi ngaqala ukucabanga ngokusebenzisa ukuqaliswa. Nginqume ukubhala imithetho yokuxhumanisa ithebula (imethadatha) ku-json. Bengingenalo ulwazi oluphathekayo lokusebenza nalolu hlelo futhi umsebenzi wamanje ubonwe njengethuba lokulungisa lokhu kushiywa.

Ukuze ngisebenze no-json nginqume ukusebenzisa umtapo wolwazi json-lula kusuka ku-Google. Kulapho izimanga zaqala khona. Njengoba kwenzeka, i-dbeaver, njengohlelo lokusebenza lwangempela, yabhalwa endaweni yesikhulumi se-Eclipse kusetshenziswa uhlaka lwe-OSGi. Konjiniyela abanolwazi, le nto yenza kube lula ukuphatha ukuncika, kodwa kimina bekufana nomlingo omnyama, ebengingakakulungeli ngokusobala: njengenjwayelo, ngingenisa amakilasi engiwadingayo kumtapo wezincwadi we-json-simple unhlokweni we ikilasi elihleliwe, licacise ku-pom.xml, ngemuva kwalokho iphrojekthi yenqaba ngokwehlukana ukuhlangana ngokujwayelekile bese ishayisana namaphutha.

Ekugcineni, ngikwazile ukulungisa amaphutha okwakha: Angibhalisanga ilabhulali ku-pom.xml, kodwa ku-manifest.mf manifest, njengoba kudingwa i-OSGI, kuyilapho ngiyicacisa njengephakheji yokungenisa. Akusona isixazululo esihle kakhulu, kodwa siyasebenza. Kwabe sekuvela isimanga esilandelayo. Uma uthuthuka ku-Intellij Idea, awukwazi ukuvele uhambe futhi uqale ukulungisa amaphutha iphrojekthi yakho ngokusekelwe kungxenyekazi ye-eclipse: unjiniyela ongenalwazi kufanele ahlupheke okungenani kunomhlaziyi ngaphandle kokuphothula imibuzo. Abathuthukisi be-beaver ngokwabo basiza, bebonisa ku-wiki yonke imidanso enethamborini okudingeka yenziwe. Into ecasula kakhulu ukuthi ngisho nangemva kwazo zonke lezi zi-squats, iphrojekthi ayifunanga ukwethulwa ngokulungiswa komtapo wezincwadi we-json oxhunywe nge-import-package (naphezu kweqiniso lokuthi yayisahlanganiswe ngempumelelo kumkhiqizo oqediwe).

Ngaleso sikhathi, ngase ngibonile ukuphazamiseka kokusebenzisa i-json emsebenzini wami - phela imethadatha bekufanele ihlelwe ngesandla, futhi ifomethi ye-xml ifaneleka kangcono kulokhu. Impikiswano yesibili evuna i-xml kwaba ukuba khona kwawo wonke amakilasi adingekayo ku-JDK, okwenze kwaba nokwenzeka ukuyeka ukulwa nomtapo wolwazi wangaphandle. Ngenjabulo enkulu, ngidlulise yonke imethadatha isuka ku-json iye ku-xml futhi ngaqala ukuhlela ingqondo yokuqedela ngokuzenzakalela.

Isibonelo semethadatha

<?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>

Ngenxa yalokho I wenze izinguquko kumakilasi e-SQLUtils kanye ne-SQLCompletionAnalyzer. Umbono yilo: uma uhlelo lungakwazanga ukuthola iziphakamiso ezifanele zokuqedela ngokuzenzakalela kusetshenziswa ingqondo eyisisekelo, bese luhlola ubukhona bokujoyina okungenzeka kusetshenziswa ifayela le-xml langaphandle. Ifayela ngokwalo ligcina amathebula amabili abonisa izinkambu lawa mathebula adinga ukuxhunywa ngazo. Imikhawulo yamadethi okusebenza okusebenza kwamarekhodi eff_dttm kanye ne-exp_dttm kanye nefulegi elinengqondo lokususa okuthi deleted_ind kusethwa ngokuzenzakalelayo.

Lapho kwenziwa izinguquko kukhodi, kwaphakama umbuzo - ubani ozogcwalisa ifayela ngemethadatha? Kukhona izinhlangano eziningi endaweni yokugcina, kuyabiza ukubhalisa konke ukuxhumana ngokwakho. Ngenxa yalokho, nganquma ukunikeza lo msebenzi kubahlaziyi engikanye nabo. Ngithumele ifayela lemethadatha ku-svn, kusukela lapho kukhishwa khona kunkomba yendawo ngohlelo. Umgomo uthi: ingabe ibhizinisi elisha livele endaweni yokugcina? Omunye umhlaziyi ufaka okungenzeka ukuthi ujoyina ifayela, enze izinguquko, abanye bazihlolele bona futhi bajabulele ukuqedela okuzenzakalelayo okusebenzayo: umphakathi, ukuqoqwa kolwazi nakho konke lokho. Wenze umhlangano wokucobelelana ngolwazi ngokusebenzisa uhlelo lozakwethu, wabhala isihloko ku-Confluence - manje inkampani inethuluzi elilodwa elikahle kakhulu.

Ukusebenza kulesi sici kwanginika ukuqonda ukuthi asikho isidingo sokwesaba ukucubungula amaphrojekthi omthombo ovulekile - njengomthetho, anezakhiwo ezicacile, ngisho nolwazi oluyisisekelo lolimi luzokwanela ukuhlolwa. Futhi ngesilinganiso esithile sokuphikelela, uzokwazi ngisho nokuqeda imisebenzi yenjwayelo enenzondo, uzigcinele isikhathi sokuhlola okusha.

Source: www.habr.com

Engeza amazwana