{"id":287594,"date":"2018-08-16T14:12:45","date_gmt":"2018-08-16T10:12:45","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=287594"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=287594","title":{"rendered":"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0437\u0430\u0440\u043f\u043b\u0430\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e R"},"content":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/post\/417991\/\" class=\"post__text post__text-html js-mediator-article\">\n<p>\u0412\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u043c \u043d\u0435\u0434\u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u044e\u0442? \u0410 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043f\u0435\u0440\u0435\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u044e\u0442? \u041a\u0430\u043a\u043e\u0432\u043e \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u044e\u043c\u0435 \u0438 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044e, \u0441\u0445\u043e\u0436\u0443\u044e \u0441 \u0432\u0430\u0448\u0435\u0439? <\/p>\n<p>  <\/p>\n<p>\u041e\u0442\u0432\u0435\u0447\u0430\u044f \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441, \u043c\u043e\u0436\u043d\u043e \u0432\u0440\u0430\u0442\u044c \u0441\u0435\u0431\u0435, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0433\u043b\u043e \u0432\u0440\u0430\u0442\u044c, \u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u043e\u0439. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043a\u0430\u0436\u0434\u0430\u044f \u0443\u0432\u0430\u0436\u0430\u044e\u0449\u0430\u044f \u0441\u0435\u0431\u044f \u043a\u043e\u043d\u0442\u043e\u0440\u0430 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442, \u0447\u0442\u043e\u0431\u044b \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u043c \u0435\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435 \u0440\u044b\u043d\u043a\u0430 \u0442\u0440\u0443\u0434\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0443\u0436\u043d\u0430\u044f \u0438 \u0432\u0430\u0436\u043d\u0430\u044f, \u043d\u0435 \u0432\u0441\u0435 \u0433\u043e\u0442\u043e\u0432\u044b \u0437\u0430 \u044d\u0442\u043e \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c. <\/p>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c HR \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0441\u043e\u0442\u043d\u0438 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u0438 \u0440\u0435\u0437\u044e\u043c\u0435, \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u0432\u0438\u0434\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0433\u043e \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438, \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u043e\u0433\u043e:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vt\/0n\/na\/vt0nnawevzb5w48is1htaju-mcc.png\"><\/div>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0436\u0438\u0432\u0443\u044e (\u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0438) \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/etherity.shinyapps.io\/salmon\/\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0438\u0441\u0430\u043b\u0430 \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u043c\u0438 \u043a\u0430\u043c\u043d\u044f\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0430\u0441\u044c \u043f\u043e \u043f\u0443\u0442\u0438. <a name=\"habracut\"><\/a><\/p>\n<p>  <\/p>\n<h1 id=\"postanovka-zadachi\">\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438<\/h1>\n<p>  <\/p>\n<p>\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0441 hh.ru \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044f\u043c \u0438 \u0440\u0435\u0437\u044e\u043c\u0435 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 (Back-end\/Front-end\/Full-stack developer, DevOps, QA, Project Manager, Systems Analyst, etc.) \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0438 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435, \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439 \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u0443\u0440\u043e\u0432\u043d\u044f junior, middle \u0438 senior \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0439.<\/p>\n<p>  <\/p>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0437 \u0432 \u043f\u043e\u043b\u0433\u043e\u0434\u0430, \u043d\u043e \u043d\u0435 \u0447\u0430\u0449\u0435, \u0447\u0435\u043c \u0440\u0430\u0437 \u0432 \u043c\u0435\u0441\u044f\u0446.<\/p>\n<p>  <\/p>\n<h1 id=\"pervyy-prototip\">\u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f<\/h1>\n<p>  <\/p>\n<p>\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c shiny, \u0441 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0439 \u0431\u0443\u0442\u0441\u0442\u0440\u0430\u043f\u043e\u0432\u0441\u043a\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439, \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043e\u043d \u0432\u044b\u0448\u0435\u043b \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0436\u0435 \u043d\u0438\u0447\u0435\u0433\u043e: \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2014 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439. \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0430\u043c\u043e\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435: \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0440\u043f\u043b\u0430\u0442 \u0438 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439 (\u0443\u0440\u043e\u0432\u0435\u043d\u044c middle), \u0442\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u0434\u0430\u0442\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043a\u043d\u043e\u043f\u043a\u0430 Update. \u0422\u0430\u0431\u044b \u0432 \u0445\u0435\u0434\u0435\u0440\u0435 \u2014 \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0435\u0439 \u2014 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u043f\u043e\u043b\u043d\u044b\u043c\u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0438.<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/73\/1f\/yi\/731fyiffyiffjnywuub82g3moye.png\"><\/div>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0438\u0434\u0438\u0442, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u0430\u0432\u043d\u043e, \u043e\u043d \u0436\u043c\u0435\u0442 \u043a\u043d\u043e\u043f\u043a\u0443 &#171;Update&#187; \u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u0445\u043e\u0434\u0438\u0442 <del>\u0432 \u0431\u0435\u0441\u0441\u043e\u0437\u043d\u0430\u043d\u043a\u0443<\/del> \u0434\u0443\u043c\u0430\u0442\u044c \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 5, \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a \u0443\u0445\u043e\u0434\u0438\u0442 \u043f\u0438\u0442\u044c \u043a\u043e\u0444\u0435. \u041f\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u0435\u0433\u043e \u0436\u0434\u0443\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0438 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0442\u0430\u0431\u0435.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u043e\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438: \u0447\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u043c?<\/b><\/p>\n<div class=\"spoiler_text\">\n<p>\u041a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c, \u0442\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0432\u0441\u0435\u043c \u0434\u0435\u0432\u044f\u0442\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044f\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0443\u0436\u043d\u043e <strong>\u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443 Update \u0443 \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043b\u0438\u0442\u043a\u0438<\/strong> \u2014 \u0438 \u0442\u0430\u043a \u0434\u0435\u0432\u044f\u0442\u044c \u0440\u0430\u0437. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u043a\u043d\u043e\u043f\u043a\u0443 &#171;Update&#187; \u043d\u0430 \u0432\u0441\u0435? \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u2014 \u0438 \u044d\u0442\u043e \u0432\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u2014 \u0447\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 (&#171;\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430\u043c&#187;, &#171;\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e QA&#187; \u0438 \u0442.\u0434.) \u0443\u0445\u043e\u0434\u0438\u043b\u043e \u043f\u043e <strong>5-10 \u043c\u0438\u043d\u0443\u0442<\/strong>, \u0447\u0442\u043e \u0441\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0433\u043e. \u0415\u0434\u0438\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b \u0431\u044b 5 \u043c\u0438\u043d\u0443\u0442 \u0432 45, \u0430 \u0442\u043e \u0438 \u0432\u043e \u0432\u0441\u0435 60. <strong>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0436\u0434\u0430\u0442\u044c.<\/strong><\/p>\n<p>  <\/p>\n<p>\u0414\u0430\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 <a href=\"https:\/\/shiny.rstudio.com\/reference\/shiny\/1.0.1\/withProgress.html\"><code>withProgress()<\/code><\/a>, \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0432\u0448\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0441\u0431\u043e\u0440\u0430 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0434\u0435\u043b\u0430\u0432\u0448\u0438\u0445 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u0435\u0435 \u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u044b\u043c, \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043f\u0430\u0441\u0430\u043b\u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e. <\/p>\n<p>  <\/p>\n<p>\u0422\u0440\u0435\u0442\u044c\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0432 \u0442\u043e\u043c, \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0435\u0449\u0435 \u0434\u0435\u0441\u044f\u0442\u043a\u0430 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0439 (\u043d\u0443 \u0430 \u0432\u0434\u0440\u0443\u0433) \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0431\u044b \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e <strong>\u043c\u0435\u0441\u0442\u043e \u0432 \u0445\u0435\u0434\u0435\u0440\u0435 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f<\/strong>. <\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u0438\u0445 \u0442\u0440\u0435\u0445 \u043f\u0440\u0438\u0447\u0438\u043d \u043c\u043d\u0435 \u0431\u044b\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0438\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 UX. \u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u0442\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u2014 \u0432\u0435\u043b\u043a\u043e\u043c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u044b. <\/p>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u0411\u044b\u043b\u0438 \u0443 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0438 \u0441\u0438\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e:<\/p>\n<p>  <\/p>\n<ul>\n<li><strong>\u041e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434<\/strong> \u043a \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u0438 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0435: \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043f\u0438\u043f\u0430\u0441\u0442\u0438\u0442\u044c, \u0432\u044b\u043d\u043e\u0441\u0438\u043c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043a\u0443\u0441\u043a\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438. <\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 &#171;\u043f\u043b\u0438\u0442\u043a\u0430&#187; \u043e\u0434\u043d\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435:<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>tile &lt;- function(title, midsal = NA, midsalres = NA, total.res = NA, total.vac = NA, updated = NA) {   return(   column(width = 4,          h2(title),          strong(\"\u0421\u0440\u0435\u0434\u043d\u0438\u0439 \u043e\u0444\u0444\u0435\u0440 (middle):\"), midsal, br(),          strong(\"\u0421\u0440\u0435\u0434\u043d\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 (middle):\"), midsalres, br(),          strong(\"\u0412\u0441\u0435\u0433\u043e \u0440\u0435\u0437\u044e\u043c\u0435:\"), total.res, br(),          strong(\"\u0412\u0441\u0435\u0433\u043e \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439: \"), total.vac, br(),          strong(\"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435: \"), updated, br(), br(),          actionButton(inputId = paste0(tolower(prof), \"Btn\"),                       label = \"Update\", class = \"btn-primary\")   )   )   }<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<ul>\n<li><strong>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/strong> UI \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0430\u0439\u0434\u0438\u0448\u043d\u0438\u043a\u043e\u0432 (inputId) \u0432 \u043a\u043e\u0434\u0435, \u0447\u0435\u0440\u0435\u0437 <code>inputId = paste0(\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \"Btn\")<\/code>, \u0441\u043c. \u043f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0448\u0435. \u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0441\u0435\u0431\u044f \u043a\u0440\u0430\u0439\u043d\u0435 \u0443\u0434\u043e\u0431\u043d\u044b\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u043b\u043e \u043f\u0440\u043e\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0434\u0435\u0441\u044f\u0442\u043e\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043e\u043c\u043d\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0439. <\/li>\n<li>\u041e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u043b \ud83d\ude42 <\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u0444\u0430\u0439\u043b\u0438\u043a\u0438 .csv \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u044f\u043c (<code>append = TRUE<\/code>), \u0430 \u0437\u0430\u0442\u0435\u043c \u0447\u0438\u0442\u0430\u043b\u0438\u0441\u044c \u043e\u0442\u0442\u0443\u0434\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041f\u0440\u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043d\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b, \u0430 \u0441\u0440\u0435\u0434\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043b\u0438\u0441\u044c.<\/p>\n<p>  <\/p>\n<p><strong>\u041f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f\u0445<\/strong><\/p>\n<p>  <\/p>\n<p>\u0412\u0430\u0436\u043d\u044b\u0439 \u043d\u044e\u0430\u043d\u0441: \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0438 \u0434\u043b\u044f csv-\u0444\u0430\u0439\u043b\u043e\u0432 \u2014 \u0437\u0430\u043f\u044f\u0442\u0430\u044f \u0438\u043b\u0438 \u0442\u043e\u0447\u043a\u0430 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u2014 \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f, \u0432\u0435\u0434\u044c \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438 \u0438 \u0440\u0435\u0437\u044e\u043c\u0435 \u0441 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u043c\u0438 \u0432\u0440\u043e\u0434\u0435 &#171;\u0428\u0432\u0435\u0446, \u0436\u043d\u0435\u0446, \u0438\u0433\u0440\u0435\u0446 (\u0434\u0443\u0434\u0430; html\/css)&#187;. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u0440\u0430\u0437\u0443 \u0440\u0435\u0448\u0438\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0431\u043e\u043b\u0435\u0435 \u044d\u043a\u0437\u043e\u0442\u0438\u0447\u043d\u043e\u0435, \u0438 \u043c\u043e\u0439 \u0432\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043d\u0430 |. <\/p>\n<p>  <\/p>\n<p>\u0412\u0441\u0435 \u0448\u043b\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043f\u0440\u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u044f \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0430 \u0434\u0430\u0442\u0443 \u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \u0441 \u0432\u0430\u043b\u044e\u0442\u043e\u0439 \u0438 \u0434\u0430\u043b\u0435\u0435 \u0441\u044a\u0435\u0445\u0430\u0432\u0448\u0438\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0438, \u043a\u0430\u043a \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435, \u0437\u0430\u043f\u043e\u0440\u043e\u0442\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438. \u0421\u0442\u0430\u043b\u0430 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f. \u041a\u0430\u043a \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u043c\u043e\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u043b\u043e\u043c\u0430\u043b\u0430 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0430\u044f \u0434\u0435\u0432\u0443\u0448\u043a\u0430-&#171;Data Analyst | Business Analyst&#187;. \u0421 \u0442\u0435\u0445 \u043f\u043e\u0440 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f <code>\\x1B<\/code> \u2014 \u0441\u0438\u043c\u0432\u043e\u043b ESC. \u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u043f\u043e\u0434\u0432\u043e\u0434\u0438\u043b.<\/p>\n<p>  <\/p>\n<p><strong>Assign \u0438\u043b\u0438 \u043d\u0435 assign?<\/strong><\/p>\n<p>  <\/p>\n<p>\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f assign \u0441\u0442\u0430\u043b\u0430 \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435\u043c: \u043c\u043e\u0436\u043d\u043e <strong>\u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430<\/strong> \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0434\u0430\u0442\u0430 \u0444\u0440\u0435\u0439\u043c\u043e\u0432, \u043a\u0440\u0443\u0442\u043e \u0436\u0435! <\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u044f \u0445\u043e\u0447\u0443 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 data frames \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439. \u0410 \u043f\u0438\u0441\u0430\u0442\u044c &#171;designer.vac = data.frame(&#8230;), analyst.vac = data.frame(&#8230;)&#187; \u043d\u0435 \u0445\u043e\u0447\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u0442\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443 \u043c\u0435\u043d\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u0442\u0430\u043a:<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">Assign<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>profs &lt;- c(\"analyst\", \"designer\", \"developer\", \"devops\", \"manager\", \"qa\")  for (name in profs) {   if (!exists(paste0(name, \".vac\")))      assign(x = paste0(name, \".vac\"),            value = data.frame(              URL = character() # \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e              , id = numeric() # id \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438              , Name = character() # \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438              , City = character()              , Published = character()              , Currency = character()              , From = numeric() # \u043d\u0438\u0436. \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u0432\u0438\u043b\u043a\u0438              , To = numeric() # \u0432\u0435\u0440\u0445. \u0433\u0440\u0430\u043d\u0438\u0446\u0430              , Level = character() # jun\/mid\/sen              , Salary = numeric()              , stringsAsFactors = FALSE            )) } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u041d\u043e \u0440\u0430\u0434\u043e\u0441\u0442\u044c \u043c\u043e\u044f \u0434\u043b\u0438\u043b\u0430\u0441\u044c \u043d\u0435 \u0434\u043e\u043b\u0433\u043e. \u041e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0443\u0436\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u043e\u0441\u044c, \u0438 \u044d\u0442\u043e \u0432\u043e\u043b\u0435\u0439-\u043d\u0435\u0432\u043e\u043b\u0435\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u043e \u043a \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0440\u043e\u0441\u043b\u043e \u0432 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0438, \u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u0441\u0442\u0430\u043b\u043e \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0438\u0445 \u0438 \u0432 \u0432\u044b\u0437\u043e\u0432\u0430\u0445 assign. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434, \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u043e\u043a\u0430\u0437\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u043c: <strong>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u043e\u0432.<\/strong> <\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u043e\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0447\u043a\u0443 data frames? \u041b\u0435\u0433\u043a\u043e!<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>profs &lt;- list(   devops = \"devops\"   , analyst = c(\"systems+analyst\", \"business+analyst\")   , dev.full = \"full+stack+developer\"   , dev.back = \"back+end+developer\"   , dev.front = \"front+end+developer\"   , designer = \"ux+ui+designer\"   , qa = \"QA+tester\"   , manager = \"project+manager\"   , content = c(\"mathematics+teacher\", \"physics+teacher\") )  for (name in names(profs)) {     proflist[[name]] &lt;- data.frame(     URL = character() # \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044e     , id = numeric() # id \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438     , Name = character() # \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0438     , City = character()     , Published = character()     , Currency = character()     , From = numeric() # \u043d\u0438\u0436. \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u0432\u0438\u043b\u043a\u0438     , To = numeric() # \u0432\u0435\u0440\u0445. \u0433\u0440\u0430\u043d\u0438\u0446\u0430     , Level = character() # jun\/mid\/sen     , Salary = numeric()     , stringsAsFactors = FALSE   ) }<\/code><\/pre>\n<p>  <\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0439, \u043a\u0430\u043a \u0440\u0430\u043d\u044c\u0448\u0435, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0441\u043f\u0438\u0441\u043e\u043a, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043e\u0434\u043d\u043e \u0432\u0448\u0438\u043b\u0430 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0438\u0449\u0443\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044f\u043c \u0438 \u0440\u0435\u0437\u044e\u043c\u0435 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0438. \u0422\u0430\u043a \u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0443\u0440\u043e\u0434\u043b\u0438\u0432\u043e\u0433\u043e switch \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0438\u0441\u043a\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439.<\/p>\n<\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u0434\u043d\u0438\u043c \u043c\u0430\u0445\u043e\u043c \u043e\u0442\u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442\u044c N \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 N \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0438\u0437 \u044d\u0442\u0438\u0445 data frames? \u0425\u043c&#8230;<\/b><\/p>\n<div class=\"spoiler_text\">\n<p>\u0422\u043e\u0436\u0435, \u0432 \u043e\u0431\u0449\u0435\u043c-\u0442\u043e, \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e. \u0412\u043e\u0442 \u0432\u0430\u043c \u0441\u0444\u0435\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432 \u0432\u0430\u043a\u0443\u0443\u043c\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f server.R:<\/p>\n<p>  <\/p>\n<pre><code>lapply(seq_along(my.list.of.data.frames), function(x) {    output[[paste0(names(my.list.of.data.frames)[x], \".dt\")]] &lt;-      renderDataTable({        datatable(data = my.list.of.data.frames[[names(my.list.of.data.frames)[x]]]()               , style = 'bootstrap', selection = 'none'               , escape = FALSE)   })    output[[paste0(names(my.list.of.data.frames)[x], \".plot\")]] &lt;-      renderPlot(       ggplot(na.omit(my.list.of.data.frames[[names(my.list.of.data.frames)[x]]]()),                  aes(...))    )  })<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u041e\u0442\u0441\u044e\u0434\u0430 <strong>\u0432\u044b\u0432\u043e\u0434:<\/strong> \u0441\u043f\u0438\u0441\u043a\u0438 \u2014 \u043a\u0440\u0430\u0439\u043d\u0435 \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u0434\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443. (\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u2014 \u043d\u0435 assign.)<\/p>\n<p>  <\/p>\n<p>\u0418 \u0432 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u044f \u043e\u0442\u0432\u043b\u0435\u043a\u043b\u0430\u0441\u044c \u043e\u0442 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043d\u0430 <a href=\"https:\/\/www.rstudio.com\/resources\/videos\/building-dashboards-with-shiny-tutorial\/\">\u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0414\u0436\u043e \u0427\u0435\u043d\u0433\u0430 \u043e \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430\u0445<\/a>, \u043f\u0440\u0438\u0448\u043b\u043e&#8230;<\/p>\n<p>  <\/p>\n<h1 id=\"pereosmyslenie\">\u041f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u0435<\/h1>\n<p>  <\/p>\n<p>\u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0432 R \u0435\u0441\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442, \u0437\u0430\u0442\u043e\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0434 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u043e\u0432 \u2014 <a href=\"https:\/\/rstudio.github.io\/shinydashboard\/index.html\">shinydashboard<\/a>. \u041e\u043d \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 bootstrap \u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0447\u0443\u0442\u044c \u043f\u0440\u043e\u0449\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c UI \u0441 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u044b\u043c \u0441\u0430\u0439\u0434-\u0431\u0430\u0440\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438 \u0432\u043e\u0432\u0441\u0435 \u0441\u043a\u0440\u044b\u0442\u044c \u0431\u0435\u0437\u043e \u0432\u0441\u044f\u043a\u0438\u0445 <code>conditionalPanel()<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441\u0444\u043e\u043a\u0443\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  <\/p>\n<p>\u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 HR \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u0437 \u0432 \u043f\u043e\u043b\u0433\u043e\u0434\u0430, \u043a\u043d\u043e\u043f\u043a\u0430 Update \u0438\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u0430. \u0412\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u043a\u0430\u043a\u0430\u044f. \u042d\u0442\u043e \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c &#171;static dashboard&#187;, \u043d\u043e \u0431\u043b\u0438\u0437\u043a\u043e\u0435 \u043a \u0442\u043e\u043c\u0443. \u0421\u043a\u0440\u0438\u043f\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 shiny-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c Scheduler&#8217;\u043e\u043c <del>\u0432\u0438\u043d\u0434\u044b<\/del> \u0432\u0430\u0448\u0435\u0439 \u041e\u0421. <\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u0440\u0435\u0448\u0430\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u0434\u0432\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b: \u0434\u043e\u043b\u0433\u043e\u0433\u043e \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f (\u0435\u0441\u043b\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u0433\u043e\u043d\u044f\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u0442 \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0432\u0435\u0436\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435) \u0438 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439, \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435. \u0420\u0430\u043d\u044c\u0448\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0434\u0435\u0432\u044f\u0442\u044c \u043a\u043b\u0438\u043a\u043e\u0432 (\u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c), \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u043e\u043b\u044c. \u041a\u0430\u0436\u0435\u0442\u0441\u044f, \u043c\u044b \u0432\u044b\u0448\u043b\u0438 \u043d\u0430 \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438, \u0441\u0442\u0440\u0435\u043c\u044f\u0449\u0438\u0439\u0441\u044f \u043a \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u0438!<\/p>\n<p>  <\/p>\n<p>\u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u043e\u0434 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u044f\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437. \u041d\u0435 \u0431\u0443\u0434\u0443 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e, \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043b\u0443\u0447\u0448\u0435 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u043c \u0440\u0430\u0437\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435\u043c \u0432 <a href=\"https:\/\/www.rstudio.com\/resources\/videos\/building-dashboards-with-shiny-tutorial\/\">\u0434\u043e\u043a\u043b\u0430\u0434\u0435<\/a>. \u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0443 \u043b\u0438\u0448\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0438\u0434\u0435\u044e: \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 ggplot(), \u043d\u0430 \u043b\u0435\u0442\u0443 \u2014 \u0437\u043b\u043e, \u0438 <strong>\u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u043e\u0434\u0430 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u0432\u044b\u043d\u0435\u0441\u0442\u0438 \u043d\u0430 \u0432\u0435\u0440\u0445\u043d\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435.<\/strong> \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u0432 \u0440\u0430\u0437\u044b.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0447\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435 \u044f \u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0430 \u0434\u043e\u043a\u043b\u0430\u0434, \u0442\u0435\u043c \u044f\u0441\u043d\u0435\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0430, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u043f\u043e \u0444\u0435\u043d-\u0448\u0443\u044e \u0431\u044b\u043b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d \u043a\u043e\u0434 \u0432 \u043c\u043e\u0435\u043c \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0435, \u0438 \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u043b\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u043e\u0449\u0435 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c, \u0447\u0435\u043c \u043e\u0442\u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u0442\u044c. \u041d\u043e \u043a\u0430\u043a \u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u0432\u043e\u0435 \u0434\u0435\u0442\u0438\u0449\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432 \u043d\u0435\u0433\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u043e \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b?<\/p>\n<p>  <\/p>\n<h1 id=\"to-chto-mertvo-umeret-ne-mozhet\">\u0422\u043e, \u0447\u0442\u043e \u043c\u0435\u0440\u0442\u0432\u043e, \u0443\u043c\u0435\u0440\u0435\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442<\/h1>\n<p>  <\/p>\n<p> \u2014 \u043f\u043e\u0434\u0443\u043c\u0430\u043b\u0430 \u044f \u0438 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0430 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043d\u0443\u043b\u044f, \u043f\u0440\u0438\u0447\u0435\u043c \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0432\u044b\u043d\u0435\u0441\u043b\u0430 \u0432\u0435\u0441\u044c \u043a\u043e\u0434 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044f\u043c \u0438 \u0440\u0435\u0437\u044e\u043c\u0435 (\u043f\u043e \u0441\u0443\u0442\u0438 \u2014 \u0432\u0435\u0441\u044c ETL-\u043f\u0440\u043e\u0446\u0435\u0441\u0441) \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 shiny-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0438\u0437\u0431\u0430\u0432\u0438\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0442 \u0442\u043e\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f;<\/li>\n<li>\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430 <a href=\"https:\/\/shiny.rstudio.com\/reference\/shiny\/latest\/reactiveFileReader.html\">reactiveFileReader()<\/a> \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 csv-\u0444\u0430\u0439\u043b\u043e\u0432, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043b\u0438\u0448\u043d\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f;<\/li>\n<li>\u0438\u0437\u0431\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u043e\u0442 assign() \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u0430\u043c\u0438 \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430 lapply() \u0442\u0430\u043c, \u0433\u0434\u0435 \u0440\u0430\u043d\u044c\u0448\u0435 \u0431\u044b\u043b\u0438 \u0446\u0438\u043a\u043b\u044b;<\/li>\n<li>\u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 UI \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u0430 shinydashboard, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u043e\u043d\u0443\u0441\u0430 \u2014 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f \u043e \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0435 \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435;<\/li>\n<li>\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u0430 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0441 ~1800 \u0434\u043e 360 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430).<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>  <\/p>\n<ol>\n<li>ETL-\u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437 \u0432 \u043c\u0435\u0441\u044f\u0446 (\u0437\u0434\u0435\u0441\u044c <a href=\"https:\/\/netpeak.net\/ru\/blog\/kak-nastroit-zapusk-r-skripta-po-raspisaniyu\/\">\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f<\/a>, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c) \u0438 \u0434\u043e\u0431\u0440\u043e\u0441\u043e\u0432\u0435\u0441\u0442\u043d\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u044f\u043c, \u0441\u043e\u0431\u0438\u0440\u0430\u044f \u0441 hh \u0441\u044b\u0440\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044f\u043c \u0438 \u0440\u0435\u0437\u044e\u043c\u0435.<br \/>  \u041f\u0440\u0438\u0447\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u044f\u043c \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 API \u0441\u0430\u0439\u0442\u0430 (\u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0438\u0437 <a href=\"https:\/\/habr.com\/post\/413731\/\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a>), \u0430 \u0432\u043e\u0442 \u0437\u0430 \u043a\u0430\u0436\u0434\u044b\u043c \u0440\u0435\u0437\u044e\u043c\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u0438\u043b\u0430\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 rvest, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443 API \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u0442\u0430\u043b \u043f\u043b\u0430\u0442\u043d\u044b\u043c. \u041c\u043e\u0436\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u044d\u0442\u043e \u043e\u0442\u0440\u0430\u0437\u0438\u043b\u043e\u0441\u044c \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/li>\n<li>\u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u0447\u0435\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u2014 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0438 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u043f\u0438\u0441\u0430\u043d <a href=\"https:\/\/habr.com\/post\/413731\/\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0432\u0438\u0434\u0430 hist\/profession-hist-vac.csv \u0438 hist\/profession-hist-res.csv. \u041a\u0441\u0442\u0430\u0442\u0438, \u0432\u044b\u0431\u0440\u043e\u0441\u044b \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 <a href=\"https:\/\/habrastorage.org\/webt\/um\/cd\/pg\/umcdpgnon_jnypnmlji0yylyxf0.png\">\u0432\u0440\u043e\u0434\u0435 \u0442\u0430\u043a\u0438\u0445<\/a> \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u043a\u0443\u0440\u044c\u0435\u0437\u0430\u043c, \u0431\u0443\u0434\u044c\u0442\u0435 \u0431\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b \ud83d\ude42<br \/>  \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u0431\u0435\u0440\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u2014 \u0442\u0435, \u0447\u0442\u043e \u043d\u0435 \u0441\u0442\u0430\u0440\u0448\u0435 \u043c\u0435\u0441\u044f\u0446\u0430 \u0441 \u0434\u0430\u0442\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u2014 \u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 csv-\u0444\u0430\u0439\u043b\u044b \u0432\u0438\u0434\u0430 data.res\/profession-res-recent.csv \u0438 data.vac\/profession-vac-recent.csv. \u0421 \u044d\u0442\u0438\u043c\u0438-\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435&#8230;<\/li>\n<li>\u2026 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u043e\u043b\u0434\u0435\u0440\u043e\u0432 \u0440\u0435\u0437\u044e\u043c\u0435 \u0438 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 (data.res \u0438 data.vac \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e), \u0430 \u0437\u0430\u0442\u0435\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u043d\u0435 \u0431\u044b\u043b\u043e \u043b\u0438 \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e reactiveFileReader() \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u043f\u043e \u0437\u0430\u0442\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0447\u0435\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f invalidateLater(). \u0415\u0441\u043b\u0438 \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 \u0431\u044b\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0442\u043e\u0433\u0434\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e\u0442\u0441\u044f, \u0430 \u0441\u0440\u0435\u0434\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 reactiveValues(), \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044d\u0442\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.<\/li>\n<li>\u041d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442\u0441\u044f min, median \u0438 max \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439 \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 (\u0432\u0441\u0435 \u043f\u043e \u0422\u0417). \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043d\u0430 \u0442\u0430\u0431\u0430\u0445 \u0441 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 .xlsx (\u043c\u0430\u043b\u043e \u043b\u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e HR \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u044d\u0442\u0438 \u0446\u0438\u0444\u0440\u044b). <\/li>\n<\/ol>\n<p>  <\/p>\n<p>\u0412\u0441\u0451. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0435, \u044d\u0442\u043e \u043a\u043d\u043e\u043f\u043a\u0430 Download. \u0418 \u044d\u0442\u043e \u043a \u043b\u0443\u0447\u0448\u0435\u043c\u0443: \u0447\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043a\u043d\u043e\u043f\u043e\u043a, \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0448\u0430\u043d\u0441\u043e\u0432 <del>\u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/del> \u0432 \u043d\u0438\u0445 \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>  <\/p>\n<h1 id=\"vmesto-epiloga\">\u0412\u043c\u0435\u0441\u0442\u043e \u044d\u043f\u0438\u043b\u043e\u0433\u0430<\/h1>\n<p>  <\/p>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0443. \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0442\u043e, \u0447\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0442\u0435\u0439\u043a\u0445\u043e\u043b\u0434\u0435\u0440 \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u0430, \u0430 \u0441\u0430\u043c\u0430\u044f \u0447\u0430\u0441\u0442\u0430\u044f \u0440\u0435\u0430\u043a\u0446\u0438\u044f \u2014 &#171;\u0437\u0434\u043e\u0440\u043e\u0432\u043e, \u0430 \u043d\u0430 \u041c\u043e\u0441\u043a\u0432\u0443 \u0442\u0430\u043a\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?&#187;, \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0441\u0447\u0438\u0442\u0430\u044e \u0443\u0434\u0430\u0432\u0448\u0438\u043c\u0441\u044f.<\/p>\n<p>  <\/p>\n<p><strong>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c<\/strong> \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/etherity.shinyapps.io\/salmon\/\"><strong>\u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435<\/strong><\/a>, \u0430 \u0432\u0435\u0441\u044c <strong>\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/strong> (\u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432) \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d <a href=\"https:\/\/github.com\/patsulda\/salmon\"><strong>\u0437\u0434\u0435\u0441\u044c<\/strong><\/a>.<\/p>\n<p>  <\/p>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Salary Monitor, \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u043e Salmon \u2014 &#171;\u043b\u043e\u0441\u043e\u0441\u044c&#187;.<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zv\/pl\/sf\/zvplsfdlc-eoqv3jbjhucoieui0.png\" width=\"50%\" height=\"50%\"><\/div>\n<\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/post\/417991\/\"> https:\/\/habr.com\/post\/417991\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/post\/417991\/\" class=\"post__text post__text-html js-mediator-article\">\n<p>\u0412\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u043c \u043d\u0435\u0434\u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u044e\u0442? \u0410 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043f\u0435\u0440\u0435\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u044e\u0442? \u041a\u0430\u043a\u043e\u0432\u043e \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u044e\u043c\u0435 \u0438 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044e, \u0441\u0445\u043e\u0436\u0443\u044e \u0441 \u0432\u0430\u0448\u0435\u0439? <\/p>\n<p>  <\/p>\n<p>\u041e\u0442\u0432\u0435\u0447\u0430\u044f \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441, \u043c\u043e\u0436\u043d\u043e \u0432\u0440\u0430\u0442\u044c \u0441\u0435\u0431\u0435, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0433\u043b\u043e \u0432\u0440\u0430\u0442\u044c, \u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u043e\u0439. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043a\u0430\u0436\u0434\u0430\u044f \u0443\u0432\u0430\u0436\u0430\u044e\u0449\u0430\u044f \u0441\u0435\u0431\u044f \u043a\u043e\u043d\u0442\u043e\u0440\u0430 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0442, \u0447\u0442\u043e\u0431\u044b \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u043c \u0435\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435 \u0440\u044b\u043d\u043a\u0430 \u0442\u0440\u0443\u0434\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0443\u0436\u043d\u0430\u044f \u0438 \u0432\u0430\u0436\u043d\u0430\u044f, \u043d\u0435 \u0432\u0441\u0435 \u0433\u043e\u0442\u043e\u0432\u044b \u0437\u0430 \u044d\u0442\u043e \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c. <\/p>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c HR \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0441\u043e\u0442\u043d\u0438 \u0432\u0430\u043a\u0430\u043d\u0441\u0438\u0439 \u0438 \u0440\u0435\u0437\u044e\u043c\u0435, \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u0432\u0438\u0434\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0433\u043e \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0430 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438, \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c\u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a\u043e\u0433\u043e:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vt\/0n\/na\/vt0nnawevzb5w48is1htaju-mcc.png\"><\/div>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0436\u0438\u0432\u0443\u044e (\u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0438) \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/etherity.shinyapps.io\/salmon\/\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0438\u0441\u0430\u043b\u0430 \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u043c\u0438 \u043a\u0430\u043c\u043d\u044f\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0430\u0441\u044c \u043f\u043e \u043f\u0443\u0442\u0438. <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-287594","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/287594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=287594"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/287594\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=287594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=287594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=287594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}