作为程序员,在工作中除了需要编程写代码,还需要其他看似与编程无关的技能,这些技能略知一二,就能提高一些工作效率。下面总结一下这些小的技能。这里抛砖引玉,大家有什么其他的小技能,欢迎留言。
- 了解磁盘,内存的区别;
- 学会安装虚拟机,例如
VMware,virtualbox
; - 了解每个程序有个进程号;
- 了解版本控制系统,例如
git,svn
。它们既有命令行工具git bash
,也有图形化界面TortoiseGit
。 - 在windows下使用文本工具,他们的查找,替换,编码强于
记事本
。例如notepad
,sublime text
。 - windows系统是优秀的操作系统,除了它还有广泛使用的Linux系统。
- 在windows系统上有许多软件,在linux系统上也有同样的软件,它们的名字叫做命令行工具。
- 常用的命令行工具,例如:
ls,cat,mkdir,cd,rm,tail,vi, kill, top, df, su, sudo,ps,rz,sz
,。其中vi
是一个编辑工具,功能类似于windows上的记事本,了解在里面的粘贴,复制,删除,还是有必要的。 - linux上有定时启动工具:
crontab
- 使用一种终端模拟软件,例如
xshell,cmd
,或者 linux的terminal
。 - 了解基本的网络常识。网络中的电脑有一个ip。当别人问电脑ip的时候,通常是查看某个网卡的ip,而不是在百度里面输入ip得到的ip。
- 一个网卡对应一个ip。
- 一部电脑可以有多个网卡。
- 电脑既可以是笔记本电脑,台式机,还有可能是没有显示器的服务器。
- 了解客户端-服务端的交互模式,给定一个例子,分清楚哪个做客户端,哪个做服务端。
- 了解
json,csv
格式的数据。 chrome
是最强大的浏览器。- 在
chrome
中点击F12
,可以看到浏览器发给服务器的内容。 - url,网址,ip,端口。
- 前后端的跨域。
- 掌握基本的调试方法。不仅仅是打印大法。
- 了解日志重要性。日志是给人看的,格式规范,大小合理。
- 脚本使得许多重复的工作自动化,他们在linux上是shell例如
script.sh
,在windows 是批处理文件,例如script.bat
. - 开关防火墙。
visio
是画流程图的利器。此外还有wps,processon...
- 在linux上安装软件通常用软件包管理器,例如,
yum,apt-get
。 - 了解在linux上的不同账户有不同的权限,例如:
root
账户拥有最高权限。 - 如果不涉及安全,尽量设置简单的密码。否则你总会忘记密码。
- 测试是比开发更花时间的过程。
- 写设计文档是最令人抓毛的时刻。
- 要逐渐拥抱改变,因为客户的需求总在改变。
- 大多数遇到的问题可以通过百度、谷歌找到答案。无论编程,还是word不会插入目录。
- 使用远程软件,例如: teamviwer,向日葵。
- 使用邮箱传大文件。
- cpu占用过高的程序会被系统杀掉。或者把系统卡住。
- 基本了解协议:
ftp,ssh。
- excel中要插入公式。
- word中插入目录。
- 了解
dns
的作用。 ping
的作用。