阿里开发者常用开发环境及工具推荐

阿里开发者常用开发环境及工具推荐,涵盖在线工具、软件、插件、开发环境等,提升开发效率。

原文标题:阿里同学都在用的开发环境和工具

原文作者:阿里云开发者

冷月清谈:

本文整理了阿里后端开发者常用的在线工具、软件、插件、开发环境等,涵盖了从文档协作、代码编写、调试到部署的各个环节。

**在线工具方面:** 包括了tldraw、excalidraw、draw.io等白板和画图工具,以及钉钉文档、语雀文档等协作平台。

**软件方面:** 推荐了RIME输入法、Xnip截图软件、MOS鼠标控制软件等提升效率的工具,以及Warp终端、iTerm2 + zsh、Sublime Text等终端和编辑器。也介绍了brew包管理工具及其常用命令,方便开发者快速安装和管理软件包。

**AI/GPT工具方面:** 列举了ollama、Bolt.New、DeepL、ChatGPT、Gemini、通义千问、纳米搜索、字节豆包等AI工具,并提示部分工具的使用需要遵守法律法规。

**浏览器插件方面:** 推荐了沉浸工翻译插件、SiderAI助手和JSON-Handle插件,并提到了New Bing。

**开发环境方面:** 介绍了Python、Go和Git的相关配置,以及JetBrains全家桶、VS Code、Postman等IDE和API测试工具,还有数据库工具iredis、mycli和Compass。

**其他工具方面:** 提到了OSS Browser、Wireshark、Proxyman、RayCast、Alfred等工具,以及OrbStack、Docker、Podman、Colima等容器化工具及其使用方法,最后还介绍了odpscmd。

怜星夜思:

1、文章提到了很多工具,对于新手来说,哪些是必须掌握的?
2、文章中提到的iTerm2 + zsh和Warp终端,它们各自有什么优缺点?
3、除了文章中提到的工具,大家还有哪些私藏的效率神器?

原文内容

阿里妹导读


本文主要介绍后端开发同学常用的工具以及开发环境搭建。

本文主要介绍后端开发同学常用的工具,以及开发环境搭建,以下内容有部分软件是针对 MacOS 操作系统,大部分软件各平台通用。

在线工具

白板工具:https://www.tldraw.com
在线画图:https://excalidraw.com & https://draw.io
钉钉文档:https://alidocs.dingtalk.com
语雀文档:https://www.yuque.com

IT Tools:https://it-tools.tech

输入法

程序员可定制的输入法 - RIME 输入法 https://rime.im/

可以通过 yaml 文件定制自己的诉求,上手成本稍微高一些。

一般同学推荐用Mac自带输入法 或者 搜狗之类的,除非你喜欢折腾。

截图软件

在 App Store 下载,超好用 Xnip,可以很方便地添加箭头,文本,编号,框选之类的。

https://www.xnipapp.com

免费版本的功能已经很强大了,如果喜欢也可以选择付费升级。

鼠标控制软件

MOS 一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板。使用这个软件后,普通的鼠标也可以像 Apple鼠标那样平滑滚动。当然,如果你平时不用鼠标,只用触控板,这个软件就用不上啦。

下载地址:https://github.com/Caldis/Mos

AI / GPT

阿里内部有非常多的 AI 工具,但鉴于这个是推送给外网的同学的,这里列举一些外网可用的工具。

  1. ollama 本地跑大模型:https://ollama.com

  2. Bolt.New 通过描述需求就能创建并部署web应用:https://github.com/stackblitz/bolt.new

  3. DeepL翻译工具:https://www.deepl.com

  4. OpenAI ChatGPT:https://chat.openai.com/chat

  5. Google Gemini:https://gemini.google.com/app

  6. 通义千问:https://tongyi.aliyun.com

  7. 纳米搜索:https://n.cn

  8. 字节豆包:https://www.doubao.com

提示:部分工具使用可能需要魔法,使用请遵守法律法规。

Google Chrome

插件推荐:

沉浸工翻译插件:https://immersivetranslate.com

SiderAI 助手:https://sider.ai/apps/lp-chatgpt

JSON-Handle:方便展示和查看接口 json 响应

Microsoft Edge

使用魔法后,访问 New Bing

https://www.bing.com/search?q=Bing+AI&cc=us&mkt=us&showconv=1

Mac Brew

Mac 上的软件安装包管理工具,类似于 centos 的 yum 或者 ubuntu 上的 apt 工具。

官网地址:https://brew.sh

可以通过下面的命令快速安装:

export HOMEBREW_API_DOMAIN="https://mirrors.aliyun.com/homebrew-bottles/api"
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/homebrew-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.aliyun.com/homebrew/homebrew-bottles"

/bin/bash -c “$(curl -fsSL https://mirrors.ustc.edu.cn/misc/brew-install.sh)”

使用国内镜像,如阿里云镜像(重要,要不特别慢,放到 .zshrc 或 .bashrc 中)

# brew
export PATH="/opt/homebrew/bin:$PATH"
export HOMEBREW_NO_ENV_HINTS=true
export HOMEBREW_NO_AUTO_UPDATE="true"
export HOMEBREW_INSTALL_FROM_API=1
export HOMEBREW_API_DOMAIN="https://mirrors.aliyun.com/homebrew-bottles/api"
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.aliyun.com/homebrew/homebrew-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.aliyun.com/homebrew/homebrew-bottles"

安装一些常用软件特别方便(不是MacOS跳过)

brew install git wget tree [email protected] python redis golangci-lint httpie protobuf

ln -s /opt/homebrew/opt/[email protected] /opt/homebrew/opt/mysql-client

mysql 环境变量配置见后面的 zsh 部分

安装一些常用软件
brew install --cask raycast visual-studio-code google-chrome postman

brew 常用命令(尤其是橙色和加粗的,建议熟练掌握)

brew update 更新 Homebrew
brew search package 搜索软件包
brew install package 安装软件包
brew uninstall package 卸载软件包
brew upgrade 升级所有软件包
brew upgrade package 升级指定软件包
brew list 列出已安装的软件包列表
brew services command package 管理 brew 安装软件包
brew services list 列出 brew 管理运行的服务
brew info package 查看软件包信息
brew deps package 列出软件包的依赖关系
brew help 查看帮助
brew cleanup 清除过时软件包
brew link package 创建软件包符号链接
brew unlink package 取消软件包符号链接

brew doctor 检查系统是否存在问题

iTerm2 + zsh

iterm2 更好用的终端,支持分屏(cmd + D 或 cmd + shift + D)

brew install iterm2
或者下载地址:https://iterm2.com

oh-my-zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
.zshrc 配置备份
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
DISABLE_AUTO_UPDATE=true
ZSH_THEME="gentoo"
DISABLE_MAGIC_FUNCTIONS="true"
plugins=(git z)
source $ZSH/oh-my-zsh.sh

odpscmd

export PATH=“$PATH:/opt/odpscmd/bin”

go env

export GOPATH=“$HOME/go”
export PATH=“$HOME/go/bin:$PATH”
export GOPROXY=“http://goproxy.alibaba-inc.com

brew

export PATH=“/opt/homebrew/bin:$PATH”
export HOMEBREW_NO_ENV_HINTS=true
export HOMEBREW_NO_AUTO_UPDATE=“true”
export HOMEBREW_INSTALL_FROM_API=1
export HOMEBREW_API_DOMAIN=“homebrew-bottles-api安装包下载_开源镜像站-阿里云
export HOMEBREW_BREW_GIT_REMOTE=“homebrew-brew.git安装包下载_开源镜像站-阿里云
export HOMEBREW_CORE_GIT_REMOTE=“homebrew-homebrew-core.git安装包下载_开源镜像站-阿里云
export HOMEBREW_BOTTLE_DOMAIN=“Error

java

export JAVA_HOME=“/Library/Java/JavaVirtualMachines/openjdk-21/Contents/Home”
export PATH=“$JAVA_HOME/bin:$PATH”
export CLASS_PATH=“$JAVA_HOME/lib”

python

export PATH=“$HOME/.pyenv/bin:$PATH”

mysql

export PATH=“/opt/homebrew/opt/mysql-client/bin:$PATH”
export LDFLAGS=“-L/opt/homebrew/opt/mysql-client/lib”
export CPPFLAGS=“-I/opt/homebrew/opt/mysql-client/include”
export PKG_CONFIG_PATH=“/opt/homebrew/opt/mysql-client/lib/pkgconfig”

zsh git 插件(推荐!建议背下来)

实现了非常多的简写,平时用起来比较方便,比如 :

简写

原命令

gst

git status

gp

git push

gl

git pull

gco

git checkout

grb

git rebase


详见:
  • https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/git/git.plugin.zsh
  • https://kapeli.com/cheat_sheets/Oh-My-Zsh_Git.docset/Contents/Resources/Documents/index


Warp: 21 世纪的终端

AI时代的终端,自带AI能力 https://www.warp.dev/

Python 环境

平时写一些简单脚本什么的,很方便,这里用的是 Python 3.12(3.13 太新,有的包还不支持)。

brew install [email protected]

创建一个虚拟环境,方便安装包

python3.12 -m venv ~/.pyenv
source ~/.pyenv/bin/activate

建议放到 ~/.zshrc 或 ~/.bashrc 中,省得每次 source

export PATH=“$HOME/.pyenv/bin:$PATH”

安装 ipython,简化成命令 py 方便日常使用

pip3 install ipython
ln -s ~/.pyenv/bin/ipython3 ~/.pyenv/bin/py

也可以根据需要,可以使用 [email protected] - [email protected] 之间的任意一个,修改上面的版本号即可。

使用阿里云 pip 镜像

mkdir -p ~/.pip/

~/.pip/pip.conf

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com


Go开发环境


配置GOPROXY

go env -w GOPROXY="https://goproxy.cn,https://proxy.golang.com.cn,direct"


配置私有库GOPRIVATE
go env -w GOPRIVATE="*.alibaba-inc.com"
注意修改成自己公司的代码平台域名。

Git相关配置

会生成到 ~/.gitconfig 文件中
git config --global url."[email protected]:".insteadOf "https://gitlab.alibaba-inc.com/"
git config --global url."[email protected]:".insteadOf "https://gitlab.com/"
git config --global url."[email protected]:".insteadOf "https://github.com/"
git config --global url."[email protected]:".insteadOf "https://bitbucket.org/"
如果有私有的仓库,也可以像上面的 gitlab.alibaba-inc.com 地址一样,自己执行一下。


配置SSH KEY

如果之前配置过 SSH KEY,可以跳过,注意不要配置有密码的 key ,会比较麻烦。这里用 github 平台作为演示,一般代码管理平台类似,都有增加 SSH Key 功能。

配置好后,你执行下面的命令不需要输入密码(注意使用 SSH 进行测试

git clone [email protected]:apache/rocketmq-client-go.git
注意,将上面的仓库地址换成你自己的仓库地址,进行测试。

如果你克隆的时候,需要输入密码,请按上面的地址,重新生成一个不需要密码的密钥。


golangci-lint

brew install golangci-lint

https://golangci-lint.run/welcome/install/#local-installation


goimports

go install golang.org/x/tools/cmd/goimports@latest

JetBrains / VsCode 等IDE

根据自己喜好下载对应的 IDE

Goland/PyCharm/Idea:https://www.jetbrains.com/pycharm/download/

Visual Studio Code:https://code.visualstudio.com/

Postman

自动计算签名,调试接口等。

brew install postman

自动计算部分参数(比如签名参数等),代码示例:

var CryptoJS = require('crypto-js');

function gen_sign(sign_obj){
   var channel = pm.environment.get(“channel”);
   var key = pm.environment.get(“key”);
   var raw_info = channel;
   for (var x in sign_obj){
       raw_info = raw_info + sign_obj;
   }
   var sign = CryptoJS.MD5(raw_info+key).toString().toUpperCase();
   return sign;
}
var ts = 1692904788;
pm.variables.set(“ts”, ts);
pm.variables.set(“uid”, uid);

var sign_obj = {ts: ts, uid: uid};
var sign = gen_sign(sign_obj);
pm.variables.set(“sign”, sign);

另外,也可以试试,根据自己的喜好选择:
  1. RapidAPI:Mac API 测试工具 https://paw.cloud/

  2. httpie:https://httpie.io/download

OSS Browser

下载 1.17.0 以上的版本,或者命令安装。

brew install oss-browser

WireShark网络抓包

https://www.wireshark.org

学习各种中间件原理,本地调试,查询网络问题必备。

另外,也可以试试 Proxyman 抓包工具:https://proxyman.io/

RayCast/Alfred

推荐免费的 RayCast:https://www.raycast.com

brew install --cask raycast
快速检索,应用卸载,窗口管理,剪切板全部都有了。

剪切板历史,比如我设置的快捷键 cmd + v + option/alt 快速调出历史复制的内容,还可以搜索。

窗口管理,我设置的是 Ctrl + Alt + 上下左右,分别将屏幕分成一半。

OrbStack / Docker / Podman / Colima

Docker 工具,快速环境搭建,不担心把mac电脑上安装的乱七八槽。

本地调试 mysql 各种版本,redis,使用 linux 环境(推荐 alpine)等。

MacOS 可以使用 OrbStack,更轻量级,比 Docker Desktop 更好用。

有一些同学喜欢 colima,根据自己的喜好选择即可。

brew install orbstack
配置内部的 mirror 加快镜像拉取速度。
{
 "registry-mirrors" : [
   "http://yum.tbsite.net/mirrors/"
 ],
 "insecure-registries" : [
   "yum.tbsite.net"
 ]
}

另外,OrbStack 还支持 Machines 可以当成虚拟机来使用,很方便。

下面是 Docker 一些使用示例:

# mysql 8.0
docker run -p 3306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8

redis 7.x

docker run -p 6379:6379 --name redis7 -d redis:7

再比如本地测试 nacos

docker run --name nacos -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:latest

Docker入门资料:

https://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

Sublime Text

轻量级的文本编辑器,可以看成是 notepad 的替代品。

可以搞个软链接,放到了 /usr/local/bin/ ,这样在命令行上,直接使用 subl 就可以了。

ln -sf /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
https://www.sublimetext.com/docs/command_line.html#mac

操作后在终端上,使用 subl project-name 或 subl file-name,就打开目录或文件了。

odpscmd

https://help.aliyun.com/document_detail/27971.html

内网 http://odps.alibaba-inc.com/official_downloads/odpscmd/

安全要求:需要下载 0.46 以上版本,可以用上面的链接下载最新的。

集团内部使用,配置参考(注意 end_point 和默认的不一样!):

project_name=amap_aos_gaea
access_id=x
access_key=x
end_point=http://service-corp.odps.aliyun-inc.com/api

数据库工具


Redis

除了 redis-cli 本地推荐 iredis https://github.com/laixintao/iredis

https://iredis.xbin.io

brew install iredis

MySQL

除了 mysql 命令行,本地推荐 mycli。

brew install mycli

https://www.mycli.net/

Mongo Client Compass

https://github.com/mongodb-js/compass/releases

如果使用的是 MongoDB 3.4.6 Community ,客户端可以使用 v1.25.0 版本。

https://github.com/mongodb-js/compass/releases/tag/v1.25.0

MacOS Rosetta

(可选,不需要的话不安装)

ARM 电脑支持原来 Intel 软件,安装 rosetta:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license
如果你有什么好用的软件工具,也欢迎分享啊 👏~


一键训练大模型及部署GPU共享推理服务


通过创建ACK集群Pro版,使用云原生AI套件提交模型微调训练任务与部署GPU共享推理服务。    


点击阅读原文查看详情。

我两个都用过,iTerm2 + zsh胜在高度可定制化,Warp胜在开箱即用和AI功能。如果你喜欢折腾,推荐iTerm2 + zsh;如果你追求简单易用,推荐Warp。

iTerm2 + zsh的优点在于高度可定制化,可以根据自己的需求配置各种插件和主题,功能非常强大。但是配置起来比较复杂,需要一定的学习成本。Warp终端的优点是开箱即用,自带AI功能,界面也很美观,但是可定制性不如iTerm2 + zsh。

对于新手来说,我觉得brew、git、一个顺手的IDE(VS Code或者JetBrains系列)以及Postman这几个是必须的。brew可以方便地管理软件包,git是版本控制的基石,IDE是写代码的地方,Postman可以用来调试接口。

我觉得iTerm2 + oh-my-zsh在自定义方面更强大一些,各种插件和主题非常丰富,用起来很灵活。Warp自带AI功能,界面也更现代化,但是对于喜欢折腾的同学来说,可能还是iTerm2更合适一些。

如果你是后端开发新手,我推荐你优先学习git、VS Code、Postman和brew。git是版本控制工具,VS Code是代码编辑器,Postman用于接口测试,brew则可以方便你在Mac上安装各种软件。

个人认为,新手入门最重要的是一个好的IDE(比如VS Code,配置好插件之后效率起飞),git(版本控制,协同开发必备),以及Postman(接口调试少不了它)。其他的工具可以按需学习。

我比较喜欢用uTools,它是一个插件化的工具,可以根据自己的需求安装各种插件,功能非常丰富,而且开源免费。

对于文本编辑,我推荐Sublime Text,轻量级,启动速度快,用来做一些简单的编辑非常方便。

我强烈推荐Raycast,它集成了很多功能,比如快速启动应用、搜索文件、剪切板历史等等,效率提升非常明显,我已经抛弃了Alfred。