.NET:精髓-从CLR到社区

是否想见John Galloway(.NET基金会执行董事),Pavel Yosifovich(传奇的Windows Internals和Pluralsight的新课程的作者 )? 还是与Alex Thyssen(Visual Studio类别中的12倍MVP)合作? 还是接受Conrad Cocos(Pro .NET内存管理的作者)进行培训? 现在您有了这样的机会。


最大的.NET开发人员会议DotNext 2019 Piter将在5月15日至16日在圣彼得堡举行。 削减内容将是对演讲课程的结构性审查以及有关培训的几句话。


道格拉斯·克罗克福德(Douglas Crockford)撰写了《 JavaScript:好的零件》一书 ,这标志着许多致力于突出各种技术中最好的作品的开始。 在这个中心,我们将讨论与.NET生态系统有关的2019年最重要的四个知识部分。



如您所知,选择报告的工作开始于六个月以上。 这是我们的毛毛虫:



当您沿着该路径移动时, 会议程序页面填满一点。 今天是4月26日,距会议开始只有19天了,这是终点。 演讲者将报告精打细算,组织者为会议做准备,参加者购买门票。


一个有趣的事实:计划委员会的成员不仅设法完成主要工作并召开会议,而且还发明自己的报告并撰写书籍。 来自JetBrains的Andrei Akinshin DreamWalker不需要参加会议,他在准备会议的同时完成了《 Pro .NET Benchmarking》一书,我们热烈祝贺他!


重要主题


会议的结构不是静态的。 它每年都在变化,反映了.NET开发领域中最重要的趋势。 您现在可以学习最有用的东西,并与最抢手的发言人交谈。


在2019年春季,主要主题列表如下:


  • 趋势 -有关.NET开发状态的简要概述报告;
  • 建筑 -所有关于好的建筑;
  • 最佳做法 -在各个发展领域的良好做法;
  • 从编译器到库, 内部组件是各种技术的精髓。

让我们分别处理每个类别。


在这篇文章中,并不是所有的报道都被告知! 相反,它是一种快速概述。 您自己可以查看完整的DotNext 2019 Piter计划 。 我强烈建议您这样做,因为无论您说多少“砖块”,您的嘴都不会很甜!


内幕中的所有事物都是同一个硬核,只是为了使许多人参加会议。


Pavel Yosifovich被称为Windows Internals,WPF Coo​​kbook,精通Windows C ++应用程序开发以及Pluralsight的六门课程的作者。 如果您也对C ++感兴趣, 他也会对此进行讨论 。 此外,他还是一位著名的开发人员,培训师和演讲者,但是在这个职位上,我们几乎没有看到他-他几乎从未在俄罗斯发生过。 帕维尔第二次来到DotNext,这是我的荣幸和好运。 上一次,他真的很喜欢。 在他的新演讲“使用Windows事件跟踪构建您自己的性能分析和诊断工具”中 ,他将讨论如何将ETW投入服务,并且还将为您提供许多实用的细节。


Christophe Nasarre是一位了不起的人,除了使用Microsoft技术已有25年以上的经验外,自1996年以来,他一直是MSPress,Addison-Wesley和其他出版商的技术审阅者,致力于通过C#和最新版本的Windows Internals编写书籍。 他们将与Kevin Gosse一起就.NET中的调试异步方案进行有力的演讲。 没有什么比调试异步代码更容易了吗?当两位WinDbg专业人员和其他工具谈论它时。


Andrey Karpov在JetBrains工作,在那里他参与了ReSharper和Rider产品的C#语言支持。 在加入JetBrains之前,他从事低级编程,研究Windows内核等工作。 C#语言继续快速发展。 即将发布的版本增加了对异步迭代器的支持。 这是什么 这是为了什么 如何运作? 您可以通过访问“因为我在等我,请等我一下”一文来学习如何使用异步流。


Nikita Tsukanov具有出色的工作经验。 他从Navigator开始,在C / C ++上的WinCE / Mobile下进行开发,并在GTK#,Promarket交易平台,诺基亚N900的Mono维护,为芯片调教工具,带有End2End的移动Messenger的跨平台客户端上提供了VPN服务。 -加密和很多东西。 他的演讲“ C#和C ++的跨平台面向对象的交互”将为接口级别的C ++和C#之间的双向透明交互提供一种解决方案,该解决方案可以实现C#类和C ++类。 换句话说,您可以忘记C ++ / CLI的恐怖之处,而可以考虑使用其他方法。


Evgeny Peshkov epeshk处理Kontur的通用基础架构,开发了基于云的应用程序托管平台。 他对.NET和Windows的内部设备感兴趣,并在实践中使用了此知识。 在新的报告“ .NET中的多线程:缺乏性能”中,我们研究了在.NET中使用多线程的错误和问题。 让我们看一些使用标准.NET库中的工具导致性能下降的示例,并讨论针对特定任务量身定制且没有这些缺点的解决方案。



许多人都对有关航天器耕。.NET广阔天地的报道表示怀疑。 幸运的是,这里的一切都更加有趣,因为这些报告是由社区中的知名人士和受人尊敬的人撰写的,这些人值得一听 。 人们经常以反馈的形式要求特定的人来参加-程序委员会正在努力实现这些愿望。


例如, Dino Esposito将一次执行两个报告- “ ASP.NET Core 3.0:最新技术”“ ASP.NET Blazor编程101” 。 首先,这些只是非常受欢迎的话题。 其次,Dino是一位撰写过20本书,不到1000篇文章,在会议上发表500多个报告等的人-最受欢迎的讲英语的.NET讲者之一。 第三,Dino在DotNext上有着悠久的历史,自2014年以来每年都进行报告,包括首届Moscow DotNext的开幕式主题演讲。 显然,他应该谈论ASP.NET Core 3.0。


圣彼得堡.NET社区中许多人已经知道的Dmitry Nesteruk mezastel将谈论C#8最新知识 。 顺便说一句,早在2014年,德米特里(Dmitry)就在圣彼得堡发布了第一张DotNext的第一份报告-在这里,他再次与我们在一起! Nico Vermeir将讨论桌面开发的未来,而Wesley Cabus则将讨论混乱测试 。 通常,这些是社区中正在积极讨论的主题,这就是为什么它们加入了该计划的原因。


另外,我想谈一谈约翰·加洛韦。 John是.NET Foundation的执行董事,Microsoft的技术传播者,Professional ASP.NET MVC的合著者,以及著名的教程(例如MVC Music Store) ,著名的演讲者和播客。 许多人已经知道.NET Foundation,但他们不了解它到底是什么,以及为什么甚至了解它。 约翰将揭露所有这些问题,并告诉您如何参加。



体系结构是关于如何组织系统,选择哪些元素以及它们应如何表现和交互的内容。 如何从小型子系统组装大型组件。 如何选择将指导开发的正确的建筑风格,如何描述和传达它,等等。


计划委员会对建筑报告进行了特别严格的审查。 如果这样的报告涉及项目中开发的实践,那么它应该是一个真正成功的技术项目。 演讲者不仅应该了解该主题,还应该在最短的时间内(报告的小时数),对最复杂的抽象事物进行清晰的解释。 通常,这应该是可以信任的信息,而不是从天花板上获取的信息。 例如,与“趋势”类别的主要区别在于,架构影响不会影响今天或明天,而恰恰是要查看我们访问此类报告时所检验的原则。


在这里有必要提及例如Vagif Abilov的报告VagifAbilov 。 Wagif一直在挪威Miles公司工作,他的编程经验跨越大约三十年。 现在,他从事F#和C#系统的开发,经常在会议上发表演讲,参加开源项目并支持Simple.OData.Client。 对于喜欢域建模和F#的每个人,他的报告“业务对象之后的生活(向PLO老兵坦白)”应该引起人们的兴趣。 几年前,由于厌倦了数据结构的变异,线程同步和繁琐的业务对象,Vagif的团队改用了F#。 本报告将讨论这种过渡的期望以及他们已掌握的领域建模的新方法。 我们将分别聆听业务对象(更确切地说,是它们的缺失)以及如何成功替换它们。 由于此类主题经常引起争议,因此我们决定在Vagif的报告期间立即开始讨论,使其具有互动性,并邀请另一位受欢迎的演讲者Maxim Arshinov, marshinov进行


如果您的项目不是主要遗产,那么很可能它具有某种时尚的建筑概念。 例如,CQRS。 或DDD。 还是演员模型? 但是,这没有什么区别-所有这些都以某种方式与函数式编程世界联系在一起。 关于这一点, 罗曼·内夫林Roman Nevolin)的新闻 专家将在报告中告诉我们一切,并说道: “为什么您的建筑会起作用,以及如何使用它


因此,您不要以为这是某种形式的工作人员和F#ist的聚会,您需要提及有关讨论微服务和整体式经典困境的讨论的报告。 特殊软件的Sean Farmar (NServiceBus开发人员)在“ 成功分解整体报告”中将不仅展示如何看到整体,而且还将展示如何使用DDD和SOA原理模拟简单的垂直切割。 Konstantin Gustov在他的报告“微服务中的DDD:复杂性与复杂性”中将继续DDD的主题。



最佳实践是形成成功的实践经验的一种方式。 如果有实现目标的最佳方法,那么也许可以将其应用于其他地方。 “最佳实践”一词由美国工程师弗雷德里克·温斯洛·泰勒Frederick Winslow Taylor )于1914年提出,他是劳工和管理科学组织的创始人。 “在每个过程的每时每刻使用的各种方法和工具中,总有一种方法和工具比其他方法和工具更快,更好 从那时起已经过去了一百多年,人类又有了一个伟大的发现-编程会议,这是发现最佳实践的最佳方法!


在这类报告中,传统上有许多简单的介绍性报告和应用报告。 其中最重要的事情是清楚地传达一个纯粹的实用想法,以便您可以在几天之内开始工作并开始应用它。 在建筑航空学的荒野中,它们通常不深入,因此存在一系列不同的主题。


您想看到谁作为该类别的发言人? 让我们从Alex Thissen开始。 他从90年代末开始从事编程工作,曾在多家公司(从小型初创公司到大型企业)担任领先的开发人员,现在教应用程序开发人员使用Microsoft技术,架构师设计和构建现代分布式应用程序,并在业余时间开发游戏。 正如他的预期,他的报告“我感觉不太好……将运行状况检查集成到您的.NET Core解决方案中”属于思慕雪类别,并谈到了一个非常具体的问题:ASP.NET Core 2.2中的运行状况终结点。 如何嵌入它们,它们通常是什么,外部依赖项(如数据库和HTTP端点)会发生什么。 最后,如何在容器化软件集群上使用它们。


但是,来自JetBrains的Dmitry Ivanov的报告更为沉重。 “ .NET中的异步编程:最佳实践”是一个关于痛点的故事。 异步/等待的到来,僵局和航班在任何地方都没有消失-他们挖得更深了,变得更加难以诊断。 编写异步代码的正确和错误模式不会由任何人告诉,而是由技术专家JetBrains Rider和ReSharper内核的开发人员(数据结构,缓存,多线程)告知。


简短地提及其他发言人,信息支持架构师Edwin van Wijk讲“如何使用服务网格来掌握您的微服务系统” -一个有关如何为您的微服务实现网格并构建诸如路由之类的基本内容的故事,断路器等。 Roberto Freato将告诉我们如何通过隐藏在API网关的后面来简化生活,但不会在“使用Ocelot和容器简化API网关的报告中写自行车,而现代NUKE组装系统的开发者Matthias Koch 会谈到



在主要会议计划之后的5月17日,将举行Konrad Kokosa培训 。 它将持续10到18个小时。


这是几乎每个.NET开发人员都可以从中受益的培训。 它从有关.NET运行时的基本概念开始,然后遍历了内存管理的许多方面。 经验丰富的开发人员和初学者都可以从培训中学到很多东西。 即使是非常高级的开发人员也可以在这里学习一些东西!


Conrad是Pro .NET内存管理的作者。 十几年来,他继续致力于.NET世界中的性能和体系结构问题,包括加快Web应用程序的速度。 .NET应用程序的性能和诊断-这是他的培训的专门知识。 Conrad获得了Visual Studio和开发工具类别的MVP,并且是https://dotnetos.org的共同创始人。


目的是通过培训,使参与者对.NET运行时(在Framework和Core中)自动内存管理有更深入的了解。 这样您就可以编写考虑到内存工作的代码,并诊断各种相关问题。 而且,在这里我们不仅会了解事物的直接应用,而且还将了解如何以及为什么以这种方式而不是其他方式来实现它们。 例如,我们将详细介绍垃圾收集器的实现细节。 这将使解决培训主题范围之外的其他问题变得容易。


后续步骤


我提醒您,DotNext 2019 Piter会议将于5月15日至16日在圣彼得堡举行。 您可以在官方网站上熟悉该程序。


你可以在那里买票


请注意,门票有不同的类型-例如,为学生,研究生和老师提供折扣。 有一些特殊的在线门票供那些由于某种原因而无法现场直播的人使用(显然,有偿在线广播中的此类参与者还将收到会议的所有视频)。


从5月1日起,机票价格将上涨非常重要。 自2018年12月``早起的鸟儿''以来,它们逐渐成长。 距会议还剩不到一个月的时间,而5月1日的价格将是最终的。 如果您坚定地决定离开,那么拉扯是没有意义的,您需要立即采取行动。


祝您五月假期愉快,并在DotNext 2019 Piter见!

Source: https://habr.com/ru/post/zh-CN449510/


All Articles