回顾4180天在腾讯使用C#的历程,开启新的征途
今天是2018年8月8日,已经和腾讯解除劳动关系,我的公司正式开始运营,虽然还有很多事情需要理清,公司官网也没有做,接下来什么事情都需要自己去完成了,需要一步一个脚印去完善,开启一个新的征途,我将在博客和公众号更新我的动态。
昨天是星期二,我在腾讯这家优秀的公司工作的第4180天,这天我离开了腾讯。这次的离开是为了下次更好的相遇,每一次相遇都是久别重逢,只有离别,才会相思,有了相思,才会有激情,有了激情,才有了我们下次一见如故的感觉。回首整个职业生涯,见证了腾讯从小到大、从大到强的整个过程,个人非常幸运大部分职业生涯都在腾讯度过,也把最好的一段时间奉献给了腾讯这家伟大的公司。我也要说我为自己曾经为这家公司服务过而自豪,腾讯是那种你想为之工作的最优秀的公司。
.NET如日中天时加入腾讯
从大学毕业后,就开始接触C#这门优秀的语言,从一个菜鸟逐步成长为一个熟练使用C#语言的程序员,我在微软的技术社区里比较独具一格,我一直推广的是开源技术,我的引路人是大名鼎鼎的Linux桌面Gnome的创始人米格尔Miguel de Icaza,早在2000年米格尔为了Gnome 桌面寻找编程模型,开始了Mono开源项目,我正是从Mono项目认识了C#,从此开始了Mono项目在中国的宣传,平时喜欢在博客上分享跟踪Mono项目进展,同时也进入了.NET开发社区,在2006年成为微软最有价值专家(MVP),那时腾讯也有几位微软最有价值专家,在社区活动中结识,2006年底通过toby的介绍,2007年2月26日在春节过后第一天入职腾讯。随后几年一直和toby 一起打造腾讯OA基础服务,简称TOF,我和TOF一起度过了8年时光。
.NET的衰败中打造TOF
我从参加工作以来就对C#有深度认同,它真是一门非常优秀的语言,从2007年加入公司到现在,我使用的主要开发语言都是C#,2007年的腾讯主要的开发语言是c/c++,C#。那时候大量的内网办公,运营系统使用.net构建的,一直持续到2009年后,公司的大规模扩展,逐步加入了大量的其他语言,比如Python,PHP,Java。大量新系统逐步采用这些新语言构建,因为大家认为c#只能跑在windows上,我还是坚持使用C#持续优化TOF,因为我所认为的C#是完全可以跑在Linux等非windows系统上的,当年主要是通过Mono项目来完成这一目标的,但是Mono项目是个完全开源社区的项目,当年公司还没有自己的tlinux,公司使用的Novell 的 Suse 企业版Linux,里面默认自带了Mono 运行环境的,公司的idc服务器上可能还存量少许的这类系统,大家可以输入命令mono瞧一瞧。Mono项目孕育了著名的游戏引擎Unity3D,IEG的大量手游都是基于Unity3D打造。
2010年开始已经出现一种迹象是,新的业务系统都使用新的语言开发,使用C#语言的系统逐渐减少,旧的系统也不断被重写替代了C#,在公司的2013年度代码报告中http://code.oa.com/v2/report/2013 ,前十已经找不到C#的位置。
然而在2014年度的代码报告中http://tech.it168.com/a2015/0310/1709/000001709985.shtml ,C#突然之间前进到了第八位置,代码量增长了2.2倍,主角就是基于Mono平台的Unity 游戏开发,是手游让C# 爆发了,也就是在2014年我完成了TOF的第三个版本的重构,把原来的多个版本逐步统一为一个版本,代码量删除了好几万行,性能提升到满足当前公司规模的应用水平,到2016年我转岗到FIT 时,TOF日均请求量已经超过5000W,公司有3000多个应用系统接入,服务于公司3W+员工,在转岗交接工作时,我写了一篇《C# 在腾讯的发展》对大家了解C#这个语言有个更好的了解。
迎接.NET Core新时代
2014年微软公司开始转型,鲍尔默退休,2014 年 2 月 4 日,微软宣布云计算部门副总裁萨蒂亚·纳德拉 (Satya Nadella) 出任公司首席执行官,在他看来未来将是移动和云时代,上任第一天的内部邮件中就明确的表示了自己的观点,未来希望通过软件驱动微软这艘大船,在云计算时代帮助微软取得更好的成绩。2014年11月微软宣布了.NET开源,不是简单的将原来绑定于windows的.NET 开放源代码,而是针对云原生应用重新设计的模块化,跨平台的.NET, 经过1年多的打造,在2016年6月发布了1.0版本。2016年9月我转岗到了FIT,我在这里和小伙伴们使用C#构建了几个.NET Core系统,完全跑在tlinux上面,从此我很少使用.net, 我都是使用.NET Core, 公司全面转向2B市场,年初有机会加入FIT金融云团队,耕耘保险行业,这半年时间里我依然使用.NET Core构建了好几个小系统。也就是这半年微软的市值攀升到了8200亿市值。在这3年时间里,我业余也运营了一个《dotnet跨平台》微信公众号,粉丝数3.9W,最近半年收到了更多积极的使用.NET Core的反馈,欢迎你来关注我的微信公众号。.NET Core能干的事情更多了,刚在2018年5月30日发布的.NET Core 2.1,性能得到进一步的提升,接近C++效率。 yuke在2016年12月写的这篇《用.net core 写后端—— c++外的另一种选择?》 ,有兴趣的同学可以看看,现今主流的平台都可以使用C#进行开发,俗称拥有七龙珠,我去召唤神龙:
离开腾讯召唤神龙
我们已经完全进入云时代,国外AWS,Azure ,GCloud等都对.NET Core有一流的支持,然而众观国内无论是Aliyun,还是TencentCloud对.NET Core的支持体验都是完全不及格水平,这里面有很大的改进空间,在我离开腾讯的最后时间,有幸参与改进腾讯云 API 3.0的 .NET SDK, 昨天晚上同事zhiqiangfan已经把它开源发布到了github:https://github.com/TencentCloud/tencentcloud-sdk-dotnet ,腾讯云 3.0 API的C# 版本将是支持跨平台的,可以完美运行于linux上,就像我在鹅厂所打造的系统都运行在tlinux上一样,我希望看到这篇文章的同事,能够认识到新的一代.NET Core是跨平台的,不是绑定Windows的。在腾讯有幸目睹了腾讯开源自下往上的工程师文化,接着我在离开腾讯会继续和腾讯开源合作, 第一个项目将是mig的tars: https://github.com/Tencent/Tars, 公司最好用的rpc+管理平台,让它支持.netcore, 绝对是个出门创业的好东西,和大家透露一下,目前我们已经组建了社区6人团队在进行这项工作,6位分布在北京,广州,成都,深圳的.NET社区成员将在几个月内完成Tars支持.netcore的工作,到时欢迎大家加入一起完善 。
离开腾讯的想法其实也很简单,人生需要不停刷新,这半年自从看了微软CEO Satya写的那本书《刷新:重新发现商业与未来》,给我带来很大的心灵的震撼,他提出自我刷新的三个关键步骤:拥抱同理心,培养“无所不学”的求知欲,以及建立成长型思维。在此和兄弟姐妹分享这本书的两个公式:
信任公式:
同理心 + 共同的价值观 + 安全可靠 = 信任
技术透明、安全共治、保卫云安全以及用户至上,是微软写就的技术道德。在书中,纳德拉列举了包括斯诺登棱镜门、2013年12月的毒品案、2015年12月加州恐怖袭击等在内的实例,以及微软与苹果等对手因为用户数据面临安全威胁时并肩站在同一个立场,从他细腻的描述中,我们似乎感受到了作为一家巨头公司CEO面临的压力及胆识、果敢
成长公式:
∑(教育+创新) x 科技使用强度 = 经济增长
实现人人获益的经济增长,最近卖假货的拼多多上市了,有文章分析这才是真正的中国,充斥着假货,这就是现实,但我们更需要实现人人获益的经济增长,也就是在IT圈也是一样,在BATJ之外还有大量的普通的程序员,他们更需要高效好用的开发平台。
回顾4180天在腾讯使用C#的历程,开启新的征途的更多相关文章
- 腾讯云报告——MySQL成勒索新目标,数据服务基线安全问题迫在眉睫
推荐理由 大数据时代,人类产生的数据越来越多,但数据越多的情况下,也会带来数据的安全性问题,如MySQL数据库上的数据,越来越多的黑客盯上了它,今天推荐的这篇文章来自于腾讯云技术社区,主要是针对MyS ...
- 腾讯云+社区开发者大会开启报名,WeGeek 邀你一起聊聊小程序
刚满 2 岁的微信小程序,正给我们带来一种全新轻便的生活方式. 内测时的青涩还历历在目,到现在,小程序生态已日渐成熟.超过 150 万开发者在这里找到了自己的新天地,打磨出超过 100 万个小程序. ...
- Java知识回顾 (18)Java 8、9、11的新特性
Java 8 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本. Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 Jav ...
- 腾讯qq的发展史
腾讯qq的发展史 即时通信软件的历史并不久远,但是它一诞生,就立即受到网民的喜爱,并风靡全球. 在其发展史上,以色列人功不可没.正是四位以色列籍的年轻人,在1996年7月成立的Mirabilis ...
- 为什么腾讯有QQ,还要推出微信?
在微信刚出现时候,很多人奇怪,为什么腾讯有QQ,还要推出微信? 一开始,我也认为它与QQ没有什么区别.有这种看法,是因为绝大多数时候,我都仅仅只使用即时聊天功能,微信上有的语音.视频.文字等等,这些在 ...
- 看好腾讯,鄙视百度(腾讯的核心竞争力,不是超过10亿的QQ的注册用户,也不是某一项产品、技术方面优势,而是“耐心”:懂得在合适的时间推出合适的产品。”)
百度,自始至终只是一个低劣的模仿者,且一切向前看,完全违背了一个搜索引擎所应该遵循的基本原则.谁给的钱多就能搜着谁,这跟贩毒有什么区别? 腾讯也在模仿别人,但是,它是模仿然后超越.在中国互联网发展历史 ...
- 转载:腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
腾讯的接口是 ,返回数组 http://fw.qq.com/ipaddress 返回值 var IPData = new Array("61.135.152.194"," ...
- Go操作腾讯云COS对象存储的简单使用案例
准备环境 安装Go环境 Golang:用于下载和安装 Go 编译运行环境,请前往 Golang 官网进行下载 安装SDK go get -u github.com/tencentyun/cos-go- ...
- 本地ES集群数据通过_reindex方式迁移到腾讯云服务器(亲测有效)
本地ES集群数据通过_reindex方式迁移到腾讯云服务器(亲测有效) 随着业务量的增加,本地的ES集群服务器性能和磁盘空间有点不够使用,项目组考虑使用腾讯云服务器,以下是我测试的使用_reindex ...
随机推荐
- CentOS下MySQL安装失败,报socket '/tmp/mysql.sock错误解决方法
1.在centos里安装mysql数据库后,登录时提示‘/tmp/mysql.sock’ 第一种解决办法:采用ln链接方式进行处理 ln -s /var/lib/mysql/mysql.sock /t ...
- 如何配置adb环境变量
如何配置adb环境变量? 1.我的电脑---控制面板---高级系统设置 2.点击[高级系统设置],弹出系统属性的弹框, 3.点击[环境变量],弹出环境变量弹框,新建一个系统变量,命名为Android ...
- electron 热更新
试用了下,electron 自带的热更新 并不是特别理想. 想自己处理下载更新文件.刚好看到了网上有一个比较好的处理方式.试了下效果还可以. 使用以下命令将此库包含在项目中: npm install ...
- syslog-ng源码安装问题
title: 2019-4-22 tags: 新建 author:yangxiaoyi --- 问题:在源码安装syslog-ng软件时执行./configure遇到如下报错, require eve ...
- [原创]Zynq AXI-CDMA的使用
Xilinx 提供了3种DMA AXI-DMA AXI-CDMA AXI-VDMA 使用CDMA能够满足项目需求(MM-MM),DS文档介绍如下: The Xilinx LogiCORE™ IP AX ...
- webpack分片chunk加载原理
首先,使用create-react-app快速创建一个demo npx create-react-app react-demo # npx命令需要npm5.2+ cd react-demo npm s ...
- C# Aspose.Cells 如何设置单元格样式
//Instantiating a Workbook object Workbook workbook = new Workbook(); //Adding a new worksheet to th ...
- Codeforces 581F Zublicanes and Mumocrates 树形dp
Zublicanes and Mumocrates dp[ i ][ j ][ k ] 表示 以 i 为根的子树, 占领 i 的 是 j 并且第一个人占了 i 子树的 k 个叶子节点的最小值. 然后随 ...
- Excel—工作常用
上周起始日期 =TODAY()-WEEKDAY(TODAY(),2)-6 TODAY()表示的是当天的日期,WEEKDAY(TODAY(),2)表示本周的星期几,TODAY()-WEEKDAY(TOD ...
- 推荐学习git
龙恩博客http://www.cnblogs.com/tugenhua0707/p/4050072.html#!comments git命令大全https://www.jqhtml.com/8235. ...