热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

故事起源本来今天想写.NETCore实战之CMS系统第十五篇文章的。哈,奈何今天在新生命人脉群里面看到石头哥分享的一张图片,然后大家就议论了起来,不过我看的很懵逼,这图什么意思啊?当一个朋友讲述

故事起源

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

1547090181521

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

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

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

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

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

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

为什么这样说呢?

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

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

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

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

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

介绍下大石头

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

大石头的博客

他的博客地址:“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


推荐阅读
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了一种解析GRE报文长度的方法,通过分析GRE报文头中的标志位来计算报文长度。具体实现步骤包括获取GRE报文头指针、提取标志位、计算报文长度等。该方法可以帮助用户准确地获取GRE报文的长度信息。 ... [详细]
author-avatar
Edison小磊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有