·조회수 467

博客迪博服务开发审查

开始开发博客的原因

我以前有一个基于GitHub Pages的开发博客,但我决定自己创建一个博客。这是因为通过将代码推送到GitHub来上传文章的方式很繁琐。我认为通过自己开发,可以有效改善在管理博客时遇到的不便之处。

例如,可以实现根据访问者的语言提供不同内容的功能。对于英语用户,显示英文内容;对于韩语用户,显示自动翻译为韩文的内容。以前由于翻译API的质量不理想而困难重重,但随着ChatGPT的发展,现在可以进行高质量的翻译。

此外,直接开发和运营服务也是一个重要原因。软件不会停留在成品状态,而是处于不断改进的过程中。通过自己开发,可以立即解决使用中遇到的不便,并自由添加所需的功能并进行改进。因此,我决定自己创建和运营博客。

开发时间表

从开始开发到完成总共花了2周时间。相比服务规模,能够快速完成开发的最大原因是AI的帮助。通过使用CURSOR IDE的Composer功能来指导编码方向,开发时间大大缩短。

虽然我花费了大约40美元(基本订阅费20美元+额外费用20美元)来使用CURSOR IDE API,但考虑到节省的时间,这是一个非常有价值的投资。

技术栈

由于SEO对博客服务很重要,我选择了强力支持SSR的Next.js作为前端框架。此外,我还应用了TypeScriptTailwindCSS来最大化开发生产力。

后端使用轻量级且性能出色的GoMongoDB组合构建,计划引入Redis以进一步提高效率。

CI/CD使用GitHub Actions构建Docker镜像,将其上传到个人Harbor Docker注册表,然后在家中安装的本地服务器上运行。虽然使用AWS会更方便,但成本太高,因此我清空了现有的游戏PC,安装了UbuntuProxmox上,并连接了UPS进行运行。

图像资源通过AWS CloudFrontS3进行提供。

使用的主要库

  • TipTap(开源编辑器库)
    通常的Markdown编辑器是在左侧输入Markdown,在右侧提供预览。但使用TipTap可以像Notion一样直接应用样式进行编辑,提供更直观的用户体验。

  • next-i18next(多语言支持库)
    这是一个帮助在Next.js中轻松实现多语言功能的重要库。目前项目中使用从Google表格管理的翻译数据

服务功能介绍

  • 应用样式的编辑功能

    博客服务的核心是内容,因此内容的编写和修改功能应该直观且易于使用。为了使开发人员和普通用户都能轻松使用,我使用TipTap库提供了应用样式的编辑器。此外,添加了快捷键功能,例如按E键像Confluence一样转到编辑页面,提供了更便捷的功能以改善用户体验。

  • 自动翻译水平

    如果一篇文章可以自动翻译成多种语言,作者就可以更容易地与各国人民交流。通过这种方式,提高作者的便利性是目标。每篇文章的顶部显示支持的语言列表,用户可以选择所需的语言,然后提供预先翻译的内容

  • 基于用户名设置地址

    类似YouTube,我设置了可以通过用户名称(username)访问每个博客的地址,例如<https://blog.danver.io/@0921pig>。通过这种方式,努力提供更直观且易于理解的URL结构。未来还计划支持用户自定义域名设置功能。

结语

在短短2周的时间里独自开发的项目还有许多不足之处。我计划整理发现的改进点,并持续改进

然而,随着需要管理的项目增多,我也担心会出现遗漏的部分。为了弥补这一点,我计划使用ClickUp来系统化管理项目进度。我希望在高效进行的同时,享受将博客不断发展的过程。🚀

김지식
김지식
웹, 앱 개발자입니다.

댓글

댓글을 불러오는 중...