背景

大概是4月那样子,深入了解GPTMidjourney这些AI"新事物",然后决定得躬身入局,真正去使用,去感受。使用了midjourney(后续用MJ来代替),画出来的图效果真的很惊艳,但是使用的过程其实问题还是比较多。

1、MJ需要梯子,使用在discord,使用起来就有一定的门槛要求

2、prompt指令需要学习,直接输入中文的话识别度不高,容易画出一些偏差比较大的图片

3、prompt的专业词汇没有积累,缺少“意识”和使用方式

这一系列下来导致整个体验不太好,就想着能不能做个中间层,去承接这个。去Github上找了一下,发现确实是有人已经做了MJ的非官方接口:拿token模拟discord账号发送消息,机器人监听消息,实现的方式很多,有python\js\go\java的实现。均能找到自己想要的语言。然后看到已经有这个基础了,就开始尝试写自己“工具站”

开始

雏形

程序员嘛,说干就干,直接脚手架生成代码前端项目出来了vite + react 快速开始一个新的项目,后端用什么?当然用最熟悉的最简单的Express,先跑起来再说。

咔咔咔的一顿敲代码(经常写到很晚,这里非常不建议读者这样做,身体最重要),然后就在五一前完成了一个初版,已经能跑了

image-20230516001048090

技术框架使用

  • React + antd + vite 前端工程流

  • Express + Sqlite 后端server

  • GO 开源的MJ wrapper

  • 阿里云轻量云(新加坡)

五一假期出行处理个人私事+生病,导致网站停滞,没有继续开发

image-20230516002225083

MVP版本

世界一直在变化,每天都有新事物产生,自己也陷入深深焦虑当中,怀疑自己做的事情价值和意义,女朋友和我说,做这些事情之前你就告诉了自己,没有想从这些事情上得到什么,就是为了兴趣和爱好,还能学习到技术,这就很好了,如果觉得累了,这个事情就不要做了。我听了以后,突然想通了,确实该回到初心,就是觉得这个事情自己做的时候觉得快乐,并不是想从这个事情上获得什么。我就给自己列了一个MVP版本的计划,想着把增加账号体系、完善UI支持移动端、支持Prompt的工具化降低使用难度的方向。

定了时间点5-14完成一个初步的MVP版本。

因为在假期中也接收了很多知识,也看了很多框架,最后尝试使用了Nextjs去写这个网站

技术框架变成了

  • Nextjs + Typescript
  • tailwindcss + daisyui
  • Prisma + Sqilte
  • Go

开发流畅度提升了很多,加上了ChatGPT辅助写代码,很快的将之前Express写的接口,工具函数全部转成TS的代码的方式

这周真的每天晚上下班回家就开始写代码到很晚,周末写了2天,把这个MVP版本重构出来,感觉代码写多了,速度真的快超级多

还有Typescript写代码真的挺爽的,对于接口定义,在写代码的时候,直接能帮忙检测出很多问题!写接口必须用强类型检验

这里放几个网站的实际效果

home

tool

history

想要体验MJ画画的可以私信我,我这边回复你网址。因为个人玩具系列,属于BETA版本,就大范围公开

插曲

昨晚上线代码后,就睡觉了,平安无事(因为没有人用)

早上起来有几个朋友在用,跑了几张图还OK,但是发现突然开始超级卡了,我赶紧爬起来,连我的服务器看看,发现ssh都连不进去,我看CPU也正常啊,最后卡了很久进入ssh看,发现内存爆了,我买的最便宜的轻量云只有1G内存,直接给爆了,马上去后台升级了一个档次的服务器,后面就正常起来了。

这让我想到工作开发、工作部署和个人开发部署的差异性。工作上基本不用考虑服务器的问题,还有server写的性能问题也基本不用考虑,有公司兜底。个人开发的服务,发现每一个内存和CPU都是money,必须得重视考虑。后面可能得考虑用GO去开发server,性价比绝对高。只不过JS是当前主力语言,而且能前后端统一语言,所以还在犹豫当中。

总结

以前想法很多,做事情总是有了开头,没有继续执行下去。现在的我想法还是和以前一样多,但是不同的是,现在的我想要把想法执行到底,这一次也算新的一次尝试,把整个网站从前到后到UI完全靠自己的编码能力写下来,还是很有成就感的。感觉自己写代码能力也得到了很多的提升。还有英文阅读能力,因为真的一直在翻文档,都懒得点插件翻译,直接就看原本检索信息。

躬身入局」、「坚持到底」一个事情的完整性真的会让人有成长有感悟。无论最终结果如何,这个过程就是最大的收获

这个小网站可能后续迭代更新的速度会下降了,有兴趣的同学可以点个关注➕微信沟通交流~

感谢各位的阅读!

扫码_搜索