独立开发者的 Logo 制作记录
最近做了个一站式 AI 生图工具Typix,需要设计一个 Logo,作为一个完全没有设计基础的程序员,我摸索出了一套简单实用的方法,记录下来分享给同样需要的朋友。
这个方法主要用到了 AI 生成 + 网页工具处理。
假设有一个第三方库,我们引用了它并且调用了它的方法,然后我们需要拿到这个方法的返回类型作为我们一个公共函数的参数类型,例如:
1 | import { Innertube } from "youtubei.js"; |
这个时候可能就会有人说,很简单啊直接Ctrl + 点击进去方法看一下返回类型不就行了吗?,好的那我们点进getBasicInfo看下:

假设有一个结构体来表示用户信息:
1 | type User struct { |
然后有个需求是展示给用户的名称要根据用户的性别和VIP来生成,比如说:
尊贵的 + 名字 + 先生/女士名字 + 先生/女士这个时候一般会有个做法,在结构体中加一个字段:
1 | type User struct { |
然后在每次更新Name、Sex、Vip的时候调用SetDisplayName方法来更新DisplayName字段,或者在序列化的时候调用SetDisplayName方法来更新DisplayName字段,这样做是没问题的,但是非常的不利于维护,要到处硬编码调用SetDisplayName方法,非常容易遗漏,那么有没有什么优雅的方式来解决这个问题呢?答案是有的,下面来介绍一下。
最近发现了一个沉浸式翻译的神奇功能,就是在输入框输入中文的时候敲三下空格就可以自动翻译成英文,这功能真的挺方便的,效果如下图:

这直接引起了我的好奇心,要知道模拟文本输入是一个很麻烦的事情,记得之前有一次我想用油猴来做一个discord自动发消息水经验的脚本,但是卡在了模拟输入这一步,最后就放弃了。
于是就去discord试了下沉浸式翻译的这个功能,发现是可以正常运作的,这我就不得不好好研究下了。
之前把gopeed项目升级到go1.21版本后,发现gomobile编译完后,在 flutter ios 端编译会报错,如下:
1 | ld: Undefined symbols: |
然后我在go的github里找到了这个issue,但是看到这个@bcmills哥们的回复感觉太麻烦了就用了后面@dreacot老哥的解决方案,编译的时候加上-tags netgo:
1 | gomobile bind -target=ios -tags netgo |
然后就可以正常编译了,因为我自己没有ios设备,就没有测试过,按理说编译通过了应该就没问题了,然而最近 github 上好多用户都在反馈 ios 端无法正常使用,附上一个issue,看起来都是DNS解析的问题,起初以为是用户的网络问题,但是随着越来越多的用户反馈,这肯定就不是单纯的用个例问题了,于是又重新开始研究@bcmills哥们的解决方案。