2019 .NET China Conf:路一直都在,社区会更好
这个周末,我从成都飞到了上海参加了首届由社区组织而非官方(比如Microsoft)组织的.NET开发者峰会(.NET Conf)。为此,我特意请了两天的假(周五+周六,对,我们是大小周,这周六要上班),在周五就飞到上海了。现在将我的所见所闻总结成文字,分享给各位关注我的朋友。

一、自组织,规模大,准备精
首先,谈谈这届峰会的整体感受,那就是标题这9个字“自组织、规模大、准备精”。
这届峰会是.NET技术社区第一次独立自主举办的,参会人数目测>350人且有很多都是从四面八方赶过来的(当然珠三角地区的参会人数还是占大多数),一共有三个分会场,共20多个精选主题分享,且是在极短的时间内组织了这么一场大会的,不得不佩服和感谢为此做出贡献的社区伙伴们,特别是我们的张队!

组织团队+讲师团队

参会人数多,热情高
二、刷新:拖控件的日子早就过去了
在会场签名墙看到了许多含有各种标语的板子,其中有一个就是“一个控件一包烟拖拖控件点一天”,回想我们这些85后在初次接触.NET技术时都或多或少地使用过WinForm或WebForm之类的Drap & Drop Driven Development,也曾迷茫过理想中的Programming就是Drag & Drop么? 虽然迷茫过,但好在后来找到了正确的姿势,也拥抱了该拥抱的MVC & WebAPI等技术。不过,正是因为拖控件的方式让很多.NET程序员沉浸在了Drag & Drop的世界无法自拔,他们从不刷新自己的认知,也不努力主动提高,也侧面导致业界对.NET技术的偏见。曾经在张队的博客下面看到评论说业界对.NET程序员的评价不高,而且.NET程序员自己都认为自己低人一等,这其实也说明大部分.NET程序员都到了该刷新自己的时候。我觉得那些自己觉得自己低人一等的.NET程序员们,都应该到.NET开发者峰会来逛逛,他们不会再觉得自己低人一等!
Microsoft在鲍尔默时期丢失的互联网入口红利,在纳德拉的带领下重新刷新自己,再次大象起舞,我们.NET程序员更应该刷新自己了!

一个需求一根烟拖拖控件点一天
三、云原生:Cloud Native for All
明显感受到的一个重点就是,云原生时代已经到来,此次大会也给了云原生足够的重视,从分享的主题来看,很多都是和云原生(Docker、Kubernetes等)有关的。
其实早在张队发的《.NET云原生采用情况调查》中已经表明,容器编排和自动化领域Kubernetes已经占据了主体地位,学习Kubernetes刻不容缓!在此次大会上,刘腾飞老师分享了《ASP.NET Core基于K8S的微服务电商案例实践》,远从日本专程回来的桂素伟老师分享了《ASP.NET Core在K8S上的开发实践》,其余还有一些主题也和云原生有关,这里就不再赘述。

刘腾飞老师的分享

桂素伟老师的分享
当然在现场的话,想要平滑接收这些内容是需要你具备一定的容器和K8S基础的,建议有兴趣的童鞋可以自己基于Minkube或Kubeadm搭建一个最小化的K8S集群环境了解一些基本概念和基本部署之后,再去听会更有收获。生产环境建议大家上云,比如阿里云ACK(K8S服务)、腾讯云TKE、Azure Kubernetes Service等等。当然,这里我也给自己打个广告,我的《.NET Core on K8S》系列文章就是针对这方面的基础知识与应用的一个从入门到应用的学习总结,欢迎关注!
四、微服务:合久必分,分久必合
此次大会的另一个重点便是微服务,从我们都熟悉的单体架构进化为SOA再演变为微服务这种架构风格,都是我们一路走过的路。
微服务带来的好处多,但是带来的复杂性也多,比较认同李运华老师在《从0开始学架构》专栏中提到的一个观点:架构设计的重点就是解决引入新业务新组件等带来的复杂度,要引入微服务架构风格,必然需要解决由此带来的高复杂度。
蔚来汽车的架构师朱宗海老师分享了《微服务快速开发框架的设计》,带领我们从初级的微服务快速开发框架到成熟的微服务开发框架的设计要点,也表达了他对框架的意义的看法,十分认同!
此外,校宝在线的架构师肖老师分享了《用ASP.NET Core构建可检测高可用的微服务》,带我们了解了如何基于Logging, Diagnostics 等多个方面对ASP.NET Core构建的微服务进行高可用性的检测,也是十分具有参考价值的分享!

可检测高可用ASP.NET Core微服务


微服务快速开发框架的设计
不过,在不远的未来,服务网格Service Mesh的广泛使用会使得微服务时代的各个服务治理组件的集成和使用变得更加简单和统一化,所谓分久必合合久必分,未来如何变化,且观察且学习!我也会逐渐开始学习istio这个基于K8S的服务网格项目,欢迎关注!
五、人工智能:你不知道的SciSharp
人工时代来临,程序员又到转型时间。Python是机器学习和深度学习的第一语言,有非常丰富的库和框架,但对于不少技术人员和团队产生不少学习和人力成本。通过卢建辉老师的人工智能专题分享,我们了解到 SciSharp 是一个基于.NET Core 调用现有Python机器学习库和深度学习库的开源社区,让.NET 程序员直接通过C#调用TensorFlow/ Keras完成机器学习/深度学习。SciSharp社区在不断发展,其中社区TensorFlow.NET也已经嵌入到ML.NET作为深度学习的支持环境。



PS:TensorFlow.NET已被Google列入其官方文档推荐给了全世界的开发者,特别是C#开发者!
我也希望自己能在2020年能够初步使用并实践一下TensorFlow.NET,能够有一两个应用实践的场景,希望能实现!
六、面基:大型交友现场
在此次大会上,我有很多时间都是在“逃课”,然后在签名墙和各位童鞋面基和聊天,这也是大家相互交朋友的一种方式。当然,这次还有很多朋友没能见到,希望下次能和你们一一面基!下面分享一些我面基的照片:

自称我是他男神的郑子铭,广州.NET社区的新星

另一位自称是我的粉丝的年轻童鞋Redmond

天天向上的卫涵 以及 网友追寻
七、小结
匆匆的上海之行,我感受到了我们.NET开发者社区的热情,也激励我会一直写文章分享实践内容弄下去,在此也立个flag:明年继续参加第二届.NET China Conf,然后也争取分享一个主题(暂定.NET Core on ACK,希望自己实践之后能有一些总结分享出来)。
此外,自己前段时间有幸评选上了阿里云MVP,也要尽力在阿里云开发者社区为.NET技术发声,纠正偏见,让阿里云开发者社区也看到.NET开发者的与时俱进与技术热情!
路一直都在那里,相信随着我们每个人的努力,我们的.NET社区会更好!
欢迎大家关注我的个人公众号:恰童鞋骚年

2019 .NET China Conf:路一直都在,社区会更好的更多相关文章
- 路一直都在——That's just life
分享一首很喜欢的歌,有时候歌词写得就是经历,就是人生... 穿过人潮汹涌灯火栏栅 没有想过回头 一段又一段走不完的旅程 什么时候能走完 我的梦代表什么 又是什么让我们不安 That's just li ...
- 2019 Vue开发指南:你都需要学点啥?
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://dzone.com/articles/vue-development-in-2019 ...
- 计蒜客 39272.Tree-树链剖分(点权)+带修改区间异或和 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest E.) 2019ICPC西安邀请赛现场赛重现赛
Tree Ming and Hong are playing a simple game called nim game. They have nn piles of stones numbered ...
- The 2019 ICPC China Nanchang National Invitational and International Silk-Road Programming Contest
目录 Contest Info Solutions A. Attack B. Polynomial E. Interesting Trip F. Sequence G. Winner H. Anoth ...
- 年薪50W京东软件测试工程师的成长路——我们都曾一样迷茫
这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经 ...
- 【路一直都在】----img标签垂直居中问题
先上代码 .dianshang ul li a { height: 100px; vertical-align:middle; display: table-cell; width: 1 ...
- C.0689-The 2019 ICPC China Shaanxi Provincial Programming Contest
We call a string as a 0689-string if this string only consists of digits '0', '6', '8' and '9'. Give ...
- B.Grid with Arrows-The 2019 ICPC China Shaanxi Provincial Programming Contest
BaoBao has just found a grid with $n$ rows and $m$ columns in his left pocket, where the cell in the ...
- The 2019 ICPC China Nanchang National Invitational and International Silk-Road Programming Contest B、H
比赛链接https://www.jisuanke.com/contest/3098?view=challenges B题 拉格朗日插值 题意 T组输入.一个n次多项式 f(x) ,每项的系数不知道, ...
随机推荐
- JSON说明
1. JSON 数据的书写格式 对象:是一个无序的“‘名称/值’对”集合.一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号):“‘名称/值’ 对”之间使用“,”( ...
- 【WPF】EntityframeworkCore NLog出力设置
最近在用EFcore,由于不熟悉,经常出现一些异常都不知道如何排查,只能把EFcore的执行记录打印出来调查.确实简化了很多问题的调查. 官网提供了Asp.net Core与.net core 应用的 ...
- Tomcat7.0.40注册到服务启动报错error Code 1 +connector attribute sslcertificateFile must be defined when using ssl with apr
Tomcat7.0.40 注册到服务启动遇到以下几个问题: 1.启动报错errorCode1 查看日志如下图: 解决办法: 这个是因为我的jdk版本问题,因为电脑是64位,安装的jdk是32位的所以会 ...
- 洛谷P1613 跑路
题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟 ...
- Java中ArrayList和LinkedList的性能分析
ArrayList和LinkedList是Java集合框架中经常使用的类.如果你只知道从基本性能比较ArrayList和LinkedList,那么请仔细阅读这篇文章. ArrayList应该在需要更多 ...
- ThinkPhp3.1.3执行存储过程返回false
1.Tp在调用存储过程的时候,每次都显示false 返回一大片,下面是我自己的代码.
- 【阿里云IoT+YF3300】7.物联网设备表达式运算
很多时候从设备采集的数据并不能直接使用,还需要进行处理一下.如果采用脚本处理,有点太复杂了,而采用表达式运算,则很方便地解决了此类问题. 一. 设备连接 运行环境搭建:Win7系统请下载相关的设备驱 ...
- css定位 双飞翼
<!doctype html><html><head><meta charset="utf-8"><title>双飞翼& ...
- .NETCore下CI/CD之自动化测试
前言 为了呼应<中国.NET开发者峰会2019上海站>,作为演讲嘉宾,我希望和各位同行建立更多的互动,为此,我特地将部分演讲内容,整理成文章先行发布.本文从零开始,一步一步的引导,从安装J ...
- 美团 iOS 端开源框架 Graver 在动态化上的探索与实践
近些年,移动端动态化技术可谓是“百花齐放”,其中的渲染性能也是动态化技术一直在探索.研究的课题.美团的开源框架 Graver 也为解决动态化框架的渲染性能问题提供了一种新思路:关于布局,我们可以采用“ ...