洛阳纸贵

离开意味着新的开始,感叹下自己这离奇的9天

干货

  1. 程序员最好有一台自己的笔记本,这样环境只需要配一次,不用换个公司又重新配一遍环境。我没用过 Mac, 但我感觉 windows 和 linux 双系统也挺棒的

  2. 我也经历过好几家公司了,每家公司的网都不咋地。除了用本地局域网联调外,我决定其他的连手机热点,网速比这快多了。

  3. 作为一个中国程序员,每次装环境之后还需要额外设置一些东西:

    • node、yarn: 装完之后受限于国内的网络,设置镜像。有几个包还需要额外设置镜像仓库,比如大名鼎鼎的 node-sass,参考 这儿,设置一次 npm 和 yarn 同时生效,设置完之后可以通过 npm config list 和 yarn config list 查看。
    • git:基本配置查看 这儿
    • dokcer : 同样设置镜像

      • linux 中在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

        1
        2
        3
        4
        5
        {
        "registry-mirrors": [
        "https://registry.docker-cn.com"
        ]
        }

        之后重新启动服务。

        1
        2
        $ sudo systemctl daemon-reload
        $ sudo systemctl restart docke
      • Windows10 在系统右下角托盘 Docker 图标内右键菜单选择 Settings ,打开配置窗口后左侧导航菜单选择 Daemon 。在 Registry mirrors 一栏中填写加速器地址 https://registry.docker-cn.com ,之后点击 Apply 保存后 Docker 就会重启并应用配置的镜像地址了

    • vue :
      • 安装:npm install -g @vue/cli , vue-cli 到 3 了,加了可视化配置,更新的好快
      • 初始化项目模板: vue create 项目名
    • react-native :
      • 安装: npm install -g react-native-cli
      • 初始化项目模板: react-native init AwesomeProject
    • android: 既然要用 react-native, 肯定要配置 android 与 ios 的环境,可惜我没 mac
      • jdk1.8: Android Studio 必须。 需手动配置环境变量 JAVA_HOME 与 Path
      • Android Studio 、 SDK 、 ANDROID_HOME: 可以帮助我们编译 Android 原生相关,用里面的 SDK Manager安装相关 sdk,配置环境变量 ANDROID_HOME
      • 手机模拟器: windows 下如果你装了 docker 就不能用 genymotion 了,原因看后面。 选择 Visual Studio Emulator for Android
    • 自动化工具: 这只是个工具,不应该将很多精力放在这上面
      • grunt: 已经很少用了,需全局安装: npm install -g grunt-cli
      • gulp: 有些还在用,也需全局安装: npm install gulp-cli -g
      • webpack: 很流行。 可以全局安装,也可以只在项目中安装
  4. 常用 IDE 的设置存到云盘:我常用的 vscode 、 webstorm (jetbrain 家 IDE 的配置可以通用)

经历

记录经历主要是为了吐槽, 但还有一个方面非常重要。每次配环境都是匆匆的配,想起一点配一点,很糟。

  1. 拿到新的电脑,查看代码规范文档,看着同事的 mac 们羡慕不已,对有规范文档暗暗点头,是家有范的公司。

  2. 后端是 php ,关系不大。为毛我也要装 php 跟 php 框架 laravel,什么,前后端没分离…我擦。本地装完 laravel 后才发现大家都用的 docker 保持环境的一致,我记得之前学这个的时候记得 windows 下只有 win10 可以安装 docker,在建议下装 ubuntu

  3. 装双系统需要给 linux 系统压缩出一块硬盘,怕不够特意比网上的多分配了差不多一倍。 ubuntu18.04 装好了,我的台式机用的无线网卡,苦逼的发现连不上网,好不容易下了网卡驱动,又没有 gcc 的编译环境,无法 make , 好蛋疼,最后找了根网线,醉了醉了。 装了一大堆的其他环境:git 、 node 、 yarn 、php … docker 怎么也下不到最新版的,在 docker 官方仓库 https://download.docker.com/linux/ubuntu 里也找不到,怪不得安装不上最新的。然后我在 6.24 日(过了一个礼拜)的时候重新打开看了下,神奇的有了 docker-address。我很无语…

  4. 项目里的 docker ,我们的项目里配置了很多容器,需要搭配好,项目我不熟,最后是后台的同事帮助搞定了 docker 环境,自己一脸懵逼。

  5. 又是一个项目, docker 的配置还是后台同事帮忙配的,这次大概明白了点,主要修改 haproxy 配置、 nginx 配置、docker-compose.yml, 进入 nginx-php-fpm 容器安装 php 依赖—— composer install,本地项目安装前端依赖—— yarn install,因为项目用了 laravel 框架, 所以还要配 .env 文件, 用 php atisan keg:generate 生成 APP-key ,其他配置按需求。修改 host , 因为 nginx 中配的是自定义域名,自定义域名指向 127.0.0.1 ,用的是 SwitchHosts 这个工具,这个是跨平台的,比较好用。 还要给 Storage 文件夹下赋权限 777,不太懂…开始修改 bug

  6. 其他的 bug 修改完了,还有 360 浏览器的兼容性 bug 。一脸苦笑,我一个 ubuntu 哪来的 360 。好吧,装虚拟机吧,装个 win10 的虚拟机,幸好有之前使用这台电脑的哥们留着的 iso 镜像,我不用等很久很久,网速好慢。装好了,网络设为 桥接 ,可以访问宿主机调试了。在装一些方便的软件: 谷歌浏览器、 shadows-qt5 搭配谷歌插件 SwitchyOmega 来浏览器翻墙(终端翻墙需要另外的配置)、 webStorm 、 vscode 、搜狐输入法、 wine-qq 、 wine-钉钉 、微信、 gnome-tweak-tool (优化主题等,优化后的系统真好看)… vscode 这种软件配置成自己的习惯好麻烦,所以我找了以前的同事帮我备份了下我以前的配置,然后导入,再然后保存到百度云盘里, webstorm 同样处理。话说回来,整个 ubuntu 的配置能不能云备份,下次我装的时候一键解决…

  7. 360 兼容模式下使用的是 IE 内核,绝大多数的兼容性 bug 都是因为在 blade.php 文件里用了 es6 的语法。 为啥用不了呢,下面是回答的原文, 再附上 链接,我还是不太明白深层的含义

    The only reason you should have javascript in a blade template is because you’re passing variables from PHP.There’s no way that can be compiled anywhere other than at run time.

  8. 得知消息说要开始做 app 了,选用 react-native , 嗯…那我先装环境, java 环境没装完就报我 /home 卷满了,用磁盘分析工具发现那个虚拟机就占了 18G ,我整个 /home 卷才配了 20G …好吧,找篇教程开始扩容。马有失蹄啊,扩容后重启,整个系统崩了…我好崩溃,我装 ubuntu 的 U盘带回家了,不然我就重装 ubuntu了。也许是天意,接了一圈借到了 win10 的安装盘,好吧,听同事说他用的 win10, 可以装 docker ,我也不想再折腾了。那就 win10 吧,借到的这个是 家庭版 , 装不了 docker , 虽然明天是周六,看来得自己来加班了…这几天装环境装的人身心俱疲,查到的资料一大堆乱乱的充斥在脑子里,所以我做了一件好事,把 魂斗罗 手游给戒了,垃圾游戏,天天各种任务,毁我视力,浪费时间,浪费生命。

  9. 带着家里网速杠杠制作的 win10企业版 安装盘来装系统,以防万一我还带了 ubuntu18.04 的安装盘 。为毛这么热啊,空调是摆设吗,根本就调不了那个温度嘛,感觉一直在被蒸着,后面才知道周末大楼为了节约是关了中央空调的。一上午就装好了,开始装 docker。通过 bios 设置 Intel Virtual technology: enable, 这样系统就开启了 Hyper-V ,这是个 win10 自带的虚拟机, docker 需要这个才可以安装。发现还是装不了,需要升级 windows 版本, 至少要到 14393 版本。通过 运行 —— winver 查看自己的版本号,果然不够。好吧,来个在线升级吧,真的不想再装系统了。下载 易升 开始在线升级,这时刚到中午,速度好像不给力啊,如果速度稳定的话,这 100% 得到下午 4 点了。 在等待的过程中在 windows 上用 Hyper-V 装了 ubuntu 的虚拟机,再选择版本的时候想起来上次没找到 ubuntu18.04 对应的 docker 新版本,这次在 docker 仓库上重新查看,发现 17.10 有,鬼使神差的又去看了 18.04,竟然也有,这就是我之前写到为啥会重新查看的原因,使用感觉很不好…主要是反应慢一拍。被蒸了一下午,到了 5 点,终于 100% 了,竟然又来了个进度条… 这个速度稍微快点,我想今天怎么着也得弄完吧,一直到了 7 点,才到 80% ,中间我意识到可能是因为我没有全局代理翻墙,但是不敢切,怕整个连接都断了。天啊,晚上还有人约饭呢,算了,我明天再来吧…草。 值得安慰的是朋友做了一大堆好吃的,喝果啤看球赛,在他的怂恿下压了 100元 的德国,如果这把德国输了德国就小组淘汰了,很有道理。

  10. 昨天蒸了一天,早上醒来感觉自己感冒了,发现德国赢了,来公司发现升级好了,鉴于公司这么垃圾的网速,我决定跟宽带办一个绑定的无线流量卡,以后开热点,自力更生。整个人软软的,接着装好了 docker ,好像没问题,具体得,明天周一配置项目了验证下,自己对整个配置过程还不是很明白。

  11. 经过同事的帮助,项目成功跑起来了,看来我以后还是用 windows 吧, qq 这些东西起码方便。再重新装 git 、 node 、 yarn 、php … php 环境好麻烦,最后用了 phpStudy 的集成环境,再从 composer 官网下载 composer 安装包,会自动配置好环境变量。

  12. 因为要运行 react-native ,所以需要手机模拟器,之前一直用的 genymotion 启动不起来…原来是 virtual box 跟 Hyper-V 冲突了。最后安装了 Visual Studio Emulator for Android,不需要装 VS这个模拟器也是用的 Hyper-V 虚拟机。但是无法同时启动 Android模拟器 和 docker , 原因是我的内存不够…

我的折腾环境总算告一段落了,感冒让我欲仙欲死…这样的过程我再也不想来第二遍了,如果还要我重装的话,我选择自己买台电脑,以后在公司用自己的电脑。最后在上面列一下自己苦逼的经验。

堂 wechat
欢迎关注我的微信公众号,里面有各种小故事哦!
坚持原创技术分享,您的支持将鼓励我继续创作!