Thiết Lập Máy Mac Tối Ưu Cho Developer - Phần 2

Thiết Lập Máy Mac Tối Ưu Cho Developer - Phần 2

·

5 min read

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:

  1. Mở Cursor và đăng nhập với tài khoản GitHub
  2. 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:

  1. 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