{"id":286334,"date":"2017-05-15T11:10:04","date_gmt":"2017-05-15T07:10:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=286334"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=286334","title":{"rendered":"29 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 DotNext 2017 Piter: \u041e\u0442 .NET Standard \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0434\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0435\u0440\u0444\u043e\u043c\u0430\u043d\u0441\u0430"},"content":{"rendered":"<p>\u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c DotNext, \u043c\u044b \u043f\u043e\u0448\u043b\u0438 \u043f\u043e \u043f\u0443\u0442\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0445\u0430\u0440\u0434\u043a\u043e\u0440\u0430 \u0438 \u043c\u043e\u0437\u0433\u043e\u043b\u043e\u043c\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0440\u043e\u0432\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u043b\u0438 \u044d\u0442\u043e \u0432 Java-\u043c\u0438\u0440\u0435 \u0441 Joker \u0438 Jpoint. \u0428\u043b\u0438 \u0433\u043e\u0434\u044b, \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u0440\u043e\u0441\u043b\u0430, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u0438 \u0444\u0438\u0434\u0431\u0435\u043a\u0438 \u0438 \u0434\u0435\u043b\u0430\u043b\u0438 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044e \u043b\u0443\u0447\u0448\u0435, \u043c\u0435\u043d\u044f\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0434\u043e\u043a\u043b\u0430\u0434\u044b, \u0441\u043f\u0438\u043a\u0435\u0440\u043e\u0432\u2026 \u0418 \u0432\u043e\u0442 \u043d\u0435\u0434\u0430\u0432\u043d\u043e, \u043e\u0431\u0449\u0430\u044f\u0441\u044c \u0441 \u043b\u044e\u0434\u044c\u043c\u0438 \u043d\u0430 DotNext \u0438 JPoint, \u044f \u043f\u0440\u0438\u0448\u0435\u043b \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u043a \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c\u0443 \u0432\u044b\u0432\u043e\u0434\u0443 \u2014 .NET \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043d\u0435 \u0445\u043e\u0442\u044f\u0442 \u0443\u043f\u043e\u0440\u043e\u0442\u043e\u0433\u043e \u0445\u0430\u0440\u0434\u043a\u043e\u0440\u0430:  <\/p>\n<ul>\n<li>\u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u0431\u0435\u0437\u0443\u043c\u043d\u043e\u0433\u043e \u0437\u043e\u043e\u043f\u0430\u0440\u043a\u0430 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0434\u043e \u0432 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0437\u043d\u0430\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432; <\/li>\n<li>\u043d\u0435\u0442 5 GC, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0441\u0432\u043e\u0438\u043c\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438; <\/li>\n<li>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u0432\u044b\u0448\u0435;<\/li>\n<li>\u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0447\u0435\u0442\u043a\u043e \u0438 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0432\u0440\u0443\u0442 (\u044d\u0442\u043e \u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u0440\u043e .NET Framework \u0433\u043e\u0432\u043e\u0440\u044e, \u0441 Core \u043d\u0435 \u0432\u0441\u0435 \u0442\u0430\u043a \u0440\u0430\u0434\u0443\u0436\u043d\u043e \u043f\u043e\u043a\u0430); <\/li>\n<li>\u0441\u0430\u043c \u044f\u0437\u044b\u043a, \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432 \u043f\u0440\u0438\u044f\u0442\u0435\u043d \u0438 \u043f\u043e\u043d\u044f\u0442\u0435\u043d (\u0445\u043e\u0442\u044f \u043f\u043e\u0434 JVM \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043c \u0436\u0435 Kotlin).<\/li>\n<\/ul>\n<p>  \u0417\u0430\u0442\u043e \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e:   <\/p>\n<ul>\n<li>\u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u043d\u0430 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0434\u0435\u0432\u0430\u044e\u0442\u0441\u044f; <\/li>\n<li>\u0420\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e \u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0441 \u043d\u0430\u043c\u0438;<\/li>\n<li>\u0421\u0430\u043c\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u043c\u0438 \u0442\u0435\u043c\u043f\u0430\u043c\u0438 \u2014 \u043d\u0430\u0434\u043e \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u0443\u0440\u0441\u0435;<\/li>\n<li>\u0421 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u043d\u043e\u0432\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/li>\n<\/ul>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u043e\u0432\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e <a href=\"https:\/\/dotnext-piter.ru\"><b>DotNext 2017 Piter<\/b><\/a> \u2014 \u0443\u0436\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0445\u0430\u0440\u0434\u043a\u043e\u0440. \u0410 \u0435\u0441\u043b\u0438 \u043d\u0435 \u0445\u0430\u0440\u0434\u043a\u043e\u0440, \u0442\u043e \u043a\u0442\u043e? \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u043c\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c.<\/p>\n<p>  <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/328448\/\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/859\/ebd\/3f4\/859ebd3f4557488ea205c214475e27d6.png\"\/><\/a><br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2><b>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0431\u044b\u043b\u2026 keynote!<\/b><\/h2>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/e4e\/9df\/565\/e4e9df56552245a2b92707ae6d0deff0.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/back-to-basics-the-mess-weve-made-of-our-fundamental-data-types\/\">Jon Skeet \u2014 Back to basics: the mess we&#8217;ve made of our fundamental data types<\/a><\/b><\/p>\n<p>  \u041a\u0435\u0439\u043d\u043e\u0443\u0442, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0439 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043c\u0438\u0440\u0430 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u043b\u044f\u043c\u0438 \u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u043c\u0438. \u041f\u0440\u0438\u0437\u043d\u0430\u0439\u0442\u0435\u0441\u044c, \u0432\u0435\u0434\u044c \u0432\u044b \u0442\u043e\u0436\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0447\u0438\u0441\u043b\u0430, \u0442\u0435\u043a\u0441\u0442 \u0438 date\/time \u043a\u0430\u043a \u0434\u043e\u043b\u0436\u043d\u043e\u0435? \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u044e\u0431\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u0438 \u0441\u0442\u043e\u043b\u043f\u044b. \u0412\u043e\u043f\u0440\u043e\u0441 \u0432 \u0442\u043e\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a, \u0447\u0442\u043e Stack Overflow \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u043e \u00ab\u0441\u043b\u043e\u043c\u0430\u043d\u043d\u043e\u0439\u00bb \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0435? \u0412 \u0441\u0432\u043e\u0435\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0414\u0436\u043e\u043d (<a href=\"http:\/\/stackoverflow.com\/users\/22656\/jon-skeet\">\u043e\u0442\u0432\u0435\u0442\u0438\u0432\u0448\u0438\u0439 \u0443\u0436\u0435 \u043f\u043e\u0447\u0442\u0438 \u043d\u0430 40 \u0442\u044b\u0441\u044f\u0447 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 SO<\/a>) \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0436\u0435 \u043d\u0435 \u0442\u0430\u043a \u0441 \u043d\u0430\u0448\u0438\u043c \u043c\u0438\u0440\u043e\u043c, \u043d\u0430\u0439\u0434\u0435\u0442 \u0432\u0438\u043d\u043e\u0432\u043d\u044b\u0445 \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u00ab\u043d\u0435 \u043e\u0431\u0436\u0435\u0447\u044c\u0441\u044f\u00bb \u043d\u0430 \u0432\u043e\u0442 \u044d\u0442\u043e\u043c \u0432\u043e\u0442 \u0432\u0441\u0451\u043c.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0447\u0442\u043e Jon Skeet \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043f\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/327492\/\">\u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u0414\u0436\u043e\u043d\u043e\u043c<\/a> \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f .NET, C# \u0438 IT \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430. \u0413\u043b\u0443\u0431\u0438\u043d\u0430 \u0438 \u043f\u043e\u043b\u043d\u043e\u0442\u0430 \u0435\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0443\u0434\u0438\u0432\u043b\u044f\u0435\u0442.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/9a7\/089\/59f\/9a708959f4814b128ff49efe360125c2.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/the-performance-investigators-field-guide\/\">Sasha<\/a><\/b><b> <a href=\"https:\/\/habrahabr.ru\/users\/goldshtn\/\" class=\"user_link\">goldshtn<\/a> <\/b><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/the-performance-investigators-field-guide\/\">Goldshtein \u2014 The Performance Investigator&#8217;s Field Guide<\/a><\/b><\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0434\u044f \u0441\u043e\u0442\u043d\u044e \u043f\u0435\u0440\u0444\u043e\u043c\u0430\u043d\u0441 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439, \u0432\u044b \u043d\u0430\u0447\u043d\u0435\u0442\u0435 \u043d\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u044c\u044e, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0438 \u0441\u0438\u043b\u044b \u043d\u0430 \u043f\u043e\u0438\u0441\u043a\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0412 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0421\u0430\u0448\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442 \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e, \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u043d\u043e\u043c \u0437\u0430 \u0433\u043e\u0434\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0438 \u0442\u0435\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b. <\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0430\u043d\u0442\u0438-\u043c\u0435\u0442\u043e\u0434\u044b \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f performance investigations \u0438 \u0447\u0435\u043a\u043b\u0438\u0441\u0442, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u0437\u043a\u0438\u0445 \u043c\u0435\u0441\u0442 \u0432 Windows \u0438 .NET \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0421\u0430\u0448\u0430 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u0442 \u043a \u043e\u0431\u0437\u043e\u0440\u0443 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u043e\u043a\u0430\u0436\u0435\u0442, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u043b\u0438\u0437\u043a\u0438 \u043a \u0438\u0434\u0435\u0430\u043b\u0443: \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u0431 Event Tracing for Windows, \u043d\u043e \u043a\u0440\u043e\u043c\u0435 \u043d\u0435\u0433\u043e \u0421\u0430\u0448\u0430 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 open source \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0432 \u0434\u043e\u043a\u043b\u0430\u0434\u0430\u0445 \u043d\u0435 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u043e\u0432\u0430\u043b. <\/p>\n<p>  \u0412 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0434\u044d\u0448\u0431\u043e\u0440\u0434\u0430\u0445 \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u0440\u0430\u0431\u043e\u0442\u0430\u044f \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041f\u043e \u0445\u043e\u0434\u0443 \u0434\u0435\u043b\u0430 \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u044b\u0445 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043f\u0438\u043a\u0435\u0440 \u0440\u0435\u0448\u0438\u043b \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u0432\u0435\u043a\u0443.<\/p>\n<p>  \u041e\u0442 \u0441\u0435\u0431\u044f \u0445\u043e\u0447\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c, \u0447\u0442\u043e \u0421\u0430\u0448\u0430 \u2014 \u0432\u044b\u0434\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043f\u0435\u0440\u0444\u043e\u043c\u0430\u043d\u0441-\u0438\u043d\u0436\u0435\u043d\u0435\u0440, \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439 \u0442\u043e\u043f\u043e\u0432\u044b\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f\u0445, \u0433\u0434\u0435 \u0431\u044b \u043e\u043d \u043d\u0438 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b. \u041c\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0431\u0440\u0430\u043b\u0438 \u0443 \u043d\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e, \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f: <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/283582\/\">\u043f\u0430\u0440\u0430 \u0432\u0438\u0434\u0435\u043e\u0437\u0430\u043f\u0438\u0441\u0435\u0439 2015 \u0433\u043e\u0434\u0430<\/a>, <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/314224\/\">\u0432\u0438\u0434\u0435\u043e\u0437\u0430\u043f\u0438\u0441\u0438 2016 \u0433\u043e\u0434\u0430<\/a>, <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/320620\/\">\u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0435\u0440\u043e\u043c\u0430\u043d\u0441\u043e\u043c<\/a> \u0438 <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/328294\/\">\u043e\u0431\u0437\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 .NET \u043f\u0435\u0440\u0444\u043e\u043c\u0430\u043d\u0441-\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430<\/a>.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/a59\/b47\/2e8\/a59b472e8e3e4bcd97756026dc57c7b7.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/the-collective-responsibility-problem\/\">\u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0421\u0430\u0432\u0432\u0430\u0442\u0435\u0435\u0432 \u2014 \u0417\u0430\u0434\u0430\u0447\u0430 \u043e \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/a><\/b><\/p>\n<p>  \u041a\u0440\u0443\u0442\u043e\u0439 \u043a\u0435\u0439\u043d\u043e\u0443\u0442, \u0432\u0437\u043e\u0440\u0432\u0430\u0432\u0448\u0438\u0439 \u0441\u0446\u0435\u043d\u0443 \u043d\u0430 JPoint 2017, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433 \u043d\u0430 DotNext!<\/p>\n<p>  \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0435\u0431\u0435, \u0447\u0442\u043e \u0432\u044b \u2013 \u0434\u0435\u0436\u0443\u0440\u043d\u044b\u0439 \u043c\u0438\u043b\u0438\u0446\u0438\u043e\u043d\u0435\u0440 \u0432 \u0442\u0443\u0440\u043d\u0438\u043a\u0435\u0442\u043d\u043e\u043c \u0437\u0430\u043b\u0435. \u0411\u0435\u0437\u0431\u0438\u043b\u0435\u0442\u043d\u0438\u043a\u0438<br \/>  \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u044b\u0433\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0442\u0443\u0440\u043d\u0438\u043a\u0435\u0442\u044b, \u0412\u044b \u0438\u0445 \u043b\u043e\u0432\u0438\u0442\u0435. \u0412\u044b \u043e\u0434\u0438\u043d, \u0438\u0445 \u2013 \u043c\u043d\u043e\u0433\u043e. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0438\u043c \u0437\u0430\u0434\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u00ab\u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0433\u0440\u044b\u00bb, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043d\u0435 \u0441\u043c\u0435\u043b\u0438 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u043f\u0440\u044b\u0433\u0438\u0432\u0430\u0442\u044c, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u0439\u043c\u0430\u0435\u0442\u0435 \u0432\u044b \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445? \u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e.<\/p>\n<p>  \u0414\u043e\u043a\u043b\u0430\u0434 \u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435 \u0438 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u043a\u043e-\u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u043e\u044f\u0442 \u0437\u0430 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0445\u0438\u0442\u0440\u043e\u0443\u043c\u043d\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f. \u041d\u0430 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0432\u044b \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u044b \u043d\u0435 \u043d\u0430\u0443\u0447\u0438\u0442\u0435\u0441\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043e\u0433\u0430\u0442\u044b\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0442\u0435\u043c\u0430 \u0442\u0435\u043e\u0440\u0438\u0438 \u0438\u0433\u0440, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043f\u0440\u0438\u0441\u0443\u0436\u0434\u0430\u043b\u0438 \u043f\u0440\u0435\u043c\u0438\u044e \u041d\u043e\u0431\u0435\u043b\u0435\u0432\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u043c\u0438\u0442\u0435\u0442\u0430 \u043f\u043e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043a\u0435, \u0442\u043e \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0434\u043e\u043a\u043b\u0430\u0434.<\/p>\n<hr\/>\n<p>  <\/p>\n<h2><b>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 .NET: \u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0438 \u0431\u0443\u0434\u0443\u0449\u0435\u0435<\/b><\/h2>\n<p>  \u041f\u043e\u043a\u0430 Microsoft \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430\u0434 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439, \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u043d\u0430 \u0442\u0435\u043c\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0431\u0443\u0434\u0443\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u0437\u0430\u0441\u043b\u0443\u0436\u0435\u043d\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0432 \u043d\u0430\u0448\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445. \u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0442\u0435\u043c\u0435 .NET Core, ASP.NET Core, .NET Standard, etc. \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043e 5 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432.<\/p>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/58e\/900\/50d\/58e90050d79743cb823e23123311f7ea.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/what-is-net-standard\/\">Adam Ralph \u2014 What is .NET Standard?<\/a><\/b><\/p>\n<p>  .NET Standard \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u043d\u043e\u0432\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439, \u0432\u044b\u0448\u0435\u0434\u0448\u0430\u044f \u0432 \u0441\u043e\u043d\u043c\u0435 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u044b\u0445 .NET \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432. \u041f\u043e \u0441\u0443\u0442\u0438 \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0438 \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 NuGet \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0440\u0435\u0448\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0436\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f, \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432\u044f\u0436\u0435\u0442\u0441\u044f \u0441 .NET Core \u2014 \u0432 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 Adam Ralph, \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 FakeItEasy \u0438 xBehave.net, \u0430\u0432\u0442\u043e\u0440 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0433\u043e .NET Core Framework pull-request.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/89e\/e0f\/f7c\/89ee0ff7c5d04a4c8cb7e70f6addae9b.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/shifting-gears-for-net-a-changed-application-landscape-for-net-developers\/\">Alex Thissen \u2014 Shifting gears for .NET: a changed application landscape for .NET developers<\/a><\/b><\/p>\n<p>  \u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0435\u0437\u0436\u0430\u044e\u0442 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u044b \u0438 serverless \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u0412\u0441\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u043d\u0430 .NET \u0432 Docker, \u0445\u043e\u0442\u044f \u043f\u0435\u0440\u0432\u044b\u0435 \u0448\u0430\u0433\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e. \u0412 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u0435 Alex Thissen \u043f\u043e\u043a\u0430\u0436\u0435\u0442, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u043e\u0434 .NET \u0432\u043e\u043a\u0440\u0443\u0433 Docker \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u0412\u044b \u0443\u0437\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c, \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c, \u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c .NET \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Visual Studio 2017, .NET Core \u0438 Docker. <\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/57e\/5b9\/99e\/57e5b999ed484ab5a640ffb57bdf11ac.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/asp-net-core-apps-on-linux-in-production\/\">\u0414\u0435\u043d\u0438\u0441 \u0418\u0432\u0430\u043d\u043e\u0432 \u2014 ASP.NET Core \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434 Linux \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435<\/a><\/b><\/p>\n<p>  \u0421 \u0440\u0435\u043b\u0438\u0437\u043e\u043c .NET Core \u0434\u043b\u044f \u043d\u0430\u0441 \u043e\u0442\u043a\u0440\u044b\u043b\u0438\u0441\u044c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Unix-\u043c\u0438\u0440\u0430. \u041d\u0430\u0448\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 Linux \u2014 \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Docker \u0438 Kubernetes \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u0412 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c REST-\u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0430 ASP.NET Core \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 Kubernetes.<\/p>\n<p>  \u041e\u0431\u0441\u0443\u0434\u0438\u043c \u0434\u0435\u0442\u0430\u043b\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b ASP.NET Core \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a, \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043f\u0440\u043e \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u041e\u0431\u0441\u0443\u0434\u0438\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0438 \u0431\u0438\u043b\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 Docker-\u043e\u0431\u0440\u0430\u0437\u043e\u0432. \u0418, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043d\u0430 \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Kubernetes, \u043a\u0430\u043a \u044d\u0442\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u043c \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0438 \u043a\u0430\u043a \u0435\u0451 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/cae\/583\/82d\/cae58382d274439da95fe536ab7c56a0.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/authentication-and-authorization-in-asp-net-core\/\">Roland Guijt \u2014 Authentication and Authorization in ASP.NET Core<\/a><\/b><\/p>\n<p>  \u0412\u044b \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0443\u0436\u0435 \u0432 \u043a\u0443\u0440\u0441\u0435, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 ASP.NET Core, \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0442 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u2014 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0435 \u0434\u0435\u043b\u043e, \u0442\u0430\u043a \u043a\u0430\u043a Microsoft \u043c\u043d\u043e\u0433\u043e\u0435 \u043f\u0435\u0440\u0435\u043f\u0438\u043b\u0438\u043b\u0438 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ASP.NET Core. ASP.NET Identity \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u043c\u043d\u043e\u0433\u043e \u0444\u0438\u0447 \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb, \u043d\u043e \u0440\u0430\u0437\u0432\u0435 \u043d\u0435 \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0441 \u0442\u043e\u043a\u0435\u043d\u0430\u043c\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 OpenId Connect? <\/p>\n<p>  \u0412 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 Roland \u0434\u0430\u0441\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043a\u0430\u0436\u0435\u0442, \u043a\u0430\u043a \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 ASP.NET Core identity \u0438 IdentityServer \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0442\u043e\u043a\u0435\u043d-\u0441\u0435\u0440\u0432\u0438\u0441. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u043d\u0430 ASP.NET Core, \u043a\u0430\u043a \u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0438 \u043a\u0430\u043a \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0441\u043e\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u043d\u0430 ASP.NET Core.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/034\/fba\/047\/034fba0476a4435ba73e0176a8131348.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/under-the-hood-of-the-asp-net-core-security\/\">\u041c\u0438\u0445\u0430\u0438\u043b<\/a><\/b> <a href=\"https:\/\/habrahabr.ru\/users\/yu5k3\/\" class=\"user_link\">yu5k3<\/a> <b><a href=\"https:\/\/dotnext-piter.ru\/talks\/under-the-hood-of-the-asp-net-core-security\/\">\u0429\u0435\u0440\u0431\u0430\u043a\u043e\u0432 \u2014 \u041f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c ASP .NET Core Security<\/a><\/b><\/p>\n<p>  \u041f\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 ASP .NET Core \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043c\u0430\u043b\u043e \u0441\u0442\u0430\u0442\u0435\u0439. \u0414\u0430\u0436\u0435 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0431\u0435\u043b\u044b. \u041c\u0438\u0445\u0430\u0438\u043b \u0432 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u043f\u0440\u043e\u0439\u0434\u0435\u0442\u0441\u044f \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c, \u0438\u043c\u0435\u044e\u0449\u0438\u043c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u0442, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0441\u0442\u0430\u0440\u044b\u0439 \u0434\u043e\u0431\u0440\u044b\u0439 ASP.NET, \u0442\u043e \u0434\u043b\u044f \u0432\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u043b\u0443\u0447\u0448\u0438\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430\u043c \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. <\/p>\n<p>  \u0414\u043e\u043a\u043b\u0430\u0434 \u0434\u0430\u0441\u0442 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b: \u041a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0430\u043d\u0442\u0438-XSS \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0438 \u043a\u0430\u043a \u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 ASP .NET Core? \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 cookies \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438 \u0442\u0430\u043c \u043c\u043e\u0433\u0443\u0442 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c\u0441\u044f? \u041a\u0430\u043a \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0442 CSRF? \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c\u0438? \u0422\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u043e\u043f\u044b\u0442 \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u0432 bug bounty \u043f\u043e \u043f\u043e\u0438\u0441\u043a\u0443 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 ASP .NET Core. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043f\u0435\u0440\u0435\u0434 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u043c \u043e\u0441\u0432\u0435\u0436\u0438\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0430\u0442\u0430\u043a\u0438 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 OWASP Top 10.<\/p>\n<hr\/>\n<p>  <\/p>\n<h2><b>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438<\/b><\/h2>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u2014 \u0432\u043a\u0443\u0441\u043d\u044b\u0439 \u043a\u0443\u0441\u043e\u043a \u043f\u0438\u0440\u043e\u0433\u0430 \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u00ab\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u041f\u041e\u00bb, \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432 \u043f\u0440\u0438\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435. \u0425\u043e\u0442\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e\/\u0441\u0435\u0440\u0432\u0438\u0441\u0443, \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0442\u043e\u0439 \u0444\u0438\u0447\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u043c. \u0412\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u043f\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0432\u043a\u043b\u044e\u0447\u0438\u043b \u0432 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u2014 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u0443\u0442\u0435\u0447\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u043e\u0431\u0449\u0435 \u0437\u0430\u0432\u0435\u0441\u0438\u0442\u044c \u0432\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438\u0435 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043a\u0443\u0447\u0443 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0439 \u0431\u043e\u043b\u0438. <\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u043e\u0431\u0437\u043e\u0440\u043d\u043e\u0433\u043e \u043a\u0435\u0439\u043d\u043e\u0443\u0442\u0430 \u043e\u0442 \u0421\u0430\u0448\u0438 \u0413\u043e\u043b\u044c\u0434\u0448\u0442\u0435\u0439\u043d\u0430, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0432\u044b\u0448\u0435, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0435\u0449\u0435 4 \u0434\u043e\u043a\u043b\u0430\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0442 \u0432\u0430\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0430\u0448 \u043a\u043e\u0434 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435.<\/p>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/e27\/fd5\/076\/e27fd507667c42e7901bd9ad8d57d3b1.png\"\/><a href=\"https:\/\/dotnext-piter.ru\/talks\/lets-talk-about-memory\/\"><b>\u0410\u043d\u0434\u0440\u0435\u0439<\/b><\/a><b> <a href=\"https:\/\/habrahabr.ru\/users\/dreamwalker\/\" class=\"user_link\">DreamWalker<\/a> <\/b><a href=\"https:\/\/dotnext-piter.ru\/talks\/lets-talk-about-memory\/\"><b>\u0410\u043a\u0438\u043d\u044c\u0448\u0438\u043d \u2014 \u041f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043f\u0440\u043e \u043f\u0430\u043c\u044f\u0442\u044c<\/b><\/a><\/p>\n<p>  \u0412\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u044c. \u0418\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438 \u0432 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0442\u0430\u043a-\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e: \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432 \u0432\u043b\u0438\u044f\u044e\u0442 \u043d\u0430 \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b. \u0412 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u0438\u0437 \u0447\u0435\u0433\u043e \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. <\/p>\n<p>  \u041e\u0431\u0441\u0443\u0434\u0438\u043c \u043a\u0430\u043a \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u0435\u043d\u044b\u0435 \u0445\u0430\u0440\u0434\u0432\u0430\u0440\u043d\u044b\u0435 \u0448\u0442\u0443\u043a\u0438 (CPU cache \u0438 \u0435\u0433\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u043e\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c, \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435, store forwarding, 4K aliasing, prefetching, cache\/page splits, cache bank conflicts \u0438 \u0442.\u043f.), \u0442\u0430\u043a \u0438 \u0431\u043e\u043b\u0435\u0435 .NET-\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b (pinned objects, large object heap, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u0443\u0447\u0438 \u0432 \u043f\u043e\u043b\u043d\u043e\u043c .NET Framework \u0438 Mono).<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/38b\/a44\/bea\/38ba44bea73b43e4b99a874dcfd94def.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/coreclr-remote-profiling-for-linux-arm\/\">\u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0412\u0435\u0440\u0435\u0449\u0430\u0433\u0438\u043d \u2014 \u0423\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 CoreCLR \u0434\u043b\u044f Linux ARM<\/a><\/b><\/p>\n<p>  CoreCLR \u0434\u0430\u0435\u0442 \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c, \u0432\u043a\u043b\u044e\u0447\u0430\u044f Linux. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f .NET Core \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434 Windows, \u0430 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 CoreCLR \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b. <\/p>\n<p>  \u0412 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e\u0431 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0421# \u043a\u043e\u0434\u0430 \u0432 \u0441\u0440\u0435\u0434\u0435 CoreCLR, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 Linux ARM \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0433\u043e\u0440\u044f\u0447\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u0433\u043e\u0440\u044f\u0447\u0438\u0439 \u043f\u0443\u0442\u044c (hot path), \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 CPU, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0440\u0430\u0431\u043e\u0442\u0435 JIT \u0438 GC. \u0412\u0441\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437 Visual Studio 2015. <\/p>\n<p>  \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442 \u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u0438 \u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u0445 \u043a \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b. <\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/164\/0e2\/11e\/1640e211edf64a7586add09fe898a244.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/automate-your-dumps\/\">Dina Goldshtein \u2014 Automate Your Dumps<\/a><\/b><\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0430\u0434\u0430\u0435\u0442, \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e: \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043b\u043e\u0433\u0438 \u0438\u043b\u0438 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0440\u044d\u0448-\u0434\u0430\u043c\u043f. \u0412 \u0434\u0430\u043c\u043f\u0435 \u0432\u044b \u043d\u0430\u0439\u0434\u0435\u0442\u0435, \u0441 \u043a\u0430\u043a\u0438\u043c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0443\u043f\u0430\u043b\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0432\u0430\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0445\u0430\u0446\u0438\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435\u2026 \u0412\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0440\u0443\u0447\u043a\u0430\u043c\u0438, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0447\u0430\u0441\u043e\u0432 \u2014 \u043d\u0435 \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0435\u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0437\u0430\u043d\u044f\u0442\u044c\u0441\u044f, \u043a\u0440\u043e\u043c\u0435 \u043a\u0430\u043a \u0434\u0430\u043c\u043f\u044b \u043a\u043e\u043f\u0430\u0442\u044c. <\/p>\n<p>  \u0425\u043e\u0440\u043e\u0448\u043e \u0431\u044b \u0432\u0441\u0435 \u044d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0440\u0430\u0441\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0433\u0440\u0443\u043f\u043f\u0430\u043c: \u043f\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0435\u043d\u0442\u0430\u043c, \u0442\u0438\u043f\u0430\u043c \u043a\u0440\u044d\u0448\u0435\u0439 \u0438\u043b\u0438 \u0435\u0449\u0435 \u043a\u0430\u043a. \u0412 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0414\u0438\u043d\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442, \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437 .NET \u043a\u0440\u044d\u0448-\u0434\u0430\u043c\u043f\u043e\u0432 \u043f\u043e\u0434 Windows \u0438 Linux, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 WinDbg, lldb, \u0438 SOS.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/1f2\/850\/e9c\/1f2850e9c6ed4638b89db4887fcbb79d.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/5-commandments-of-pdb\/\">\u0421\u0435\u0440\u0433\u0435\u0439 \u0429\u0435\u0433\u0440\u0438\u043a\u043e\u0432\u0438\u0447 \u2014 5 \u0437\u0430\u043f\u043e\u0432\u0435\u0434\u0435\u0439 PDB<\/a><\/b><\/p>\n<p>  PDB-\u0444\u0430\u0439\u043b\u044b \u2014 \u0432\u0430\u0436\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u042f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c PDB \u0444\u0430\u0439\u043b\u044b, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e \u0438\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0438 \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0430\u043c, \u043f\u043e\u043a\u0430\u0436\u0443 \u043d\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 .NET Core. \u0414\u043e\u043a\u043b\u0430\u0434 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438.<\/p>\n<hr\/>\n<p>  <\/p>\n<h2><b>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438<\/b><\/h2>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/345\/e54\/ea2\/345e54ea2f0b4978b942fa6130838223.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/jetbrains-rider-ide-personal-effectiveness-skills-for-net-programmers\/\">\u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u0418\u0432\u0430\u043d\u043e\u0432 \u2014 JetBrains Rider IDE: \u043d\u0430\u0432\u044b\u043a\u0438 \u043b\u0438\u0447\u043d\u043e\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f .NET-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430<\/a><\/b><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u2014 \u043b\u0435\u043d\u0438\u0432\u044b\u0439 (\u0432 \u0445\u043e\u0440\u043e\u0448\u0435\u043c \u0441\u043c\u044b\u0441\u043b\u0435) \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u043e\u0447\u0435\u0442 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u0432\u0440\u0435\u043c\u044f, \u0430 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u0440\u0443\u0442\u0438\u043d\u043d\u043e\u0439 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043d\u043e\u0432\u0430 \u0438 \u0441\u043d\u043e\u0432\u0430, \u0442\u043e \u044d\u0442\u043e\u0442 \u0434\u043e\u043a\u043b\u0430\u0434 \u0434\u043b\u044f \u0432\u0430\u0441. \u0412\u044b \u0443\u0437\u043d\u0430\u0435\u0442\u0435 \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u0447\u0438 IDE \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043f\u043e\u0434 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0433\u043b\u043e\u043c \u043d\u0430 \u0443\u0436\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0435. \u0420\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Rider \u043f\u043e\u0434 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0438 \u0447\u0435\u043c \u043e\u043d \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 IDE. \u0412\u0441\u0435 \u0444\u0438\u0447\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u0432 \u0440\u0430\u0437\u0440\u0435\u0437\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u0437\u0430\u0434\u0430\u0447.<\/p>\n<p>  \u0418\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0438\u0437 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u2014 \u043d\u0435 \u0441\u0442\u0443\u0447\u0430\u0442\u044c \u043f\u043e \u043a\u043b\u0430\u0432\u0438\u0448\u0430\u043c, \u0430 \u043c\u044b\u0441\u043b\u0438\u0442\u044c. \u041e\u0442\u0441\u044e\u0434\u0430 \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442, \u0447\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 IDE \u2014 \u043f\u043e\u043c\u043e\u0447\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0448\u0435\u0434\u0448\u0443\u044e \u0432\u0430\u043c \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043c\u044b\u0441\u043b\u044c. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0441\u043c\u044b\u0441\u043b\u0430. \u0411\u0443\u0434\u0435\u043c \u0440\u0435\u0448\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u043a\u0438, \u043a\u0430\u043a \u0437\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u0439 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/615\/d51\/af6\/615d51af6e994b898ba4c1fbf1204ce2.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/containerised-asp-net-core-apps-with-docker-and-kubernetes\/\">Mete Atamel \u2014 Containerised ASP.NET Core apps with Docker and Kubernetes<\/a><\/b><\/p>\n<p>  Kubernetes \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u043e\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u043d\u0430 Linux. ASP.NET Core \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u043f\u043e\u0434 .NET. \u042d\u0442\u043e\u0442 \u0434\u043e\u043a\u043b\u0430\u0434 \u043f\u043e\u043a\u0430\u0436\u0435\u0442, \u043a\u0430\u043a \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c ASP.NET Core \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 Docker-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0438 \u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u0438\u0445 \u0432 Kubernetes. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e\u0431 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0443\u0434\u043e\u0431\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u0445, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u0441 Kubernetes.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/976\/5a5\/ab1\/9765a5ab1a414fc28130f0064f7eab31.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/nuget-best-practices-organize-your-chickens\/\">Maarten Balliauw \u2014 NuGet beyond Hello World<\/a><\/b><\/p>\n<p>  NuGet \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432\u0441\u0435, \u0442\u0430\u043a? \u042d\u0442\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e. \u0410 \u0437\u043d\u0430\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u043c\u0438? \u041a\u0430\u043a \u043d\u0430 \u0432\u0441\u0435 \u044d\u0442\u043e \u043f\u043e\u0432\u043b\u0438\u044f\u0435\u0442 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 .NET Standard? \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c, \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0438 \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442? <\/p>\n<p>  \u041d\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u041c\u0430\u0430\u0440\u0442\u0438\u043d \u043e\u0442\u0432\u0435\u0442\u0438\u0442 \u043d\u0430 \u044d\u0442\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0438 \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f \u0435\u0449\u0435 \u0433\u043b\u0443\u0431\u0436\u0435: \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c API NuGet \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 NuGet? \u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 NuGet \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f? \u041a\u0430\u043a\u0438\u0435 \u0436\u0435\u043c\u0447\u0443\u0436\u0438\u043d\u044b \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u043c API NuGet? \u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e NuGet.org?<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/b71\/2cb\/3a8\/b712cb3a86ec45d09569f556f532b7f5.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/entity-framework-core-is-it-ready-yet\/\">Tomas Herceg \u2014 Entity Framework Core: Is It Ready Yet?<\/a><\/b><\/p>\n<p>  \u042d\u0442\u043e\u0442 \u0434\u043e\u043a\u043b\u0430\u0434 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d \u043d\u0430 \u0442\u0435\u0445, \u043a\u0442\u043e \u0435\u0449 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0441 Entity Framework Core, \u043d\u043e \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c. \u0420\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f\u0445 \u043c\u0435\u0436\u0434\u0443 Entity Framework \u0438 Entity Framework Core, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u043e\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041e\u0431\u0441\u0443\u0434\u0438\u043c \u0444\u0438\u0447\u0438 Entity Framework Core, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0422\u043e\u043c\u0430\u0441 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432 \u0434\u0435\u043c\u043a\u0430\u0445 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0421\u0423\u0411\u0414 \u043f\u043e\u0434 Linux. <\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e, \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u0434\u043e\u0440\u043e\u0436\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043e\u0431\u0441\u0443\u0434\u0438\u043c, \u0447\u0435\u0433\u043e \u0436\u0434\u0430\u0442\u044c \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u0438 \u0433\u043e\u0442\u043e\u0432\u043e \u043b\u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435. <\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/5d7\/7e5\/c65\/5d77e5c65c764ca5b9c7b17595e4877b.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/avaloniaui-the-first-xaml-ui-framework-with-net-core-support\/\">\u041d\u0438\u043a\u0438\u0442\u0430<\/a><\/b> <a href=\"https:\/\/habrahabr.ru\/users\/kekekeks\/\" class=\"user_link\">kekekeks<\/a> <b><a href=\"https:\/\/dotnext-piter.ru\/talks\/avaloniaui-the-first-xaml-ui-framework-with-net-core-support\/\">\u0426\u0443\u043a\u0430\u043d\u043e\u0432 \u2014 AvaloniaUI: \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0439 XAML UI-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 .NET Core<\/a><\/b><\/p>\n<p>  \u041c\u044b \u0436\u0438\u0432\u0451\u043c \u0432\u043e \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u043b\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0446\u0435\u043b\u043e\u0433\u043e \u0437\u043e\u043e\u043f\u0430\u0440\u043a\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0430 .NET Core \u0438 .NET Standard \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u044c C#-\u043a\u043e\u0434\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043f\u0440\u0438\u0447\u0451\u043c \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u0437 \u043d\u0438\u0445 \u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e \u0437\u0430\u0441\u0442\u0440\u044f\u043b\u0430 \u0433\u0434\u0435-\u0442\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0430\u0445 MFC \u0438 Windows Forms, \u0438 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 C#. \u0415\u0441\u0442\u044c \u0440\u044f\u0434 \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u043f\u044b\u0442\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u044d\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043a \u043e\u0431\u0449\u0435\u043c\u0443 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044e \u0438 \u0445\u043e\u0442\u044c \u043a\u0430\u043a-\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 MVVM \u0438 XAML-\u0432\u0451\u0440\u0441\u0442\u043a\u0438, \u043d\u043e \u0432\u0441\u0451 \u044d\u0442\u043e \u043a\u0430\u043a-\u0442\u043e\u2026 \u043d\u0435 \u0442\u043e.<\/p>\n<p>  .NET-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0438\u0432\u044b\u043a\u043b\u0438 \u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u0438\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044b \u0433\u0434\u0435 \u0443\u0433\u043e\u0434\u043d\u043e \u0438 \u043a\u0430\u043a \u0443\u0433\u043e\u0434\u043d\u043e, \u043a \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430\u043c \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u043a \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c, \u0431\u043e\u0433\u0430\u0442\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u043e\u0432. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0433\u043e \u0438 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u043f\u0440\u043e\u0435\u043a\u0442 AvaloniaUI, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0438\u0439 \u0438\u0434\u0435\u0438 WPF \u0432 open source. \u041f\u0443\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0435\u043b\u0451\u0433\u043e\u043a \u0438 \u0442\u0435\u0440\u043d\u0438\u0441\u0442 \u2014 \u043f\u043e\u043c\u0438\u043c\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438\u0432\u044f\u0437\u043e\u043a, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434, \u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u0440\u043e\u0434\u0430 \u043d\u0435\u0441\u0443\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043e\u0442\u043b\u0438\u0447\u0438\u044f\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 (\u0442\u0430\u043a, \u0438\u0437-\u0437\u0430 \u043d\u0435\u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 ArcTo \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u043e\u0440\u0431\u0438\u0442 \u043a\u043e\u043c\u0435\u0442).<\/p>\n<p>  \u041e \u0442\u043e\u043c, \u0447\u0435\u0433\u043e \u0443\u0436\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0441\u0442\u0438\u0447\u044c, \u0447\u0442\u043e \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0432\u044b \u0443\u0436\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u0445 \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0441\u0442\u044f\u0445 \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 \u0434\u043e\u043a\u043b\u0430\u0434 \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0435\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/f2b\/b0d\/ad7\/f2bb0dad7d4942e58f9541001a0df271.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/democratizing-ai-on-net-platform-from-chat-bots-and-cognitive-services-to\/\">\u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u0421\u043e\u0448\u043d\u0438\u043a\u043e\u0432 \u2014 \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 .NET: \u043e\u0442 \u0447\u0430\u0442-\u0431\u043e\u0442\u043e\u0432 \u0438 \u043a\u043e\u0433\u043d\u0438\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0434\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0445 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439<\/a><\/b><\/p>\n<p>  \u0421\u043e\u0432\u0435\u0440\u0448\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u043f\u0440\u043e\u0440\u044b\u0432\u044b \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u043a\u043e\u0433\u043d\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0430\u043d\u044c\u0448\u0435 \u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0447\u0443\u0434\u043e\u043c: \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u043f\u043e \u043b\u0438\u0446\u0443, \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0438\u043b\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434. \u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u044d\u0442\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u0440\u0435\u0448\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 .NET: \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u0433\u043d\u0438\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u043d\u0435\u0439\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Microsoft Cognitive Toolkit. \u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415: \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0430 F# \u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043b\u043e\u043c\u0430\u0442\u044c \u0432\u0430\u043c \u043c\u043e\u0437\u0433.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/36b\/6f7\/6b1\/36b6f76b185547f1bf1cc01e41447e4b.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/building-code-analysis-tools-with-the-net-compiler-platform-roslyn\/\">Filip W \u2014 Building code analysis tools with the .NET Compiler Platform (Roslyn)<\/a><\/b><\/p>\n<p>  \u041c\u044b \u043b\u044e\u0431\u0438\u043c Resharper \u0438 \u0435\u0433\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u043a\u043e\u0434\u0430. \u0412 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 .NET \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Roslyn \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u0438\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u0439 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u043a\u043e\u0434\u0430. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0432\u043e\u0438\u0445 \u0438\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u0439 \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c codestyle, \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043a\u043e\u0434\u0435, \u043f\u0435\u0440\u0435\u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u0424\u0438\u043b\u0438\u043f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442, \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0433\u0434\u0435-\u0442\u043e \u0435\u0449\u0435, \u043a\u0440\u043e\u043c\u0435 \u043a\u0430\u043a \u0432 Visual Studio.<\/p>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u0424\u0438\u043b\u0438\u043f\u0435 \u0438 \u043e \u0442\u043e\u043c, \u0447\u0435\u043c \u043e\u043d \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u043d\u0430\u0448\u0435\u043c <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/322226\/\"><b>\u0425\u0430\u0431\u0440\u0430\u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u043d\u0438\u043c<\/b><\/a>.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/98f\/35a\/d21\/98f35ad210e24e0fb683915004ac3b19.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/learn-to-cook-msbuild\/\">\u041c\u0438\u0445\u0430\u0438\u043b \u0424\u0438\u043b\u0438\u043f\u043f\u043e\u0432 \u2014 \u0423\u0447\u0438\u043c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c MSBuild<\/a><\/b><\/p>\n<p>  MSBuild \u2014 \u044d\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 .NET \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c, \u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442, \u043a\u0430\u043a \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0447\u0442\u043e \u043e\u043d \u043c\u043e\u0436\u0435\u0442. \u042d\u0442\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043d\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0438\u043b\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c Visual Studio, \u0438 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u043d\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 build-\u0441\u043a\u0440\u0438\u043f\u0442\u044b. \u0410 \u043f\u043e\u0442\u043e\u043c \u0438\u0445 \u0431\u0438\u043b\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442\u044c \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u0412 \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 build task. \u041f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0434\u0435\u0431\u0430\u0436\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u0431\u0438\u043b\u0434\u0435 \u2014 \u0438 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e MSBuild \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 Windows.<\/p>\n<hr\/>\n<p>  <\/p>\n<h2><b>\u041f\u043e\u0434\u0445\u043e\u0434\u044b \u0438 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b<\/b><\/h2>\n<p>  \u0420\u0430\u0437\u0434\u0435\u043b \u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u0445 \u0442\u043e\u0436\u0435 \u043d\u0435 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0443\u0441\u0442\u044b\u043c \u043d\u0438\u043a\u043e\u0433\u0434\u0430. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432, \u0432\u044b\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430\/\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043c\u043e\u0436\u0435\u0442 \u0441\u043f\u0430\u0441\u0442\u0438 \u0432\u0430\u0441 \u043e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0447\u0430\u0441\u043e\u0432 \u0441\u0442\u0440\u0430\u0434\u0430\u043d\u0438\u0439: \u0431\u0443\u0434\u044c \u0442\u043e \u043b\u0435\u0433\u043a\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. <\/p>\n<p>  \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u043e \u0432\u0435\u0440\u0445\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0432\u0441\u0435, \u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0441 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u043c \u0442\u043e\u0442 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0447\u0430\u0441\u0442\u043e \u0441 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f. \u0414\u043e\u043a\u043b\u0430\u0434\u044b \u0432 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043f\u0440\u0438\u0437\u0432\u0430\u043d\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u0438 \u0434\u0430\u0442\u044c \u0432\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u043d\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u043d\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043d\u0430 \u0441\u0430\u043c\u044b\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0438 \u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u044b\u0435 \u0433\u0440\u0430\u0431\u043b\u0438 (\u0441\u0430\u043c\u044b\u043c\u0438 \u0441\u0442\u0440\u0430\u0448\u043d\u044b\u043c\u0438 \u0433\u0440\u0430\u0431\u043b\u044f\u043c\u0438, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0435\u0442\u0441\u043a\u0438\u0435).<\/p>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/200\/cb4\/8a4\/200cb48a4ffd46f2a6c34e0f8e001ab9.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/aop-via-net\/\">\u0418\u0433\u043e\u0440\u044c \u042f\u043a\u043e\u0432\u043b\u0435\u0432 \u2014 \u0410\u041e\u041f \u0432 .NET<\/a><\/b><\/p>\n<p>  \u0412\u044b \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u043b\u044b\u0448\u0430\u043b\u0438 \u043e\u0431 \u0430\u0441\u043f\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438? \u0410 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435? \u041c\u044b \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u2014 \u0441 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0437\u0430\u0434\u0430\u0447, \u0433\u0434\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0410\u041e\u041f; \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u0435\u043c\u0441\u044f \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a \u00ab\u0437\u0430\u0432\u0435\u0441\u0442\u0438\u00bb \u0410\u041e\u041f \u043f\u043e\u0434 .NET. \u0422\u0430\u043a\u0436\u0435 \u043c\u044b \u0440\u0435\u0448\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0434\u0430\u0447, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0410\u041e\u041f-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438: \u043d\u0430\u0443\u0447\u0438\u043c\u0441\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0430\u043f\u043f\u0435\u0440\u044b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438, \u0432\u043d\u0435\u0434\u0440\u0438\u043c \u0432 \u043d\u0430\u0448\u0438 \u043a\u043b\u0430\u0441\u0441\u044b \u043a\u043e\u0434 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f PostSharp \u0438 Fody. \u041d\u0430 \u0437\u0430\u043a\u0443\u0441\u043a\u0443 \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c Nemerle, \u0438, \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0432\u0448\u0438\u0441\u044c \u0441\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u044b\u043c\u0438 \u043d\u0430 \u0432\u0438\u0434 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0432\u0440\u043e\u0434\u0435 \u00ab\u043a\u0432\u0430\u0437\u0438-\u0446\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u00bb \u0438 \u00ab\u043c\u0435\u0442\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u00bb, \u0440\u0435\u0448\u0438\u043c \u043d\u0430\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0410\u041e\u041f \u0431\u0435\u0437 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432!<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/fd8\/7a5\/177\/fd87a5177d204e28acc7b80dfc3f4ca4.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/real-world-rest-and-hands-on-hypermedia\/\">Dylan Beattie \u2014 Real World REST and Hands-On Hypermedia<\/a><\/b><\/p>\n<p>  \u0412\u043e\u0442 \u0432\u044b \u0437\u0430\u043f\u0438\u043b\u0438\u043b\u0438 \u0441\u0432\u043e\u0439 HTTP API, \u0438 \u043e\u043d \u0432\u0440\u043e\u0434\u0435 \u0434\u0430\u0436\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0418 \u0442\u0443\u0442 \u0432\u044b\u044f\u0441\u043d\u044f\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0446\u0435\u043b\u044b\u0445 \u0432\u043e\u0440\u043e\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c: \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b email-\u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0430\u043c \u043d\u0430\u0434\u043e \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u044c Customer \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433 \u043a\u043e\u0440\u0437\u0438\u043d\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442 25 API \u0432\u044b\u0437\u043e\u0432\u043e\u0432, \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u0435\u043b\u0430\u0435\u0442 50 HTTP \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0438 \u043a\u0430\u043a \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043a\u0430\u0442\u044c \u0443\u0437\u043a\u0438\u0435 \u043c\u0435\u0441\u0442\u0430? <\/p>\n<p>  \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 REST \u2014 \u043f\u043e\u043d\u044f\u0442\u043d\u0430\u044f \u0432\u0435\u0449\u044c, \u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u044f\u043a\u0438\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u043b\u043e\u0436\u0438\u0442\u044c REST-\u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043a\u043e\u0434. \u0412 \u044d\u0442\u043e\u043c \u0434\u043e\u043a\u043b\u0430\u0434\u0435 \u0414\u0438\u043b\u0430\u043d \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432\u0430\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b REST, \u0442\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 hypermedia \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u043c HATEOAS (\u00abhypermedia as the engine of application state\u00bb) \u2014 \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0441\u0435 \u0432\u0430\u0436\u043d\u043e \u0438 \u0437\u0430\u0447\u0435\u043c \u0432\u0430\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0438 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0438 HTTP API \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043a\u043e\u0434\u0438\u043c.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/ee8\/4ae\/b63\/ee84aeb637234e70944363ba264f12cf.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/typed-or-dynamic-api-both\/\">\u0412\u0430\u0433\u0438\u0444 \u0410\u0431\u0438\u043b\u043e\u0432 \u2014 \u0422\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438\u043b\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API? \u0414\u0430\u0439\u0442\u0435 \u0434\u0432\u0430!<\/a><\/b><\/p>\n<p>  \u0423\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 C# \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432, \u0442\u0430\u043a \u0447\u0442\u043e, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044f API, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 dynamic. \u0417\u0430\u043c\u0430\u043d\u0447\u0438\u0432\u043e \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432. \u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0434\u0432\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u0430? \u0415\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u0442\u0440\u0443\u0434\u043e\u0451\u043c\u043a\u043e? \u0418 \u043a\u0430\u043a \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430? \u042d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435\u043c\u0443 \u0438 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d \u0434\u043e\u043a\u043b\u0430\u0434. \u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u2014 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0441\u0430\u043c\u0438\u043c \u0412\u0430\u0433\u0438\u0444\u043e\u043c. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a \u0441 \u043d\u0443\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 SQL \u043a\u043e\u043c\u0430\u043d\u0434.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/e4e\/9df\/565\/e4e9df56552245a2b92707ae6d0deff0.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/the-changing-state-of-immutability-c\/\">Jon Skeet \u2014 The changing state of immutability C#<\/a><\/b><\/p>\n<p>  \u0414\u043e\u043a\u043b\u0430\u0434 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 immutability, \u0432 \u0447\u0435\u043c \u0435\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438 \u043a\u0430\u043a \u043e\u043d\u0430 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0430\u0441\u044c \u0432 C#. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432\/\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439, \u0438\u0445 \u043f\u043b\u044e\u0441\u0430\u0445 \u0438 \u043c\u0438\u043d\u0443\u0441\u0430\u0445 (\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u044f\u0437\u044b\u043a \u0438\u043b\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0435\u0435 \u043d\u0435 \u043f\u043e\u043e\u0449\u0440\u044f\u044e\u0442), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0435\u0439 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/e28\/860\/0ad\/e288600adf8a48e2a9a0ec74ede595dd.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/interprocess-communications-reasons-and-approaches\/\">\u0418\u0433\u043e\u0440\u044c \u041b\u0430\u0431\u0443\u0442\u0438\u043d \u2014 \u041c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u044b\u0435 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u044b: \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b<\/a><\/b><\/p>\n<p>  \u0412\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432\u044b\u0445\u043e\u0434\u044f\u0442 \u0437\u0430 \u0440\u0430\u043c\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u00ab\u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u00bb. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u0447\u0438\u043d \u0442\u043e\u043c\u0443, \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043c\u0430\u043b\u043e. \u0410 \u0435\u0441\u043b\u0438 \u0438\u0445 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438. .NET \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043e\u0442\u043a\u0443\u0434\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u043e\u0431\u0441\u0443\u0434\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0435\u0451 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0447\u0442\u043e \u043d\u0435 \u0432\u0441\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0443\u0434\u043e\u0431\u043d\u044b \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b.<\/p>\n<hr\/>\n<p>  <\/p>\n<h2><b>\u0418 \u043a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0451&#8230;<\/b><\/h2>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/b9b\/c1a\/71f\/b9bc1a71f7a141ac8f0a9c14d6858808.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/hololens-and-xbox-one-new-frontier-for-net-developers\/\">\u041c\u0438\u0445\u0430\u0438\u043b \u0421\u0430\u043c\u0430\u0440\u0438\u043d \u2014 Xbox One \u0438 HoloLens, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f .NET \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<\/a><\/b><\/p>\n<p>  \u0410 \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0432\u0435\u0440\u0441\u0438\u044f Visual Studio, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0434\u043b\u044f HoloLens, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f Xbox One \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 SDK \u0438\u043b\u0438 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432? \u042d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u044b\u0435 Windows 10-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043b\u044f Universal Windows Platform. \u041f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0435 \u043d\u0430 \u0434\u043e\u043a\u043b\u0430\u0434 \u0438 \u0443\u0437\u043d\u0430\u0439\u0442\u0435 \u043e\u0431 \u043e\u0441\u043d\u043e\u0432\u0430\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f Xbox One \u0438 HoloLens, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0436\u0438\u0432\u0443\u044e \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0443\u0440\u0435. \u0423\u0437\u043d\u0430\u0439\u0442\u0435, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 Unity 3D \u0438 Windows Mixed Reality, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430 Windows 10 Creators Update.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/6d4\/f4c\/d47\/6d4f4cd47bd8473d90556fd10cbd1a1e.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/my-awesome-journey-with-open-source\/\">Adam Sitnik \u2014 My awesome journey with Open Source<\/a><\/b><\/p>\n<p>  \u0414\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u0438\u0445 \u043f\u043e\u0440 .NET \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c, \u043d\u043e \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0448 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u043d\u0430\u0448 \u0440\u0430\u043d\u0442\u0430\u0439\u043c, GC \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435 \u0441\u0442\u0430\u043b\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c. \u0412\u044b \u0443\u0436\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0438\u0442\u044c? \u0425\u043e\u0442\u0435\u043b\u0438 \u0431\u044b, \u043d\u043e \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c? \u0427\u0442\u043e \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043e\u0442 OSS \u0438 \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u0432\u0430\u043c? \u0427\u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u0441\u0442\u043e\u0438\u0442, \u0430 \u043d\u0430 \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c? \u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0441\u0434\u0435\u043b\u0430\u044e\u0442 \u0432\u0430\u0441 \u0445\u043e\u0440\u043e\u0448\u0438\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c? \u0410\u0434\u0430\u043c \u043e\u0442\u0432\u0435\u0442\u0438\u0442 \u043d\u0430 \u044d\u0442\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 Core CLR, BenchmarkDotNet \u0438 corefxlab.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/6c4\/2b3\/8fb\/6c42b38fb2af415fae6be7975aaf1152.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/xamarin-forms-features-of-the-cross-platform-mobile-development\/\">\u0414\u0430\u043c\u0438\u0440 \u0411\u0435\u0439\u043b\u044c\u0445\u0430\u043d\u043e\u0432 \u2014 Xamarin.Forms: \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/b><\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u044d\u043a\u0441\u043a\u0443\u0440\u0441 \u043f\u043e \u0442\u043e\u043c\u0443, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0432\u0430\u0448\u0438 .NET + C# \u0441\u043a\u0438\u043b\u043b\u044b, \u043e\u043f\u044b\u0442 \u0440\u0430\u0431\u043e\u0442\u044b c XAML, Visual Studio, \u0438 Xamarin.Forms \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u041d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 \u0435\u0433\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043e\u0431\u0441\u0442\u043e\u044f\u0442 \u0434\u0435\u043b\u0430 \u0441 UI, \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0440\u043e\u0434\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0445, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0445 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 Xamarin.Forms. \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u043f\u0440\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0430\u0440\u043e\u0447\u043a\u0443 DI&#038;MVVM, \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u0432\u043b\u0435\u0447\u0435\u043c\u0441\u044f \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u044e\u0442 \u0442\u0440\u0443\u0434 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u0446\u0435\u043b\u043e\u043c. \u0412 \u043a\u043e\u043d\u0446\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043c\u044b \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u0443\u044e IDE \u0434\u043b\u044f Xamarin-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430.<\/p>\n<hr\/>\n<p>  <img decoding=\"async\" align=\"left\" width=\"180\" src=\"https:\/\/habrastorage.org\/web\/151\/d4f\/93d\/151d4f93daad49368fe594eb6647ce7f.png\"\/><b><a href=\"https:\/\/dotnext-piter.ru\/talks\/integrating-net-and-java-virtual-machines\/\">\u0413\u0440\u0438\u0433\u043e\u0440\u0438\u0439 \u041a\u043e\u0448\u0435\u043b\u0435\u0432 \u2014 \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d .NET \u0438 Java<\/a><\/b><\/p>\n<p>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0432 .NET-\u0441\u0435\u0440\u0432\u0438\u0441\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c XML \u0432 PDF, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 Java \u2014 Apache FOP. \u041c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u0451 \u043d\u0430 C#, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0435\u0439 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Java-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437 Java. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u044c Java-\u0441\u0435\u0440\u0432\u0438\u0441 \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u043d\u0438\u043c \u0438\u0437 .NET-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u044d\u0442\u043e\u0442 \u0436\u0435 Java-\u0441\u0435\u0440\u0432\u0438\u0441 \u0432\u043d\u0443\u0442\u0440\u0438 .NET-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442: \u043f\u043e\u0434 .NET \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0442\u043e\u0447\u0435\u043d\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0438 \u0438 \u043f\u0440\u043e\u0447\u0435\u0435, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0430. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 Java \u0432\u043d\u0443\u0442\u0440\u0438 .NET-\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u043f\u043e\u043f\u0443\u0442\u043d\u043e \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0441 Marshal, \u0433\u0440\u0430\u0431\u043b\u044f\u043c\u0438 \u0438 \u043f\u0440\u043e\u0447\u0438\u043c\u0438 \u043d\u044e\u0430\u043d\u0441\u0430\u043c\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u0440\u043e\u0434\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438.<\/p>\n<hr\/>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0432\u0441\u0435, \u043a\u0430\u0436\u0435\u0442\u0441\u044f. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043a\u0430\u043a \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u0432 3 \u0442\u0440\u0435\u043a\u0430\u0445, \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 <a href=\"https:\/\/dotnext-piter.ru\/#schedule\"><b>\u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438<\/b><\/a>.<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:\/\/habrahabr.ru\/post\/328448\/\"> https:\/\/habrahabr.ru\/post\/328448\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c DotNext, \u043c\u044b \u043f\u043e\u0448\u043b\u0438 \u043f\u043e \u043f\u0443\u0442\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0445\u0430\u0440\u0434\u043a\u043e\u0440\u0430 \u0438 \u043c\u043e\u0437\u0433\u043e\u043b\u043e\u043c\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0440\u043e\u0432\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u043b\u0438 \u044d\u0442\u043e \u0432 Java-\u043c\u0438\u0440\u0435 \u0441 Joker \u0438 Jpoint. \u0428\u043b\u0438 \u0433\u043e\u0434\u044b, \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f \u0440\u043e\u0441\u043b\u0430, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u0438 \u0444\u0438\u0434\u0431\u0435\u043a\u0438 \u0438 \u0434\u0435\u043b\u0430\u043b\u0438 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044e \u043b\u0443\u0447\u0448\u0435, \u043c\u0435\u043d\u044f\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0434\u043e\u043a\u043b\u0430\u0434\u044b, \u0441\u043f\u0438\u043a\u0435\u0440\u043e\u0432\u2026 \u0418 \u0432\u043e\u0442 \u043d\u0435\u0434\u0430\u0432\u043d\u043e, \u043e\u0431\u0449\u0430\u044f\u0441\u044c \u0441 \u043b\u044e\u0434\u044c\u043c\u0438 \u043d\u0430 DotNext \u0438 JPoint, \u044f \u043f\u0440\u0438\u0448\u0435\u043b \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u043a \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c\u0443 \u0432\u044b\u0432\u043e\u0434\u0443 \u2014 .NET \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043d\u0435 \u0445\u043e\u0442\u044f\u0442 \u0443\u043f\u043e\u0440\u043e\u0442\u043e\u0433\u043e \u0445\u0430\u0440\u0434\u043a\u043e\u0440\u0430:  <\/p>\n<ul>\n<li>\u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u0431\u0435\u0437\u0443\u043c\u043d\u043e\u0433\u043e \u0437\u043e\u043e\u043f\u0430\u0440\u043a\u0430 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0434\u043e \u0432 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0437\u043d\u0430\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432; <\/li>\n<li>\u043d\u0435\u0442 5 GC, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0441\u0432\u043e\u0438\u043c\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438; <\/li>\n<li>\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u0432\u044b\u0448\u0435;<\/li>\n<li>\u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0447\u0435\u0442\u043a\u043e \u0438 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0432\u0440\u0443\u0442 (\u044d\u0442\u043e \u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u0440\u043e .NET Framework \u0433\u043e\u0432\u043e\u0440\u044e, \u0441 Core \u043d\u0435 \u0432\u0441\u0435 \u0442\u0430\u043a \u0440\u0430\u0434\u0443\u0436\u043d\u043e \u043f\u043e\u043a\u0430); <\/li>\n<li>\u0441\u0430\u043c \u044f\u0437\u044b\u043a, \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432 \u043f\u0440\u0438\u044f\u0442\u0435\u043d \u0438 \u043f\u043e\u043d\u044f\u0442\u0435\u043d (\u0445\u043e\u0442\u044f \u043f\u043e\u0434 JVM \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043c \u0436\u0435 Kotlin).<\/li>\n<\/ul>\n<p>  \u0417\u0430\u0442\u043e \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e:   <\/p>\n<ul>\n<li>\u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u043d\u0430 \u043d\u0438\u0437\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435, \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0438\u043a\u0443\u0434\u0430 \u043d\u0435 \u0434\u0435\u0432\u0430\u044e\u0442\u0441\u044f; <\/li>\n<li>\u0420\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e \u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0441 \u043d\u0430\u043c\u0438;<\/li>\n<li>\u0421\u0430\u043c\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u043c\u0438 \u0442\u0435\u043c\u043f\u0430\u043c\u0438 \u2014 \u043d\u0430\u0434\u043e \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u0443\u0440\u0441\u0435;<\/li>\n<li>\u0421 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u043d\u043e\u0432\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u043d\u043e\u0432\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/li>\n<\/ul>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u043e\u0432\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e <a href=\"https:\/\/dotnext-piter.ru\"><b>DotNext 2017 Piter<\/b><\/a> \u2014 \u0443\u0436\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0445\u0430\u0440\u0434\u043a\u043e\u0440. \u0410 \u0435\u0441\u043b\u0438 \u043d\u0435 \u0445\u0430\u0440\u0434\u043a\u043e\u0440, \u0442\u043e \u043a\u0442\u043e? \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u043c\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c.<\/p>\n<p>  <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/328448\/\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/859\/ebd\/3f4\/859ebd3f4557488ea205c214475e27d6.png\"\/><\/a>  <\/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-286334","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/286334","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=286334"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/286334\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=286334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=286334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=286334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}