ایا تاسو غواړئ چې د معمول عملیات بیا تکرار کړئ؟ نو زه نه. مګر هرکله چې د SQL مراجعینو کې د Rostelecom ذخیره کولو سره کار کول، ما باید د میزونو تر مینځ ټول شمولیت په لاسي ډول ثبت کړي. او دا د دې حقیقت سره سره چې په 90٪ قضیو کې د میزونو سره د یوځای کیدو ساحې او شرایط د غوښتنې څخه غوښتنه سره سمون لري! داسې بریښي چې کوم SQL پیرودونکي د اتوماتیک بشپړولو دندې لري ، مګر د ذخیره کولو لپاره دا تل کار نه کوي: دوی په ندرت سره د فعالیت ښه کولو لپاره ځانګړي محدودیتونه او بهرنۍ کیلي شاملوي ، او له دې پرته برنامه به نه پوهیږي چې څنګه ادارې د هر یو سره تړاو لري. نور او دا ستاسو لپاره څه کولی شي وړاندیز وکړي.
د انکار ، غوسه ، معاملې ، خپګان او منلو ته نږدې کیدو سره ، ما پریکړه وکړه - ولې د بلیک جیک سره د آټوفیل پلي کولو هڅه مه کوئ او دا په سمه توګه ترسره کړئ؟ زه د dbeaver مراجع کاروم، په جاوا کې لیکل شوی، دا د خلاصې سرچینې ټولنې نسخه لري. یو ساده پلان بشپړ شوی دی:
- د سرچینې کوډ کې ټولګي ومومئ کوم چې د اتوماتیک بشپړولو لپاره مسؤل دي
- دوی ته لارښوونه وکړئ چې د بهرني میټاډاټا سره کار وکړي او له هغه ځایه د یوځای کیدو په اړه معلومات راوباسي
- ؟؟؟؟؟؟
- ګټه
ما لومړی ټکی په چټکۍ سره معلوم کړ - ما په بګ ټریکر کې یوه غوښتنه وموندله چې د اتوماتیک ډکولو او اړونده کې تنظیم کړئ
د json سره کار کولو لپاره ما پریکړه وکړه چې کتابتون وکاروم
په پای کې، ما د جوړونې تېروتنې د حل کولو لپاره اداره کړه: ما کتابتون په pom.xml کې نه، بلکې په manifest.mf منشور کې ثبت کړ، لکه څنګه چې د OSGI لخوا اړین دی، پداسې حال کې چې دا د وارداتو بسته په توګه مشخص کوي. ترټولو ښکلی حل ندی، مګر دا کار کوي. بیا راتلونکی حیرانتیا ښکاره شوه. که تاسو په Intellij Idea کې وده کوئ، تاسو نشئ کولی یوازې لاړ شئ او د Eclipse پلیټ فارم پراساس د خپلې پروژې ډیبګ کول پیل کړئ: یو بې تجربه پراختیا کونکی باید د پوښتنې بشپړولو پرته د شنونکي څخه کم نه وي. د بیور پراختیا کونکي پخپله د ژغورنې لپاره راغلي، په ویکي کې په ګوته کوي چې ټول نڅا د تیمبورین سره چې باید ترسره شي. ترټولو ځورونکی شی دا دی چې حتی د دې ټولو سکواټونو وروسته ، پروژه نه غوښتل د json کتابتون سره په ډیبګ کې د وارداتو بسته بندۍ له لارې وصل شي (د دې حقیقت سره سره چې دا لاهم په بشپړ شوي محصول کې په بریالیتوب سره راټول شوی و).
پدې وخت کې ، ما دمخه زما د دندې لپاره د json کارولو تکلیف احساس کړی و - په هرصورت ، میټاډاټا باید په لاسي ډول ترمیم شي ، او د xml بڼه د دې لپاره غوره ده. د xml په ګټه دوهم دلیل په JDK کې د ټولو اړینو ټولګیو شتون و، کوم چې دا ممکنه کړې چې د بهرني کتابتون سره جګړه ودروي. په ډیر خوښۍ سره، ما ټول میټاډاټا له json څخه xml ته لیږدولي او د اتوماتیک منطق سمون یې پیل کړ.
د میټاډاټا مثال
<?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>
په پایله کې زه
کله چې کوډ کې بدلونونه رامینځته شوي، پوښتنه راپورته شوه - څوک به د میټاډاټا سره فایل ډک کړي؟ په ذخیره کې ډیری ادارې شتون لري، دا ګرانه ده چې ټولې اړیکې پخپله راجستر کړئ. د پایلې په توګه، ما پریکړه وکړه چې دا دنده خپلو ملګرو شنونکو ته وسپارم. ما د میټاډاټا فایل په svn کې پوسټ کړ ، له هغه ځایه چې د برنامه سره محلي لارښود ته چیک آوټ کیږي. اصل دا دی: ایا په ذخیره کې یو نوی وجود څرګند شوی؟ یو شنونکی فایل ته احتمالي یوځای کیدو ته ننوځي ، بدلونونه ترسره کوي ، پاتې نور ځان ته ګوري او د کار اتومات بشپړیدو څخه خوند اخلي: ټولنه ، د پوهې راټولول او دا ټول. د همکارانو لپاره د برنامه کارولو په اړه ورکشاپ ترسره کړ، په Confluence کې یوه مقاله لیکلې - اوس شرکت یو بل اسانه وسیله لري.
په دې ب featureه کار کولو ما ته دا پوهه راکړه چې د خلاصې سرچینې پروژې سره ټینکر کولو ته اړتیا نشته - د یوې قاعدې په توګه ، دوی روښانه جوړښت لري ، او حتی د ژبې لومړني پوهه به د تجربو لپاره کافي وي. او د یوې ټاکلې اندازې دوام سره ، تاسو به حتی وکولی شئ د کرکې معمول عملیاتو څخه ځان خلاص کړئ ، د نوي تجربو لپاره خپل وخت خوندي کړئ.
سرچینه: www.habr.com