我的开发机配置清单

前言

作为一名java后端开发者,有一些自己常用的软件、一些小配置脚本啥的,在这里记录分享一下。

具体配置

硬件部分

开发机还是选择了Mac book pro 2018乞丐版。

屏幕由于比较贫穷,选择了创维的一款能够给Mac反向充电的显示器,当时买来900多一点,27英寸的2K屏幕,感觉还可以。有条件的话还是上4K会更加清晰。

键盘原来用的是ikbc c104的键盘,但是发现和Mac冲突严重,最明显的表现在按住某个按键之后并不像别的设备那样能够一直有输出,而是慢慢悠悠地输出,这样让人比较不爽。推荐稍微有条件的话还是使用官方的妙控键盘,狗东上面600出头可以搞定,试了下手感也还可以。

鼠标没什么好说的,自己下单买了罗技的G304无线鼠标,感觉很不错。

软件部分

首先安装新软件,我基本都是使用homebrew进行管理的,真的是macOS上不可或缺的包管理程序。

编程语言部分

java

我个人是java后端程序员,首先JDK必然是需要安装的,目前主流的JDK我安装了两个版本,分别是8和11。

由于Oracle的限制,导致了brew并不能安装对应的oracle8和11的版本,只能自己手动安装,如果要卸载的话,只需要把对应的文件删掉就可以了。与此同时,我自己使用brew安装了open jdk15的版本。

image-20210211201630630

图中还有一个1.8.281.09是我的Mac升级了big sur版本之后苹果安装了,看样子是为了Safari支持applet安装的,不去管它就行。

为了能够有效进行JDK版本切换,还顺手给搞了一个便捷地切换:

1
2
3
4
5
6
export JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
export JAVA_HOME_11=/Library/Java/JavaVirtualMachines/jdk-11.0.8.jdk/Contents/Home
export JAVA_HOME_15=/Library/Java/JavaVirtualMachines/openjdk.jdk/Contents/Home
alias jdk8='export JAVA_HOME=$JAVA_HOME_8'
alias jdk11='export JAVA_HOME=$JAVA_HOME_11'
alias jdk15='export JAVA_HOME=$JAVA_HOME_15'
Python

Python作为现代程序员必不可少的一个脚本语言,当然也是必不可少的。

Mac上自带了Python2.7.16和Python3.7.3版本(Catalina以及之后的Mac自己安装的),其中的Python2.7现在已经过期了,当然并不推荐卸载(我自己就遇到了enum造成的pip的问题,解决方案见这里):

You should never modify or delete these, as they are Apple-controlled and are used by Apple- or third-party software.

所以我的开发机上也是同时安装了两个版本的Python,分别是Python2.7(默认)和Python3.7.3(默认),然后由于不少的东西需要依赖Python嘛,我就自己使用Homebrew还安装了对应的最新版的Python,所以一共是3个Python,当然平时基本只用最新的Python3.9

node

node我是使用brew进行安装并且进行版本管理的。

常用软件部分

几乎所有的软件都是用的Brew进行安装管理的,具体可以参考这个网站进行安装:

  • another-redis-desktop-manager:一款用来对Redis进行管理的程序
  • baidunetdisk:百度网盘
  • clashx:小猫咪能有什么坏心眼呢?
  • dropbox:文档同步
  • firefox:偶尔有时会需要第二个浏览器
  • foxmail:邮件管理程序
  • free-download-manager:下载工具
  • google-chrome:浏览器
  • hiddenbar:状态栏清理小工具
  • iina:最好用的播放器
  • iterm2:最好用的终端
  • itsycal:日历
  • mactex:专门为LaTeX准备
  • mos:单独翻转鼠标滚轮!
  • neteasemusic:网易云音乐
  • pdf-expert:浏览pdf必备神器
  • picgo:图床软件
  • qq:必备
  • qqlive:开京东会员送了一个,那就凑合用吧
  • qqmusic:也是因为有会员,那就凑合用吧
  • snipaste:好用的截图软件
  • telegram:电报必备
  • tencent-lemon:腾讯做的一款免费的清理软件,可以用来卸载啥的,方便
  • typora:唯一的Markdown编辑器
  • v2rayu:另一款翻墙软件
  • vlc:播放软件
  • xmind:思维导图软件
  • youdaonote:云笔记

下面的这些是由app store进行安装更新的:

  • 微信
  • text scaner:扫描文字,还行
  • Microsoft todo:微软官方出的一款todo软件,很好用

开发相关

  • IDE:我基本所有的IDE都是用的jetbrain家的,然后用的jet的toolbox进行管理升级
    • Java:idea
    • Python:pycharm
    • android:Android studio
    • C\C++:clion
    • database:datagrip
  • docker:必备
  • mysql@5.7:必备数据库
  • mycli:数据库终端
  • git:Mac自带
  • postman:后端调试api必备
  • sublime-text:小巧的编辑器
  • visual-studio-code:主力编辑器
  • dash:查找api
  • visualvm:调试对应jvm
  • wireshark:偶尔抓个包

Brewfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
tap "beeftornado/rmtree"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-versions"
tap "homebrew/core"
tap "homebrew/services"
# Cryptography and SSL/TLS Toolkit
brew "openssl@1.1"
# Play, record, convert, and stream audio and video
brew "ffmpeg"
# User-friendly cURL replacement (command-line HTTP client)
brew "httpie"
# Mac App Store command-line interface
brew "mas"
# Java-based project management
brew "maven"
# CLI for MySQL with auto-completion and syntax highlighting
brew "mycli"
# Open source relational database management system
brew "mysql-client"
# Open source relational database management system
brew "mysql@5.7", restart_service: true
# HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
brew "nginx"
# Port scanning utility for large networks
brew "nmap"
# Platform built on V8 to build network applications
brew "node@12"
# Learn vim commands via a game
brew "pacvim"
# Persistent key-value database, with built-in net interface
brew "redis"
# User interface to the TELNET protocol
brew "telnet"
# Terminal multiplexer
brew "tmux"
# Display directories as trees (with optional color/HTML output)
brew "tree"
# Internet file retriever
brew "wget"
# Download YouTube videos from the command-line
brew "youtube-dl"
# Fish shell like syntax highlighting for zsh
brew "zsh-syntax-highlighting"
brew "beeftornado/rmtree/brew-rmtree"
# Application launcher and productivity software
cask "alfred"
# Redis desktop manager
cask "another-redis-desktop-manager"
# Cloud storage service
cask "baidunetdisk"
# Rule-based custom proxy with GUI based on clash
cask "clashx"
# API documentation browser and code snippet manager
cask "dash"
# Teamwork app by Alibaba Group
cask "dingtalk"
# App to build and share containerized applications and microservices
cask "docker"
# Client for the Dropbox cloud storage service
cask "dropbox"
# Web browser
cask "firefox"
# Email client
cask "foxmail"
# Download accelerator and organizer
cask "free-download-manager"
# Web browser
cask "google-chrome"
# Utility to hide menu bar items
cask "hiddenbar"
# Free and open-source media player
cask "iina"
# Terminal emulator as alternative to Apple's Terminal app
cask "iterm2"
# Menu bar calendar
cask "itsycal"
# JetBrains tools manager
cask "jetbrains-toolbox"
cask "kite"
# Full TeX Live distribution with GUI applications
cask "mactex"
# Smooths scrolling and set mouse scroll directions independently
cask "mos"
# Music streaming platform
cask "neteasemusic"
# PDF reader, editor and annotator
cask "pdf-expert"
# Tool for uploading images
cask "picgo"
# Collaboration platform for API development
cask "postman"
# Peer to peer Bitorrent client
cask "qbittorrent"
# Instant messaging tool
cask "qq"
# Tencent video streaming and sharing platform
cask "qqlive"
# Chinese music streaming application
cask "qqmusic"
# Snip or pin screenshots
cask "snipaste"
# Video game digital distribution service
cask "steam"
# Text editor for code, markup and prose
cask "sublime-text"
# Messaging app with a focus on speed and security
cask "telegram"
cask "tencent-lemon"
# Cloud video conferencing
cask "tencent-meeting"
# Unpacks archive files
cask "the-unarchiver"
# VPN and WiFi proxy
cask "thunder"
# Time tracker
cask "toggl-track"
# Configurable document editor that supports Markdown
cask "typora"
# Collection of tools to build a dedicated basic communication network
cask "v2rayu"
# Open-source code editor
cask "visual-studio-code"
cask "visualvm"
# Multimedia player
cask "vlc"
# Network protocol analyzer
cask "wireshark"
# Mind mapping and brainstorming tool
cask "xmind"
# Multi-platform note application
cask "youdaonote"