开发环境折腾记

前言

对于工具有选择困难症以及完美主义倾向的程序员来说,总会在不同工具的选择上陷入极大的纠结,往往怀着极高的期待选择某个工具,期望这个工具能解决一揽子问题,进一步熟悉后,总会发现工具的不尽人意之处,于是又切换到别的工具。如此循环往复,耗费了大量时间精力

虽说磨刀不误砍柴功,但总不能等到磨出一把削铁如泥的宝刀再动手吧。理性的选择是先用好现成的工具,再逐步优化迭代

以上,是我这几年折腾各种开发工具总结的心得。接下来详细阐述我用过的各种开发环境

windows 阶段

初学编程时,用 windows 搭环境相当方便,毕竟有现成的开发工具套件,如 wamp, 一键安装即可愉快地编码了。没错,我是凭借世界上最好的语言 php 进入编程世界的

对于编程新手来说,windows 是一个很不错的系统,大多数开发工具都可以直接一键安装。毕竟新手只需要完成程序的 crud 即可,不需要知道多少细节

进一步了解 linux 后,无法忍受巨难用的 cmd,尝试折腾了 windows 上各种终端,试过用 git bash, powershell 等作为终端,最终都弃用了。虽然能实现不少 linux 命令,终究不能搭建 linux 上的环境

后来,win10 发布了 ubuntu, 兴冲冲地试用,也终因各种奇奇怪怪的问题而弃用了

用虚拟机,是可以拥有一个完整的 linux 系统,但虚拟机与主机的共享文件同步实在龟速。一个 laravel 项目,访问页面需要十几秒,果断弃之...

纯 linux 系统

当时见识身旁大神用 linux 的 opensuse 发行版,觉得超酷,界面炫,开发工具又完善。加上当时我是一个 vim 小迷弟,一门心思钻研 vim 的各种奇技淫巧,企图用 vim 代替所有 ide, 为 vim 安装了各种插件。

于是将电脑装成了 opensuse,结果很快就弃用了...

原因很简单:不少企业用的软件都安装不了,造成诸多不便。而且发现 vim 在我的超级复杂的配置下,已经变得很臃肿了,简直就是一个山寨版的 ide

与其费大力气将 vim 变成一个蹩脚的 ide, 为何不直接用 jetbrains 全家桶,jetbrains 的各个 ide 都能很好支持 vim

自此,就成了 jetbrains 的死忠粉,jetbrains + vim 模式,写起代码真让人停不下来

也是在此时,发现 windows 系统对于 vim 模式的支持并不友好。windows 系统的 ctrl 键是功能键,这个键在 vim 中也有特殊的作用,两者相冲突了

在此时,我想起了该换 mac 了

因为,mac 有 command 键,与 ctrl 键是分开的,而且 mac 自带的终端功能很强大,长得又漂亮

如果说真有什么明显的缺点,那就是贵...

mac 系统

不得不说,换上 mac 后,瞬间觉得高大上多了,13.3 寸的 macbookpro,方便携带,颜值爆表,简直就是集美貌与内涵于一身的性感尤物。电池的续航能力极强,长时间不关机也不会卡

入手前,觉得 mac 很贵,入手后,觉得完全物超所值

虽然 mac 是类 unix 系统,也有很多现成的开发工具。毕竟与生产环境 centos 还是有很多区别的。我就在想,能不能在本地搭建与线上完全一致的环境?

在这个理念的驱动下,接触了 vagrant, 搭建了 centos 虚拟机,用 nfs 解决了虚拟机与主机 io 同步的速度问题。本地开发环境就完全是基于 centos 了,这个阶段对于我熟悉 linux 起到了很大帮助

不足的是,毕竟隔了一层虚拟机,还是有些不便,每新增一个服务就要再设置端口映射。即使有 nfs 加速,在用前端工具,如 yarn npm 构建项目时,依然要用 mac 环境,直接用虚拟机的环境,速度会相当慢,机器发热也严重

此时,又想到 docker 这个宣称只需要一个配置,就可以实现开发、测试、生产环境完全一致的神器。对于 docker,我抱着极大的期望,多次去折腾,终究还是弃用了

必须肯定的是,docker 在 linux 系统上用起来很爽,生产环境用 docker 部署也很方便。但真不建议在开发环境中使用。

首先,文件同步慢如龟速,尝试用 nfs 解决,多次折腾后均未有成效。

其次,docker 也是一个吃内存怪兽,对于内存的占用丝毫不比虚拟机少。而且还占用了很大的磁盘空间

最后,由于本身开发环境经常需要变动,要维护一堆 docker-compose 的配置,令人很头大。

综上,最终还是回到了 mac 自带的开发工具

回归本源

折腾一圈后,还是觉得用 mac 生态最好,即使 brew 很慢,但可以换源,或者用梯子。总能找到解决方法。抛开笨重臃肿的虚拟机、docker,我的 mac 可以长舒一口气了。毕竟,她只有 8G 内存,还要开着好几个 ide,实在不忍受让她长时间脸红心跳地工作

回过头看以前的种种折腾,有时会感慨,是否走了相当多的弯路?

可生活就是这样,道理听过千万遍,不亲自去碰撞,不去感受其中的辛酸喜悦,就不会有自己的认知与选择

以上,并非说我选择的方案是最好的,每个人都有自己用得顺手的开发环境

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270