论一个程序员的自我修养-从一张图片说起

故事起源

本来今天想写.NET Core实战之CMS系统第十五篇文章的。哈,奈何今天在新生命人脉群里面看到石头哥分享的一张图片,然后大家就议论了起来,不过我看的很懵逼,这图什么意思啊?当一个朋友讲述了这个图片背后的故事的时候,瞬间泪奔了!先上图,第一眼看很平淡,一个苦逼程序猿在加班,旁边那个是布娃娃吗?反正我第一眼看就觉得是布娃娃!

1547090181521

作者:依乐祝
原文地址:https://www.cnblogs.com/yilezhu/p/10249547.html

程序猿加班,为什么配图文字说“孩子他妈说,以后可不能让他当程序猿”呢?

这时候这个说说的作者就发话了,通过它了解到,故事是这样的:

这个图,是我今天在手机上翻到的,qq里的那年今日。我记得好像是一天吃完晚饭,石头带着一凡回公司继续加班干活,嫂子去哪忘记了。石头就把一凡往电脑旁边一放,继续干活。配图的文字好像是我加的,忘记了!

啊 ,我想起来了! 配图的文字是这么回事: 当时嫂子带孩子来公司 我们在旁边逗孩子 然后我说了一句 我说石头开发这么厉害 将来一凡也一定很牛逼(大体这个意思) 然后嫂子就说了“以后可不能让他当程序员啊 不行”哈哈哈 然后我就记住了 !

短短的两段话,道出了一个有责任心,有事业心,又受人尊敬而又幸福的程序员,但单从图的角度来说却又是个“坑娃”的程序员——大石头(也就是今天文章的主角)!

为什么这样说呢?

作为程序猿你可以为了事业心责任心选择晚上加班完成任务上线而又无怨无悔(可能还没有加班费)!

作为程序猿你加班的时候老婆孩子居然能够来陪你加班不可谓不幸福!

作为程序猿你在老婆有事出去让你带一会娃的时候,居然把那么点大的小孩随手丢在办公桌上(看图,感觉天还那么冷)然后继续工作,不可谓不实力演绎“坑娃”这个词!

作为程序猿,手下人跟你关系这么融洽,又说你技术这么好(从逗你家娃这点可以看出)足以看出你不可谓不受人尊敬,而又让手下人信服的好领导(技术过关,为人随和,团队氛围很好)!

作为程序猿你还想怎样?其实我想说这应该是程序猿的必备素养!因为我们程序员只会跟电脑打交道,沟通能力稍微弱点,很多时候不善于表达!但我们却是一类有责任心,默默无闻,眼里容不得半点沙子(Error/Bug)而又努力付出的一类人!大石头的同事发的他的这张图恰恰折射出了我们这类猿!
这里再补上一张图,告诉你什么是程序员实力坑娃:
1377250-20190110170706061-2129046018.png

介绍下大石头

大石头是谁?我跟他认识的时间虽然不长,大概有小半年的时间,但是却被他的为人以及技术所折服!

大石头的博客

他的博客地址:“https://www.cnblogs.com/nnhy/” !如果你进入他的博客的话第一眼看到的就是“物联网、大数据”!没错?一百亿小数据的实时计算平台也只是他随手建立起的一套基于.Net/.Net Core的小数据实时处理计算平台!这篇文章记录了他的经验,如果你想看的话可以点这里《100亿小数据实时计算平台(大数据系列目录)》!
他深耕物联网领域多年,在他们的新生命团队中自研了嵌入式操作系统,主要应用于智能家居、物联网、工业自动化控制等领域。在网络通讯这块也是有颇多建树!
他的博客里面太多太多的经验分享,由于石头哥不善写作,因此每篇文章都是寥寥几段话,但却道尽了实际项目中的宝贵经验!有兴趣的自己去他的博客看一番吧,保证有所收获!

当然,在大石头的博客里面还写过一些列的自述,想进一步了解的请移步《赚钱的这些年(上)苦逼》

大石头的开源项目

大石头(对外大石头一直讲述一定要宣称时新生命团队,因为这是新生命团队的成果)的开源项目很多,最著名而又广为我们所熟知的就是X组件了!
国内地址:http://git.newlifex.com/NewLife/X
国外地址:https://github.com/NewLifeX/X
这个组件里面包含的东西可真不少,包括日志、数据库、网络、RPC、序列化、缓存、Windows服务、多线程等模块,支持.Net Framework/.netstandard/Mono。
2002~2018,成千上万兄弟们努力的见证!
国内文档中心:http://doc.newlifex.com/
国外文档中心: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 演示:http://cube.newlifex.com 源码

国内文档中心:http://doc.newlifex.com/
国外文档中心:https://newlifex.github.io/XDoc/

具有如下特性(目前正在全面重写成.NET Core版本):

  • 通用权限管理,用户、角色、菜单、权限,支持控制器Action权限控制
  • 多数据库,支持 SQLite / Sql Server / Oracle / MySql / SqlCe / Access
  • 免部署,系统自动创建数据库表结构,以及初始化数据,无需人工干涉
  • 强大的视图引擎,支持子项目视图重写父项目相同位置视图,任意覆盖修改默认界面

这个X组件简直就是一个百宝箱,里面包含了各种各样的好用的组件!而且现在已经全民啊支持Core了!当然他们还有很多的开源项目我这里就不一一列出来了!具体的你们可以自行前往查看!

总结

大石头恰恰折射出我们这类人——程序猿(有想私聊他的可以加入他的QQ群1600800,如果想进石头哥的人脉微信群的话,可以加我的微信:jkingzhu备注“大石头”我拉你进去!)!一个有责任心而又不善于表达的一类人!我们不善于言辞确能在电脑前夸夸其谈!我们头脑简单却又心思缜密,不放过一个Bug!我们能三五好友玩耍一天也能电脑前呆坐一天甚至忘记吃饭/忘记喝口水!我们都是同类猿!

最后附上石头哥的一张图,愿我们“不忘初心,砥砺前行”!

1547098969436

转载于:https://www.cnblogs.com/yilezhu/p/10249547.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c/c++ 继承与多态 文本查询的小例子(非智能指针版本)

问题:在上一篇继承与多态 文本查询的小例子(智能指针版本)在Query类里使用的是智能指针,只把智能指针换成普通的指针,并不添加拷贝构造方法,会发生什么呢? 执行时,代码崩掉。 分析下…

HTML渲染过程详解

由于本人对http协议以及dns对url的解析问题并不了解,所以这里之探讨url请求加载到浏览器端时,浏览器对html的解析到呈现过程,后来经过几位道友分享,整理了一下url解析的过程,如下: 用户输入url地址&#x…

vue之router-view组件的使用

开发的时候有时候会遇到一种情况,比如 :点击这个链接跳转到其他组件的情况,通常会跳转到新的页面,蛋是,我们不想跳转到新页面,只在当前页面切换着显示,那么就要涉及到路由的嵌套了,也…

go 区分指针

先看一段代码 先放一段代码,人工运行一下,看看自己能做对几题? package mainimport "fmt"func main() {var a int 1 var b *int &a var c **int &b var x int *b fmt.Println("a ",a) fmt.Println("&a…

ajax和axios、fetch的区别

1.jQuery ajax $.ajax({type: POST,url: url,data: data,dataType: dataType,success: function () {},error: function () {} });传统 Ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原始js中&#xff0c…

函数函数sigaction、signal

函数函数sigaction 1. 函数sigaction原型: int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); 分析: 参数 signum :要捕获的信号。参数act:truct sigaction 结构体,后面具体讲解传入…

关于固件

固件(Firmware)就是写入EROM或EPROM(可编程只读存储器)中的程序,通俗的理解就是“固化的软件”,台港澳称为“韧体”。更简单的说,固件就是BIOS的软件,但又与普通软件完全不同,它是固化在集成电路内部的程序代码&#x…

vue和element-ui使用

上一篇已经创建好一个vue项目。https://mp.csdn.net/postedit/80926242 这一篇主要是创建一个vue项目并结合饿了么框架element-ui。 1.先创建vue项目,我准备把项目放在e盘下:E:\Work\RegisterProject; 命令行进入这个目录: 创…

javaweb学习6——自定义标签

声明:本文只是自学过程中,记录自己不会的知识点的摘要,如果想详细学习JavaWeb,请到孤傲苍狼博客学习,JavaWeb学习点此跳转 本文链接:https://www.cnblogs.com/xdp-gacl/p/3916946.html https://www.cnblogs…

vscode配置vue环境

一、安装VSCode、NodeJS VSCode:https://code.visualstudio.com/ NodeJS:https://nodejs.org/en/ 二、打开VSCode,安装常用插件 如图所示(安装后重新加载即可): 三、项目中添加.vscode文件夹,文件夹中添…

vue调用顺序(初学版) index.html → main.js → app.vue → index.js → components/组件 测试

关于它是怎么调用运作的:https://mp.csdn.net/postedit/86134414 一. 准备工作: 1.下载webstorm,安装vue。 2.创建项目,cd到要放项目的文件夹下 vue init webpack vue_test 3.安装各种包 npm install 4.运行 cd vue_test …

NO.8:自学python之路------并行socket网络编程

摘要 一到放假就杂事很多,这次的作业比较复杂,做了一个周,进度又拖了。不过结果还不错。 正文 粘包 在上一节中,如果连续发送过多数据,就可能发生粘包。粘包就是两次发送的数据粘在一起被接收,损坏了数据的…

vue项目中主要文件的加载顺序(index.html、App.vue、main.js)

先后顺序: index.html > App.vue的export外的js代码 > main.js > App.vue的export里面的js代码 > Index.vue的export外的js代码 测试的页面代码块: 文件的加载先后顺序: Index.vue的mounted()中的输出没有执行。why&#…

凸包算法

转载自:https://blog.csdn.net/bone_ace/article/details/46239187 凸包问题的五种解法 2015年05月29日 17:58:51 阅读数:33660前言: 首先,什么是凸包? 假设平面上有p0~p12共13个点,过某些点作一个多边形&a…

一个优雅的占位图解决方案。适用于 UITableView 和 UICollectionView。

FMListPlaceholder 项目地址:https://github.com/yfming93/FMListPlaceholder 一个优雅的占位图解决方案。适用于 UITableView 和 UICollectionView。 一行代码处理空列表占位图逻辑 0x001 与其他的同类三方库对比的优点: 首次进入列表占位图是不显示的。…

vue中 关于$emit的用法

1、父组件可以使用 props 把数据传给子组件。 2、子组件可以使用 $emit 触发父组件的自定义事件。 vm.$emit( event, arg ) //触发当前实例上的事件 vm.$on( event, fn );//监听event事件后运行 fn&#xff1b; 例如&#xff1a;子组件&#xff1a; <template><di…

vue-transition动画

demo点击显示与消失 <div id"demo"><button v-on:click"show !show">Toggle</button><transition name"fade"><p v-if"show">hello</p></transition> </div> <script> new V…

Java String:重要到别人只能当老二的字符串类

字符串&#xff0c;是Java中最重要的类。这句肯定的推断不是Java之父詹姆斯高斯林说的&#xff0c;而是沉默王二说的&#xff0c;因此你不必怀疑它的准确性。 关于字符串&#xff0c;有很多的面试题&#xff0c;但我总觉得理论知识绕来绕去没多大意思。你比如说&#xff1a;Str…

Java基础教程:多线程基础(3)——阻塞队列

Java基础教程&#xff1a;多线程基础&#xff08;3&#xff09;——阻塞队列 快速开始 引入问题 生产者消费者问题是线程模型中的经典问题&#xff1a;生产者和消费者在同一时间段内共用同一存储空间&#xff0c;生产者向空间里生产数据&#xff0c;而消费者取走数据。 模拟情景…

001.Linux开机启动过程

相关Linux启动过程解析&#xff0c;此作为通用启动参考&#xff1a; 转载于:https://www.cnblogs.com/itzgr/p/10285833.html