运维祈求不宕机_[国庆特辑] 程序员应该求谁保佑才能保证不宕机?

一年国庆又到~

程序猿、运维工程师、利用假期该结婚的结婚,该回老家的回老家。产品经理、项目经理们也要出国旅游了(好像这次是去东京玩),并且叮嘱一定要安排好值班表。

我是个程序员,我也想出国旅游,却觉得有点儿贵。多亏了领导上安排我值班,只能在北京待着,这样我就有个借口跟新交的女朋友说 “你看我国庆要加班。。。下次放假去马尔代夫玩好不好?唉,唉,别生气了,我帮你把手机升级到ios11好不好?”

但仍旧心里忐忑不安,万一服务节中挂了还真得干活,通常就有这种新闻:

或者这种:

我的一位运维同事管理上千台的服务器,就在节前在自己的跳板机上面上线了这玩意儿(亲眼所见):

以上这些吧,受党教育这么多年,我好歹有点唯物主义精神,虽然实在想找个人保佑,又觉得我这行儿跟佛祖有点不搭。再说到底是拜禅宗还是密宗也选择困难,眼看就国庆了,临时抱佛脚也不大虔诚。罪过罪过。

俗话说:饮水思源。各行当都有祖师爷。求祖师爷保佑如何?

木匠拜祖师爷鲁班,

江湖黑帮拜关二爷,

媒婆都拜月下老人,

包粽子工人拜屈原。

(好像不押韵)

没有屈原就没有粽子

计算机行当的祖师爷当然就是Alan Turing和John von Neumann。我觉得每个程序员都应该知道他们2位的贡献,这才会对为什么现代计算机是这个样子有一个更深的理解。

图灵的事迹很多,可以读这篇了解一二:为什么每个人都应该知道图灵, 还有他的传记电影,模仿游戏。

模仿游戏海报

16岁的艾伦图灵

在二战中,图灵建造出世界上第一个建造出电子计算机,提出了算法和计算机的概念,没错,就是你找工作,笔试面试时最讨厌的考试内容:算法。 什么数据库里面的归并排序,HTTPS协议里面用的RSA加密可都是一种算法。

所以,没有图灵,我们程序员都不知道什么是算法,当然也没有程序可写。

图灵的电子计算机

关于冯·诺伊曼的事迹就更多了,罕见的天才,在多个领域神一样的存在,他有很多逸事传闻。

冯·诺伊曼

在他之前的电子计算机不能叫做通用计算机,因为每台计算机的功能都是专用的。 一个计算火箭弹道的计算机只能研究火箭弹道,但想玩一把王者荣耀?那就只能重新设计,修改计算机结构,或者再买一台王者荣耀专用计算机。这成本高的吓人。

冯·诺伊曼结构计算机定义了Program的概念(没错,就是你现在写的那种程序),只需要计算机可以读取指令,根据Program里面的指令做计算和控制,那这种计算机就是一个多用途的通用计算机。如果这个Program是算火箭弹道的,那这台计算机就可以计算火箭弹道。但如果这个program里面的指令都是3D建模渲染,自动寻路数的算法之类,那这个Program就是你玩的王者荣耀了。

无论是Minecraft游戏里面的计算机, 还是我们公司里面的商用服务器,又或者我给新女朋友承诺,将要给她买的IPhoneX,都是冯·诺伊曼架构的计算机。

minecraft游戏中的计算机

冯·诺伊曼开创了程序员这个工种,程序员只要动动手(比如我就擅长用手),就几乎可以做任何事情,奇妙啊奇妙~

说了这么多,我作为一个程序员,就求2位计算机之父图灵和冯·诺伊曼保佑,国庆7天服务在线永不坏。 于是做了这个ASCII ART在我的堡垒机上,每次登陆都可以看到:

(求祖师爷保佑)高清大图

每次登陆就看到二神,左冯老,右图神,运维也有劲了,代码调试比以前快很多了,最奇妙的是女朋友也比以前温柔许多。(知乎的图做了压缩,可以点击看高清大图,效果刚刚的)

2条命令,你就可以拥有和我一样神奇的功能。值得拥有:

curl https://raw.githubusercontent.com/thesues/blessme/master/bless.txt -o .bless.txt

echo 'cat .bless.txt' >> ~/.bash_profile

最后,如果有的同学已经上线佛祖保佑的版本,也不用非请我佛下来。俗话说。请神容易送神难, 是吧?

如果也非要说我佛和计算机行业有关系的话,我很喜欢佛经里面对数字和时间的理解,也算是和程序员这行有关,佛祖也会保佑你的:一些佛经对地狱痛苦的夸张描述,已经到了无法计算的地步。比如《佛说十八泥犁经》说,有65536(即2的16次方)斛芥种,一百年拿走一粒芥种,把这些芥种都拿光了,在十八层地狱犁受苦的众生的寿命还没有尽呢。。。。这只不过是人在地狱中开始的一刹那而已。

-------《佛,到底讲了些什么》

所以佛经里不光有二进制,而且还有地狱。每次我调试底层Bug的感觉都跟在无间地狱里面一般。

最后,祝大家国庆愉快。

附录:如何制作上面的ASCII图?

一共分4步:网上搜索照片

提取计算机之父的照片中的边缘,这样可以提升生成ASCII图的效果

有很多在线免费的图片转ASCII网站,转化图形

后期处理,比如合并图灵和冯诺伊曼的ASCII头像,增加颜色等等

第一步:搜图好办,我找到了2张图片:

第二步:提取照片边缘

TMD我是一个系统程序员,这个图像处理算法不大会, 假期在即,也懒得学。 怎么办?

我想到了这个神奇的数学网站Computational Knowledge Engine,像他们这种超级大名人,肯定有很多崇拜者,于是我就找到了边缘清晰的图灵头像和冯·诺伊曼的头像:

这2个头像都是用函数画出来的,边缘要多清晰有多清晰:

由上面一个大函数画出图灵头像

John von Neumann

Alan Turing

所以,如果有读者知道有简单的提取图像边缘的办法,欢迎分享一下,我觉得在wolframalpha上找,实在是有点怪.

第三步:

我用的是ASCII Art Generator这个网站,上传图片,就可以把图片转化成ASCII码。上面还有一些参数可以调整,我用的是默认的,效果很好

第四步:

把ASCII Art Generator生成的2个文本文件,合并成一个大文件,保证2位计算机之父是并排站立的,而不是冯祖师在上,图祖师在下。站位很重要。当然,这都看个人喜好。

#!/usr/bin/python

from itertools import izip

with open("von.txt") as von, open("turing.txt") as turing:

for x, y in izip(von, turing):

#remove new line

x = x.rstrip();

y = y.rstrip();

#fill space until to 76 for von

l = len(unicode(x,"utf8"));

x = x + " " * (76 - l)

print("{0}{1}".format(x, y))

两位计算机之父:并排站立

#!/bin/bashcat von.txt turing.txt

两位计算机之父:一个在上面,一个在下面

最后,你还可以在文本下面填几个名言警语儿,就跟有“好好学习,天天向上”这种标语一样。相信我,在你加这几个名言的时候,能体会到为人师表的自豪感:

如果有人不相信数学是简单的,那是因为他们没有意识到人生有多复杂

------ 冯·诺伊曼

有时候,被世人遗弃的人,才能成就让人想像不到的大事

------ 艾伦·图灵

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

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

相关文章

Oracle Weblogic 11g(10.3.4)的小知识

本周,我将为Weblogic进行许多设置和配置(我猜是开发人员)。 在过去的4年中,我一直在与Weblogic合作,并且我不得不承认-与Eclipse类似-我已经开始使用它。 我曾经是Netbeans / JBoss开发人员,后来转向Eclips…

java中HashMap的用法

重点介绍HashMap。首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。在下文中会有例子具体说明。 再来看看HashMap和TreeMap有什么…

关于 MVCC 的基础

作为第一篇对 MVCC 的学习材料,以下内容翻译自 Wikipedia。 1. 什么是MVCC 1.1 基础概念 MVCC,Multi-Version Concurrency Control,多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的…

集成测试CDI 1.0和Spring 3.1中的作用域bean

在这篇博客文章中,我描述了如何在Spring和CDI中使用作用域bean进行集成测试。 一切都用小代码示例进行说明。 使用范围进行集成测试并不是特别容易。 想象一下存在于会话范围内的bean,例如UserCredentials 。 在集成测试中,通常没有HttpReque…

JavaScript学习随记——数组一

数组的创建及length属性 <script type"text/javascript" charset"utf-8">// 数组创建方式一,此种方式写的时候比较麻烦var arrnew Array();// 数组创建方式二var arr [1,2,3,4,true,str,new Date()];console.log("arr.length&#xff1a;"…

USACO milk4 枚举答案再检验

刚开始写了一个暴力的dfs超时了&#xff0c; 最后看了下题解说是先枚举答案再判断&#xff0c;然后就写了双dfs&#xff0c;全部秒杀&#xff0c;代码如下&#xff1a; /*ID: m1500293LANG: CPROG: milk4 */ #include <cstdio> #include <cstring> #include <al…

微信小程序常见问题集合(长期更新)

最新更新&#xff1a; 新手跳坑系列&#xff1a;推荐阅读&#xff1a;《二十四》request:fail错误&#xff08;含https解决方案&#xff09;&#xff08;真机预览问题 跳坑指南《七十》如何让微信小程序服务类目审核通过跳坑六十九&#xff1a;uploadFile:fail Error: unable t…

mysql指令按顺序排列_mysql基本语法大全

1.备份数据库&#xff1a;1.1备份数据库中的表:mysqldump -u root -p test a b >d:\bank_a.sql//分别备份数据库test下a和b表1.2备份一个数据库mysqldump -u root -p test > d:\testbk.sql1.3备份多个数据库mysqldump -u root -p --databases test mysql > D:\data.sq…

Spring和石英:多作业计划服务

作业调度对于应用程序来说是如此重要。 尤其是在大型项目中&#xff0c;处理大量工作可能是一个问题。 Spring和Quartz为解决该问题带来了巨大的好处。 本文介绍了如何通过使用Spring和Quartz轻松地计划多个作业。 二手技术&#xff1a; JDK 1.6.0_21 春天3.1.1 石英1.8.5 M…

JavaScript学习随记——数组二

数组indexOf(arg) 和 lastIndexOf(arg)方法使用 <script type"text/javascript" charset"utf-8">/*** indexOf(arg):返回指定参数在数组中的索引位置&#xff08;从前往后查&#xff0c;比较是使用 ‘’&#xff0c;查询到立即返回索引位置&#xff…

反射的简单应用

首先有一个类 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;5 using System.Threading.Tasks;6 7 namespace ConsoleApplication18 {9 public class demo 10 { 11 public string name "程序员"; 12…

JavaFX 2.0示例介绍书

我最近完成了有关JavaFX 2.0 SDK新版本的书的编写&#xff0c;并且已经将它放在您附近的书店&#xff08; Amazon &#xff09;的书架上。 该书将逐步指导您完成JavaFX 2.0的来龙去脉。 当您遇到一章时&#xff0c;将看到一些菜谱&#xff0c;这些菜谱将带来一个问题&#xff0…

双纵坐标的绘图命令_工程师绘图必备软件——OriginLab 2019b

点击右上角关注&#xff0c;尽享后续精品软件OriginLab 2019b是OriginLab OriginPro 2019版本的加强版&#xff0c;这个软件对于许多人来讲并不陌生&#xff0c;可以说是科学家和工程师的绘图必备软件。新的版本也带来许多改变&#xff0c;软件拥有多种功能&#xff0c;这个版本…

JavaScript学习随记——对象

JS中对象基本使用 <script type"application/javascript" charset"utf-8">//Objcet 所有类的基础类/*** 创建对象方式一*/ // var objnew Objcet();/** 创建对象方式二,注意 {}不可忘记写* */var obj {};obj.name "什码情况";obj.age …

[转]Java_List元素的遍历和删除

原文地址:http://blog.csdn.net/insistgogo/article/details/19619645 1、创建一个ArrayList [java] view plainList<Integer> list new ArrayList<Integer>(); 2、List常用的遍历方法有三种&#xff1a; &#xff08;1&#xff09;下标循环 [java] view plainfo…

分层设计 --java中的几种包

对于刚接触包分层的同学&#xff0c;下面简单介绍一下java中各个层次&#xff1a; Modle 模型层 &#xff1a;存放你的实体类 dao&#xff1a;主要做数据库的交互工作&#xff0c;具体的增删改查等方法&#xff0c;操作数据库的&#xff1b;这里也可以存放查询所有的信息接口 …

Spring远程支持和开发RMI服务

Spring远程支持简化了启用远程服务的开发。 当前&#xff0c;Spring支持以下远程技术&#xff1a;远程方法调用&#xff08;RMI&#xff09;&#xff0c;HTTP调用程序&#xff0c;Hessian&#xff0c;Burlap&#xff0c;JAX-RPC&#xff0c;JAX-WS和JMS。 远程方法调用&#xf…

cesium绘制网格_Cesium学习笔记-工具篇37-风场绘制

这两天重新接触到流场&#xff0c;于是研究下&#xff0c;在大牛们的轮子上也算实现了效果&#xff1a;1二维2三维主要参考以下三篇文章&#xff1a;《WebGL风向图》给出制作风向图通常步骤&#xff1a;1. 在屏幕上生成一系列随机粒子位置并绘制粒子。2. 对于每一个粒子&#x…

ToString:身份哈希码的十六进制表示形式

我以前在方便的Apache Commons ToStringBuilder上写过博客&#xff0c;最近有人问我&#xff0c;在生成的String输出中出现的看似神秘的文本是什么构成的。 询问该问题的同事正确地推测出他正在查看的是哈希码&#xff0c;但与他实例的哈希码不匹配。 我解释说ToStringBuilder将…

HTML+CSS笔记 CSS中级 缩写入门

盒子模型代码简写回忆盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的&#xff1a;上右下左。语法:margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px、左设置为14px*/通常有三种缩写的方法:1、…