论一个程序员的自我修养-从一张图片说起
故事起源
本来今天想写.net core实战之cms系统第十五篇文章的。哈,奈何今天在新生命人脉群里面看到石头哥分享的一张图片,然后大家就议论了起来,不过我看的很懵逼,这图什么意思啊?当一个朋友讲述了这个图片背后的故事的时候,瞬间泪奔了!先上图,第一眼看很平淡,一个苦逼程序猿在加班,旁边那个是布娃娃吗?反正我第一眼看就觉得是布娃娃!
作者:依乐祝
原文地址:
程序猿加班,为什么配图文字说“孩子他妈说,以后可不能让他当程序猿”呢?
这时候这个说说的作者就发话了,通过它了解到,故事是这样的:
这个图,是我今天在手机上翻到的,qq里的那年今日。我记得好像是一天吃完晚饭,石头带着一凡回公司继续加班干活,嫂子去哪忘记了。石头就把一凡往电脑旁边一放,继续干活。配图的文字好像是我加的,忘记了!
啊 ,我想起来了! 配图的文字是这么回事: 当时嫂子带孩子来公司 我们在旁边逗孩子 然后我说了一句 我说石头开发这么厉害 将来一凡也一定很牛逼(大体这个意思) 然后嫂子就说了“以后可不能让他当程序员啊 不行”哈哈哈 然后我就记住了 !
短短的两段话,道出了一个有责任心,有事业心,又受人尊敬而又幸福的程序员,但单从图的角度来说却又是个“坑娃”的程序员——大石头(也就是今天文章的主角)!
为什么这样说呢?
作为程序猿你可以为了事业心责任心选择晚上加班完成任务上线而又无怨无悔(可能还没有加班费)!
作为程序猿你加班的时候老婆孩子居然能够来陪你加班不可谓不幸福!
作为程序猿你在老婆有事出去让你带一会娃的时候,居然把那么点大的小孩随手丢在办公桌上(看图,感觉天还那么冷)然后继续工作,不可谓不实力演绎“坑娃”这个词!
作为程序猿,手下人跟你关系这么融洽,又说你技术这么好(从逗你家娃这点可以看出)足以看出你不可谓不受人尊敬,而又让手下人信服的好领导(技术过关,为人随和,团队氛围很好)!
作为程序猿你还想怎样?其实我想说这应该是程序猿的必备素养!因为我们程序员只会跟电脑打交道,沟通能力稍微弱点,很多时候不善于表达!但我们却是一类有责任心,默默无闻,眼里容不得半点沙子(error/bug)而又努力付出的一类人!大石头的同事发的他的这张图恰恰折射出了我们这类猿!
介绍下大石头
大石头是谁?我跟他认识的时间虽然不长,大概有小半年的时间,但是却被他的为人以及技术所折服!
大石头的博客
他的博客地址:“” !如果你进入他的博客的话第一眼看到的就是“物联网、大数据”!没错?一百亿小数据的实时计算平台也只是他随手建立起的一套基于.net/.net core的小数据实时处理计算平台!这篇文章记录了他的经验,如果你想看的话可以点这里《100亿小数据实时计算平台(大数据系列目录)》!
他深耕物联网领域多年,在他们的新生命团队中自研了嵌入式操作系统,主要应用于智能家居、物联网、工业自动化控制等领域。在网络通讯这块也是有颇多建树!
他的博客里面太多太多的经验分享,由于石头哥不善写作,因此每篇文章都是寥寥几段话,但却道尽了实际项目中的宝贵经验!有兴趣的自己去他的博客看一番吧,保证有所收获!
当然,在大石头的博客里面还写过一些列的自述,想进一步了解的请移步《赚钱的这些年(上)苦逼》
大石头的开源项目
大石头(对外大石头一直讲述一定要宣称时新生命团队,因为这是新生命团队的成果)的开源项目很多,最著名而又广为我们所熟知的就是x组件了!
国内地址:http://git.newlifex.com/newlife/x
国外地址:https://github.com/newlifex/x
这个组件里面包含的东西可真不少,包括日志、数据库、网络、rpc、序列化、缓存、windows服务、多线程等模块,支持.net framework/.netstandard/mono。
2002~2018,成千上万兄弟们努力的见证!
国内文档中心:
国外文档中心:https://newlifex.github.io/xdoc/组件各组成部分
核心库 newlife.core
核心组件,支撑其它所有组件。 主要功能包括:
- 日志 统一ilog接口,内置控制台、文本文件、winform控件和网络日志等实现
- 网络 单点最高84.5万长连接
- rpc 单点最高处理能力2256万tps
- 缓存 统一icache接口,内置memorycache、redis、dbcache实现
- 安全 aes/des/rc4/rsa/dsa/crc
- 多线程 定时调度timerx
- 反射 快速反射、脚本引擎scriptengine
- 序列化 binary/json/xml
- 服务代理 windows服务、守护、监控
数据中间件 [newlife.xcode]
newlife.xcodexcode是一个超越了orm范围的映射组件,除了对象到关系数据库的映射外,还有到网络和其它二进制形式等的映射,所以称之为数据映射组件。
xcode具有哪些优势?
采用最好的分页算法,高效处理海量数据。
先进的多级缓存思想,保证最出色的性能。
化繁为简,容易上手。
抽象实体结构,支持多数据库的正向反向工程。
总的来说,最好的分页算法保证基本操作不犯错,化繁为简和多级缓存的设计保证xcode在性能上永无止境,所以,xcode的最大优势就是性能!
newlife.redis
newlife.redis 是一个redis客户端组件,以高性能处理大数据实时计算为目标。
redis协议基础实现redis/redisclient位于x组件,本库为扩展实现,主要增加列表结构、哈希结构、队列等高级功能。
源码: https://github.com/newlifex/newlife.redis
在zto大数据实时计算广泛应用,200多个redis实例稳定工作一年多,每天处理近1亿包裹数据,日均调用量80亿次;低延迟,get/set操作平均耗时200~600us(含往返网络通信);大吞吐,自带连接池,最大支持1000并发;高性能,支持二进制序列化!如果想继续学习这个redis组件的话可以参考我的这篇文章《redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南)》
newlife.cube
魔方 是一个基于 asp.net mvc 的 用户权限管理平台,可作为各种信息管理系统的基础框架。
源码: https://github.com/newlifex/newlife.cube 演示: 源码
国内文档中心:
国外文档中心:https://newlifex.github.io/xdoc/
具有如下特性(目前正在全面重写成.net core版本):
- 通用权限管理,用户、角色、菜单、权限,支持控制器action权限控制
- 多数据库,支持
sqlite / sql server / oracle / mysql / sqlce / access
- 免部署,系统自动创建数据库表结构,以及初始化数据,无需人工干涉
- 强大的视图引擎,支持子项目视图重写父项目相同位置视图,任意覆盖修改默认界面
这个x组件简直就是一个百宝箱,里面包含了各种各样的好用的组件!而且现在已经全民啊支持core了!当然他们还有很多的开源项目我这里就不一一列出来了!具体的你们可以自行前往查看!
总结
大石头恰恰折射出我们这类人——程序猿(有想私聊他的可以加入他的qq群1600800,如果想进石头哥的人脉微信群的话,可以加我的微信:jkingzhu备注“大石头”我拉你进去!)!一个有责任心而又不善于表达的一类人!我们不善于言辞确能在电脑前夸夸其谈!我们头脑简单却又心思缜密,不放过一个bug!我们能三五好友玩耍一天也能电脑前呆坐一天甚至忘记吃饭/忘记喝口水!我们都是同类猿!
最后附上石头哥的一张图,愿我们“不忘初心,砥砺前行”!
下一篇: ACM入门之OJ~