当前位置: 首页 > 办公技巧 > 正文

实用办公编程技巧培训(自学编程,这些团队协作技能和工具让你更好找工作)

  • 叁碗诸角 叁碗诸角
  • 办公技巧
  • 2023-08-24 13:32:27
  • 0

敲黑板

这篇文章是《 自学软件开发少走弯路的学路线和推荐书籍,满满干货 》的连载文章,介绍了小白进入公司后,进行团队协作需要的必备技能,还有进阶技能。

后面会陆续为大家分享自学软件开发的其他技术路线,让大家少走弯路。自学的小伙伴们点个关注,不要迷路。

若能在入职前,通过自学学透了这部分的内容,那么你能很快融入到团队协作开发里,也给团队同事有个好印象。

如果你是零基础想自学软件开发,那么可以先看这篇文章《自学软件开发少走弯路的学路线和推荐书籍,满满干货 》。这篇文章主要是介绍了自学软件开发的一些学习路线、建议和书籍资料等。



在阅读过程中,有疑问就在评论区留言,我必定一 一解答




团队协作的技术路线和技能树

这部分的技能树,大家在自学的时候基本上都会忽略。因为自学是单打独斗的过程,体会不到团队协作的感觉。

没有这些技能和相关知识,要融入到一个团队里面从事开发工作会很难受。搞不好还会让其它队友嫌弃你,甚至丢掉工作。

那么问题来了,团队协作的技能树点满后,你将拥有什么样的能力?

1:能快速融入任何一个开发团队的能力。
2:能有管理代码库的能力。
3:能参与到很多有趣的开源项目的能力。
4:能实现远程办公开发的能力。
5:能熟练使用常用办公软件的能力(别嫌弃,这个很重要)。
6:能自动化软件开发过程的能力(这属于比较高阶)
7:能一台电脑多用的能力

我们现在就来看看,这条技术路线长什么样子?



1 版本控制技能树

1.1 基础知识和概念

1.2 SVN,GIT版本控制

1.4 围绕版本管理的工作成

2 虚拟化技术技能树

2.1 基础知识和概念

2.2 Vmware,Vbox,虚拟机的使用

2.3 Dockerd的使用

3 任务协同软件使用技能树

3.1 office 全家桶

3.2 目前流行的任务协同管理软件

4 DevOps (终极技能)

4.1 DevOps的概念

4.2 DevOps自动化的意义

4.3 学习DevOps的前提

4.4 相关学习资料



现在就来认识一下这套技能树的细节。




版本控制技能,让代码进化

你必须知道的基础知识和概念

很多小白第一次接触到这个概念,肯定会觉得高深莫测。其实版本控制就是解决这三个方向的问题。

1:多人参与到同一个项目时代码的管理:

一些大项目会有上百人的工程师在同时写代码,如何协调这些工程师的代码不会相互覆盖?不会冲突?不会混乱?

2:“记录”代码的开发过程,并且让程序员能随时“穿越”到过去,看到过去写的代码:

我们经常修改程序时,会发现新修改的代码没有原来写的好。这时不用重写一遍原来写过的代码。直接通过版本控制系统“回到”过去就可以了。实际工作中这样的情况很多,特别是在修复BUG的时候。

3:让代码能像生物基因一样进化,演化,分类:

这其实是版本管理的精髓。在成熟的软件开发团队里面,他们会把一个代码库分支出很多副本,分别有不同的团队在打磨它们,最后在选择一个最好的副本合并到主代码库里面。像极了基因的进化。

版本管理实际实践中,用到的神器SVN,GIT

版本管理软件很多,目前常用的是SVN和GIT。它们在使用体验上是差不多的,差别在对代码管理的理念、团队协作的方式、和底层逻辑实现上。

SVN是集中式管理,适合一些管理过程比较严谨,和私密的项目。GIT属于分布式的管理方式,适合那些管理比较自由的项目,它们各有各的好处。目前在开源领域几乎都是在用GIT来做版本控制。这几年GIT发展很快,感觉要代替SVN了。

掌握这些版本管理软件,可以学习下面的资料。

关于SVN的学习(建议会用就行)

技能操作:

https://www.runoob.com/svn/svn-tutorial.html

SVN使用起来很简单,按照上面的操作就可以了。

关于GIT的学习(必须要去深入学习)

书籍:《Git权威指南》

为什么没有安排SVN的学习书籍?第一是因为SVN简单,第二是这本书里也介绍了SVN的一些知识。其实只要把这本书认真读了,版本控制基本上就玩得非常666了。

线上资料:

http://iissnan.com/progit/

中文语言,全面的介绍了Git 的概念、用法、还有工作流程。我建议还是买书看,比线上资料讲的生动有趣。

团队协作中,必须要知道的版本工作流

版本控制工作流程会有很多,不同团队在流程细节上也会不一样,常见的版本控制流程有。

1:代码库的创建与克隆
2:代码的提交与审核
3:代码的分支与合并
4:代码的Release(发布)

工作流程在GIT的学习资料里有详细的介绍,我们对版本工作流程的认识,与版本控制软件的操作一样重要。




虚拟化技术技能树,一台电脑当N台用

基础知识和概念

虚拟化技术也是一个听上去玄乎,但实际使用并没有那么难系列。简单理解,就是在你电脑里安装的操作系统下面,再安装一个或多个操作系统,然后同时使用它们。

这是很重要的技能,我们平常在做开发的时候,基本上都通过虚拟化技术在同一台电脑上安装不同的操作系统,并且同时使用他们。这样方便开发人员跨平台调试系统,也方便测试工程师跨平台测试系统。

在工作中,我们会用到的虚拟化技术有两种,一种就是虚拟机,一种是容器。

虚拟机:

就是在你的电脑上虚拟一些硬件出来,然后在这些虚拟硬件上安装其他操作系统。常用的虚拟机有Vmware 和 VBOX。

容器(Dockerd):

在虚拟机这个概念上发展而来,是谷歌的一个开源项目。它主要用于虚拟服务器环境,被大量使用在云服务器上面。

按触摸屏的手

Vmware,Vbox,虚拟机的使用(必备)

Vmware与Vbox是非常像的软件,在用Vbox的时候可能会感觉就是Vmware换了一个壳。它们最大的区别在于。Vmware是收费的,Vbox是免费开源的。

线上文档:

如果只是要做到刚刚会用,那么可以看一下这篇文章就足够了

https://www.linuxidc.com/Linux/2020-03/162547.htm

上面是一篇使用Vmware安装Linux操作系统的例子跟着步骤一步一步来就可以。Vbox也可以效仿这个教程。会使用Vmware,Vbox安装操作系统,在日常工作中就够用了。

但是:

如果你想要有更高的工资,发展空间,那么下面的学习资料会帮助到你。

书籍:《玩转虚拟机——基于VMware Windows》

这里没有推荐VBOX的书是因为,VBOX和VMware真的很像!

线上资料:

https://www.vmware.com/cn/support/support-resources/pubs.html

Dockerd的使用(进阶)

Dockerd随着云服务的崛起变的流行起来。但Dockerd的使用就没有Vmware,和Vbox那么直观了。因为它没有图形界面。需要编写脚本来完成容器的安装和部署。其实只要适应了Dockerd的操作方式,也会觉得挺方便的。

书籍:

《深入浅出Docker》

线上资料:

http://www.dockerinfo.net/document 中文文档,但不是官方的

https://docs.docker.com/ 这是官方文档,英文好的可以进去看




任务协同软件使用技能树

office 全家桶(不要觉得他不重要,你会把测试平台导出的Excel测试结果进行图形化吗?)

太多的小伙伴忽略Office的技能了!我们在协同办公时,Excel应该是用的最多的。特别是现在很多可以多人同时在线编辑Excel的平台软件越来越多了。所以Excel的进精晚学不如早学。

Word和PPT也是一种交流协作的方式,比如让你写一个接口文档,或者用PPT做一个总结演示什么的,作为一个软件工程师。这个应该是可以自己亲自动手解决的。除了Excel,PPT,Word,Office还有很多使用软件,比如Project,OutLook等等。

关于Office的学习

书籍:《秋叶Office Word Excel PPT 办公应用从新手到高手》

目前流行的任务协同管理软件

在实际项目中用过的任务协同工具,我把它列举出来。这些工具已经设计的很人性化。动动手就能知道该怎么用。

1:google日历
2:滴答清单
3:TeamBition
4:码云
5:禅道
6:飞书
7:钉钉

等等

这些在线协同的任务管理软件,只要会用一个,其他的也会很快学会。具体的学习方法就是自己动手尝试一下。




DevOps 软件开发过程自动化技能树(终极技能)

DevOps的概念,和意义

我们先来了解一下DevOps这个概念,它是Development和Operations的组合词。意思就是整个软件开发的过程。这个过程包括代码的提交审阅、代码的持续集成、测试、发布部署等。

DevOps最终追求的是把这些过程自动化!这对于10人以上的团队是很重要的。如果你能去到一些有规模的软件公司工作。会有一个独立的小组或者部门,专门来维护和管理DevOps的。

如果你能把这部分技能树点满了,你可以有下面的优势。

1 去大公司的岗位,钱多多。

2 帮助现在的团队改进DevOps过程。要知道DevOps自动化的介入,可以大大降低团队开发成本(节省时间)的同时大大提高开发效率(也是节省时间)。

你细品,如果你是老板,有一个人能帮你省钱的同时还提升了生产效率,你会对这个人做什么?

学习DevOps自动化的前提

要行云流水的操作DevOps自动化,需要掌握下面这些知识。

1 linux操作系统的知识:

linux是很重要的一个操作系统,若要在软件领域发展的好,不会linux是不行的。系统的学习Linux是需要一些时间。我建议每天拿出30分钟来看下面的文档,就可以系统的把linux搞定。搞定后,你会发现在工作中linux其实会比windows甚至MAC更有效率。

在线学习:

http://linux.vbird.org/

大名鼎鼎的鸟哥linux私房菜,我个人觉得 linux的学习看这个就好了,没有之一。

2 服务器的基础知识

任何网络应用程序都离不开服务器,服务器是网络应用程序的载体。在第一,二阶段学习里面提到了网络服务器的知识,但没有给出系统的学习路径和资料。

因为我会在这里给出哈。

书籍:

《Tomcat架构解析》 能放Java网络程序的服务器 Tomcat

线上资料:

1:https://www.docs4dev.com/docs/zh/apache/2.4/reference

著名的Apache服务器文档 中文

2:http://tomcat0apache0org.icopy.site/tomcat-8.5-doc/index.html

tomcat 的官方文档 中文

这里说明一点,服务器有很多。因为一开始建议大家学JAVA。所以在这里就推荐了围绕JAVA的服务器Tomcat。

一开始学习我还是建议从看书开始,官方文档主要用来后面查询服务器配置选项用的。当然如果你英文很好,直接啃官方文档也是很好的。

DevOps相关学习资料

DevOps的学习建议分为两个部分。

第一部分

就是理论知识和概念,我觉得看这篇文章就够了。

https://zh.wikipedia.org/wiki/DevOps

第二部分

要实践和操作DevOps自动化,看下面这本书就够了

《持续集成与持续部署实践》



最后



如果这些内容在你自学软件开发路上能助你一臂之力,就给我个关注吧。

对文章点赞、评论与转发,可以让更多想自学软件开发的小伙伴能找到这系列的文章。

让我们一起成长吧。


最新文章