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

故事起源

本来今天想写.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,一经查实,立即删除!

相关文章

vue实例属性之el,template,render

一、el,template,render属性优先性 当Vue选项对象中有render渲染函数时,Vue构造函数将直接使用渲染函数渲染DOM树,当选项对象中没有render渲染函数时,Vue构造函数首先通过将template模板编译生成渲染函数,然…

mysql8的坑

plugin caching_sha2_password could not be loaded 我在mac上用Sequel Pro连数据库的时候,会报出以上错误,这是应为8.0.11把身份认证插件改成了 caching_sha2_password ,而客户端没法使用此插件。 这是我们只要用命令行进去mysql&#xff0c…

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

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

day19_生成器

20180730 初次上传 20180731 更新,4、列表生成式,以及部分注释 #!/usr/bin/env python # -*- coding:utf-8 -*-# ********************day19_生成器 ******************* # ********************day19_生成器 ******************* # *******************…

HTML渲染过程详解

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

grid布局

CSS Grid 布局CSS 中最强大的布局系统。与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行。通过将 CSS 规则应用于 父元素 (成为 Grid Container 网格容器)和其 子元素(成为 Grid Items 网格项…

vue之router-view组件的使用

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

go 学习Printf

package main import "fmt" import "os" type point struct {x, y int } func main() { //Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了 point 结构体的一个实例。p : point{1, 2}fmt.Printf("%v\n", p) // {1 2…

博客园使用latex编辑公式

如何开启数学公式编辑功能 开启方法见下链接https://www.cnblogs.com/cmt/p/3279312.html 功能 支持数学公式块支持文中数学公式DEMO $$ f(n) \begin{cases}\frac{n}{2}, & \text{if $n$ is even} \\3n1, & \text{if $n$ is odd}\end{cases} $$ 以上的代码产生如下的公…

console.dir有很多浏览器,系统的兼容性问题,不要随便用!

console.dir有很多浏览器,系统的兼容性问题,不要随便用! 要使用console.log();转载于:https://www.cnblogs.com/bluestear/p/9400356.html

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 结构体,后面具体讲解传入…

使用SQL Server连接xml接口,读取并解析数据

--数据源格式&#xff0c;放到任意程序中部署接口即可--<Data xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd"http://www.w3.org/2001/XMLSchema"> --<Peoples> --<People> --<Name>张三</Name> --<S…

mac 卸载编辑器卸不干净

Configuration~/Library/Preferences/Caches~/Library/Caches/Plugins~/Library/Application Support/Logs~/Library/Logs/转载于:https://www.cnblogs.com/smzd/p/10114540.html

vue中使用axios最详细教程

前提条件&#xff1a;vue-cli 项目 安装&#xff1a; npm npm 在main.js导入&#xff1a; // 引入axios&#xff0c;并加到原型链中 import axios from axios; Vue.prototype.$axios axios; import QS from qs Vue.prototype.qs QS;封装好的axios,拿走不送&#xff1a;&am…

Java 类型转换String,List,Map,Array

1. JsonString转为Map String jsoNStr "{\n" "\t\"TestArray\": [\"1\", \"2\", \"3\"]\n" "}";Map map JSON.parseObject(jsoNStr,Map.class);2.Object转为JsonArray(得保证obj是个Array数组&#x…

关于固件

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

React-Native 指定模拟器RUN-IOS

react-native run-ios --simulator "iPhone 7” 转载于:https://www.cnblogs.com/smzd/p/10185263.html

vue和element-ui使用

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