Setup máy Mac cho developer 2024 - Phần 02
Debugging và Monitoring Tools
Performance Monitoring
macOS cung cấp nhiều công cụ mạnh mẽ để debug và monitor ứng dụng. Dưới đây là một số công cụ essential:
# Instruments - Công cụ profiling của Apple
xcode-select --install # Cài đặt Command Line Tools
# Monitoring tools
brew install htop # Process viewer
brew install glances # System monitoring
brew install ctop # Container metrics
Application Debugging
# Development tools
brew install --cask pusher # Debug WebSocket connections
brew install --cask proxyman # Modern HTTP debugging proxy
brew install --cask wireshark # Network protocol analyzer
Logging và Error Tracking
# Log management
brew install lnav # Log file navigator
brew install logcli # CLI cho Grafana Loki
# Error tracking
brew install --cask sentry-cli # Sentry CLI tool
Memory và CPU Profiling
# Memory leaks detection
brew install valgrind
brew install leaks
# CPU profiling
brew install perf
brew install flamegraph
Automation Scripts
Development Environment Setup
Dưới đây là một ví dụ về script tự động cài đặt môi trường phát triển:
#!/bin/bash
# setup-dev-env.sh
# Kiểm tra và cài đặt Homebrew
if ! command -v brew &> /dev/null; then
echo "Installing Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
# Tạo Brewfile
cat > Brewfile << EOL
# Taps
tap "homebrew/cask"
tap "homebrew/cask-fonts"
tap "homebrew/core"
# Development tools
brew "git"
brew "node"
brew "python@3.12"
brew "go"
brew "docker"
# Terminal tools
brew "starship"
brew "bat"
brew "exa"
brew "ripgrep"
brew "fd"
# Applications
cask "visual-studio-code"
cask "iterm2"
cask "docker"
cask "postman"
# Fonts
cask "font-fira-code-nerd-font"
EOL
# Cài đặt packages từ Brewfile
brew bundle
# Cấu hình Git
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# Setup Node.js environment
npm install -g typescript
npm install -g eslint
npm install -g prettier
# Setup Python environment
python3 -m pip install --upgrade pip
python3 -m pip install virtualenv
python3 -m pip install jupyterlab
# Cấu hình VSCode
code --install-extension GitHub.copilot
code --install-extension eamodio.gitlens
code --install-extension ms-azuretools.vscode-docker
# Setup SSH key
ssh-keygen -t ed25519 -C "your.email@example.com" -f ~/.ssh/id_ed25519 -N ""
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
echo "Development environment setup completed!"
AI Development Tools và Applications
AI Coding Assistants và IDEs
Việc sử dụng AI trong phát triển phần mềm đã trở thành xu hướng quan trọng. Dưới đây là cách thiết lập môi trường phát triển tích hợp AI:
# Cursor - IDE tích hợp AI
brew install --cask cursor
# Fleet - IDE từ JetBrains với AI tích hợp
brew install --cask fleet
Cấu hình Cursor
Sau khi cài đặt Cursor, thực hiện các bước sau để tối ưu hóa:
- Mở Cursor và đăng nhập với tài khoản GitHub
- Cấu hình API key:
- Vào Settings > AI
- Thêm OpenAI API key
- (Tùy chọn) Cấu hình Anthropic API key cho Claude
ChatGPT và Các AI Assistant
# ChatGPT desktop app
brew install --cask chatgpt
# MacGPT - Menu bar app cho ChatGPT
brew install --cask macgpt
# Raycast - Launcher với AI tích hợp
brew install --cask raycast
Cấu hình ChatGPT Desktop
Để tối ưu hóa trải nghiệm với ChatGPT:
# Tạo file cấu hình
mkdir -p ~/.config/chatgpt
cat > ~/.config/chatgpt/config.json << EOL
{
"window": {
"alwaysOnTop": false,
"startupMinimized": true
},
"shortcuts": {
"toggleWindow": "Cmd+Shift+G"
},
"updates": {
"checkAutomatically": true,
"installAutomatically": false
}
}
EOL
AI Development Toolkit
# Python AI development
pip install torch torchvision
pip install tensorflow
pip install transformers
pip install langchain
pip install openai
# Vector databases
brew install vectordb
brew install weaviate
# Model development tools
pip install wandb # Weights & Biases
pip install mlflow # MLflow
AI Project Templates
Tạo script để khởi tạo AI project mới:
#!/bin/bash
# init-ai-project.sh
PROJECT_NAME=$1
AI_TYPE=$2 # llm, cv, or ml
if [ -z "$PROJECT_NAME" ]; then
echo "Usage: ./init-ai-project.sh <project-name> [llm|cv|ml]"
exit 1
fi
mkdir -p "$PROJECT_NAME"/{src,models,data,notebooks,tests}
cd "$PROJECT_NAME"
# Tạo virtual environment
python -m venv venv
source venv/bin/activate
# Cài đặt dependencies dựa trên loại project
case "$AI_TYPE" in
"llm")
pip install torch transformers datasets evaluate accelerate
pip install langchain openai chromadb
;;
"cv")
pip install torch torchvision opencv-python albumentations
pip install matplotlib seaborn scikit-image
;;
"ml")
pip install scikit-learn xgboost lightgbm
pip install pandas numpy matplotlib seaborn
;;
*)
echo "Installing basic AI development packages"
pip install torch numpy pandas matplotlib
;;
esac
# Tạo .gitignore
cat > .gitignore << EOL
# Python
__pycache__/
*.py[cod]
*$py.class
.Python
venv/
.env
# Data và Models
data/
*.h5
*.pth
*.onnx
*.bin
# Notebooks
.ipynb_checkpoints
# IDE
.vscode/
.idea/
*.swp
EOL
# Tạo README.md
cat > README.md << EOL
# $PROJECT_NAME
## Setup
\`\`\`bash
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
\`\`\`
## Project Structure
\`\`\`
├── data/ # Data files
├── models/ # Saved models
├── notebooks/ # Jupyter notebooks
├── src/ # Source code
└── tests/ # Unit tests
\`\`\`
EOL
# Freeze dependencies
pip freeze > requirements.txt
echo "AI project $PROJECT_NAME initialized successfully!"
AI Development Best Practices
Một số cấu hình và thực hành tốt cho phát triển AI:
- VSCode Settings cho AI Development:
{ "python.formatting.provider": "black", "python.linting.enabled": true, "python.linting.pylintEnabled": true, "jupyter.askForKernelRestart": false, "jupyter.enablePlotViewer": true }
Future Updates
# Jupyter và Data Science tools
brew install jupyter
brew install pandas
brew install scikit-learn
# MLOps tools
brew install mlflow
brew install dvc
Cloud Native Development
# Kubernetes tools
brew install kubectl
brew install helm
brew install k9s
# Cloud CLI tools
brew install aws-cli
brew install azure-cli
brew install google-cloud-sdk
WebAssembly Development
# WASM tools
brew install wasmtime
brew install emscripten
Edge Computing và IoT
# IoT development tools
brew install platformio
brew install arduino-cli
Real-time Development
# Real-time tools
brew install --cask memcached
brew install redis
brew install rabbitmq
Security và DevSecOps
# Security scanning tools
brew install trivy
brew install snyk
brew install sonarqube
Observability và Monitoring
# Monitoring stack
brew install prometheus
brew install grafana
brew install jaeger