Table of contents
- Setup máy Mac cho developer 2024
- Cleanup Homebrew
- Cleanup system caches
Setup máy Mac cho developer 2024
Bài viết này sẽ hướng dẫn bạn cách setup một môi trường phát triển chuyên nghiệp trên macOS. Mặc dù chỉ cần một trình duyệt và text editor đơn giản để code các trang web tĩnh cơ bản, nhưng để phát triển chuyên nghiệp, chúng ta cần một môi trường đầy đủ với các build tools và terminal.
Trước khi bắt đầu
Quy trình setup
Chúng ta sẽ thực hiện theo trình tự sau để đảm bảo setup suôn sẻ:
- Cài đặt package manager và các công cụ quản lý
- Setup terminal và shell
- Cài đặt các development tools cơ bản
- Cấu hình môi trường lập trình
- Setup các công cụ bảo mật
- Cấu hình backup và sync
Best Practices
- Luôn sử dụng version manager thay vì cài đặt trực tiếp
- Lưu trữ tất cả cấu hình trong dotfiles
- Sử dụng các công cụ hiện đại thay thế cho các công cụ CLI truyền thống
- Áp dụng các biện pháp bảo mật ngay từ đầu
- Thiết lập backup strategy càng sớm càng tốt
Package Management
HomeBrew
Nếu đã quen với những apt
hay yum
bên Linux rồi thì với macOS chúng ta có brew
, giúp cài, update và xoá các software package một cách dễ dàng và nhanh chóng thông qua bộ CLI của nó.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Version Managers
Để quản lý nhiều phiên bản runtime khác nhau, bạn có thể chọn một trong các công cụ sau:
# asdf - version manager đa năng
brew install asdf
# mise - alternative của asdf, viết bằng Rust
brew install mise
# fnm - version manager cho Node.js
brew install fnm
Version Control
# Git và các công cụ bổ sung
brew install git
brew install lazygit # Terminal UI cho Git
brew install gh # GitHub CLI
Terminal Emulators
iTerm2
iTerm2 là ứng dụng terminal tốt dành cho MacO. Nếu bạn đang đọc bài viết này, rất có thể bạn muốn làm cho iTerm2 của mình trở nên tốt hơn, đẹp hơn và thú vị hơn khi làm việc. Hãy bắt đầu nào!
brew install --cask iterm2
oh-my-zsh
Oh My Zsh là một framework mã nguồn mở, được cộng đồng đóng góp để quản lý cấu hình Zsh. Để cài đặt Oh My Zsh, hãy chạy lệnh này trong iTerm2:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Ngay khi cài đặt, bạn sẽ thấy giao diện trông đẹp hơn ngay lập tức.
powerlevel10k
Powerlevel10k là một theme cho Oh My Zsh nhanh, linh hoạt và mang lại trải nghiệm tuyệt vời ngay từ khi sử dụng.
Để cài đặt theme này cho Oh My Zsh, trước tiên bạn cần clone repository:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Sau đó, đặt ZSH_THEME="powerlevel10k/powerlevel10k" trong tệp ~/.zshrc.
Và chạy lệnh source ~/.zshrc để kích hoạt cấu hình mới. Lúc này, Powerlevel10k sẽ mở trình hướng dẫn cấu hình để bạn tùy chỉnh theme. Bạn sẽ được hướng dẫn qua các cài đặt khác nhau như định dạng prompt, cài đặt file đề xuất, v.v. Hãy thoải mái chọn những gì bạn thích.
Sau khi hoàn thành thiết lập, terminal của bạn có thể trông như thế này:
Đẹp mắt, phải không nào? Tuy nhiên, màu sắc văn bản vẫn hơi nhạt (theo ý tôi), và các lệnh (ví dụ: brew) chưa được làm nổi bật. Hãy cải thiện điều này.
zsh-syntax-highlighting
zsh-syntax-highlighting là một plugin cung cấp khả năng tô sáng cú pháp cho Zsh. Nó sẽ làm nổi bật các lệnh khi bạn nhập chúng vào terminal.
Cài đặt plugin này qua Homebrew bằng lệnh:
brew install zsh-syntax-highlighting
Sau đó kích hoạt plugin bằng cách thêm dòng sau vào tệp ~/.zshrc:
echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
zsh-autosuggestions
zsh-autosuggestions gợi ý các lệnh khi bạn nhập dựa trên lịch sử và hoàn thiện lệnh.
Để cài đặt plugin này cho Oh My Zsh, trước tiên clone repository của nó vào thư mục plugins của Zsh:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Thêm plugin này vào danh sách plugins trong tệp ~/.zshrc:
plugins=(
# các plugin khác...
zsh-autosuggestions
)
Sau đó chạy lệnh source ~/.zshrc để kích hoạt cấu hình mới.
fzf
fzf — một plugin tìm kiếm mờ giúp bạn tìm file hoặc lịch sử lệnh trong terminal tốt hơn rất nhiều.
Trước tiên, cài đặt fzf qua Homebrew:
brew install fzf
Sau đó thiết lập cho Zsh bằng lệnh:
source <(fzf --zsh)
Hãy thử tìm kiếm lịch sử lệnh bằng cách nhấn Control + R, sau đó nhập một số lệnh để cảm nhận sự khác biệt với fzf.
Nerd Fonts
brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font
Modern Alternatives
Một số lựa chọn terminal hiện đại:
# Warp - Terminal với AI assistant
brew install --cask warp
# Alacritty - GPU-accelerated terminal
brew install --cask alacritty
# kitty - Alternative của Alacritty
brew install --cask kitty
Shell Setup
Zsh và Modern Shell Tools
macOS đã tích hợp sẵn Zsh. Cài đặt các công cụ bổ sung:
# Starship - Cross-shell prompt hiện đại
brew install starship
echo 'eval "$(starship init zsh)"' >> ~/.zshrc
# Modern CLI replacements
brew install bat # Thay thế cho cat
brew install exa # Thay thế cho ls
brew install fd # Thay thế cho find
brew install ripgrep # Thay thế cho grep
Plugin Management
Có hai cách tiếp cận để quản lý Zsh plugins:
Oh My Zsh (Truyền thống):
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Antigen (Modern):
brew install antigen echo 'source $(brew --prefix)/share/antigen/antigen.zsh' >> ~/.zshrc
Fonts
Cài đặt các font lập trình:
# Nerd Fonts cho các icon trong terminal
brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font
brew install --cask font-fira-code-nerd-font
Container
# Docker
brew install --cask docker
brew install docker-compose
Database Tools
brew install --cask dbeaver-community # Universal database tool
brew install --cask datagrip # Databases Tool of Jetbrain
brew install mycli # MySQL CLI với auto-completion
brew install pgcli # PostgreSQL CLI với auto-completion
Programming Languages và Runtime
# Node.js thông qua fnm
fnm install --lts
fnm default $(fnm list | grep lts | head -n1)
# Python
brew install python@3.12
# Go
brew install go
# Java
brew install --cask temurin # OpenJDK
Code Editors và IDEs
Visual Studio Code
brew install --cask visual-studio-code
Các extension được khuyến nghị:
- GitHub Copilot
- GitLens
- Docker
- Remote Development
- ESLint
- Prettier
Neovim
Cài đặt Neovim và plugin manager hiện đại:
brew install neovim
# Packer.nvim - Plugin manager
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
~/.local/share/nvim/site/pack/packer/start/packer.nvim
JetBrains IDEs
brew install --cask intellij-idea # Java
brew install --cask webstorm # JavaScript
brew install --cask goland # Go
brew install --cask datagrip # Databases
Productivity Tools
Communication
brew install --cask slack
brew install --cask discord
brew install --cask zoom
Development Tools
brew install --cask postman # API testing
brew install --cask figma # UI/UX design
brew install --cask notion # Documentation
Bảo mật và Backup
Password Management
brew install --cask 1password
Settings Backup
# Mackup để backup application settings
brew install mackup
Tạo file ~/.mackup.cfg:
[storage]
engine = icloud
Để backup và restore:
mackup backup
mackup restore
Dotfiles Management
Sử dụng GNU Stow để quản lý dotfiles:
brew install stow
# Tạo thư mục dotfiles
mkdir ~/dotfiles
cd ~/dotfiles
# Cấu trúc thư mục gợi ý
mkdir -p {git,nvim,tmux,zsh}
# Di chuyển các file config
mv ~/.gitconfig git/
mv ~/.config/nvim nvim/
mv ~/.tmux.conf tmux/
mv ~/.zshrc zsh/
# Tạo symlinks
stow git nvim tmux zsh
Performance Optimization
Hardware Optimization
- Đảm bảo SSD có ít nhất 20% dung lượng trống
- Tắt các ứng dụng không cần thiết chạy nền
- Sử dụng CleanMyMac X để dọn dẹp hệ thống định kỳ:
brew install --cask cleanmymac
Terminal Performance
- Sử dụng async prompt để tăng tốc độ load terminal
- Định kỳ clear terminal history:
echo "" > ~/.zsh_history
- Tối ưu Zsh startup time bằng cách audit các plugins
Development Environment
- Sử dụng Docker resource limits
- Cache package managers (npm, pip, etc.)
- Sử dụng local development database
Troubleshooting Guide
Common Issues và Solutions
Homebrew
# Sửa lỗi permissions
sudo chown -R $(whoami) $(brew --prefix)/*
# Reset Homebrew về trạng thái sạch
brew update-reset
# Kiểm tra và sửa lỗi hệ thống
brew doctor
Node.js/npm
# Clear npm cache
npm cache clean --force
# Reset các global packages
rm -rf node_modules
npm install
Git
# Reset git credentials
git config --global --unset credential.helper
# Clear git cache
git rm -r --cached .
Security Best Practices
SSH Configuration
Tạo và cấu hình SSH key:
# Tạo SSH key mới
ssh-keygen -t ed25519 -C "your_email@example.com"
# Start SSH agent
eval "$(ssh-agent -s)"
# Thêm SSH key vào agent
ssh-add ~/.ssh/id_ed25519
Git Security
# Cấu hình signing commits với GPG
git config --global commit.gpgsign true
# Verify commits
git config --global merge.verifySignatures true
Network Security
# Cài đặt và cấu hình firewall
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# Cài đặt Little Snitch để monitor network connections
brew install --cask little-snitch
Automation và Productivity
Automated Setup
Tạo script tự động setup:
#!/bin/bash
# install.sh
# Cài đặt Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Cài đặt các packages cơ bản
brew bundle --file=~/Brewfile
# Setup dotfiles
stow */
Keyboard Shortcuts
# Cài đặt Rectangle cho window management
brew install --cask rectangle
# Cài đặt Alfred để thay thế Spotlight
brew install --cask alfred
Task Automation
# Cài đặt task runners
brew install task
brew install just
# Workflow automation
brew install --cask keyboard-maestro
Tips và Best Practices
System Maintenance
Cập nhật hệ thống định kỳ:
# Update tất cả brew update && brew upgrade && mas upgrade
Cleanup định kỳ: ```bash
Cleanup Homebrew
brew cleanup
Cleanup system caches
sudo periodic daily weekly monthly ```
Development Workflow
- Sử dụng version managers cho mọi runtime
- Lưu trữ dotfiles trên GitHub
- Sử dụng SSH/GPG keys
- Automated testing/linting
- Containerize development environment
Documentation
- Maintain README cho projects
- Comment code adequately
- Use meaningful commit messages
- Keep documentation up-to-date
Additional Resources
Learning Resources
Useful Tools
- mas-cli - Mac App Store command line interface
- asdf - Universal runtime version manager
- mackup - Keep your application settings in sync
Community Resources
Future Updates
Hệ sinh thái phát triển trên macOS liên tục phát triển với các công cụ và practices mới. Một số xu hướng đáng chú ý:
Cloud Development Environments
- GitHub Codespaces
- Gitpod
- Cloud IDEs
AI-Powered Development Tools
- GitHub Copilot
- Warp AI
- Cursor Editor
Modern Development Practices
- Infrastructure as Code
- GitOps
- DevSecOps
Kết luận
Setup một môi trường phát triển chuyên nghiệp đòi hỏi thời gian và sự cẩn thận, nhưng sẽ giúp tăng năng suất làm việc đáng kể. Quan trọng là phải:
- Xây dựng môi trường một cách có hệ thống
- Tự động hóa càng nhiều càng tốt
- Duy trì bảo mật và backup
- Cập nhật thường xuyên
- Theo dõi các xu hướng mới
Hãy thường xuyên review và cập nhật môi trường của bạn để đảm bảo nó luôn hiệu quả và an toàn. Đừng ngần ngại thử nghiệm các công cụ mới, nhưng hãy đảm bảo chúng phù hợp với workflow của bạn trước khi tích hợp vào môi trường chính.