邓淑华讲述显著提升程序员身心健康和工作效率的装备
liuian 2024-11-28 00:51 39 浏览
本文由邓淑华新浪博客http://blog.sina.com.cn/u/1770587702提供。
作为一枚萌妹子,不敢自称程序猿,但也是常年电脑前累弯了肩膀和腰……邓淑华无意中在知乎看到这个问题,如何显著提升程序员身心健康和工作效率的装备。下面分享。
(一)
工作效率:
加速度(一个电脑的有用程度和它里面装的软件数成反比)
- 给电脑换上SSD吧,你再也不用为了打开Photoshop而等待一分钟了,只需3秒!
- 给电脑加条内存吧,开虚拟机再也不用等待菊花了
- IDE上哪些从来都不用的Plugin给Remove掉吧
- Chrome上打开chrome://memory-redirect/你会惊奇的发现一个再简单不过的Extension也得占用几十M内存,长时间不用的扩展还是删掉吧
- 开机启动项赶紧T掉(Mac用户不在此列,我们都是几个月不关机的)
- 舒适的网络环境绝对是非常重要的,还在用小水管,赶紧去换成10M光纤吧,体验下网上冲浪的感觉!
- 国内环境还不赶紧上VPN,一年才100多快换来的是网络自由,这你都舍不得?
- 多显示器绝壁是攻城师的不二利器啊!左边敲代码,右边预览、左边敲代码,右边LOG、左边敲代码,右边看电视
- 实在只有一个显示器也行啊,多建几个虚拟桌面切换
- 定制好的你的桌面图标(Mac Dock图标),把常用的提上去
- 使用Quicksilver、Alfred之类的软件能有效的提高操作效率
- 键盘的速度绝对比鼠标快,所以还是多记一记快捷键吧。Chrome下的Vimium和Firefox下面的Vimperator上手后对比下用数据操作的时间你会合不拢嘴的
专注
- Coding的时候关掉手机提醒吧
- 邮件通知、QQ消息等简直是让人分散注意力的罪魁祸首
- 合理的挑选工作时间也很重要(当然得条件允许了,我是感觉每天晚上12点后的三个小时效率非常高,原谅我每天3点睡觉)
- 一杯茶或咖啡在快没精神的时候是很有作用的
- 你机箱是多少天没清理了,风扇的声音都快盖过拖拉机了
- 对于有些人来说适当的音乐也能够使其更专注(我是那种要听着经典电视更能专注起来的,现在都能背下水浒传了)
- 我在做事的时候能不能不要扫我桌子底下
- 哇擦,IDE里这个文件有23层目录,用鼠标去点导航不得点死啊!搜索优于导航,用快捷键进行全局查找,赶紧抛弃文件树吧
- find、sed、grep、awk好用到流泪
自动化
- 很多时候我们都喜欢重复造轮子,但是不要造过一次还去造第二次好吗?
- 每次打开收藏夹里面一堆网站挨个浏览真的比RSS好吗?
- 每次的重复操作虽然只是占用很少时间,但长时间这样也是很费时的。搞成自动化不好吗?(每周耗时超过1小时的都建议做成自动化)
- 搞自动化前好好衡量下值不值得,别给耗牛剪毛,越剪越多
- 经常Google一些函数用法,赶紧将文档下下来本地查!(Mac下非常推荐Dash)
规范性
- 这个小改动这样改就好了,没必要考虑那么多!- 结果后面又接二连三的来改这个或者这个引起的那个…改的时候考虑全面点
- 用上Git、Subversion之类的版本控制工具吧,这次出问题了马上回滚到上次正常版本
- 一定要写注释啊,别面下次看代码又从头看起!(被后面接手的人骂肯定不是滋味)
- 画好UML图吧!不要每次费劲的想走到哪一步了,下一步是什么
- 数据库结构关系图同上
- Deadline的重要性不言而喻
- 细分任务到最小层级,对每个层级进行耗时预判,做好时间点规划(Mac下推荐OmniPlan)
- 对项目中突然增加的可有可无的需求说NO
测试驱动开发
- 单元测试是提升代码质量的最好方法。不要只是看看,赶紧去用起来
- 代码覆盖率测试也是非常重要的,帮你找回潜在的隐患
- 代码错误检查(代码右边的红红绿绿的不消灭掉以后就等着被坑吧)
高效工作环境
工作环境是最影响工作效率的。听说没图没人看,那就贴张我自己家里办公环境的图吧!
图解:
椅子:一把舒适的椅子很重要
很多知友对图片里的椅子很感兴趣,那我就简单说说吧!
如果椅子预算在3000+,请忽视以下文字!
》》》忽视开始《《《
我们平常可能经常能看见各类人体工程学XX,比如人体工程系鼠标、人体工程学座椅!
不可否认,大于5k一把的桌椅的确很舒服,但是像我这种屌丝买不起,怎么办?
对比1000内和3000以上的后我发现一些明显的区别(如上图):
1.高端功能(比如座椅记忆功能,看着就高大上!但对于我这种预算有限的又没有实际需求还是pass)
2.靠手可以升降(公司的靠手最开始的时候经常会去调调,结果手也经常被卡着椅子和桌子间,后来发现靠手最合适的高度是手垂直放下,靠手与手关节交汇)
3.材质(透气度、安全度、是否异味)
其实这个还挺在意的,比如透气度、安全度,但是当我详细的看过她的配置后我发现每一把椅子的安全是合格的,在每一把椅子坐垫下都有一块一样的钢板!透气度感觉公司的座椅坐久了屁股也会热,所以坐垫的透气度可以降级!
4.还有其它的一些小区别
同时也发现一些相似处:
1.座椅靠背的弧度一样(这是舒适的前提,必须保证!对比厚度也一样)
2.都可以调节成躺着的姿势(连续工作一段时间可以调整椅子平躺着小憩一会)
3.底座都是铝合金的(建议不要选择钢质脚)
根据我们的需求,发现透气度是最明显而又重要的区别,夏天不透气,真的不好受的,1000以下的透气效果不好怎么办?于是我就想到了退而求其次,买个凉席垫,使用后发现比其它透气效果都好!
具体型号请参照上面标准自行选择购买!
》》》忽视结束《《《
环境设备
书架:很多东西都可以放进去,桌上能清爽很多
台灯:夜深人静的时候关上顶灯,打开台灯
白板:我还是习惯放下电脑,用笔去梳理自己的思维逻辑
Macbook Pro: 内存已经加到16G,已更换SSD
键盘:试了好几个,最终还是选了某87,感觉非常好!
鼠标:在Mac下开发触摸板是很管用的,外接鼠标的话建议买多按键的以实现触摸板的特殊功能
显示器:左边是DELL2414H,右边是HP COMPRQ,两个效果差太多,价格差一倍。入DELL不后悔!
显示器支架:买的Loctek,这个的确很值,显示器任意角度、任意位置移动
桌布:到了冬天,很多人都会不愿意开电脑了。除了工作累之外我还发现其中很大一个原因是因为桌面太冷!!!
绿植:平常浇浇水也是一种乐趣
软件方面:
自己写了一个管理个人事务的系统(有点想喝牛奶买头奶牛的感觉)
很多知友问关于这个个人事务系统的一些状况,这里统一回答下:
是否开源:
的确有想过,周围同事也曾想参入进来,而且我做这个的初衷也想过公开给所有人免费使用,所以开源是肯定的!
如果你对效率提升方面有什么产品性建议,希望能够交流!
项目已经加入Github,您的Star和关注就是支持我们前进的动力!
这个项目的目的也是为了提高大家的事务管理效率,所以还是蛮有意义的!
更新一些大图:
其实里面功能大部分都能用世面上成熟产品替代的,但是那些工具无法根据我自己的意愿优化更改,所以我最终还是写了这么一个东西!
主要常用的:
时间目标管理:类似TODO,但是根据我个人制定了一些月度、季度以及年度目标,然后从平常的待办事件中分析大目标的进展
日记本:这个后来还是废弃了,转投印象笔记了
我的钱包:后台也是懒得记了,闲麻烦,本来想做成读取账单的,后台发现账单太多而且又不全,最终还是放弃了
密码保险箱:这个使用频率还是非常高的,存了自己一百多个网站的账号密码等信息,密码采用随机高强度规则生成的,所以我大部分网站密码都是大于18位,且定期更改
人际关系:这个主要管理自己的人际关系,和待办事件里关联的,如果待办事件里@了某人,那么在人际关系中某人的事件里面就会出现!还有人际关系拓扑图以及一些生日提醒之类的
关注新闻:已废弃,转投Reeder。本来是想写成自己的RSS阅读器,结果发现做出来的没有什么优势
常用软件
也不全,主要是这台电脑只在家里用,公司那台的开发软件会齐全些!
主要说下几个别人没提到的:
Alfred:效率神器,必备
Dash:管理各类开发文档的非常好用
iDocument: 管理各类文档
CodeRunner: 写些脚本工具非常快速,如下图
Mou: Markdown写各类报告也很好用
iTerm: 多窗口切割很好用
Reeder: Rss阅读器
补充(偏Mac):
JetBrains系列(IntelliJ IDEA/PhpStorm/PyCharm等)真的好用
Time Sink:曾经为了想知道自己30分钟内做了多少事而买了个漏斗,结果沙漏时间很不准确,然后就发现了这个软件,挺管用的
xSope: 各类辅助工具非常强大
Gas Mask: 上面回答者@李乐佳用这个在工作中屏蔽娱乐网站!而我们是用这个来指向测试环境和生产环境的
Charles:调试手机APP接口很方便
Parallels Desktop:虚拟机神器,一大特点就是融合模式(Coherence),如下图:
Sequel:远程数据库连接,支持SSH模式,如下图
Caffeine: 给电脑灌上咖啡,让它精神起来
Eudic:Mac下最好用的词典,非常方便
喜欢Windows下的PuTTY保存SSH密码功能?Linux下也可以 wufeifei/autossh · GitHub
浏览器插件:
VPN切换起来太顺了。国内网站直连,“国外”网站添加ssl
wufeifei (zhijie) · GitHubFollow 我的Github账号,最新提升效率工具会更新上去!
未完待续...空了再更新!
等你每一项都做到后,我大概会将未完待续部分补充完善!
我说的你可能都懂,但最后你还是没有做到。
为什么?因为你懂的不够深入:当你下一次再遇到想提升效率的时候,你又会去百度各种提升效率的方法,周而复始...
(二)
如果用Linux,找一个顺手的window manager,把常用的应用和窗口操作绑好快捷键,再装个dmenu之类的。(我现在在用openbox。)
==========================
*硬件:
**键盘:机械或静电容。我正在使用的是KBC Poker,红轴。布局如下:
60%布局,有点类似HHKB。(相比HHKB,这货太便宜了。。。)图中标示的键需要搭配Fn。但是这不是问题,因为右边的Fn大拇指非常好摁,而60%布局的好处是手掌根本不需要移动。比如方向键,右手大拇指摁住Fn左手wasd就可以了。这样在任何情况下都可以享受Vim的操作效率了。
此外可以通过开关切换Ctrl和Caps Lock位置,以及Alt和Win位置,加分!
唯一缺点是F1-F12比较难摁。但我的环境一般是Mac和Linux,很少需要F键,因此这块键盘对我来说很完美。
推荐一下红轴,青轴的问题是让我的感觉是手指需要配合着键盘的速度和节奏,这让我很不爽。而红轴完全是顺着你手指的速度和节奏的,打起来很轻松。不过这显然是因人而异啦。
当然,终极追求肯定是HHKB。
PS:这货现在出了二代了,可编程,搞一个吧。
**轨迹球:强烈推荐罗技M570。如图
习惯需要一小段时间,但之后就再也用不了鼠标了。移动方向靠大拇指,手腕包括手掌完全不需要动啊太舒服了!
** SSD &尽可能大的内存:还要多说么,我还在使用Mid 2010 的 Macbook Pro,2.4 GHz Core 2 Duo(应该是P8600)。配合128GSSD和8G内存完全没有感觉速度不够用啊!
**显示器:不用多说,越多越大越好!
**备份方案:没错,我说的当然是这货!Time Capsule!
呃。。。我没有。。。买不起。。。
我现在在使用的是Raspberry Pi +希捷桌面硬盘配合Time Machine。虽然简陋了一点,但是满足备份需求完全没有问题。
**酒/咖啡/食物:写程序的时候有伏特加或者威士忌最好了!喝一口四肢活络头脑清爽啊!(匿,请根据酒量和口味自行选择。。。)还有没有咖啡和食物嘴里好难受啊~
** 以及(不限于):USB Hub、无线充电设备、Eneloop电池、说得过去的耳机、螺丝工具箱、打印机甚至包括各种玩具等等所有可以让生活变得方便和美好一点的东西!
==========================
*软件:(我99%时间使用Mac和Linux,因此部分软件特指Mac和Linux下的——
**交换Ctrl和Caps Lock:第一件事,先交换Ctrl和Caps Lock。从此再也不用担心手指变成这样了!
** Github:不用多说,必备。
** Dropbox:最好直接买Pro。我经常需要(在服务器或者集群上)跑几个小时甚至几天的计算程序。使用Dropbox同步之后去远程启动计算后该干嘛干嘛,计算结果出来后就会乖乖出现在本地硬盘里了。忘了scp和rsync吧!
此外还可以一定程度上弥补Git两次commit之间的版本回溯需求。
** Zsh & oh-my-zsh:扔掉Bash吧,就冲自动补全也值了。
**字体:说实话我没太大讲究,只要是等宽字体并且可以区分O/0、I/l就可以了。
** 其他必备的软件包括Caffeine、Moom、Alfred、Dash&SublimeText。
相关推荐
- eino v0.4.5版本深度解析:接口类型处理优化与错误机制全面升级
-
近日,eino框架发布了v0.4.5版本,该版本在错误处理、类型安全、流处理机制以及代理配置注释等方面进行了多项优化与修复。本次更新共包含6个提交,涉及10个文件的修改,由2位贡献者共同完成。本文将详...
- SpringBoot异常处理_springboot异常注解
-
在SpringBoot中,异常处理是构建健壮、可维护Web应用的关键部分。良好的异常处理机制可以统一返回格式、提升用户体验、便于调试和监控。以下是SpringBoot中处理异常的完整指...
- Jenkins运维之路(Jenkins流水线改造Day02-1-容器项目)
-
这回对线上容器服务器的流水线进行了一定的改造来满足目前线上的需求,还是会将所有的自动化脚本都放置到代码库中统一管理,我感觉一章不一定写的完,所以先给标题加了个-1,话不多说开干1.本次流水线的流程设计...
- 告别宕机!零基础搭建服务器监控告警系统!小白也能学会!
-
前言本文将带你从零开始,一步步搭建一个完整的服务器指标监控与邮件告警系统,使用的技术栈均为业界主流、稳定可靠的开源工具:Prometheus:云原生时代的监控王者,擅长指标采集与告警规则定义Node_...
- httprunner实战接口测试笔记,拿走不谢
-
每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试码同学抖音号:小码哥聊软件测试01开始安装跟创建项目pipinstallhttprunne...
- 基于JMeter的性能压测平台实现_jmeter压测方案
-
这篇文章已经是两年前写的,短短两年时间,JMeter开源应用技术的发展已经是翻天覆地,最初由github开源项目zyanycall/stressTestPlatform形成的这款测试工具也开始慢...
- 12K+ Star!新一代的开源持续测试工具!
-
大家好,我是Java陈序员。在企业软件研发的持续交付流程中,测试环节往往是影响效率的关键瓶颈,用例管理混乱、接口调试复杂、团队协作不畅、与DevOps流程脱节等问题都能影响软件交付。今天,给大家...
- Spring Boot3 中分库分表之后如何合并查询
-
在当今互联网应用飞速发展的时代,数据量呈爆发式增长。对于互联网软件开发人员而言,如何高效管理和查询海量数据成为了一项关键挑战。分库分表技术应运而生,它能有效缓解单库单表数据量过大带来的性能瓶颈。而在...
- 离线在docker镜像方式部署ragflow0.17.2
-
经常项目上会出现不能连外网的情况,要怎么使用ragflow镜像部署呢,这里提供详细的步骤。1、下载基础镜像根据docker-compose-base.yml及docker-compose.yml中的i...
- 看,教你手写一个最简单的SpringBoot Starter
-
何为Starter?想必大家都使用过SpringBoot,在SpringBoot项目中,使用最多的无非就是各种各样的Starter了。那何为Starter呢?你可以理解为一个可拔插式...
- 《群星stellaris》军事基地跳出怎么办?解决方法一览
-
《群星stellaris》军事基地跳出情况有些小伙伴出现过这种情况,究竟该怎么解决呢?玩家“gmjdadk”分享的自己的解决方法,看看能不能解决。我用英文原版、德语、法语和俄语四个版本对比了一下,结果...
- 数据开发工具dbt手拉手教程-03.定义数据源模型
-
本章节介绍在dbt项目中,如何定义数据源模型。定义并引入数据源通过Extract和Load方式加载到仓库中的数据,可以使用dbt中的sources组件进行定义和描述。通过在dbt中将这些数据集(表)声...
- docker compose 常用命令手册_docker-compose init
-
以下是DockerCompose常用命令手册,按生命周期管理、服务运维、构建配置、扩缩容、调试工具分类,附带参数解析、示例和关键说明,覆盖多容器编排核心场景:一、生命周期管理(核心命令...
- RagFlow与DeepSeek R1本地知识库搭建详细步骤及代码实现
-
一、环境准备硬件要求独立显卡(建议NVIDIAGPU,8GB显存以上)内存16GB以上,推荐32GB(处理大规模文档时更高效)SSD硬盘(加速文档解析与检索)软件安装bash#必装组件Docker...
- Docker Compose 配置更新指南_docker-compose配置
-
高效管理容器配置变更的最佳实践方法重启范围保留数据卷适用场景docker-composeup-d变更的服务常规配置更新--force-recreate指定/所有服务强制重建down→up流程...
- 一周热门
-
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)