> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pebchip.top/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Essential Developer Tools and Productivity Software

> Curated list of development tools, productivity applications, and online resources that help engineers work more efficiently every day.

The right tools eliminate friction from your daily engineering workflow. This page collects the software, online platforms, and resources used throughout this knowledge base — from database GUI clients to algorithm practice sites and diagramming tools.

<CardGroup cols={2}>
  <Card title="Development" icon="code" href="#development-tools">
    Editors, terminals, API clients, and version control GUIs.
  </Card>

  <Card title="Database Tools" icon="database" href="#database-tools">
    GUI clients for MySQL, Redis, and Elasticsearch.
  </Card>

  <Card title="Diagramming" icon="diagram-project" href="#diagramming-and-documentation">
    Tools for architecture diagrams, flowcharts, and documentation.
  </Card>

  <Card title="Learning Resources" icon="graduation-cap" href="#online-learning-resources">
    Algorithm platforms, reference sites, and courses.
  </Card>
</CardGroup>

## Development Tools

| Tool               | Purpose                 | Notes                                                   |
| ------------------ | ----------------------- | ------------------------------------------------------- |
| VS Code            | General-purpose editor  | Excellent Go, Java, and Markdown support via extensions |
| IntelliJ IDEA      | Java/Spring development | Best-in-class refactoring and Spring Boot integration   |
| GoLand             | Go development          | JetBrains IDE purpose-built for Go                      |
| iTerm2 / Warp      | Terminal (macOS)        | Split panes, search, AI autocomplete (Warp)             |
| Postman / Insomnia | API testing             | GUI clients for testing REST and gRPC endpoints         |
| TablePlus          | Database GUI            | Supports MySQL, Redis, PostgreSQL, SQLite in one app    |

### macOS Version Management

When you need to switch between versions of Go, Java, or Node.js on macOS:

```bash theme={null}
# Go version management
brew install go@1.21
export PATH="/usr/local/opt/go@1.21/bin:$PATH"

# Java version management with jenv
brew install jenv
jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
jenv global 17

# Node version management
brew install nvm
nvm install 20
nvm use 20
```

## Database Tools

<Tabs>
  <Tab title="MySQL">
    **TablePlus** — cross-platform GUI with a clean interface, supports multiple connections and SSH tunnels.

    **MySQL Workbench** — official Oracle tool with EER diagrams, query analyzer, and server management.

    ```bash theme={null}
    # Connect from CLI
    mysql -h 127.0.0.1 -P 3306 -u root -p

    # Common quick queries
    SHOW PROCESSLIST;         -- see active connections
    EXPLAIN SELECT ...;       -- query execution plan
    SHOW ENGINE INNODB STATUS\G  -- InnoDB internals
    ```
  </Tab>

  <Tab title="Redis">
    **RedisInsight** — official Redis GUI with memory analysis, slow log viewer, and CLI.

    **Another Redis Desktop Manager (ARDM)** — lightweight open-source alternative.

    ```bash theme={null}
    # Connect from CLI
    redis-cli -h 127.0.0.1 -p 6379

    # Useful commands
    INFO server           # server stats
    MONITOR               # watch all commands in real time (dev only)
    MEMORY USAGE key      # memory cost of a key
    OBJECT ENCODING key   # internal encoding used
    ```
  </Tab>

  <Tab title="Elasticsearch">
    **Kibana** — official Elasticsearch UI with Dev Tools console for running queries.

    **Elasticvue** — browser extension for quick ES cluster inspection.

    ```bash theme={null}
    # Check cluster health
    GET /_cluster/health

    # Index stats
    GET /my-index/_stats

    # Run a query from Dev Tools
    GET /my-index/_search
    {
      "query": { "match": { "title": "golang" } }
    }
    ```
  </Tab>
</Tabs>

## Diagramming and Documentation

| Tool                    | Best For                        | Access                      |
| ----------------------- | ------------------------------- | --------------------------- |
| draw\.io (diagrams.net) | Architecture and flowcharts     | Free, browser-based         |
| Excalidraw              | Hand-drawn style diagrams       | Free, browser-based         |
| ProcessOn               | Chinese-language flowchart tool | processson.com              |
| Mermaid                 | Code-based diagrams in Markdown | Built into GitHub, Obsidian |
| Obsidian                | Local Markdown knowledge base   | obsidian.md                 |

**Mermaid example** (renders in GitHub and Obsidian):

```mermaid theme={null}
graph LR
    Client --> Gateway
    Gateway --> ServiceA
    Gateway --> ServiceB
    ServiceA --> MySQL
    ServiceB --> Redis
```

## Online Learning Resources

### Algorithm & Competitive Programming

| Platform   | Focus                            | URL            |
| ---------- | -------------------------------- | -------------- |
| OI-Wiki    | Algorithm reference (Chinese)    | oi-wiki.org    |
| Codeforces | Competitive programming          | codeforces.com |
| LeetCode   | Interview-style problems         | leetcode.com   |
| AtCoder    | High-quality algorithm contests  | atcoder.jp     |
| AcWing     | Algorithm courses + OJ (Chinese) | acwing.com     |
| Luogu      | Chinese OJ with problem tags     | luogu.com.cn   |

### Backend Engineering Reference

| Resource                  | Content                                   |
| ------------------------- | ----------------------------------------- |
| Xiaolin Coding (小林coding) | Visual TCP/IP, MySQL, Redis guides        |
| topgoer.cn                | Go language tutorials                     |
| JavaGuide                 | Java interview prep and Spring reference  |
| roadmap.sh                | Visual learning paths for backend, DevOps |

<Tip>
  For algorithm practice, start with LeetCode for interview prep, then move to Codeforces for competitive programming. Use OI-Wiki as your algorithm reference — it covers everything from basic data structures to advanced graph theory.
</Tip>
