这个周末,我从成都飞到了上海参加了首届由社区组织而非官方(比如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社区会更好!

  欢迎大家关注我的个人公众号:恰童鞋骚年

作者:周旭龙

出处:https://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

2019 .NET China Conf:路一直都在,社区会更好的更多相关文章

  1. 路一直都在——That's just life

    分享一首很喜欢的歌,有时候歌词写得就是经历,就是人生... 穿过人潮汹涌灯火栏栅 没有想过回头 一段又一段走不完的旅程 什么时候能走完 我的梦代表什么 又是什么让我们不安 That's just li ...

  2. 2019 Vue开发指南:你都需要学点啥?

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://dzone.com/articles/vue-development-in-2019 ...

  3. 计蒜客 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  ...

  4. 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 ...

  5. 年薪50W京东软件测试工程师的成长路——我们都曾一样迷茫

    这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经 ...

  6. 【路一直都在】----img标签垂直居中问题

    先上代码 .dianshang ul li a { height: 100px; vertical-align:middle; display: table-cell;        width: 1 ...

  7. 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 ...

  8. 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 ...

  9. 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) ,每项的系数不知道, ...

随机推荐

  1. MongoDB 学习笔记之 Aggregation Pipeline实战实现inner join

     Aggregation Pipeline实战实现inner join: leftT集合: comments集合: 现在我们要用aggregation实现inner join db.comments. ...

  2. hihocoder 数论二·Eular质数筛法

    数论二·Eular质数筛法 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:小Hi,上次我学会了如何检测一个数是否是质数.于是我又有了一个新的问题,我如何去快速得 ...

  3. .netCore+Vue 搭建的简捷开发框架--目录

    .netCore+Vue 搭建的简捷开发框架 .netCore+Vue 搭建的简捷开发框架 (2)--仓储层实现和EFCore 的使用 .netCore+Vue 搭建的简捷开发框架 (3)-- Ser ...

  4. RocketMQ事务消息学习及刨坑过程

    一.背景 MQ组件是系统架构里必不可少的一门利器,设计层面可以降低系统耦合度,高并发场景又可以起到削峰填谷的作用,从单体应用到集群部署方案,再到现在的微服务架构,MQ凭借其优秀的性能和高可靠性,得到了 ...

  5. 在C#中调用Python中遇到的坑(No module named xxx)

    例如Python的代码是这个样子的. # coding=<utf-> # -*- coding: utf- *- import requests import urllib def Cle ...

  6. django开发中关于外键设置

    django开发中关于外键设置 我们建模型的时候会用到ForeignKey 而由于外键的约数会导致一些保存 所有我们ctrl+左键进入源码 源码 def __init__(self, to, on_d ...

  7. VirtualBox for Mac 6.0.14 开源免费虚拟机方案

    VirtualBox for mac是一款开源虚拟机软件,你可以利用该软件在Mac OS平台上运行Windows软件,即可以在一定程度上弥补Mac OS平台软件不足的劣势,玩家也可以获得Windows ...

  8. Python3字符串常见方法

    目录 字符串的进阶使用 格式化输出字符串 当然除了上述方法外,还可以你使用format方法 format方法第二种用法: Python字符串与二进制的转换 字母大写 计字符a出现的次数 输出50个字符 ...

  9. IDA快捷键整理

    空格键 反汇编窗口切换文本跟图形 ESC退到上一个操作地址 G搜索地址或者符号 N重命名 分号键 注释 ALT+M 添加标签 CTRL+M 列出所有标签 CTRL +S 二进制段的开始地址结束地址 C ...

  10. ndnsim结果分析

    ndnSIM中提供了几种trace用来对仿真结果进行跟踪,生成数据文件txt 官网地址: https://ndnsim.net/current/metric.html#packet-trace-hel ...