Coding Anywhere 分享下我是如何搬砖的

小引

我是个前后端兼顾的程序员,那平时开发工作呢,会用到很多开发工具;

开发工具比如:

  • 编写Js的vscode;
  • 编写php的phpStorm;
  • 数据库查询的naviCat;
  • 代码托管工具git;
  • 接口调试工具postMan;

开发环境:

  • 前端node环境;
  • 后端php环境;

那我今天要介绍的,就是我一个比较依赖的工具,那就是terminal终端;
我所用到所有生产工具,他占了50%,剩下的50%则是chrome浏览器微信, 飞书 还有其他编辑器

其中chrom浏览器占了49%

配置

首先呢,终端肯定不是开箱即用的,我得简单配置下终端,这样使用起来可以更顺手;这里呢,首先需要折腾下终端环境;

mac下,需要先安装下homeborw; linux则不用;

这里我简单推荐几个简单好用的终端软件;

1、tmux
这是个终端多窗口管理界面;这个是必装的软件;它可以创建多个窗口执行各种的任务,并挂起,与很多终端软件自带的多tap和分屏功能最大的区别就是:

1、这个是会后挂起;
2、方便预览每个窗口的任务;
3、远程访问的时候,我同样可以很方的管理任务窗口;

tmux

2、fish shell
这个是带有提示功能的终端shell,类似的还有zsh, 我比较喜欢使用fish;常用的shell 如bash, 提示就没那么灵活,敲tap也会跑出一堆不是我们想要的命名;fish可以有这些好处;
1、联想可能的命令;
2、会提示常输入的命令;
3、还有一点就是会根据不同的目录提示,如docker-compose 的提示,只会在工程目录下提示;

fish-shell

结合oh-mh-fish,还可以安装各种炫酷的主题;


3、autoJump

这个工具可以快速跳转到我常去的目录;比如我常去的几个目录也就这几个,laradock工程目录, 前端工程目录后端工程目录,可能还有其他项目的工程目录;但是那么多的目录,自己很容易忘记,这时候,只要输入j [工程目录名称], 我就可以快速进入;

1、这里进去的目录是曾经进去过的;
2、工程名称最好是跟目录名称差不多;
3、如果不知道工程具体名称,可以结合fish的工程使用,j 空格,然后按上键查找

autojump

4、vim + markdownPreview

vim是全宇宙最强编辑器;这个在这里不多介绍,感兴趣可看我另外一篇关于如何配置vim的简书;

而markdownPreview则是vim的一个插件,它可以起一个服务端口,用浏览器来预览md文件,这样就可以愉快的写md文件了;比如我这边文档就是这么写的

vim 写 md


那我是怎么搬砖的

终端配置好后,我们就回到主体,说说我是怎么愉快的搬砖的(工作的);

搬砖

1、说下我的开发环境

前端的开发环境是node, 后端则是php7.2~8.0, 因为开发的项目比较多,所以就会用到多版本的环境;我们可以用laradock,但是,每次切换版本,都得重新build一下,这个很麻烦

  • node的多版本管理工具nvm

    Nvm
  • php 多版本管理工具

    php多版本管理工具有很多,且都不好折腾,比如phpbrew, 我这里用的是homebrew-php; 不好折腾的一点,就是对应版本的php,相关拓展插件都得重新装一遍;

homebrew php

2、怎么运行任务
前端要运行npm, 后端要运行php artisan, 还有composer等会执行很久的命名, 那么我就可以借用tmux来多建几个tab来管理这些任务;

我一般是创建者几个tab:
1、laradock
2、编译,
3、前端,
4、后端,
5、工作区,


3、怎么敲代码的
当然是vim,这个有点复杂,不详细讨论,可以看我的另外一篇文章;

配置属于自己的vim IDE


4、怎么调试接口

有的时候,需要看下接口返回了哪些数据,可以用postman, 那我用的是TestController + jq 来提示;
TestController 并不是什么工具,只是写了个laraevl得控制器,在里面获取到数据后,直接return 出来;那我终端这边就可以直接利用curl和jq,将数据以json的形式打印出来;

Jq

Jq是可以将json数据在终端打印出来的工具,还可以获取数据的子节点; 用法很简单

curl localhost/api/test | jq


5、查询数据库呢

后端开发自然少不了数据库查询,很多人会用navicat, 那我不会,查个数据而已,不用那么麻烦;我一般是用mycli这个终端软件,或者是laradock的phpMyAdmin。

mycli 这个是带有提示的;

数据库查询

6、我怎么记笔记的

我自己有写博客的习惯,将一些笔记写成md文件,有些人可能会用有道云笔记;那我则是用vim + markdowmPreview,然后通过浏览器的预览;写好的笔记直接push到github上(当然,得把仓库库设为私有);如何想查找笔记内容,也可用find和grep等终端工具查找;

vim 写 md

比如我这边文章就是这么写的


7、我是怎么划水的

终端的魅力所在,就是他有很多令人意想不到的功能;除了我可以在这上面写代码,我还可以查看天气预报,看地图, 玩小游戏,甚至看电影《星球大战》

  • 看看天气预报;
    看天气

这个其实是去请求一个网址(http://wttr.in/福州?m3&lang=zh)返回的,然后我在终端用curl请求

  • 看看世界地图;


    地图

这个是基于node的一个小软件MapScii;这个就只能简单看看,没有搜搜功能

  • 玩玩的小游戏;
    游戏的话,可就多了,终端有各种无聊的小游戏,比如俄罗斯方块,小蜜蜂等;这个百度下有很多好玩的帖子

终端小游戏

  • 还有彩虹猫


    彩虹猫

彩虹猫nyancat这个之前YouTuBe点击量超级高的


Coding Anywhere

我的日常

好的,回到话题,Coding Anywhere, 顾名思义,就是可以随时随地的编码,上面介绍的,不管是敲代码,调试,写博客,查数据库等等,我都是在终端完成的(当然,还需要借助浏览器);

我们不可能随时带着自己的电脑, 当我们可能会需要临时修改下我们的程序,或改下bug,那么我们就可以借下别人的电脑,哪怕是手机 就可以做得到;

我是躲被窝里,悄悄的敲代码的

所以,我们只要使用一台能使用ssh的设备就可以连上服务器,就可以愉快的编码;(我就干过在参加别人的婚礼时,借别人的电脑修改bug的);

调试是需要浏览器的,移动设备或者性能很糟糕的pc,就有点麻烦了;
安卓手机可以装个termux-app,这个可以运行linux环境和大部分linux终端软件,用起来有点像Ubuntu;
ios设备则可以安装ish, 这个到不是很好用,会卡死,bug也较多。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容