рддреАрдЪ рдЧреЛрд╖реНрдЯ рдХрд░рдгреЗ рдХрд╕реЗ рдерд╛рдВрдмрд╡рд╛рдпрдЪреЗ

рддреБрдореНрд╣рд╛рд▓рд╛ рдирд┐рдпрдорд┐рдд рдСрдкрд░реЗрд╢рдиреНрд╕ рдкреБрдиреНрд╣рд╛ рдкреБрдиреНрд╣рд╛ рдХрд░рд╛рдпрд▓рд╛ рдЖрд╡рдбрддреЗ рдХрд╛? рдореНрд╣рдгреВрди рдореА рдирд╛рд╣реА. рдкрд░рдВрддреБ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд▓рд╛рдпрдВрдЯрдордзреНрдпреЗ рд░реЛрд╕реНрдЯреЗрд▓реЗрдХреЙрдо рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛, рдорд▓рд╛ рдЯреЗрдмрд▓рдордзреАрд▓ рд╕рд░реНрд╡ рдЬреЛрдбрдгреА рдореЕрдиреНрдпреБрдЕрд▓реА рдиреЛрдВрджрдгреА рдХрд░рд╛рд╡реА рд▓рд╛рдЧрд▓реА. рдЖрдгрд┐ рд╣реЗ рдЕрд╕реВрдирд╣реА 90% рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдЯреЗрдмрд▓рдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдлреАрд▓реНрдб рдЖрдгрд┐ рдЕрдЯреА рд╡рд┐рдирдВрддреА рддреЗ рд╡рд┐рдирдВрддреАрд╢реА рдЬреБрд│рддрд╛рдд! рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдХреЛрдгрддреНрдпрд╛рд╣реА рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд▓рд╛рдпрдВрдЯрдордзреНрдпреЗ рд╕реНрд╡рдпрдВ-рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЗ рдЕрд╕рддрд╛рдд, рдкрд░рдВрддреБ рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╛рдареА рддреЗ рдиреЗрд╣рдореАрдЪ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА: рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рддреЗ рдХреНрд╡рдЪрд┐рддрдЪ рдЕрджреНрд╡рд┐рддреАрдп рдорд░реНрдпрд╛рджрд╛ рдЖрдгрд┐ рдкрд░рджреЗрд╢реА рдХреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХрд╛рд╢реА рдХрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗрдд рд╣реЗ рдХрд│рдгрд╛рд░ рдирд╛рд╣реА. рдЗрддрд░ рдЖрдгрд┐ рддреЗ рдЖрдкрд▓реНрдпрд╛рд╕рд╛рдареА рдХрд╛рдп рджреЗрдК рд╢рдХрддреЗ.

рддреАрдЪ рдЧреЛрд╖реНрдЯ рдХрд░рдгреЗ рдХрд╕реЗ рдерд╛рдВрдмрд╡рд╛рдпрдЪреЗ

рдирдХрд╛рд░, рд░рд╛рдЧ, рд╕реМрджреЗрдмрд╛рдЬреА, рдиреИрд░рд╛рд╢реНрдп рдЖрдгрд┐ рд╕реНрд╡реАрдХреГрддреА рдЬрд╡рд│ рдЖрд▓реНрдпрд╛рд╡рд░, рдореА рдард░рд╡рд▓реЗ - рд╕реНрд╡рдд: рдмреНрд▓реЕрдХрдЬреЕрдХрд╕рд╣ рдСрдЯреЛрдлрд┐рд▓ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд╛ рдХрд░реВ рдирдпреЗ рдЖрдгрд┐ рддреЗ рдпреЛрдЧреНрдп рдорд╛рд░реНрдЧрд╛рдиреЗ рдХрд░реВ рдирдпреЗ? рдореА рдЬрд╛рд╡рд╛ рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ dbeaver рдХреНрд▓рд╛рдпрдВрдЯ рд╡рд╛рдкрд░рддреЛ, рддреНрдпрд╛рдЪреА рдореБрдХреНрдд рд╕реНрд░реЛрдд рд╕рдореБрджрд╛рдп рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ. рдПрдХ рд╕рд╛рдзреА рдпреЛрдЬрдирд╛ рдкрд░рд┐рдкрдХреНрд╡ рдЭрд╛рд▓реА рдЖрд╣реЗ:

  1. рд╕реНрддреНрд░реЛрдд рдХреЛрдбрдордзреАрд▓ рд╡рд░реНрдЧ рд╢реЛрдзрд╛ рдЬреЗ рд╕реНрд╡рдпрдВрдкреВрд░реНрдгрддреЗрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗрдд
  2. рдмрд╛рд╣реНрдп рдореЗрдЯрд╛рдбреЗрдЯрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдирд╛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рддреЗрдереВрди рд╕рд╛рдореАрд▓ рд╣реЛрдгреНрдпрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдХрд╛рдврд╛
  3. ??????
  4. рд▓рд╛рдн

рдорд▓рд╛ рдкрд╣рд┐рд▓рд╛ рдореБрджреНрджрд╛ рдЕрдЧрджреА рдкрдЯрдХрди рд╕рдордЬрд▓рд╛ - рдорд▓рд╛ рдмрдЧ рдЯреНрд░реЕрдХрд░рдордзреНрдпреЗ рдСрдЯреЛрдлрд┐рд▓ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рдЖрдврд│рд▓реА рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╡рдЪрдирдмрджреНрдз SQLCompletionAnalyser рд╡рд░реНрдЧ рд╢реЛрдзрд▓рд╛. рдореА рдХреЛрдб рдкрд╛рд╣рд┐рд▓рд╛ рдЖрдгрд┐ рдорд▓рд╛ рддреЗрдЪ рд╣рд╡реЗ рдЖрд╣реЗ. рдмрд╛рдХреА рддреЗ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд╛рдпрдЪреЗ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рд╕рд░реНрд╡рдХрд╛рд╣реА рдХрд╛рд░реНрдп рдХрд░реЗрд▓. рдореА рдореЛрдХрд│реНрдпрд╛ рд╕рдВрдзреНрдпрд╛рдХрд╛рд│рдЪреА рд╡рд╛рдЯ рдкрд╛рд╣рд┐рд▓реА рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрджреНрд╡рд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ рд▓рд╛рдЧрд▓реЛ. рдореА json рдордзреНрдпреЗ рдЯреЗрдмрд▓ рд▓рд┐рдВрдХ рдирд┐рдпрдо (рдореЗрдЯрд╛рдбреЗрдЯрд╛) рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рдорд▓рд╛ рдпрд╛ рдлреЙрд░реНрдореЗрдЯрдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрднрд╡ рдирд╡реНрд╣рддрд╛ рдЖрдгрд┐ рд╕рдзреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рд╣реА рдЪреВрдХ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдореНрд╣рдгреВрди рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рдд рд╣реЛрддреЗ.

json рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореА рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛ json-рд╕рд╛рдзрд╛ Google рдХрдбреВрди. рдЗрдереВрдирдЪ рдЖрд╢реНрдЪрд░реНрдпрд╛рдЪреА рд╕реБрд░реБрд╡рд╛рдд рдЭрд╛рд▓реА. рдЕрд╕реЗ рдЭрд╛рд▓реЗ рдХреА, dbeaver, рдЦрд░рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореНрд╣рдгреВрди, OSGi рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд╛рдкрд░реВрди Eclipse рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗ рдЧреЗрд▓реЗ. рдЕрдиреБрднрд╡реА рд╡рд┐рдХрд╕рдХрд╛рдВрд╕рд╛рдареА, рд╣реА рдЧреЛрд╖реНрдЯ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рд╕реЛрдпреАрд╕реНрдХрд░ рдмрдирд╡рддреЗ, рдкрд░рдВрддреБ рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рддреЗ рдЕрдзрд┐рдХ рдЧрдбрдж рдЬрд╛рджреВрд╕рд╛рд░рдЦреЗ рд╣реЛрддреЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдореА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рддрдпрд╛рд░ рдирд╡реНрд╣рддреЛ: рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗ, рдореА рдЬреЗрд╕рди-рд╕рд┐рдВрдкрд▓ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рддреАрд▓ рдорд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реЗ рд╡рд░реНрдЧ рдЖрдпрд╛рдд рдХрд░рддреЛ. рд╕рдВрдкрд╛рджрд┐рдд рд╡рд░реНрдЧ, рддреЛ pom. xml рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛, рддреНрдпрд╛рдирдВрддрд░ рдкреНрд░рдХрд▓реНрдк рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╕рд╛рдорд╛рдиреНрдпрдкрдгреЗ рдПрдХрддреНрд░ рдпреЗрдгреНрдпрд╛рд╕ рдирдХрд╛рд░ рджреЗрддреЛ рдЖрдгрд┐ рддреНрд░реБрдЯреАрдВрд╕рд╣ рдХреНрд░реЕрд╢ рд╣реЛрддреЛ.

рд╢реЗрд╡рдЯреА, рдореА рдмрд┐рд▓реНрдб рддреНрд░реБрдЯреАрдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ: рдореА рд▓рд╛рдпрдмреНрд░рд░реА pom.xml рдордзреНрдпреЗ рдирд╛рд╣реА рддрд░ manifest.mf рдореЕрдирд┐рдлреЗрд╕реНрдЯрдордзреНрдпреЗ рдиреЛрдВрджрдгреАрдХреГрдд рдХреЗрд▓реА рдЖрд╣реЗ, OSGI рдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░, рдЖрдпрд╛рдд-рдкреЕрдХреЗрдЬ рдореНрд╣рдгреВрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛рдирд╛. рд╕рд░реНрд╡рд╛рдд рд╕реБрдВрджрд░ рдЙрдкрд╛рдп рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдордЧ рдкреБрдврдЪреЗ рдЖрд╢реНрдЪрд░реНрдп рджрд┐рд╕рд▓реЗ. рдЬрд░ рддреБрдореНрд╣реА Intellij Idea рдордзреНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рддреБрдореНрд╣реА рдЧреНрд░рд╣рдг рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдЖрдзрд╛рд░рд┐рдд рддреБрдордЪрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреАрдмрдЧ рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА: рдПрдХ рдЕрдирдиреБрднрд╡реА рд╡рд┐рдХрд╕рдХрд╛рд▓рд╛ рдХреНрд╡реЗрд░реА рдкреВрд░реНрдг рди рдХрд░рддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╛рдкреЗрдХреНрд╖рд╛ рдХрдореА рддреНрд░рд╛рд╕ рд╕рд╣рди рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрдгрд╛рд░ рдирд╛рд╣реА. рдмреАрд╡реНрд╣рд░ рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕ рд╕реНрд╡рддрдГ рдмрдЪрд╛рд╡рд╛рд╕рд╛рдареА рдЖрд▓реЗ, рд╡рд┐рдХреАрдордзреНрдпреЗ рдЯреЕрдВрдмреЛрд░рд┐рдирд╕рд╣ рд╕рд░реНрд╡ рдиреГрддреНрдп рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдЬреЗ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╕рд░реНрд╡рд╛рдд рддреНрд░рд╛рд╕рджрд╛рдпрдХ рдЧреЛрд╖реНрдЯ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдпрд╛ рд╕рд░реНрд╡ рд╕реНрдХреНрд╡реЕрдЯреНрд╕рдирдВрддрд░рд╣реА, рдкреНрд░рдХрд▓реНрдк рдЖрдпрд╛рдд-рдкреЕрдХреЗрдЬрджреНрд╡рд╛рд░реЗ рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ 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>

рдкрд░рд┐рдгрд╛рдореА рдЖрдп рдмрджрд▓ рдХреЗрд▓реЗ SQLUtils рдЖрдгрд┐ SQLCompletionAnalyser рд╡рд░реНрдЧрд╛рдВрдордзреНрдпреЗ. рдХрд▓реНрдкрдирд╛ рдЕрд╢реА рдЖрд╣реЗ: рдЬрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореВрд▓рднреВрдд рддрд░реНрдХ рд╡рд╛рдкрд░реВрди рдпреЛрдЧреНрдп рд╕реНрд╡рдпрдВрдкреВрд░реНрдг рд╕реВрдЪрдирд╛ рд╢реЛрдзрдгреНрдпрд╛рдд рдЕрдХреНрд╖рдо рдЕрд╕реЗрд▓, рддрд░ рддреЛ рдмрд╛рд╣реНрдп xml рдлрд╛рдЗрд▓ рд╡рд╛рдкрд░реВрди рд╕рдВрднрд╛рд╡реНрдп рдЬреЛрдбрдгреАрдЪреА рдЙрдкрд╕реНрдерд┐рддреА рддрдкрд╛рд╕рддреЛ. рдлрд╛рдЗрд▓ рд╕реНрд╡рддрдГрдЪ рд╕рд╛рд░рдгреНрдпрд╛рдВрдЪреНрдпрд╛ рдЬреЛрдбреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рдЬреНрдпрд╛ рдлреАрд▓реНрдбрджреНрд╡рд╛рд░реЗ рдпрд╛ рд╕рд╛рд░рдгреНрдпрд╛рдВрдирд╛ рд▓рд┐рдВрдХ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. eff_dttm рдЖрдгрд┐ exp_dttm рд░реЗрдХреЙрд░реНрдбрдЪреНрдпрд╛ рддрд╛рдВрддреНрд░рд┐рдХ рд╡реИрдзрддрд╛ рддрд╛рд░рдЦрд╛рдВрд╡рд░ рдирд┐рд░реНрдмрдВрдз рдЖрдгрд┐ рддрд╛рд░реНрдХрд┐рдХ рд╣рдЯрд╡рд┐рдгреНрдпрд╛рдЪрд╛ рдзреНрд╡рдЬ deleted_ind рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

рдХреЛрдбрдордзреНрдпреЗ рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдкреНрд░рд╢реНрди рдЙрджреНрднрд╡рд▓рд╛ - рдореЗрдЯрд╛рдбреЗрдЯрд╛рд╕рд╣ рдлрд╛рдЗрд▓ рдХреЛрдг рднрд░реЗрд▓? рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдмрд░реНрдпрд╛рдЪ рд╕рдВрд╕реНрдерд╛ рдЖрд╣реЗрдд, рд╕рд░реНрд╡ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡рддрдГ рдиреЛрдВрджрдгреА рдХрд░рдгреЗ рдорд╣рд╛рдЧ рдЖрд╣реЗ. рдкрд░рд┐рдгрд╛рдореА, рдореА рд╣реЗ рдХрд╛рдо рдорд╛рдЭреНрдпрд╛ рд╕рд╣рдХрд╛рд░реА рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╛рдВрдирд╛ рд╕реЛрдкрд╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рдореА рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓ svn рдордзреНрдпреЗ рдкреЛрд╕реНрдЯ рдХреЗрд▓реА, рдЬрд┐рдереВрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд╕рд╣ рд╕реНрдерд╛рдирд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдЪреЗрдХрдЖрдЙрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рддрддреНрддреНрд╡ рд╣реЗ рдЖрд╣реЗ: рднрд╛рдВрдбрд╛рд░рд╛рдд рдирд╡реАрди рдЕрд╕реНрддрд┐рддреНрд╡ рджрд┐рд╕рд▓реЗ рдЖрд╣реЗ рдХрд╛? рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╕рдВрднрд╛рд╡реНрдп рд╕рд╛рдореАрд▓ рд╣реЛрдКрди рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЛ, рдмрджрд▓ рдХрд░рддреЛ, рдмрд╛рдХреАрдЪреЗ рд╕реНрд╡рддрдГрдХрдбреЗ рддрдкрд╛рд╕рддрд╛рдд рдЖрдгрд┐ рдХрд╛рд░реНрдпрд░рдд рд╕реНрд╡рдпрдВ-рдкреВрд░реНрдгрддреЗрдЪрд╛ рдЖрдирдВрдж рдШреЗрддрд╛рдд: рд╕рдореБрджрд╛рдп, рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╕рдВрдЪрдп рдЖрдгрд┐ рд╣реЗ рд╕рд░реНрд╡. рд╕рд╣рдХрд╛рд▒реНрдпрд╛рдВрд╕рд╛рдареА рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд╛рдкрд░рдгреНрдпрд╛рд╡рд░ рдПрдХ рдХрд╛рд░реНрдпрд╢рд╛рд│рд╛ рдЖрдпреЛрдЬрд┐рдд рдХреЗрд▓реА, рдХреЙрдиреНрдлреНрд▓реБрдПрдВрд╕рдордзреНрдпреЗ рдПрдХ рд▓реЗрдЦ рд▓рд┐рд╣рд┐рд▓рд╛ - рдЖрддрд╛ рдХрдВрдкрдиреАрдХрдбреЗ рдЖрдгрдЦреА рдПрдХ рд╕реЛрдпреАрд╕реНрдХрд░ рд╕рд╛рдзрди рдЖрд╣реЗ.

рдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рд╡рд░ рдХрд╛рдо рдХреЗрд▓реНрдпрд╛рдиреЗ рдорд▓рд╛ рд╣реЗ рд╕рдордЬрд▓реЗ рдХреА рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдЫреЗрдбрдЫрд╛рдб рдХрд░рдгреНрдпрд╛рд╕ рдШрд╛рдмрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА - рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрд╣реЗ рдЖрдгрд┐ рднрд╛рд╖реЗрдЪреЗ рдореВрд▓рднреВрдд рдЬреНрдЮрд╛рди рджреЗрдЦреАрд▓ рдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдЕрд╕реЗрд▓. рдЖрдгрд┐ рдард░рд╛рд╡рд┐рдХ рдЪрд┐рдХрд╛рдЯреАрдиреЗ, рддреБрдореНрд╣реА рддрд┐рд░рд╕реНрдХрд╛рд░рдпреБрдХреНрдд рдирд┐рдпрдорд┐рдд рдСрдкрд░реЗрд╢рдиреНрд╕рдкрд╛рд╕реВрди рдореБрдХреНрдд рд╣реЛрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рд╛рд▓, рдирд╡реАрди рдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рд╕реНрд╡рддрдГрдЪрд╛ рд╡реЗрд│ рд╡рд╛рдЪрд╡реВ рд╢рдХрд╛рд▓.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛