跳到主要内容

欢迎来到我的小宇宙

这里是我的个人博客,主要记录关于代码、工具折腾、学习方法和一些思考。 下面是我写过的所有文章,欢迎随便逛逛。

git stash 的作用、流程与冲突处理思路

这段时间跟同事一起做开发时,总是碰到分支起冲突,我去请教 AI 时,他给了我这样的一套命令,git stash,git pull,git stash pop,这个 pull 是了解的,但是剩下两个是什么呢?为什么能这样避免冲突呢?于是我就去搜索答案,发现 git stash 可以做三件事情, 保存当前修改(tracked 文件) 清空工作区 让你可以安全切分支 然后这个git stash pop命令是把最近一次 stash 的修改恢复到当前工作区,并且从 stash 列表里删除它。 我们来看看一个完整的使用流程 ## 开发中 git status # 临时保存 git stash push -m "WIP: payment module" # 切分支 git checkout main # 修 bug git commit -am "hotfix" # 切回来 git checkout dev # 恢复修改 git stash pop 那其实有点好奇这个 stash 是存在哪里的,本质是什么? # 存在 .git 目录里 实际是一个特殊的 commit 存在一个栈结构里 但是这种方法不是建议经常使用,很容易造成忘记这回事,最开始我用的时候没有执行最后一步 git stash pop 时吓了一跳,怎么我自己的修改全部不见了。后面才知道是少执行了一步,这也确实暴露了自己的不足。
Git 版本控制 开发流程

在 uni-app 中实现 UDP 扫描局域网 IP

这两天由于事情不多,能有一点时间解决在 uniapp 中扫描局域网 IP 的功能,虽然这个后端也能做,但是这不恰好我前端也能做,也没啥其他问题。于是就开始琢磨起来。 一开始我去问 GPT,给出的回答是比较一般的,他跟我说要用 http 去轮询接口,这个不还是要后端配合,然后我说还有没有其他的。他给出的一个其他的方法,但是也是丝毫没效果的。于是我放弃了直接跟 AI 沟通就能解决的想法。 后面尝试古法搜索,直接上网页搜索,虽然也找了大半天,但是终究是找到了一个能用的解决方法,我看到有人推荐去使用 uniapp 中的插件 参考文章:xl__qd - CSDN 博客 我找到了这个udp-client 的插件,这个插件完全免费,于是我下载下来,将里面的 aar 包放到我的项目中。 这个地方需要注意,放到我们项目中之后,我们需要在 Hbuildx 中将这个包在 mainfest.json中的安卓/IOS 原生插件配置页面中引入进来,
Uniapp UDP 局域网扫描

在 uni-app 中实现稳定的中文拼音排序(兼容 App/小程序)

今天在做开发时,同事提出前端能不能直接对一些内容做排序,不需要依靠后端返回的拼音来做。我一开始还不太明白怎么做,那么就需要交给万能的 claude 大神,果不其然,给出了一个"完美"的方案,那就使用localeCompare方法,这个方法能支持实现排序,然后我又去查询了解这个方法,在 MDN 这个网站中找到了对这个 localeCompare API 的解释描述。 在仔细看完后我发现了一个问题,这个方法在webview中不一定适配,恰好我的运行环境是 app,需要在手机上运行,虽然我在电脑上运行过了是正常的,于是我打包一个 wgt 包进行更新,果然有问题,这个名称排序乱七八糟的。根本不能使用。 为什么不能直接用 localeCompare? #那是为什么不能直接用 localeCompare 呢?这是因为浏览器内置了完整的 Intl / 本地化数据,可以进行语言敏感的比较(也可直接用 Intl.Collator)。
Uniapp LocaleCompare

Nginx 中 proxy_pass 路径配置的写法详解

Nginx 中 proxy_pass 路径配置的四种写法的区别 #今天在服务器上做接口代理时,感觉完全迷糊了,我前端接口是这样的 https://example.com/kb/xxx,然后我在 nginx 中这样配置。 location /kb/ { proxy_pass http://172.16.99.20:8070/kb/; } 但是最后结果是转发错误,我以为这样配置是可以不携带/kb 的,于是进行调整,为了方便理解,我做了四个不同方法的测试。 需求场景 #我希望是这样访问:
Nginx Proxy_pass 反向代理