阿里同学都在用的开发环境和工具
csdh11 2025-01-16 19:13 26 浏览
本文主要介绍后端开发同学常用的工具,以及开发环境搭建,以下内容有部分软件是针对 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 工具,但鉴于这个是推送给外网的同学的,这里列举一些外网可用的工具。
- ollama 本地跑大模型:https://ollama.com
- Bolt.New 通过描述需求就能创建并部署web应用:https://github.com/stackblitz/bolt.new
- DeepL翻译工具:https://www.deepl.com
- OpenAI ChatGPT:https://chat.openai.com/chat
- Google Gemini:https://gemini.google.com/app
- 通义千问:https://tongyi.aliyun.com
- 纳米搜索:https://n.cn
- 字节豆包: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 mysql-client@8.4 python redis golangci-lint httpie protobuf
ln -s /opt/homebrew/opt/mysql-client@8.4 /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="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"
# 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 python@3.12
# 创建一个虚拟环境,方便安装包
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
也可以根据需要,可以使用 python@3.9 - python@3.13 之间的任意一个,修改上面的版本号即可。
使用阿里云 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."git@gitlab.alibaba-inc.com:".insteadOf "https://gitlab.alibaba-inc.com/"
git config --global url."git@gitlab.com:".insteadOf "https://gitlab.com/"
git config --global url."git@github.com:".insteadOf "https://github.com/"
git config --global url."git@bitbucket.org:".insteadOf "https://bitbucket.org/"如果有私有的仓库,也可以像上面的 gitlab.alibaba-inc.com 地址一样,自己执行一下。
配置SSH KEY
如果之前配置过 SSH KEY,可以跳过,注意不要配置有密码的 key ,会比较麻烦。这里用 github 平台作为演示,一般代码管理平台类似,都有增加 SSH Key 功能。
配置好后,你执行下面的命令不需要输入密码(注意使用 SSH 进行测试)
git clone git@github.com: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[x];
}
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);
另外,也可以试试,根据自己的喜好选择:
- RapidAPI:Mac API 测试工具 https://paw.cloud/
- 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共享推理服务。
相关推荐
- 探索Java项目中日志系统最佳实践:从入门到精通
-
探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...
- 用了这么多年的java日志框架,你真的弄懂了吗?
-
在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...
- 物理老师教你学Java语言(中篇)(物理专业学编程)
-
第四章物质的基本结构——类与对象...
- 一文搞定!Spring Boot3 定时任务操作全攻略
-
各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...
- 你还不懂java的日志系统吗 ?(java的日志类)
-
一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...
- 谈谈枚举的新用法--java(java枚举的作用与好处)
-
问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...
- 你还不懂java的日志系统吗(javaw 日志)
-
一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...
- Java 8之后的那些新特性(三):Java System Logger
-
去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...
- Java开发中的日志管理:让程序“开口说话”
-
Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...
- OS X 效率启动器 Alfred 详解与使用技巧
-
问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...
- Java中 高级的异常处理(java中异常处理的两种方式)
-
介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...
- 【性能调优】全方位教你定位慢SQL,方法介绍下!
-
1.使用数据库自带工具...
- 全面了解mysql锁机制(InnoDB)与问题排查
-
MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...
- 看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法
-
一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...
- 一周热门
- 最近发表
- 标签列表
-
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- parsevideo (33)
- 个人网站源码 (37)
- centos7.4下载 (33)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- jdk1.8.0_191下载 (33)
- axure9注册码 (33)
- pts/1 (33)
- spire.pdf 破解版 (35)
- shiro jwt (35)
- sklearn中文手册pdf (35)
- itextsharp使用手册 (33)
- 凯立德2012夏季版懒人包 (34)
- 反恐24小时电话铃声 (33)
- 冒险岛代码查询器 (34)
- 128*128png图片 (34)
- jdk1.8.0_131下载 (34)