前言

我活着,没什么了不起的活着,既不富也不贵,每天为养家糊口而劳碌;我活着,跌跌撞撞的活着,从小体弱多病,几次从鬼门关闯过,靠自己调养,至今基本健康;我活着,充满幸福感的活着,我三十大几才要的孩子,媳妇也三十大几,而且素体虚弱,然而我们的宝宝很健康,初生儿健康评分满分,我们给了他一个好的开始,为此我很自豪。

接下来,我需要尽力为宝宝缔造一个好的未来。首先,我需要保持健康。然而,作为一名程序员,保持健康不是那么容易的。程序员,一个苦逼的群体,几乎就是亚健康的代名词,无穷无尽的问题单、无穷无尽的特性开发、无穷无尽的加班,整天坐在电脑前,吃辐射、听噪音、缺乏锻炼,使得我们心身疲惫,外强中干亦或外干中干;职业病,几乎个个都有;猝死,也屡见不鲜。难道这是程序员的宿命?不,这不是我的宿命,我要保持健康,为我的家我的孩子撑起一片天空,我能!因为我必须能。

因此在工作生活中我很注意保持健康,坚持至今基本健康,甚至摆脱了缠身二十多年的鼻炎。本来我自个偷着乐就是了,没必要大肆张扬。然而有些事让我觉得有必要把自己的心得分享出来,什么事呢?正如前面说到,程序员健康堪忧,有时严重得出乎意料,短短三年间在我周围就有三位同事患癌症去世,他们年纪都不大,也就三十出头,突然就走了,留给家人无尽的悲伤。事情发生在身边,我心底不由也有些悲伤,同时觉得如果有必要把养生的经验说给大家,也许能唤起大家的爱护自己的意识,避免悲剧再次发生。诚然,猿才疏学浅,难堪此大任。然而几种因素结合在一起,冥冥中使得这似乎已成为我的使命:

1、猿是中医科班出身,后转行做程序员。迄今已干了近10年的码农,对程序员的工作、生活非常熟悉,程序员的常见病也相当熟悉。

2、多年码农生活,猿没有落下象颈椎病、腱鞘炎、脂肪肝等程序员常见病,连视力都没有明显下降。这不是我有什么祖传秘方,而在于平时的注意。

3、猿重视自我保养,却没有影响工作,反而常常加班,甚至得过“最勤奋员工奖”呢。其实正确的养生与工作不冲突。

4、那么猿就是健康的吗?非也,猿打小体弱多病,数次从鬼门关路过,现在都还是痛风和胆囊炎患者。与多数人不同的是我一直在同自己的疾病斗争,只要早些重视,疾病是可以战胜的,就在去年我终于告别了多年的鼻炎。疾病也是可以预防的,猿在每天超过12小时工作学习压力下,居然2年半没感冒,自己都很意外。

5、猿能自我调理是因为我懂医,然而大多数程序员没条件去学医。所以猿愿意写本书与大家一同探讨。

6、有人说你是为了出名赚钱忽悠人吧,多虑了,这本书好不好需要时间和实践来证明,其中的每一个方法都必须可理解可证明可重复,说不说在我,信不信在您,何来忽悠之说?

7、那么市面上养生书汗牛充栋,为什么要单写一本呢?唉,那些养生家有谁写过代码,程序员又有几人能理解阴阳五行。程序员写给程序员的养生书,这可能是第一本。

8、猿能力时间有限得很,bug少不了,此书的错误遗漏万望同学们指出,猿将尽快改正。将来我会建一个Bugzilla管理相关bug。

9、最后也是最重要的,希望从这本书收益的同学也把您知道的养生诀窍分享出来,造福别的程序员。

第一章 养生先养心

常常有人问我:“我有脂肪肝,该吃点什么药?”、“我颈椎不好,得用点什么药?”。诚然,患病须用药治疗,但反过来想一想,为什么会得这些病呢?如果早点注意,也许不会得病,也就没有不知吃什么药的烦恼了。在没病的时候避免得病,需要有养生的意识,这就是养心的第一步:重视。

也有不少同学很重视养生,熟读黄帝内经,勤看养生节目,不过有时过于相信“专家”,误入歧途,养生不成反而损害健康。所以得科学养生,这就是养心的第二步。那什么算科学呢?简而言之就是可证明可重复。那中医算不算科学呢?算,具体分析请见附录 A“猿眼看中医”。

重视养生、科学养生,基本可以保证健康,然而有多少人能花大块时间来养生啊?!本书的终极目的不是打造一个完全健康的你,而是探讨如何在高强度的工作压力下保证不病倒,套用信息安全术语就是保证可用性这真的是一个巨大的挑战,然而这不是 mission impossible,猿一向苦逼,一直在高强度压力下工作,通宵加班、周末加班都是常事,这种状态维持了近10年。而猿没有倒下,基本保持健康,体重、力量、耐力跟10年前差不多,所以我面对这个挑战有自信。努力工作是为了实现自己的目标,要是牺牲健康去奋斗肯定不能长久;我们需要健康地奋斗,这才是正确之道,想想 Stallman、Linus 这些黑客长期没日没夜地编程却能保持健康,为什么?我想是因为他们有一颗积极的心,积极的心态能带来充沛的活力,这就是养心的第三步——积极!

第二章 生活即养生

第一节 吃 

程序员吃饭一般比较简单:食堂、饭馆、路边小摊基本就是我们全部的选择,这些地方想吃得健康,门都没有;有的同学从家里带饭,相对健康一些,不过带饭的是少数,多数人只能忍受不健康的食品。这种情况下通过食疗来治病是一种奢望,大谈健康食谱也就没有什么意义。

猿要说的是八个字:“不要空腹,吃清淡些”。

空腹是程序员的胃的最大杀手!您也许会问过度饮酒、暴饮暴食对胃的伤害不更大吗?您是对的,然而程序员过度饮酒、暴饮暴食的机会不多,偶尔一次 team building也不会喝个烂醉吃个撑着。更多的时候是饿肚子的,比如处理紧急客户问题、解决 block bug、城管清理卖早餐的小摊等等情况都会吃不上饭。空腹的危害人人尽知(不知道的问度娘),猿就不赘述了。要说的是怎样避免空腹,很简单,到饭点时就吃饭,另外在手边放些零食,实在忙的时候垫垫。

此外尽量吃清淡些,这有两层含义,一层是少吃荤腥,一层是少吃刺激性强的食物。大家都知道清淡饮食的好处,然而能做到的不多,试问香喷喷的美食放在眼前,有几人能经得住诱惑?所以猿说的是“尽量”,一周有四五天吃素比较好,一下子变成素食者不太可能,可以循序渐进,从鱼香肉丝、木樨肉这样的轻量级荤菜到鱼香茄子、尖椒土豆丝到西红柿鸡蛋、清炒油麦菜,基本上差不多了,再素的在食堂饭馆很难找到了,当然如果您周围有素食饭馆就最好了,可以吃到清淡又可口的饭菜了。

第二节 喝

能喝的东西很多,我就提三种:水、酒和咖啡。

应该多喝水,水是万灵药,要想健康,每天都要保证足够的饮水量。经常会看到有些人一忙起来就顾不上喝水,拿起空空的水杯仰着头喝着最后几滴水就算喝过水了,长此以往细胞活力就会减弱,毒素也不能及时排走,身体渐渐就虚弱下去了。所以得喝足够的水,一般每天2~3升,保持不会感到口渴就行。

喝酒就不同了,老话说“酒要少喝,事要多知”,酒还是少喝为妙。好在程序员一般没什么机会酗酒,猿只提醒一点:万一需要多喝的时候,提前吃点东西,如果能用葛花泡杯茶喝下更好了,葛花是解酒的良药,提前喝一杯,酒量大一倍。

程序员喝咖啡的机会比喝酒多多了,外企基本都有咖啡机或者速溶咖啡。不过咖啡这东西比较伤胃,空腹时不要喝。另外不能长期靠咖啡提神,只能短期用用而已。

第三节 睡

睡眠很重要,不吃饭能活7天,不睡觉只能活5天,可见睡觉的重要性。然而程序员是最缺觉的一个群体,深夜是编程的最佳时机,没有烦人的邮件,没有无聊的会议,也没有人找你讨论问题,此时每个脑细胞似乎都活跃起来,天才的想法源源不断的涌现出来,代码一气呵成,甚至连编译告警都没有,这感觉如醍醐灌顶一般美妙。更多的时候是马上要交活,不得不熬夜赶进度。相对其他人,猿更缺觉,原因是晚上是我带孩子,从来没睡过囫囵觉,平均睡眠时间大约5小时左右。这种条件下强求8小时充足睡眠是中奢望,其难度相对与国足入围世界杯。

怎么办?只能提高睡眠效率了,猿总结了12字口诀:勤起早、起勿躺、午睡好、困极倒。勤起早,不是说每天都 4、5点起,而是随日而升,就是太阳升起时就起床,这样生物钟比较稳定;起勿躺就是不睡回笼觉,回笼觉很容易打乱生物钟,要尽量避免;午睡好,猿认为午睡对于程序员来说极其重要,毫不夸张的说,午睡是避免猝死的重要手段。诚然很多公司没有地方睡午觉,不过事在人为,为保证健康有条件要睡、没有条件创造条件也要睡,猿自己是买了一个沙滩床在会议室睡,躺着睡那叫一个舒坦;困极倒,很显然困到极点就得马上睡觉,可惜有些人意志力过于“坚强”,一直楞扛,没几天就垮了,意志坚强是美德,但是了解自己的身体懂得一张一弛才是智者所为。

第四节 运动

“我很忙,哪有时间运动啊!”,很多人这样说。其实他们也都知道生命在于运动,长期缺乏运动身体就会虚弱下去,然而却不肯付诸行动。原因有二,一方面是不重视,另一方面是懒。再忙的人,每天也能挤出15分钟锻炼,所以忙只是借口,本质还是不重视和懒。

不可否认有些运动需要不少时间,例如打羽毛球,坐车去场馆、打球、坐车回家、洗澡,一般要占去两三个小时。所以猿推荐两种锻炼方式:一是瑜伽,瑜伽练身有练心,不占时间,每天坚持练 15分钟就有显著效果;二是“隐式锻炼”,这是猿发明的名词,就是工作的同时也在锻炼,例如双脚离地坐着、深呼吸10下、等城铁时做提踵运动等等,动作幅度很小,无需打断手头的工作。这种运动,您不会做不到吧?

当然不是所有人都轻视运动,有些人还是坚持体育运动的。对他们先赞一个,另外提醒下避免运动损伤,选择合适的运动类型,把握合适的锻炼程度。

转载于《程序员养生书草稿1》

健康地奋斗着——程序员自己的养生书相关推荐

  1. 《健康地奋斗着——程序员自己的养生书》作者:中医程序猿

    源自:http://bbs.csdn.net/topics/390607937 前言 我活着,没什么了不起的活着,既不富也不贵,每天为养家糊口而劳碌:我活着,跌跌撞撞的活着,从小体弱多病,几次从鬼门关 ...

  2. 2016 年最值得程序员阅读的开源书:《全栈增长工程师指南》

    这本书来源于在<Repractise简介篇:Web开发的七天里>中所说的 Web 开发的七个步骤而展开的电子书.当然它也是一个 APP,是一本关于如何成为全栈增长工程师的指南. 编写过程 ...

  3. Java程序员必读之热门书单

    读书是另一种感知世界的方式,是另一种提升自我的方式,是另一种与人交谈的方式,一周不读书就觉得自己俗了,长久不看书,写东西就找不到感觉了,网络上,电视上,各种电子设备上的内容当然不少,但都比不上读书,读 ...

  4. 推荐几本Java程序员必读之热门书单的好书!!!

    读书是另一种感知世界的方式,是另一种提升自我的方式,是另一种与人交谈的方式,一周不读书就觉得自己俗了,长久不看书,写东西就找不到感觉了,网络上,电视上,各种电子设备上的内容当然不少,但都比不上读书,读 ...

  5. PHP程序员要看的书单 转自http://www.cnblogs.com/piwefei/p/6900491.html

    PHP程序员要看的书单 想提升自己,还得多看书!多看书!多看书! 下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完.共勉吧! Github地址:https://github. ...

  6. [转] 程序员也要养生

    原文出处:http://article.yeeyan.org/view/93116/124637   作者:泽德·A·萧 我最近在写<深度Python>的最后几节课,我还要加一课:关于程序 ...

  7. 《深度学习,统计学习,数学基础》人工智能算法工程师手册:程序员写的AI书,50 章一网打尽...

    来源:专知 本文约3400字,建议阅读10+分钟. 免费开源人工智能手册,带你快速上手写代码! [ 导读 ]市面上很多人工智能相关的书籍.大部分的书,面向小白,内容深度不够:小部分教材书或者科研书,内 ...

  8. [置顶] Java程序员们读什么书决定了对未来职业方向的选择

    学习Java最痛苦的事情莫过于对未来职业方向的选择.尤其是选择开发Java Application还是Java Web方向,在你先定好大类后还有数不尽的小类教你无从学起. 因此,作为初学者的你必须看完 ...

  9. 想成为程序员的话,这些书单必不可少——算法篇

    前言 又到了给大家"荐书"的时候了,如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理.如果只开一门课,那剩下的就一定是:数据结构与算法.最近参加了很 ...

最新文章

  1. java hashtable import,Hashtable的一个简单例子
  2. zabbix 4.0.3 use docker-compose deploy
  3. 危害网站关键词优化的因素如何避免?
  4. 微软 python_微软推出 Pylance,改善 VS Code 中的 Python 体验
  5. lseek、stat、access、chmod、strtol、truncate、unlink
  6. [禅悟人生]心平气和, 慢慢修行
  7. Mysql 8.0 安装教程 Linux Centos7
  8. Python for Informatics 第11章 正则表达式五(译)
  9. 关于ping是用的TCP还是UDP的争论
  10. 提取win11最新等线字体1.18制作的magisk模块,有常规,加粗,和细体三个字重。
  11. Emmagee——Android性能测试工具
  12. 面部皮肤200种问题_史上最全的皮肤病图谱,我竟然全部看完了……
  13. kubectl源码分析之drain
  14. 聊聊新股市盈率的那些事
  15. java怎么比较两个list是否相同?
  16. 发表论文怎样确定刊物的级别
  17. 蓝牙基础(一):版本特点与分类
  18. 分布式锁的简介与作用
  19. 渗透测试工具实战技巧合集
  20. 15分钟破解网站验证码

热门文章

  1. python 基础知识点 (一)
  2. 施工企业选择智慧工地的有效方法
  3. python爬虫-异步爬虫
  4. 简单粗暴搞定webpack4的style-loader!css-loader
  5. android hdmi 监听,对于HDMI设备连接状态的监听
  6. 文件和文件夹的操作——文件夹的操作
  7. 【Paper】ConvLSTM:Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
  8. 关于QPS高并发,你了解多少?
  9. HTML语言全称叫超文本标记语言,其中的“标记“如何理解,“超文本”又如何理解?
  10. MySql 中 varchar 和varchar 的区别