рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдиреМ рджреМрд░



рдореИрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореЗрд░реА рд╕рдордЭ рдореЗрдВ рдкреНрд░рдгрд╛рд▓реА рди рдХреЗрд╡рд▓ рдХреЛрдб рд╣реИ, рдмрд▓реНрдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдФрд░ рд▓реЛрдЧ рднреА рд╣реИрдВред

рдореИрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛: рд╣рдо рдХреНрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╣ рдХреМрди рдХрд░ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?
рдФрд░ рдлрд┐рд░ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдореИрдВ рдкрд╣рд▓реА рд╕реЗ рдиреМрд╡реАрдВ рддрдХ рдкрд░реАрдХреНрд╖рдг рдордВрдбрд▓рд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред

рдХреНрдпрд╛?

рд╣рдорд╛рд░рд╛ рдЙрддреНрдкрд╛рдж рдПрдХ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд┐рд╕ рдбреЗрд╕реНрдХ рд╣реИ, рдЬреЛ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рдХреМрди?

рдореИрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рд╕рдореВрд╣ рдХрд╛ рдиреЗрддрд╛ рд╣реВрдВ; рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рд╣рдо рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ; рд╣рд╛рде рдкрд░реАрдХреНрд╖рдХ рдЬрд┐рдирдХреА рджрд┐рдирдЪрд░реНрдпрд╛ рд╣рдо рдорд┐рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ; рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпреЛрдВ?

рдореЗрд░реЗ рд╕рдореВрд╣ рдХрд╛ рд▓рдХреНрд╖реНрдп рдЙрддреНрдкрд╛рдж рдХреЛ рдореГрддреНрдпреБ рдХреЗ рдкреНрд░рддрд┐рдЧрдорди рд╕рд░реНрдкрд┐рд▓ рд╕реЗ рдмрдЪрд╛рдирд╛ рд╣реИред
рд╕рдореВрд╣ рдХрд╛ рдХрд╛рд░реНрдп рдореИрдиреНрдпреБрдЕрд▓ рд╢реНрд░рдо рдХреА рдиреНрдпреВрдирддрдо рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрддрдо рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЛрдВ рдХреЗ рджреЛрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдирд╣реАрдВ рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдХреНрдпрд╛ рд╣реИ?

рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 900 рдХрдо рдФрд░ рдмрд╣реБрдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдирд╣реАрдВ рд╣реИрдВред
рдЫрд╣ рд╕рд░реНрд╡рд░, рддреАрди DBMS, рджреЛ OS рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдФрд░ рддреАрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдкрд░ CI рдЬреЗрдирдХрд┐рдВрд╕ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рдЙрддреНрдкрд╛рдж рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?



рд╕рд░реНрдХрд▓ рдПрдХ - рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рджреГрд╢реНрдпред

рд╕рдмрд╕реЗ рдЫреЛрдЯреА рдЗрдХрд╛рдИ - рдкрд░реАрдХреНрд╖рдг, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
Javadoc рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐, рдЬрд┐рд╕реЗ рд╣рдо рддрдм рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдФрд░ PMAs рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред

  1. рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╣рдо рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рд╣реИред
  2. рдЙрд╕ рдмрдпрд╛рди рд╕реЗ рд▓рд┐рдВрдХ рдЬрд┐рд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ; рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдорд╛рдорд▓рд╛ рдкрд░реАрдХреНрд╖рдХ рдХреА рд╕рд╣рдЬ рдХрд▓реНрдкрдирд╛ рдХрд╛ рдПрдХ рдЦреЗрд▓ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ, рд╣рдо рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
  3. рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд░реВрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкрд░реАрдХреНрд╖рдг рдХреЗ рддреАрди рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ - рддреИрдпрд╛рд░реА, рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдФрд░ рд╕рддреНрдпрд╛рдкрдиред

рдиреЛрдЯ: рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░реВрд╕реА рдореЗрдВ рдЬрд╛рд╡рд╛ рд╕реЗ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рдердорд┐рдХ рд╣реИ, рдФрд░ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдорд╛рдорд▓реЗ рдХреЛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЗрд╕реЗ рдХреЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИред

рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдкрд╣рд▓рд╛ рдЪрд░рдг рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреА рддреИрдпрд╛рд░реА рд╣реИред
Catalog catalog = DAOCatalog.create(true, false); catalog.set(Catalog.TITLE, тАЬ          тАЭ) DSLCatalog.add(catalog); CatalogItem item = DAOCatalogItem.create(catalog); DSLCatalogItem.add(item); 

рдЕрд╡рдзрд╛рд░рдгрд╛ - рдбреАрдПрдУ рд╕реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдореЙрдбрд▓ рд╣реИ; рдбреАрдПрд╕рдПрд▓ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд░рд╛рдЬреНрдп рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рддреА рд╣реИрдВред
рдбреАрдПрд╕рдПрд▓ рд╕реЗ рд╡рд┐рдзрд┐рдпрд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрджрд▓ рджреЗрддреА рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдХ рдкреБрди: рд╕реЗрд╡рд╛ рд╣реИред рд╣рдо рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкреВрд░реЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдиреЛрдЯ: рдирд┐рдпрдо рдкреНрд░рддреНрдпреЗрдХ рдПрдиреНрдХреЛрдбреЗрдб рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреАрдПрд╕рдПрд▓ рд▓рд┐рдЦрдирд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдореЙрдбрд▓ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдПрдХ рдирдХреНрд╢рд╛ рд╣реИ, рд╣рдо рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред

рдкрд░реАрдХреНрд╖рдг рдХрд╛ рджреВрд╕рд░рд╛ рдЪрд░рдг рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИред
 DSLCatalog.goToCard(tester, item.get(CatalogItem.PARENT_CODE)); tester.clickElement(ADD_ELEMEMT); DSLForm.assertFormAppear(tester, DSLForm.DIALOG); tester.sendKeys(DSLForm.TITLE_INPUT, item.get(CatalogItem.TITLE)); tester.sendKeys(DSLForm.CODE_INPUT, item.get(CatalogItem.CODE)); tester.clickElement(DSLForm.SAVE_ON_FORM); DSLForm.assertFormDisappear(tester, DSLForm.DIALOG); 

рдиреЛрдЯ: рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реАрдХреНрд╖рдгрд╢реАрд▓рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡ рдХреА рдкреГрд╖реНрда рдХреЗ рднреАрддрд░ рдЕрдкрдиреА рдЕрдиреВрдареА рдЖрдИрдбреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ xpath рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
  "//*[@id='description-value']" 
рдпрд╛
  "//*[@id='description-input']" 

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ:
 "/html/body/table/tbody/tr/td[6]/table/tbody/tr[4]/td/div" 

рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рддреАрд╕рд░рд╛ рдЪрд░рдг рд╕рддреНрдпрд╛рдкрди рдпрд╛ рд╕рддреНрдпрд╛рдкрди рд╣реИред рд╣рдо рдЗрд╕реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 Assert.assertEquals("      ", template.get(ReportTemplate.TITLE), tester.getTextElement(DSLForm.TITLE_VALUE)); 

рдФрд░ рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
 ModelMap map = SdDataUtils.getObject(sc.get(Bo.METACLASS_FQN), Bo.UUID, sc.getUUID()); String message = String.format("   uuid- '%s'   .", sc.getUUID()); Assert.assertEquals(message, team.get(Bo.TITLE), SdDataUtils.getMapValue(map, "responsibleTeam").get("title")); 

рдиреЛрдЯ: рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ; рд╕реНрд╡рдЪрд╛рд▓рди рд╕рдореБрджрд╛рдп рддрддреНрд╡реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ред рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреЗрдЬреА рд▓рд╛рддреЗ рд╣реИрдВред

рджреВрд╕рд░рд╛ рдФрд░ рддреАрд╕рд░рд╛ рдЪрд░рдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдкреАрдЖрдИ рдкрд░ рд▓рдЧрднрдЧ рд╕реМ рдкрд░реАрдХреНрд╖рдгред
рдиреЛрдЯ: рдХрд┐рд╕реА рдиреЗ рд╕реЛрдЪрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдХреНрдпрд╛ рдпреВрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдФрд░ рдЙрдард╛рдП рдЧрдП рдЖрд╡реЗрджрди рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдореИрдВ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛: рд╣рдорд╛рд░реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреА рдЙрдЪреНрдЪ рдЬрдЯрд┐рд▓рддрд╛ рд╣реИред рд▓рдЧрднрдЧ рд╣рд░ рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдПрдХ рдмрдбрд╝реЗ рд╕рдВрджрд░реНрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпреВрдирд┐рдЯ-рдкрд░реАрдХреНрд╖рдг рд╕рдордп рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рдЬреАрддрддреЗ рд╣реИрдВ рдФрд░ рд▓реЗрдЦрди рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╣рд╛рд░ рдЬрд╛рддреЗ рд╣реИрдВред


рджреВрд╕рд░рд╛ рдЪрдХреНрд░ред рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдгред

рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд▓реЙрдиреНрдЪ рд╕реЗ рдкрд╣рд▓реЗ:

рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рд╕реЗ рдкрд╣рд▓реЗ

рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж:


рддреАрд╕рд░рд╛ рдЪрдХреНрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИред




рдиреЛрдЯ: рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЕрд╕реЗрдВрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬрд╛рд╡рджреЛрдХ
 mvn -f sdng-inttest/pom.xml javadoc:test-javadoc -e 

рдпрд╣ рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдФрд░ рдкреАрдПрдо рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреНрдпрд╛ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЧрд┐рдЯ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░рдиреЗ рдФрд░ рдЖрдИрдбреАрдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдЬрдбрд╝ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:



рдЪреМрдерд╛ рдЪрдХреНрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХрд╛ рд╕рдВрдЧрдарди рд╣реИред


рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХреЛрдб рдХреА 60,000 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ


рдиреЛрдЯ: рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреИрд╕реЗ рджрд┐рдЦрддреА рд╣реИрдВ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдЧрд╛:
FirefoxProfile
  /** *  Firefox . * http://code.google.com/p/selenium/wiki/FirefoxDriver * @return    FirefoxDriver,   WebDriver. * @exception WebDriverException    . */ private WebDriver openFirefox() { FirefoxProfile firefoxProfile = new FirefoxProfile(); //   firefoxProfile.setPreference("browser.sessionhistory.max_total_viewer", "1"); // 3   ,     firefoxProfile.setPreference("browser.sessionhistory.max_entries", 3); firefoxProfile.setPreference("browser.sessionhistory.max_total_viewers", 1); firefoxProfile.setPreference("browser.sessionstore.max_tabs_undo", 0); //    firefoxProfile.setPreference("network.http.pipelining", true); firefoxProfile.setPreference("network.http.pipelining.maxrequests", 8); //  firefoxProfile.setPreference("nglayout.initialpaint.delay", "0"); //    firefoxProfile.setPreference("browser.download.manager.scanWhenDone", false); //   firefoxProfile.setPreference("browser.tabs.animate", false); // firefoxProfile.setPreference("browser.search.suggest.enabled", false); //  firefoxProfile.setPreference("image.animation_mode", "none"); //   firefoxProfile.setPreference("browser.bookmarks.max_backups", 0); // firefoxProfile.setPreference("browser.formfill.enable", false); //       //firefoxProfile.setPreference("browser.cache.memory.enable", false); firefoxProfile.setPreference("browser.cache.disk.enable", false); //     tslogs firefoxProfile.setPreference("browser.download.folderList", 2); firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false); firefoxProfile.setPreference("browser.download.dir", new File("").getAbsolutePath()); firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/xml,application/pdf,application/zip,text/plain,application/vnd.ms-excel"); return new FirefoxDriver(firefoxProfile); } 

рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдореВрд▓ рдкрд░ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реА рдЕрджреНрднреБрдд рдЪреАрдЬ рднреА рд╣реИред
рдиреЛрдЯ: рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА, рдПрдХ рдФрд░ рдбреЗрдврд╝ рд╕рд╛рд▓ рд╕реЗ рд░рд╣ рд░рд╣реА рд╣реИ, svn рд╕реЗ git рдХреА рдЪрд╛рд▓ рд╕реЗ рдмрдЪреА рд╣реБрдИ рд╣реИ, 300 рдХрдорд┐рдЯ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП 100 рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ

рджреЛ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ - рдЬреЗрдирдХрд┐рдВрд╕ рд╕реЗ рд╢реБрд░реВ рдФрд░ рдЧреНрд░рд╣рдг рд╕реЗ
рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо:
  1. рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдорд╛рд╡реЗрди рд╕реЗ рдкрд╛рд░рд┐рдд - рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ред рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрдирд╛рдПрдВред
  2. рд╣рдо рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗ рдмрд╛рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд▓реЗрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗред
  3. рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ CI рдореЗрдВ рд╣рдо рдорд╛рд╡реЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рдореЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓:
 allowscreenshot=true needinit=true superlogin=naumen allowsaveconfig=true clickertime=3600000 testerpassword=atpassword testerlogin=atlogin superpassword= needdelete=true webaddress=http://localhost:9090/sd/ browsertype=firefox 



рдиреЛрдЯ: рдЯреАрдПрд╕ рд╕рднреА рд╡рдпрд╕реНрдХ рд╣реИ - рдЗрд╕рдХреА рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВред
"рдПрдХ рдСрдЯреЛрдЯреЗрд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдмреЗрдВрдЪ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЗ рдЖрдЧреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдпрд╛ рдирдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред"
тАЬрдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЯреАрдПрд╕ рдкреНрд░рддреНрдпреЗрдХ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рд╕рдордп рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рд╣реЛ рд╕рдХреЗред
рдФрд░ рдЗрд╕реА рддрд░рд╣ред


рд╣рдо рдЙрдирдХреЗ рдмрджрд╕реВрд░рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдВрддреБрд▓рди рдХрд╛рдпрдо рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ pom.xml рдореЗрдВ
  <profile> <id>smoke-snap2-branch</id> ... <execution> <id>integration-tests</id> <configuration> <excludes> <exclude>all</exclude> </excludes> <includes> <include>**/selenium/**/advlist/*Test.java</include> <include>**/selenium/**/bo/*Test.java</include> <include>**/selenium/**/advimport/*Test.java</include> <include>**/selenium/**/user/*Test.java</include> <include>**/selenium/**/rights/*Test.java</include> </includes> ... </profile> 


рдХрдИ рдРрд╕реЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╣реИрдВ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреИрдХреЗрдЬ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВред

рдкрд╛рдВрдЪрд╡рд╛рдВ рдЪрдХреНрд░ред рд╕реНрд░реЛрдд рдХреЛрдб рдкреНрд░рдмрдВрдзрди

рд╣рдо рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ git рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдореЙрдбрд▓ рдХрд╛ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдиреЛрдЯ: рдЯреЗрд╕реНрдЯ рдЖрд╡реЗрджрди рдХреЛрдб рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рд╢рд╛рдЦрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ, рдбреЗрд╡рд▓рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХреЛ рднреА рдЕрд▓рдЧ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╣рдо рддреБрд░рдВрдд рдЗрд╕ рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрдгрдп рдкрд░ рдирд╣реАрдВ рдЖрдПред


рдЫрдареЗ рдХрд╛ рдЪрдХреНрд░ред CI рдЬреЗрдирдХреАрдВрд╕ рдореЗрдВ рдЕрд▓рдЧ рд╡рд┐рдзрд╛рдирд╕рднрд╛ред

рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдПрдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдирд┐рдпрдореЛрдВ рдХреЛ рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрд░реАрдм рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВред
рдирдЬрд╝рд░


рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдкреНрд▓рдЧрдЗрдиреНрд╕:


рдЪрд▓ рд░рд╣реЗ рдкрд░реАрдХреНрд╖рдг:
 export DISPLAY='localhost:'$DISPLAY_NUM'.0'; mvn verify -P war-deploy,$TEST_PROFILE -Dext.prop.dir=$WORKSPACE/$PROP_DIR -Dwebaddress=http://localhost:$DEPLOY_PORT/sd -Dselenium.deploy.port=$DEPLOY_PORT -Dcargo.tomcat.ajp.port=$ARJ_PORT -Dcargo.rmi.port=$RMI_PORT 

рдпреБрджреНрдз-рддреИрдирд╛рдд рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХрд╣рд╛рдВ рд╣реИ - рдорд╛рд╡реЗрди-рдХрд╛рд░реНрдЧреЛ-рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрдк рдХреЛ рдКрдкрд░ рдЙрдард╛рдирд╛

рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рджред


рд╕рд╛рддрд╡рд╛рдВ рдЪрдХреНрд░ред рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкрджрд╛рдиреБрдХреНрд░рдоред

рдЕрд╕реЗрдВрдмрд▓реА рд╕рдореВрд╣ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЛ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ рд╢рд╛рдЦрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рдореВрд▓ рд╡рд┐рдзрд╛рдирд╕рднрд╛ - рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдВрдХрд▓рдиред
рджреВрд╕рд░реА-рд╕реНрддрд░реАрдп рдмрд╛рд▓ рдЕрд╕реЗрдВрдмрд▓реА - рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕реЗрдХрд▓, рдПрдордПрд╕рдПрд╕рд╕реАрдПрд▓, рдУрд░реЗрдХрд▓ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг; рд╕реНрдЯреИрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ (CPD, PMD, findbugs); рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ (рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреА рдЕрд╕реЗрдВрдмрд▓реАред
рддреАрд╕рд░реЗ рд╕реНрддрд░ - рддреАрди рдзрд╛рд░рд╛рдУрдВ рдореЗрдВ рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░рд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгред

рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреАрд╕рд░реА рд╢рд╛рдЦрд╛

рдиреЛрдЯ: рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдЕрд╕реЗрдВрдмрд▓реА рдПрдХ рд╕рд░рд▓ рдФрд░ рдкреНрд░рднрд╛рд╡реА рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╛рдЪреАрди рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрддрд┐рдо рдпреБрджреНрдз рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЪрдврд╝рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдЧреИрд░-рд░рд┐рдХреНрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдЧрддрд╛ рд╣реИред


рдЖрдард╡рд╛рдВ рд╕рд░реНрдХрд▓, рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рд╕реНрддрд░

рд╣рдорд╛рд░реА рд╕реАрдЖрдИ 4 рд╢рд╛рдЦрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рд╢рд╛рдЦрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдПрдХ рдореБрдЦреНрдп рд╢рд╛рдЦрд╛, рдЬрд┐рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рднреА рд╕рдорд░реНрдерд┐рдд DBMS рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реЗ рджреВрд╕рд░реЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рджреЛ рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд рдереА (рд╣рдордиреЗ EX4 рдХреЛ рдЪреБрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЧрддрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ; рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╖реНрдЯрддрдо рд╣реИ - рдкреНрд░рддрд┐ рд╕рд░реНрд╡рд░ рддреАрди рдЬреЗрдирдХреАрдВрд╕ рдиреЛрдбреНрд╕)ред рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрдХреНрд░реАрди, рдкреЛрд░реНрдЯ рдФрд░ DBMS рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдиреЛрдб рд╕реНрдкреЗрд╕ рд╣реИред
рд▓реЛрдбрд┐рдВрдЧ рд╢реЗрдбреНрдпреВрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


рдЬреЗрдирдХрд┐рдВрд╕ рдиреЗ рдмрд┐рд▓реНрдб рдкреНрд▓рдЧрдЗрди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджрд┐рдпрд╛ , рдЬреЛ рдЖрдкрдХреЛ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдВрджрд░ рд╕рд┐рддрд╛рд░реЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рдирдХреА рд╕рднреА рдмреЗрдЯрд┐рдпрд╛рдВ рдмрд┐рдирд╛ рдЧрд┐рд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд╛рд╕ рд╣реЛ рдЧрдИрдВред рдпрд╣ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдпрд╛ рдПрдХ рд╣рдЬрд╛рд░ рдпреВрдирд┐рдЯ-рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреАрди рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдирд┐рдХрд▓рд╛ред рдЙрдирд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рдмреЗрд╣реЛрд╢ рдкреАрдПрдо рдиреЗ рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдП рдереЗ, рдЧрд┐рд░рддреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЕрдиреБрдирдп рдФрд░ рдзрдордХрд┐рдпреЛрдВ рдиреЗ рдорджрдж рдирд╣реАрдВ рдХреАред рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб рдореЗрдВ рддрд╛рд░реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдП - рдкрд╣рд▓реЗ рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рд╣рд░ рджреЛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░ рджрд┐рди рдХрд╛ рд▓рд┐рдЯрдореЛрдЯрд┐рдл - рд╣рдо рджреЛ рд╕рд┐рддрд╛рд░реЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдХреА рдЧрддрд┐ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдмрдврд╝ рдЧрдИрдВ - рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдЕрдм рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реИред
рдкреАрдПрдо рд░рд┐рд▓реАрдЬ рдХреЗ рджрд┐рди рдЗрд╕ рддрд╕реНрд╡реАрд░ рдкрд░ рдзреНрдпрд╛рди рд▓рдЧрд╛ рд░рд╣реЗ рд╣реИрдВред


рдкреНрд░рджрд░реНрд╢рди рдкреНрд▓рдЧрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ - рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдмрд╕реЗ рдЧрдВрднреАрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рдПрдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред

рдиреЛрдЯ: рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧреА рдмрд╛рддреЗрдВ:


рдиреМрд╡рд╛рдВ рдЪрдХреНрд░, рд▓реЛрдЧ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВред

рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕рдмрд╕реЗ рдХрдард┐рди рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдорд╛рдорд▓рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЖрдзрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдореБрдЦреНрдп рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдореИрдиреБрдЕрд▓ рдкрд░реАрдХреНрд╖рдХ рд╣реИрдВ, рд╣рдо рдЙрдирдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЦрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП рдкреВрдЫрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдо рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рджреЛрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬреЗрдЖрдИрдЖрд░рдП рдореЗрдВ рд╣рд░ рдкреВрд░рд╛ рдХрд╛рд░реНрдп рдореЗрд░реЗ рдЯрдХрдЯрдХреА рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ - рдХреНрдпрд╛ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдореНрдорд╛ рдкреНрд▓рдЧрд┐рди рдФрд░ рдХрд╡рд░реЗрдЬ рдЧрдгрдирд╛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд▓рд┐рдП рддреАрди рдмрд┐рд▓реНрдб рд╣реИрдВ - рдпреВрдЖрдИрдПрдирдЯреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд▓рд┐рдПред рдЗрди рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдмрд╛рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП, рдХрд╡рд░реЗрдЬ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдХреЛрдИ рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИ - рд╣рдорд╛рд░реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рдРрд╕реА рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рд░рд▓ рдХрд╡рд░реЗрдЬ рдЕрдиреБрд╕реВрдЪреА


рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЧрд┐рдЯ рдореЗрдВ рдПрдХ рд╢рд╛рдЦрд╛ рдЦреЛрд▓реЛред рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЛрдб рд▓рд┐рдЦреЗрдВред рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВред рд╢рд╛рдЦрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдареАрдХ рдХрд░реЗрдВред рджреЛ рд╕реНрдЯрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓рдпред

рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдХреЛ рдзреАрдорд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдиреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреА рддрддреНрдкрд░рддрд╛ рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдФрд░ рдореЗрд░реЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдмрдЪрд╛рдпрд╛:
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдиреИрддрд┐рдХ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ, рдЬрд┐рди рд╢рд╛рдЦрд╛рдУрдВ рдХреА рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рджреЛ рд╕рд┐рддрд╛рд░реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЕрдЧрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЙрд╕ рдХрдорд┐рдЯ рдХреЛ рдЕрдирд╣реБрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЯреЗрд╕реНрдЯ рдкрд╛рд╕ рд╣реЛ рдЧрдП рд╣реИрдВ, рддреЛ рдЙрд╕рдХреА рдХрдорд┐рдЯрдореЗрдВрдЯ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдХрдорд┐рдЯреНрд╕ рдХреЗ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдореЗрдВ рдХрдорд┐рдЯреНрд╕ рдХреЗ рдирд┐рд╖реЗрдз рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдиреЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрд▓ рд╕рдордп рдкрд░ рдПрдХ рд╕реАрдорд╛ рд▓рдЧрд╛ рджреА - 2 рдШрдВрдЯреЗред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд░рд╛рддреНрд░рд┐рдХрд╛рд▓реАрди рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЕрдзрд┐рдХрддрдо 2 рдШрдВрдЯреЗ рдореЗрдВ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓реЗ рдЫрд╣ рдорд╣реАрдиреЛрдВ рдореЗрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рд╕рдореВрд╣ рдиреЗ рдЗрд╕ рдореЛрдб рдореЗрдВ рд▓рдЧрднрдЧ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ:
2 рдШрдВрдЯреЗ рддрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ - рд╕рд░реНрд╡рд░ рдЦрд░реАрджреЗрдВ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░реЗрдВ - 2 рдШрдВрдЯреЗ рддрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ - рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХрд╛ рдЕрдиреБрдХреВрд▓рди - 2 рдШрдВрдЯреЗ рддрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ - рд╕рд░реНрд╡рд░ рдХреЛ рддреЗрдЬреА рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП - рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВ ...

рдЕрдВрддрднрд╛рд╖рдг


рдореИрдВрдиреЗ рдЬреЛ рднреА рдмрд╛рдд рдХреА рд╡рд╣ рдореЗрд░реА рдпреЛрдЧреНрдпрддрд╛ рдирд╣реАрдВ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдореЗрдВ рдореЗрд░рд╛ рдпреЛрдЧрджрд╛рди рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдПрдХ рддрд┐рд╣рд╛рдИ рд╣реИред CI рдореЗрдВ - рдПрдХ рдЪреМрдерд╛рдИ рд╡рд┐рдиреНрдпрд╛рд╕ред рджреЛ рджрд░реНрдЬрди рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдФрд░ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ - рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдХреЛрдВ рд╕реЗ рд▓реЗрдХрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдмрдВрдзрдХ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рддрдХред

рдореИрдВ рдЖрдкрд╕реЗ рди рдХреЗрд╡рд▓ рдкреНрд░рд╢реНрди рд╕реБрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рдмреБрджреНрдзрд┐рдорд╛рди рд╕рд▓рд╛рд╣, рдЙрдкрдпреЛрдЧреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рд╢рд╛рдВрдд рд╡рд┐рдЪрд╛рд░ рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдмрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореЗрд░реА рднреВрдорд┐рдХрд╛ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ - рдореИрдВ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ, CI рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдХреБрдЫред рдореИрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддрд╛

рдпрджрд┐ рдХреЛрдИ рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ рди рдХреЗрд╡рд▓ рдореВрд▓реНрдпрд╡рд╛рди рдорд╛рд░реНрдЧрджрд░реНрд╢рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реАрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ - рдпрд╛ рдореБрдЭреЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕рд┐рдЦрд╛рдПрдВ - рдкреАрдПрдо рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░реЗрдВ, рдореИрдВ рдПрдХ рд╕рд╣рдпреЛрдЧреА рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

Source: https://habr.com/ru/post/In168451/


All Articles