洛阳纸贵

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

干货

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

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

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

    • nodeyarn: 装完之后受限于国内的网络,设置镜像。有几个包还需要额外设置镜像仓库,比如大名鼎鼎的 node-sass,参考 这儿,设置一次 npmyarn 同时生效,设置完之后可以通过 npm config listyarn 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/clivue-cli 到 3 了,加了可视化配置,更新的好快
      • 初始化项目模板: vue create 项目名
    • react-native :
      • 安装: npm install -g react-native-cli
      • 初始化项目模板: react-native init AwesomeProject
    • android: 既然要用 react-native, 肯定要配置 androidios 的环境,可惜我没 mac
      • jdk1.8Android Studio 必须。 需手动配置环境变量 JAVA_HOMEPath
      • Android StudioSDKANDROID_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 的设置存到云盘:我常用的 vscodewebstorm (jetbrain 家 IDE 的配置可以通用)

经历

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

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

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

  3. 装双系统需要给 linux 系统压缩出一块硬盘,怕不够特意比网上的多分配了差不多一倍。 ubuntu18.04 装好了,我的台式机用的无线网卡,苦逼的发现连不上网,好不容易下了网卡驱动,又没有 gcc 的编译环境,无法 make , 好蛋疼,最后找了根网线,醉了醉了。 装了一大堆的其他环境:gitnodeyarnphpdocker 怎么也下不到最新版的,在 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 来浏览器翻墙(终端翻墙需要另外的配置)、 webStormvscode 、搜狐输入法、 wine-qqwine-钉钉 、微信、 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 这些东西起码方便。再重新装 gitnodeyarnphpphp 环境好麻烦,最后用了 phpStudy 的集成环境,再从 composer 官网下载 composer 安装包,会自动配置好环境变量。

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

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

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