我的开发环境搭建

前言

闲来无事,就想给大家显摆显摆我多年来摸索出的一整套开发环境搭建流程。这里面包含了大量我使用过的开发工具,有的是不断淘汰筛选最终选定的,有的则是为了配合其他工具一同使用而选定的。这些年使用下来,感觉很顺手,开发效率也大大提升,这里希望分享出,希望能给大家一点点帮助。

我有一个藏兵谷

我有一个藏兵谷,这是我特意为了收集整理各类开发工具而建立的。工欲善其用,必先利其器。一个好的开发怎么能没有自己的兵器宝库呢?下面我来给大家介绍一下,我日常开发使用的神兵利器,相信很多大家都用过。这里的工具大致可分为桌面工具、WEB工具和命令行工具,这里为了方便大家查阅,第一层级的分类就省略了。

通用开发工具

版本管理

版本管理必备,其他类似的版本管理工具有SVN。管理工具有TortoiseGitTortoiseSVN等等。但是我个人还是比较喜欢用最简洁的Git Bash,然后搭配命令行工具,或者VS Code中的插件使用。这样可以不脱离开发环境完成整个开发流程。

代码托管平台,配合Git进行代码的版本管理。

Github被誉为全球最大同性交友平台(程序猿的老梗了)是使用最广泛的代码托管平台,知名的开源项目都会在Github上建立开源仓库,一份良好的Github平台的代码贡献记录,对面试也有一定帮助;

GitLab可以排老二,它的优势是可以自建仓库,一般公司都会用GitLab在自己的服务器上搭建代码托管平台。操作基本与Github一致,但我个人觉得它的使用体验更佳。动手能力强的可以自己搭建一个,Linux环境下操作,超级简单啦!建议配合宝塔使用。

image-20210510152501663

容器

了解容器的同学一定知道Docker,它基本就是容器的代名词了。可以说这是个革命性的产物,极大的提高了我们的开发效率,同时Docker操作也是未来开发的必备技能。作为一个开发工具,可以帮助快速测试部署代码,搭建开发环境等。比如在容器内安装MySQL、Nginx、Radis等等。再与CI/CD工具再一结合,简直完美。

image-20210510152241678

系统管理

一般我们常用CentOS作为服务器系统,它是无界面的。当然这个对于Linux用的比较溜的同学,没啥压力,反而更高效,但是对于初入门的同学,可能不大习惯。宝塔就很好的解决了这一点,可以让我们像后台管理一样管理我们的服务器。足够简单,足够低门槛,可以开节课来讲讲。

image-20210510151741131

数据库管理

用起来超级顺手,可以连接多种类型数据库并进行管理。缺点就是要付费,不过有免费社区版,这类工具我用的不多。其他版本大家可以网上搜搜,个人使用,没人会告你,你懂的。

MySQL专用管理工具,这个我没咋用过,不过看到很多Java后端开发的同事再用。

Web服务器

推荐理由可能就是足够简单、足够轻量、足够强大吧。其他的web服务器也用过很多,比如PHP常用的Apache、Java常用的Tomcat、.Net常用的IIS等等。大家都很优秀,但是对比Nginx的反向代理、高并发、高负载来说天赋不足罢了。推荐和宝塔配合使用。

前端开发工具

VS Code的大名在前端领域可谓无人不知,无人不晓。它还有个哥哥叫Visual Studio号称宇宙最强编辑器!由此你就可以知道VS Code有多强。关于它的插件和配置可以单独开一门课来讲了。不必多说,装上就完了!

  • nvm(命令行工具)

node版本管理器。建议先安装这个工具,再安装NodeJs。可以来回切换node版本,如果有需要的话。

毫不夸张的说Nodejs的出现为前端打开了一个璀璨的新世界!它既是一个工具,又是一门技术,至于是后端技术还是前端技术,就看你站的角度了。不过多讨论,咱水平有限,装!装!装!

  • npm(命令行工具)

安装Nodejs自带的包管理工具。

  • nrm(命令行工具)

node镜像源管理工具,全局安装npm install -g nrm;查看镜像源nrm ls;使用镜像源nrm use taobao;测试镜像源网速nrm test

  • yarn(命令行工具)

跟npm一样也是包管理工具。但是命令更简单点,逼格更高有么有!可独立安装,也可通过npm安装npm install -g yarn(推荐)

使用uni-app框架开发必备应用。痛点就是可以把H5直接打包成APP安装包。其他开发体验还好,该有的都有了。还有一点很重要,国产。

jetbrains公司出品,必属精品。如果没有VS Code,那必然选择WebStorm作为主力工具。它基本是VSCode免配置版本,很多插件都默认安装了,开发体验也更加友好,其实选择WS更加方便一点,只不过作为一家人WS也免不了启动慢的毛病,没办法谁让它体积大呢。不喜欢动手配置的同学推荐这款编辑器。

Windows版本下载

近年来,前端技术快速发展,小程序是其中不可忽视的新分支。即用即走的应用场景还是挺多的,毕竟大家都不想装一些使用频度很低的应用。

后端开发工具

Java开发

Java运行环境(Runtime),这里主要是注意配置好环境变量

JAVA Web开发必备集成开发环境

包管理工具

  • 其他数据库、版本管理、Web服务器、缓存工具

MySQLGitTomcat/JettyNginxNodejsRedis

以上这些工具基本上都是Java开发所必备的,但是我个人建议是只需在本地安装JDK和IDEA即可,其他都可以通过宝塔进行统一管理。

Python开发

Python运行环境,2.7版本、3.0以上的版本有很大差异,根据项目需求进行选择

Python 集成开发环境。VS其实也可以就是要配置,比较费工夫。

  • 数据库
  • 版本管理工具

Golang开发

Golang运行环境。直接下载安装即可

Golang集成开发环境。GoLand秉承家族的一贯风格,不必多说,缺点就是收费。VS Code免费的,配置一下用起来也贼溜

其他语言的开发平台

这里有PHP、NodeJs等等,除了开发工具和运行环境有所不同外,其他辅助工具差异不大。

设计开发工具

原型工具

强大的原型设计工具,高保真原型设计必备。这个软件的操作可以开一门专门的课程来讲。阿里云原型设计模板可以感受一下,什么叫高保真原型。

同样也是原型设计工具,但是功能上比Axure弱点,感觉可以做一些小型项目的Demo原型。

另一款强大的原型设计软件,颜值高,交互也做的不错。

原型托管

原型托管平台。可以进行团队协同合作。可以梳理原型页面直接的跳转逻辑,做一些说明标注之类的工作。也有版本管理的功能,可以对原型进行版本回退。

原型标注

原型图标注软件。主要是对PS和Adobe XD输出的原型设计稿进行标注。可以感受一下:

image-20210510175127535

辅助工具

浏览工具

Chrominue定制的浏览器,用起来超级顺手,是我日常开发中必开的浏览器。除了Chrome的所有功能外,还支持手势功能,双击Tabbar关闭页面等定制化功能!看到这些功能就问你爱不爱!

image-20210510162236097

微软最新的浏览器,也是用chromium改造的。个性化功能有收集、Tabbar休眠等,其他跟Chrome体验一样。

快速查看文本、图片、Office、PS、PDF、HTML等文件,只需选中文件,单击空格即可浏览!再单击空格即可关闭,超快的!可以说它把我之前的图片预览之类的工具给革命了!

接口调试工具

接口调试工具,可以模拟发起HTTP等协议的请求,进行接口调试,可以对接口进行管理,还可以写一些测试脚本。功能很强大,但是现在这类在线工具也有很多了,所以安装桌面版不是很必要。可以使用PostMan的网页版,也可以使用apizza这个工具,功能基本都是一样的。

文本工具

其实现在笔记工具有很多,比如大家熟悉的有道云笔记印象笔记OneNote等,在线的石墨文档腾讯文档金山文档等等。但是我个人认为最好用的笔记工具还没有诞生,或者说最适合程序员使用的笔记工具还没有诞生。下面这几个是我常用的几个笔记工具。

  • Typora(推荐,目前在用)

笔记工具是我换手最勤快的工具了。从Typora、notepad++、有道云笔记、印象笔记、OneNote、幕布、简书、掘金、notion、Boostnote、Obsidian、Typora。是的,又回到原点。

这其中我比较喜欢的是简书、掘金、Boostnote、Obsidian和Typora,当然他们也都有各自的缺点。现在用Typora只是单纯的不想再花里胡哨的了,回归笔记本身,重在内容输出。

简书,后台可以分类管理自己的笔记,可以有很多文档,但是现在平台跑偏了,集体去炒币,我是它被审查一个月的时候跑的。

掘金,作为一个程序员知识社区平台挺好的,但是不适合个人笔记的整理和知识体系的构建。

Boostnote,号称是专为程序员设计的笔记工具。其实也挺不错的,就是同步滚动问题真的很操蛋,强迫症不能忍!现在推出协同版本,听说很不错。算了,既然不爱了,就别拉拉扯扯了。

Obsidian,颜值挺高,同步问题也可以用坚果云解决。但是语法不通用,对于平台间的迁移很麻烦。比如我想把文章发布到掘金,就要手动改不兼容语法。。。

  • Obsidian(它很好,但我不爱了)

客观来说,这款笔记工具颜值在线,提供笔记搜索(一大痛点)、分类管理、关系图谱、链接引用、导入导出等等功能,几乎完美。我不用的原因是它的Markdown语法有些是自己自定义的,而且无法共享到其他平台。再者就是不支持富文本编辑,这对不会Markdown语法的同学来说,只能说一句:“打扰了!”。除此之外,暂无缺憾。

  • Boostnote(前女友,变漂亮了,但不想打扰了)
  • Notepad++(小巧轻便,临时编辑文件的好手)

这个我平时就是临时修改配置文件啥的用它编辑,比较好的是可以记录打开过的文件。但是它的作者是个台独!作为中国人,这个不能忍!祖国必将统一!

这款OCR工具自带识别,复制,翻译等功能,我一般用来识别一些无法复制的文字,比如安装软件的提示信息,看不懂可以识别一下,再翻译,就很完美。

这个不用说,大家都知道。干翻微软Office!

其他工具

文件管理工具

PC桌面管理工具,我个人还是喜欢一个比较整齐的桌面的,可能有点强迫症吧。可以分格子管理,可以搜索。

文件管理器工具,接管了Windows自带的文件管理器。痛点就是可以像浏览器那样管理每一个文件夹,再也不用为满屏的文件夹而苦恼了。

云同步工具。可以为其他应用赋能,组合起来简直完美!但是要注意的是它的功能是部分免费,每月10G免费流量,足够了。还有它是云同步,不是云存储。一台电脑上的坚果云文件删除,另外的电脑也会被同步删除!

天天骂它,还天天离不开它。呵,人类!大文件存储的理想场所。被诟病的就是下载速度慢,其实个人感觉还好啦!花点小钱也能接受,毕竟又不常用。

本地文件快速搜索利器,电脑配置好的可以加入到开机启动的队列。电脑文件太多可以通过这个搜搜看。自从我花了一天时间整理过我的电脑,基本这个工具就很少用了。因为日常工作接触的文件也就哪些,不过针对陈年老文件有奇效。

图片工具

贴图工具。不夸张的说,第一次见到它就被惊艳到了!太好用了!使用场景有很多,比如抄代码、分享代码、截图、标注、缩放等等,还可以屏幕取色!F1截图,F3贴图,C取舍,安排的明明白白!

截图工具。截图与贴图不同的地方就是它只能先截图,然后再进入编辑面板进行编辑。此外,它支持长截图,还可以生成Gif动图,录制视频,你敢想象这个软件只有2M嘛?

大名鼎鼎,圈里圈外都知道。复杂点的图片还是PS处理比较好。但缺点就是太大了,没必要还是不要装的好。所以后面推荐了一些在线图片编辑的网站,可以解决大部分需求。

视频工具

录屏神器。视频分享,操作录制可以试试看,收费的。

视频播放神器。支持各种格式的视频播放、看直播、推流等功能超级多,不过我只是拿来看看视频教程,有个倍速播放我就心满意足了。

压缩工具

压缩工具也是换了好多,WinRAR、7-Zip,上一个用的是360解压。360就是毒王,老是弹出广告,关都关不掉!但是最爱的一点就是,解压完自动关闭。选择Bandizip,就是因为没广告。要是能解压完自动关闭弹窗就更美了。

远程工具

远程桌面工具。上一个用的是TeamViewer,感觉跟不上时代了,也可能是老外不了解中国人的需求吧,反正不爱了。向日葵支持多开、禁用鼠标、屏幕自适应等功能,挺好!

远程神器!这个也支持Windows的远程桌面功能,同时还支持SSH连接和其他协议的连接。支持FTP文件传输,功能强大,碾压OpenSSHPuttyxshellFinalShell之流。上一个用的同类工具是FinalShell,其实也挺强的,但是跟MobaXterm一比,还是差了那么点意思。

image-20210510172411544

  • SSH(命令行工具)

在没有客户端工具的情况下,还是要掌握一些命令行工具滴,不然真的遇到这种情况不就歇菜了嘛。连接方式很简单,一句命令搞定。细节自行百度吧,这里就不展开了。

社交工具

QQ就是比微信好用。它的文件可以存好久都不失效,沟通起来也方便。总之,微信有的QQ也有,微信没有的QQ也有!

内网社交工具。学校里应该常见吧,离开学校基本没用过了,不过这款软件挺好的,顺带推荐一下。

命令行工具

很强。主要是用它来替代Windows默认的命令行工具。它除了默认命令行工具的功能外,还安装了一些Linux命令行工具,比如SSH,可以直接使用连接远程服务器。

另一款外观好看,功能强劲的命令行工具。

其他

打工人多注意身体,爱护眼睛,爱惜自己,多做做眼保健操,就几分钟的事。

工具的组合使用

开机启动工具

这些都是我日常开发使用频率极高的工具,开机启动也占用不了多少内存,但是可以大大提升开发体验和效率。

  • 坚果云
  • QQ
  • Docker
  • Terminal
  • QuickLook
  • Snipaste
  • 天若OCR
  • 护眼宝

文档笔记云同步

很多好用的笔记工具可能没有云同步功能,这样就无法让我们的笔记在不同电脑间进行同步。但是坚果云很好的解决了这一痛点,最Nice的是它的基础功能是免费的!

组合方案

  • 坚果云+Typora+七牛云对象存储服务

实现笔记云同步,图片自动上传至七牛云

  • 坚果云+XMind ZEN

实现思维导图云同步

  • 坚果云+Snipaste

实现截图云同步

注意

坚果云每月流量有限额(大约10G),超出是要收费的,所以像视频、图片这类文件最好不要使用坚果云同步。它比较适合文档笔记、思维导图这类体积比较小的文件同步。

开发托管部署工程化流程

这套组合方案是我自己探索了很久才学会的,个人感觉这套开发流程很丝滑,这就是传说中的”一条龙”式开发。整个开发流程,通过各个工具的配合,做到无缝衔接,大大提升了开发效率和开发体验,这套工具链也是未来在企业中必备的技能之一。

组合方案

  • VS Code+Git+GitLab+Docker

实现前端工程化开发和自动化集成部署

  • VS Code+Git+GitLab/Github+Jekins

实现前端工程化开发和自动化集成部署,方案二

宝塔必备专题

宝塔本身就很简单而强大了,但是作为一个平台,用宝塔来管理其他应用将会如虎添翼。这一小节就是简单讲讲安装宝塔后,还有哪些应用可以与其组合使用。

组合方案

  • BT+Nginx+MongoDB/MySQL+Redis+Docker+Nodejs管理器

搭建NodeJs项目线上部署环境

  • BT+Nginx+MongoDB/MySQL+Redis+Docker+Python管理器

搭建Python线上部署环境

  • BT+Tomcat+MySQL+Redis+Java管理器

搭建Java线上部署环境

  • BT+PHP+MySQL+Apache

搭建PHP线上部署环境,BT本身对PHP就很友好,很多内容都支持PHP,估计就是PHP开发的吧,没查过,不乱说。

  • BT+GitLab+Docker

搭建自己的代码托管平台,比进行CI/CD(自动化持续集成持续部署)

  • BT+七牛云存储插件+七牛云对象存储服务

搭建自己的在线云盘

  • 其他一键部署应用,应用商店有很多应用,大家自行探索吧

更多组合,欢迎解锁!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享