Ahoana no hampitsaharana ny manao zavatra mitovy

Tianao ve ny mamerina ny asa mahazatra hatrany? Ka tsy manao aho. Saingy isaky ny ao amin'ny mpanjifa SQL rehefa miasa amin'ny fitehirizana Rostelecom, dia tsy maintsy nanoratra an-tΓ nana ny fifandraisana rehetra teo anelanelan'ny latabatra aho. Ary izany na dia eo aza ny zava-misy fa amin'ny 90% amin'ny tranga dia nifanindry tamin'ny fangatahana fangatahana ny saha sy ny fepetra hidirana amin'ny latabatra! Toa ny mpanjifa SQL rehetra dia manana fiasa auto-completion, fa ho an'ny fitahirizana dia tsy mandeha foana izy ireo: mahalana izy ireo no misy faneriterena tokana sy fanalahidy vahiny mba hanatsarana ny fahombiazany, ary raha tsy misy izany dia tsy ho fantatry ny programa ny fifandraisan'ny sampana tsirairay. hafa sy izay azony atao amin'ny atolotrao.

Ahoana no hampitsaharana ny manao zavatra mitovy

Rehefa nandalo ny fandavana, ny hatezerana, ny fifampiraharahana, ny fahaketrahana ary ny fanatonana ny fanekena, dia nanapa-kevitra aho - maninona raha manandrana mampihatra autofill amin'ny blackjack ny tenako ary manao izany amin'ny fomba mety? Mampiasa ny mpanjifa dbeaver aho, nosoratana tamin'ny java, manana version open source izy io. Efa matotra ny drafitra tsotra:

  1. Mitadiava kilasy ao amin'ny kaody loharano tompon'andraikitra amin'ny autocompletion
  2. Alefaso izy ireo hiasa amin'ny metadata ivelany ary hisintona fampahalalana momba ny fidirana avy any
  3. ??????
  4. tombony

Nahafantatra haingana ny teboka voalohany aho - nahita fangatahana aho tao amin'ny mpitsikilo bibikely hanitsy ny autofill sy ny mifandraika amin'izany. Ankino nahita ny kilasy SQLCompletionAnalyzer. Nojereko ilay kaody ary io no ilaiko. Ny hany sisa tavela dia ny mamerina manoratra azy io mba hiasa ny zava-drehetra. Niandry takariva maimaim-poana aho ary nanomboka nieritreritra ny fampiharana. Nanapa-kevitra ny hanoratra fitsipika rohy latabatra (metadata) ao amin'ny json aho. Tsy nanana traikefa azo ampiharina niasa tamin'ity endrika ity aho ary ny asa amin'izao fotoana izao dia noheverina ho fotoana iray hanitsiana io tsy fahampiana io.

Mba hiasa amin'i json dia nanapa-kevitra ny hampiasa ny tranomboky aho json-simple avy amin'ny Google. Teo no nanomboka ny tsy ampoizina. Araka ny hita, dbeaver, ho fampiharana marina, dia nosoratana tamin'ny sehatra Eclipse tamin'ny fampiasana ny rafitra OSGi. Ho an'ny mpamorona efa za-draharaha, ity zavatra ity dia manamora ny fitantanana ny fiankinan-doha, fa ho ahy dia toy ny majika maizina izany, izay mazava ho azy fa tsy vonona aho: toy ny mahazatra, manafatra ireo kilasy ilaiko avy amin'ny tranomboky json-simple amin'ny lohatenin'ny. ny kilasin'ny fanovana, ambarao ao amin'ny pom.xml, ary avy eo ny tetikasa dia mandΓ  tanteraka ny hivory ara-dalΓ na ary mianjera amin'ny fahadisoana.

Tamin'ny farany dia nahavita nanamboatra ny lesoka amin'ny fananganana aho: tsy nisoratra anarana tao amin'ny pom.xml ny tranomboky, fa tao amin'ny manifest.mf, araka ny takian'ny OSGI, ary nanondro azy ho fonosana fanafarana. Tsy ny vahaolana tsara indrindra, fa miasa. Dia niseho ny tsy ampoizina manaraka. Raha mivoatra ao amin'ny Intellij Idea ianao, dia tsy afaka mandeha fotsiny ianao ary manomboka manara-maso ny tetikasanao mifototra amin'ny sehatra eclipse: ny mpamorona tsy manana traikefa dia tokony hijaly tsy latsaky ny mpandinika raha tsy misy ny fangatahana. Ny mpamorona beaver mihitsy no tonga namonjy, nanondro ao amin'ny wiki ny dihy rehetra misy ampongatapaka izay tokony hatao. Ny zavatra mahasosotra indrindra dia na dia taorian'ireo squats rehetra ireo aza, ny tetikasa dia tsy te hatomboka amin'ny debug miaraka amin'ny tranomboky json mifandray amin'ny alΓ lan'ny import-package (na dia eo aza ny zava-misy fa mbola tafavory soa aman-tsara tao amin'ny vokatra vita).

Tamin'izany fotoana izany dia efa tsapako ny fahasahiranana amin'ny fampiasana json amin'ny asako - na izany aza, ny metadata dia tokony ho ovaina amin'ny tanana, ary ny format xml dia mety kokoa amin'izany. Ny hevitra faharoa manohana ny xml dia ny fisian'ny kilasy ilaina rehetra ao amin'ny JDK, izay nahatonga ny fampitsaharana ny ady amin'ny tranomboky ivelany. Amin'ny fahafinaretana lehibe dia nafindrako ny metadata rehetra avy amin'ny json mankany xml ary nanomboka nanitsy ny lojika autocomplete.

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

Vokatr'izany I nanao fanovana ao amin'ny kilasy SQLUtils sy SQLCompletionAnalyzer. Ny hevitra dia izao: raha tsy nahita soso-kevitra autocomplete sahaza ny programa tamin'ny fampiasana ny lojika fototra, dia manamarina ny fisian'ny mety ho tafiditra amin'ny fampiasana rakitra xml ivelany. Ny rakitra mihitsy no mitahiry latabatra tsiroaroa manondro ny saha tokony hampifandraisana ireo tabilao ireo. Ny famerana ny daty manankery ara-teknika an'ny firaketana eff_dttm sy exp_dttm ary ny saina famafana lojika deleted_ind dia napetraka amin'ny alΓ lan'ny default.

Rehefa nisy fanovana natao tamin'ny kaody dia nipoitra ny fanontaniana - iza no hameno ny rakitra amin'ny metadata? Betsaka ny singa ao amin'ny tahiry, lafo ny fisoratana anarana ny fifandraisana rehetra. Vokatr'izany dia nanapa-kevitra ny hanome an'io asa io ho an'ireo mpandinika namako aho. Nalefako tao amin'ny svn ny rakitra metadata, avy amin'ny toerana nanaovana ny famandrihana mankany amin'ny lahatahiry eo an-toerana miaraka amin'ny programa. Ny fitsipika dia izao: nisy orinasa vaovao ve niseho tao amin'ny tahiry? Ny mpandinika iray dia miditra amin'ny fidirana amin'ny rakitra, manao fanovana, ny sisa dia mijery ny tenany ary mankafy ny famitana mandeha ho azy: fiaraha-monina, fanangonana fahalalana sy ny sisa. Nanao atrikasa momba ny fampiasana ny programa ho an'ny mpiara-miasa, nanoratra lahatsoratra tao amin'ny Confluence - ankehitriny ny orinasa dia manana fitaovana mety kokoa.

Ny fiasana amin'ity endri-javatra ity dia nanome ahy ny fahatakarana fa tsy ilaina ny hatahotra ny hanandrana amin'ny tetikasa open source - amin'ny ankapobeny, manana maritrano mazava izy ireo, ary na dia ny fahalalana fototra momba ny fiteny aza dia ho ampy ho an'ny fanandramana. Ary miaraka amin'ny faharetana sasany, dia ho afaka hanaisotra ireo hetsika mahazatra tsy mahazatra ianao, mitahiry fotoana hanaovana fanandramana vaovao.

Source: www.habr.com

Add a comment