MySQL优化:虚拟字段
前言最近我们一个二手应用的即时通讯模块马上就用不了了,因为当时对接的是腾讯的IM服务,现在组织里说不想再续费了,功能还得保留。
那就能手写聊天模块了,所有都写得差不多的时候,在聊天记录表格里却整了一出尬尴的事儿。建表时根据消息推送方式,只存储了接收者ID,发送者ID却放在消息包的json中。
但是后面很多时候的查询需要两个ID字段联合,也就是要从json的多层路径中找到发送者ID,并作为条件。于是就有了下面通过虚拟字段解决的方法了。
知识点
多层json路径标量读取
虚拟字段的创建
聊天消息的查询优化
原表结构12345678910CREATE TABLE `bqs_chat_message` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(11) DEFAULT '0' COMMENT '用户ID', `data` json DEFAULT NULL, `is_get` tinyint(1) DEFAULT '0', `delete_t ...
2024年,个人申请小游戏软著速通指南
前言2024年6月26号,我申请的小游戏软著通过了。由于等待时间太长,所以就总结了一下整个申请过程踩过的坑。帮助未了解或即将申请个人软著的同学绕过下面三点,可以节省至少三分之一的时间(小游戏类目)。
当然,这里也会围绕大家关心的几个问题展开,比如:软著申请的费用、软著申请到底要多久以及整个申请的流程。最后再给大家两份我自己的申请模板,软件源程序文档和软件说明书文档。
费用2024年申请软著不用钱,如果说一分钱不用也说不过去,因为在申请时的签章页要打印签字,所以整个过程的花费就是一张纸的打印钱。要是你找的第三方代办收取高费用,并且说要打印这打印那的就自己弄吧。因为现在关于软著的登记都是采用电子版形式了。之前既要打印源码文档和软件说明书,还要寄过去,然后才能收到纸张版软著。
时间我从申请到通过一共是三个月时间,但是在过程中有三次补正,也就是提交的信息和资料不符和要求。而每次补正再审核大概在8-15天(个人观察),错三次也就要多一个月时间,按正常填写一遍过的话应该两个月以内就能获取。
流程注册与开始申请进入“国家版权保护中心官网”,选择个人身份,填写手机邮箱等信息后注册成功后登陆。然后回到 ...
工具类uniapp源码免费开源啦!
简介一个基于uniapp开发的强大且实用的工具类APP,提供了包括图片处理、测算,信息查询和娱乐等常用的工具。如:文本加密解密、二维码生成与识别、九宫格切图、图片拼接、国旗头像、房贷和BMI计算器等,如同瑞士军刀一样方便好用~
1🕙 项目基本保持每日更新,右上随手点个 🌟 Star 关注,这样才有持续下去的动力,谢谢~
项目展示码云: https://gitee.com/gaoxingqufuhchao/bqs-toolsbox-uniapp
落地: https://www.zerofc.cn/market/
下载:https://www.zerofc.cn/market/land_pages/bqs_toolsbox/index.html
项目截图
项目说明项目灵感来源于 前端铺子 ,前台基于Vue-uniApp,使用colorUi与uview框架,部分Demo参考uniApp插件市场等,感谢各位作者~
特别声明本软件属于技术开源软件, 任何使用本源码从事商业活动,对别人和自己造成损失的,本人概不负责!
功能规划2024-08 : 增加2048小游戏、小霸王游戏 ...
零成本搭建个人图床服务器
前言图床服务器是一种用于存储和管理图片的服务器,可以给我们提供将图片上传后能外部访问浏览的服务。这样我们在写文章时插入的说明图片,就可以集中放到图床里,既方便多平台文章发布,又能统一管理和备份。
当然下面通过在GitHub上搭建的图床,不光不用成本,而且还能上传视频或音乐。操作方法和以前在GitHub上搭建静态博客类似,但是中间会多一些一些工具介绍和技巧。
流程
创建仓库
设置仓库
连接仓库
应用Typora
创建仓库创建仓库和平时的代码托管一样,添加一个public权限仓库,用默认的main分支。当然也可以提前创建一个目录,但是根目录最好有一个index.html。
设置仓库设置仓库主要是添加提交Token,和配置GitHub Pages参数。而这两小步的设置,在前面文章 “Hexo博客搭建” 有比较详细介绍,所以这里就稍微文字带过了。
Token生成登陆GitHub -> Settings -> Developer settings -> Personal access tokens -> Tokens(classic),然后点击 “Generate n ...
后端搞 Cocos 小游戏开发的三点避坑指北
前言先说一下我为什么要弄小游戏吧,首先无关工作,也无关兴趣,就只是想在副业里探索一下。没错就是做一个单机的小游戏上架到平台试一下水(薅广告费),不过说实话入局有点晚。
早在 2019 年的时候,我也折腾过白鹭引擎还弄过小 demo,当时上架平台也简单。但是不知道为什么那时不顺手发布一下,录了个视频就没再管了(还是太年轻)。现在好了白鹭引擎倒了,而我也才意识到写文章做视频并不是我的强项。
尽管现在大佬们都在 All in AI,但我还是把一个方向定在了小游戏上。选引擎二选一,挑了 Cocos Creator,之所以有下面的几个坑点,其根本原因是我没有系统性看他们的文档,所以记录一下以便后期捡起。
坑点脚本引入方式这个问题是我在 Cocos Creator 资源管理器里,创建脚本时选的 js,而代码里却用了 import 的语法导致还排查了一段时间(离大谱),但下面的花括号还是要值得注意。
12import {util} from "./util";import startPanel from "./startPanel& ...
【YOLOv5】实现扑克牌的点数识别
前言其实年初的时候,我也跟着别人的源码,用 Tensoflow 实现过扑克牌的目标检测。虽然也通过博文的方式记录了,但是那个项目使用的 TF 版本比较旧,自身对 TF 并不熟。后期如果说要升级或修改估计够呛,知道最近看到 YOLO 对目标检测的实现方法,发现这个更方便快捷。
于是决定用 YOLOv5.6 来重新实现一下扑克牌的点数识别,本文章主要是个人记录,也面向刚刚接触 YOLO 的同学阅读。所以以下会从数据标注,归一化处理到模型训练的实战内容,也包括各种踩坑经历和处理方法,最后对 detect.py 的重写,完成目标对象的坐标和识别标记输出。
YOLO 简介YOLO(You Only Look Once)是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以用于实时系统。现在 YOLO 已经发展到 v8 版本,每个版本都在原有基础上改进演化的。选择 V5 是因为后面几个新版发行并不久,v5 相关资料和文章较多,踩坑起来也好搜索。其中每个版本里又有按场景划分几个特定场景版本,比如:
12345YOLOv5s:最小版本,速度最快,但检测性能最低。YOLOv ...
如何将 Python 项目打包成 exe,另带卸载功能!
前言虽然我是做 web 的,但是对 Python 的众多开源项目一直都很关注。像之前的 stable diffusion 的 AI 绘画,和 so-vits-svc 音色替换等源码的部署文档都很完善了。尽管如此,对于刚入门的和本地环境搭建各种踩坑的同学,又急于一试就显得不太友好了。针对这一现象,网上早有了各种大佬做了一键部署的解决方案,不用安装 Python 环境,不用下载各种依赖包,点一下 exe 就可以用了。
那他们是怎么做的呢,到这里应该已经很多人会说用 pyinstaller。是的这个确实可以解决整体环境打包,但是有时候一些图标和依赖文件要放在一起才能正常使用,类似于绿色桌面工具。那有没有方法对这个进一步封装,就是点击 exe 后需要安装,然后安装后才是项目的文件,还可以卸载,答案就是用 Inno Setup Compiler。那么,接下来我就用一个 GUI 的小 demo 完成 exe 打包和进一步安装打包。
环境Python 3.8Tkinter (自带)pyinstaller 6.3.0Inno Setup Compiler
基本流程用 conda 单独创建一虚 ...
如何用 Python 实现一个 “系统声音” 的实时律动挂件
前言应该是三年前,我用 Esp8266 和 ws2812 实现了一个音乐律动灯带。就是电脑播放音乐时,灯带会随着系统内部音乐播放的频率而闪动不同色彩的灯珠。而当时用来监听系统声音的工具是一个博主提供的,除了实时采集声音外还通过 UDP 传递数据到 Esp8266 上。
而这次,我就自己用 Python 实现一下,不过不传数据,就采集后直接实时地在电脑上绘制波形动画,主要是用来作为 FL Studio 播放时的一个桌面小挂件。
环境
python3.8
pyaudio0.2.14
matplotlib
pyaudio 简介pyaudio 是一个跨平台地音频 I/O 库,使用他可以在 Python 程序中进行播放,录音和生成 wav 文件等。需要注意的是,如果要使用 pyaudio 时,python 的版本最好在 3.7 以上,不然 pip 安装会报错。因为以下例子是获取系统内部声音,而 pyaudio 读取的音频流默认是麦克风,所以接下来介绍一下关于获取的设备列表信息。
代码获取设备列表12345678# pyaudio实例audio = pyaudio.PyAudio() ...
基于 pytorch-openpose 实现 “多目标” 人体姿态估计
前言还记得上次通过 MediaPipe 估计人体姿态关键点驱动 3D 角色模型,虽然节省了动作 K 帧时间,但是网上还有一种似乎更方便的方法。MagicAnimate 就是其一,说是只要提供一张人物图片和一段动作视频 (舞蹈武术等),就可以完成图片人物转视频。
于是我就去官网体验了一下,发现动作的视频长度不能超过 5 秒,当然,如果说要整长视频可以切多段处理再合成解决。主要的还是视频需要那种背景相对较纯的,不然提交表单一直报错,还有他也不能处理画面内多人物的姿态估计。
多目标人体姿态估计为什么我要弄多目标,其实是我有次拿了一舞团的视频用 MediaPipe 检测,发现一个画面中只能采集到一个人的动作数据。虽然齐舞可能就一套动作,其他的角色模型可以复制粘贴,但是有些编舞为了好看,伴舞也会根据节奏作不同的变化。所以说对于我用来采集舞蹈数据,这个很重要了,当然他也可以用在多人互动的 AR 游戏,或用在同时培训多人的动作规范检测等等场景。
要从单一人体检测到多人体姿态估计,开始我是打算用 YOLO 对画面中的多 Person 区块读出来,然后再将这些方块遍历交给 MediaPipe 对指定区域 ...
YOLO+SlowFast+DeepSORT 简单实现视频行为识别
前言前段时间刷短视频看到过别人用摄像头自动化监控员工上班状态,比如标注员工是不是离开了工位,在位置上是不是摸鱼。虽然是段子,但是这个是可以用识别技术实现一下,于是我在网上找,知道发现了 SlowFast,那么下面就用 SlowFast 简单测试一下视频的行为识别。
工具简介YOLOYOLO 是一个基于深度学习神经网络的对象识别和定位算法,前面我也用 v5s 训练了标注的扑克牌,实现了图片或视频中的点数识别,这里就跳过了。
DeepSORTDeepSORT 是一个实现目标跟踪的算法,其使用卡尔曼滤波器预测所检测对象的运动轨迹。也就是当视频中有多个目标,算法能知道上一帧与下一帧各目标对象的匹配,从而完成平滑锁定,而不是在视频播放或记录时,检测框一闪一闪的。
SlowFastSlowFast 是一个行为分类模型 (pytorchvideo 内置),可以通过输入视频序列和检测框信息,输出每个检测框的行为类别。所以需要借助类似 YOLO 的多目标检测模型,当然 SlowFast 也可以自行标注数据集训练,来完成自定义的行为识别。
流程
读取视频或者摄像头中的图片
通过 yolo 检测出画面的目 ...