记一次在.NET成长之路上的下午茶
在2017年2月25日我和李海国有幸与阳铭、朱永光两位大哥喝了一次下午茶。熟悉ABP框架的朋友呢知道阳铭远在上海,所以个人很是珍惜这次机会。朱永光大哥是微软MVP,之前是启路科技的CTO,目前在微软。当然关于两位的事迹还有很多感兴趣的朋友请自行了解。(按照圈子内的评价是他们两位的厉害不是一句两句就能说得清楚的)
好事多磨的前奏:
某天得知阳铭来到成都,在朋友圈邀约朱大哥喝茶,我也问了下可以参加与否,得到肯定的答复后,由暂定的周四改改改,终于在今天这阳光明媚的周六确定了位于火车南站的咖啡馆。
自我的回顾:
时间应该是在2015年的5月,在博客园有幸接触到了阳铭分享的“新思想、新技术、新架构——更好更快的开发现代ASP.NET应用程序”了解到了ABP框架,随后加群学习。跟随者阳铭推广ABP框架的步伐中走过来。在这中间接触了DDD(领域驱动设计)、DI(依赖注入)、AOP(面向切面编程)、模块化、异步编程、分布式结构、敏捷开发的理论思想。以及Linq、Entity Framework6 、Asp.net MVC5 等技术框架。知道了***的魅力。所以一路走来甚是感谢阳铭在社区推广以及博客园这样的平台给了我们学习交流的机会。在2016年的1月进入了新的公司,向当时的项目经理推荐了ABP框架,经过项目经理的评估后,也向公司高层的推荐ABP框架之后,成功将ABP框架作为我们公司的.NET研发团队的主力框架。
今日的收获:
阳铭今天见到我第一句话就说:“我对ABP框架的推广做了不少贡献”。心里还是很骄傲的,但是嘴上还是很谦虚的说:“我并没有做什么啊,只是平时将自己所积累的东西,有时间给大家进行相互分享而已”。我们也希望更多的.NET开发人员来使用ABP框架尝试用这套框架写出更好的更美的代码。
今天下午朱大哥和阳铭探讨.NET社区以及团队行业方向发展的事情,因为我的介入就加了ABP和开发答疑了。朱大哥和阳铭聊的比较多的是微服务方面的东西,我作为一个入门较晚的人对微服务停留于概念,能够感受到微服务一定会是未来的趋势,。中途也聊了ABP的发展以及当前使用ABP框架中的问题,以及程序员如何能够更好的往编程之路中探索,当然一个下午茶的时间不能都说的清楚,但是作为星星之火已足。
首先还是聊了下最基本的ABP的由来,如今的ABP框架版本已经更新到了1.4了,ABP中涉及的技术和设计思想,阳铭也帮助我解读了下ABP,朱大也参与进来共同头脑风暴了一下。获益匪浅啊,其实很多东西我自己掌握的也不是很好,如充血模式、领域驱动中的值对象、实体对象更多如微服务等等技术和思想。古语云:人外有人,天外有天诚不欺我也!
也聊到初级程序员该如何写好代码,答案是我们的代码中封装、继承、多态用好了没。如果没有用好建议先用好它,认认真真的学习OOP(面向对象编程)的思想。以及我们平时看了很多书,书上的理论知识掌握的很好,但是就是不知道怎么用代码来实现它。阳铭给的答案是:ABP的源代码中都有,ABP的源代码将设计模式用的很是淋漓尽致。路线还是只有一条,研究它,掌握它,最后消化它,武装为我们自己身上。 这样才能够提升我们自己的核心竞争力。
核心竞争力:
说道核心竞争力,也是挺好玩的一个事情,这两天群友会贴出碰见的奇葩代码如:中文、大量的ifelse蒙圈的代码。然后会说某某的核心竞争力就是写出只有他自己才能够看懂的代码,别人看不懂。这个是不对的,想我来到新公司见过从A1-Z26这样的实体。写出来的代码还不是一样慢慢把整个业务代码逻辑理顺了吗。所以还是写优美的代码才是我们需要的。真正的核心竞争力,就是真的技术厉害到一定程度,能够自己实现一套MVC框架,自己写一个类似EF这样的ORM框架,supersocket这样的开源组件出来。完全掌握好ABP的原理与机制然后总结出一套属于自己的框架出来。最近github上另外一个牛人就这么干了,而且也是土耳其人(看看别人家的孩子)。这个也是我会去走的一个方向。
最后聊了下每个人的过往和经历,当然这个又是另外一篇故事了。
今天下午茶的一些总结:
我们的.NET的圈子还是太封闭了,优秀的程序员还是有很多的,但是都不太愿意出来做交流沟通,这样是不行的。这样我们的.NET社区就不能很好的发展啊,所以还是希望有更多的人参与进来,扩展我们的圈子,共同繁荣我们的社区。
说下今年的目标吧:
会拿出更多的时间来推广ABP框架以及.NET CORE的知识与技术,2017会是我们.NET辉煌的开始。
(微软给技术圈的印象,和这个股价曲线一样。从左到右分别是盖茨、鲍尔默、纳德拉)
大家改变现状参与进来吧。
简单介绍下ABP
ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。
ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念)。
ABP的官方网站:http://www.aspnetboilerplate.com
想了解ABP和参与ABP交流的朋友们可以加群:
ABP架构设计交流群: 134710707 (2000人已满)
ABP架构设计交流群2:579765441(未满)
最后一颗糖永远舍不得吃,最好的永远放在最后讲:
阳铭目前已经离开要买车团队了,因为ABP框架结识了一帮志同道合的牛人,从DDD到微服务的实践阳铭的团队具有很强的经验。如果你有好的项目或者贵司需要行业内的比较好的解决方案,可以联系阳铭QQ:614573519
记一次在.NET成长之路上的下午茶的更多相关文章
- 彷徨中的成长-记一个文科生的IT成长过程
纠结了许久,要不要写这篇文章,然而最终还是写了.就权当总结与呻吟吧..当然,呻吟最开始还是发在自己的站点的,忍不住手贱,还是想发博客园. 1 剧透 人算不如天算:时隔多年,我竟然搞起了前端. 2 发端 ...
- 蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人
***********************************************声明*************************************************** ...
- 蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
***************************************声明*************************************** 个人在oracle路上的成长记录,当中 ...
- 蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere
原创作品,出自 "深蓝的blog" 博客.欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...
- 在IT的路上,我在成长
在IT的路上,我在成长.很荣幸地加入了博客园这个大家庭. 岁月的航船在不断航行,在成长的脚印我要深深留下,回首已往经历,发现自己成长的路上,将来也会有很多美好的回忆,以及丰硕的果实.
- Appium+python自动化(十三)- 输入中文 - 一次填坑记(超详解)
简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你 ...
- 《Java从0开始的成长之路》
大纲 这篇博文是我整理寒假一个月来的总结 作用一:主要是方便我以后复习,并尝试对Java虚拟机深度挖掘,希望各位前辈给予指点,我会潜心钻研,只希望水平更进一步. 作用二:闭关锁国终将遭遗弃,希望汇聚网 ...
- 006_饿了么大前端总监sofish帮你理清前端工程师及大前端团队的成长问题!
作者|Sofish编辑|小智 & 尾尾本文是前端之巅向 sofish 的约稿<什么样的人可以称为架构师?>.采访< 饿了么大前端团队究竟是如何落地和管理的?>以及 so ...
- 《Python测试开发技术栈—巴哥职场进化记》—初来乍到,请多关照
上文<巴哥职场进化记-Python测试开发技术栈>开篇讲到巴哥毕业初到深圳,见到了来自五湖四海的室友.一番畅聊之后,抱着对未来职场生活的期待,大家都进入了梦乡.今天我们来看看巴哥第一天上班 ...
随机推荐
- 13、多进程multiprocessing、进程池
内容相关: multiprocessing: 进程的创建与运行 进程常用相关函数 进程池: 为什么要有进程池 进程池的创建与运行:串行.并行 回调函数 多进程multiprocessing: pyth ...
- 平板电脑安装Ubuntu教程
平板电脑安装Ubuntu教程-以V975w为例,Z3735系列CPU通用 最近尝试在昂达V975w平板电脑和intel stick中安装ubuntu,经过分析,发现存在一个非常大的坑.但因为这个坑,此 ...
- Python进阶点
1. 模块化设计,分而治之 2. 组合数据类型 2.1 集合类型:list.set(无序/不重复),用于数据去重 2.2 序列类型:字符串.元组.列表(有序) 2.3 字典类型:根据字典中 k/v 来 ...
- [20171213]john破解oracle口令.txt
[20171213]john破解oracle口令.txt --//跟别人讨论的oracle破解问题,我曾经提过不要使用6位字符以下的密码,其实不管那种系统低于6位口令非常容易破解.--//而且orac ...
- [20171101]修改oracle口令安全问题.txt
[20171101]修改oracle口令安全问题.txt --//等保的问题,做一些关于修改oracle口令方面的测试. 1.oracle修改口令一般如下方式: alter user scott id ...
- [MapReduce_1] 运行 Word Count 示例程序
0. 说明 MapReduce 实现 Word Count 示意图 && Word Count 代码编写 1. MapReduce 实现 Word Count 示意图 1. Map:预 ...
- IntelliJ idea 如何打开左边项目展开栏
vie->Tool Windows->Project Alt+1 转自:https://blog.csdn.net/bug_moving/article/details/53284434
- 使用kibana操作elasticsearch实现增删改查
本篇博客,本人写的是方法,大家将对应的字段放入对应的位置就可以了 注:elasticsearch中,索引相当于MySQL中的数据库,类型相当于数据库中的表,即索引名就为数据库库名,类型就为表名 1.创 ...
- oracle数据库用户基本操作
每个数据库都有一系列的用户,为了访问数据库,用户必须使用用户名等信息先连接上数据库实例,oracle数据库提供了多种方式来管理用户安全.创建用户的时候,可以通过授权等操作来限制用户能访问的资源以及一些 ...
- 常见的web攻击方式
跨站脚本攻击(XSS) 概述 跨站脚本攻击(XSS,Cross-site scripting),指攻击者在网页中嵌入恶意脚本程序,是最常见和基本的攻击WEB网站的方法.攻击者在网页上发布包含攻击性代码 ...