DarkYellowCat's Blog

分享技术与思考

引言

在 GitHub 上,我们经常会遇到一个共同的问题:项目结构太复杂,源码难以理解。而 DeepWiki 正是为了解决这个痛点而诞生的一个开源导航与推荐工具。它通过算法与人工整理相结合,帮助开发者快速解析 GitHub 项目、文档和资源。

正文

简介

DeepWiki 是一个聚焦于 GitHub 的“项目百科全书”,它从开源生态中自动抓取并解析优质项目,帮助开发者探索、学习与贡献。

它不仅仅是一个项目索引网站,更像是一个面向开发者的知识图谱平台,让你能在更短时间内发现优秀的轮子和前沿技术。

主要特点包括:

  • 操作简洁
  • 清晰的界面设计与标签导航
  • 高质量项目解析功能

核心功能

  1. 智能推荐
    DeepWiki 利用算法从 GitHub 数据中挖掘高活跃度、高质量的项目,避免信息噪声,让用户更容易发现真正值得关注的仓库。

  2. 项目百科页
    每个项目页面不仅展示仓库信息,还包含简明的技术介绍、相关项目推荐以及技术栈标签,帮助你快速了解一个项目的全貌。

  3. 主题导航与技术地图
    用户可以按主题(如“AI”、“Web”、“Database”、“Security”)浏览项目,形成知识体系化的视图,便于系统学习。

  4. 趋势追踪与时间线
    DeepWiki 追踪项目的活跃度与更新时间,提供类似“今日热门”、“本周上升榜”等趋势榜单,帮助开发者掌握社区动态。

使用指南

http://github.com替换http://deepwiki.com
列如:https://github.com/spring-projects/spring-framework -> https://deepwiki.com/spring-projects/spring-framework

alt text ->

alt text

总结

DeepWiki 是一个极具潜力的开源项目导航与探索平台,对于经常逛 GitHub 的开发者而言,它能大大理解成本,帮助你快速了解技术生态、发现优秀项目。

无论你是想找灵感、学习新框架,还是参与开源贡献,DeepWiki 都是一个不可错过的工具。

🌐 官方网站:https://deepwiki.org/

💡 适合人群:开发者、开源爱好者、学习者

🧭 一句话总结:让 GitHub 的知识图谱更清晰,让探索更高效。

缘由

在大学生活中,我发现很多同学虽然渴望社交,却苦于没有合适的渠道。传统的社交平台要么信息过载,要么匹配机制粗糙。于是,我萌生了开发 weconnected 的想法——一个让用户通过自定义标签(如“摄影”“考研”“Java后端”)快速找到志同道合伙伴的轻量级社交平台。

💡 项目初衷:降低高质量社交的门槛,让“找人”变得更精准、更自然。

项目概览

  • 核心功能
    • 用户注册/登录(含密码加密)
    • 自定义兴趣标签(可增删改)
    • 基于标签的用户匹配与展示
    • 简易个人主页
  • 技术栈
    • 后端:Spring Boot 3 + MyBatis + MySQL + Redis
    • 安全:盐值 + MD5 加密(可后续升级为 BCrypt)
    • 工具:Knife4j(API文档)、Lombok、Maven
    • 前端:Vue 3 + Vite + Vue Router + Axios(借助 CLI 脚手架 + AI 辅助)

后端设计亮点

1. 标签系统设计

  • 用户标签存储在表 user中,支持一对多关系。
  • 查询“相同标签用户”时,使用 SQL 的 JOIN 实现高效匹配。
  • 为提升性能,对高频查询(如热门标签用户列表)引入 Redis 缓存,设置合理过期时间。

2. 安全实践

  • 密码采用 盐值 + MD5 加密存储(说明:MD5 已不推荐用于生产,但作为学习项目可接受;后续可替换为 Spring Security + BCrypt)。

3. API 文档与调试

  • 集成 Knife4j,自动生成美观的 Swagger UI,方便前后端联调。

前端实现简述

由于我主要专注后端开发,前端借助 Vue 3 官方脚手架(Vite) 快速搭建,并使用 AI 工具辅助编写组件逻辑(如标签选择器、用户卡片渲染)。虽然界面较为简洁,但功能完整、交互流畅。

🙏 欢迎前端高手提 PR 或建议!项目开源地址:https://github.com/darkyellowcat/weconnected

遇到的挑战与收获

  • 挑战1:如何高效实现“标签匹配”?
    → 最初用全表扫描,性能差;后改用 Redis 缓存热门标签用户 ID 列表,QPS 提升明显。

  • 收获:完整走通一个全栈项目流程,加深了对 Spring Boot、Redis 缓存策略、RESTful API 设计的理解。

下一步计划

  • 引入 WebSocket 实现实时聊天
  • 用 Spring Security 重构认证模块
  • 添加单元测试(JUnit + Mockito)
  • 优化前端 UI/UX

结语

weconnected 不仅是一个技术练手项目,更是我对“技术如何解决真实问题”的一次尝试。如果你也在做类似的项目,欢迎交流!也欢迎 Star / Fork 项目,一起让它变得更好 🌟

🚀 前言

作为一名计算机科学与技术专业的大二学生,我决定用一套完全免费的方式搭建属于自己的个人博客。
最终我选择了 Hexo + NexT + GitHub Pages 的组合,简单、美观、自动化。


🧰 一、环境准备

系统:Windows 10
需要安装:

  • Node.js(推荐 v20+)
  • Git
  • Hexo CLI

安装命令:

1
npm install -g hexo-cli

🏗️ 二、初始化博客

在安装好 Node.js 与 Git 之后,使用 Hexo CLI 初始化你的博客项目:

1
2
3
4
5
6
7
hexo init my-blog
cd my-blog
npm install
````

Hexo 会自动创建一个包含基本结构的文件夹:

my-blog/
├─ _config.yml # 主配置文件
├─ package.json # npm 依赖配置
├─ scaffolds/ # 模板文件
├─ source/ # 存放文章和页面
│ └─ _posts/ # 博文存放处
└─ themes/ # 主题目录

1
2
3
4
5

初始化完成后,可以运行以下命令预览网站:

```bash
hexo server

在浏览器中访问 http://localhost:4000
就能看到 Hexo 的默认页面啦 🎉

🎨 三、更换 NexT 主题

我选择了社区维护最好的主题 —— NexT

进入博客目录,克隆 NexT:

1
2
3
4
5
6
7
8
git clone https://github.com/next-theme/hexo-theme-next themes/next
````

修改博客根目录下的 `_config.yml`,
找到:

```yaml
theme: landscape

改为:

1
theme: next

然后运行:

1
hexo clean && hexo g && hexo s

再次打开 http://localhost:4000
你就能看到 NexT 的简洁界面了 ✨

🧭 四、配置导航栏与页面

NexT 的导航菜单配置在 themes/next/_config.yml 中,
找到:

1
2
3
4
5
6
7
8
9
10
11
12
13
menu:
home: / || fa fa-home
archives: /archives/ || fa fa-archive
````

修改为:

```yaml
menu:
home: / || fa fa-home
categories: /categories/ || fa fa-th
tags: /tags/ || fa fa-tags
about: /about/ || fa fa-user

然后创建对应页面:

1
2
3
hexo new page "categories"
hexo new page "tags"
hexo new page "about"

编辑这些文件:

source/categories/index.md

1
2
3
4
---
title: 分类
type: categories
---

source/tags/index.md

1
2
3
4
---
title: 标签
type: tags
---

source/about/index.md

1
2
3
4
---
title: 关于我
---
👋 你好,我是 DarkYellowCat,一名计算机科学与技术专业学生,热爱编程与技术分享。

重新生成:

1
hexo clean && hexo g && hexo s

刷新页面,你的导航栏就会出现“主页 / 分类 / 标签 / 关于我”四个菜单

⚙️ 五、部署到 GitHub Pages

为了实现自动部署,我使用了 GitHub Actions

1️⃣ 在 .github/workflows/ 下创建一个文件:
deploy.yml

2️⃣ 填入以下内容:

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
name: Deploy Hexo to GitHub Pages

on:
push:
branches: [ main ]

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout source
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install dependencies
run: npm install

- name: Generate static files
run: npx hexo generate

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
personal_token: ${{ secrets.DEPLOY_TOKEN }}
external_repository: darkyellowcat/darkyellowcat.github.io
publish_branch: main
publish_dir: ./public
````

3️⃣ 推送到 GitHub:

```bash
git add .
git commit -m "Add deploy workflow"
git push origin main

GitHub Actions 会自动构建并部署。
几分钟后访问:

👉 https://darkyellowcat.github.io

你就能看到网站成功上线 🚀

✅ 六、总结

至此,你已经完成了:

  • Hexo 初始化与 NexT 安装
  • 导航栏与页面配置
  • GitHub Actions 自动化部署

Hexo 的结构清晰、NexT 的样式优雅、GitHub Pages 免费托管,
这套组合非常适合学生和个人开发者!

🎉 欢迎来到我的新博客!

这是我使用 Hexo + NexT + GitHub Pages 搭建的个人网站。
这篇文章仅作为示例,用来展示 NexT 主题的排版和样式
无其他含义。


0%