进入流程中心
2025-06-21 16:07:00
YuelaiEngine系列软件 - TodoList
「融合式协作/待办中心」,由 Gin + Element Plus 驱动。
「项目后端侧」消息队列感谢 redmq 提供思路。
「项目前端侧」侧边栏部分样式由大模型生成,与本项目设计无关!
https://todo.yuelaigroup.com:8500
仅用于测试,故没有部署至云服务器,需要IPv6。
反馈至评论区。
2023-09-16 13:06:00
最近二开了不少项目,基本都是用Docker部署,所以之前在电脑上装了Docker,不过在 Windows 上安装 Docker Desktop 后,Docker默认是把镜像保存到 C:\Users\<用户>\AppData\Local\Docker\wsl\data\ 路径的ext4.vhdx文件下,在C盘放这些无关紧要的文件属实是浪费,所以整理了一下方法,把这些文件移动到其他磁盘去。
首次启动 Docker Desktop 会提示安装 WSL,没有WSL则无法启动 Docker Engine 服务。因为目前的 docker 依附 WSL 来进行文件映射,所以通过 WSL 来修改 docker 的文件映射路径,就可以把这些文件移动到其他磁盘中。
默认情况下,Docker Desktop for Window 会创建如下两个发行版:
- docker-desktop (distro/ext4.vhdx)
- docker-desktop-data (data/ext4.vhdx)
目前WSL2已经全量发布,WSL2 下 docker-desktop-data 通常位于以下位置: C:\Users\<你当前用户名>\AppData\Local\Docker\wsl\data\ext4.vhdx,我电脑中这个文件夹高达50GB+,完全是浪费C盘空间!
在开始操作前,请先退出Docker Desktop,然后在terminal中输入wsl --list -v,确保两个服务都是停止状态:
分别输入以下命令备份WSL,后面的备份路径可以自行修改,我这里是备份到了G磁盘:
wsl --export docker-desktop G:\docker-desktop.tar
wsl --export docker-desktop-data G:\docker-desktop-data.tar
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
执行命令前,请先更改命令中的G:\docker-desktop.tar,G:\docker-desktop-data.tar为自己之前备份的路径,挂载的路径G:\docker\desktop,G:\docker\data也需要改为自己想要挂载的路径(需提前创建好对应的文件夹,不然会提示找不到目录):
wsl --import docker-desktop "G:\docker\desktop" "G:\docker-desktop.tar" --version 2
wsl --import docker-desktop-data "G:\docker\data" "G:\docker-desktop-data.tar" --version 2
输入wsl --list -v查看其输出是否和修改之前一样,正常情况下会出现两个发行版,即:docker-desktop,docker-desktop-data。
然后启动你的Docker Desktop看看是否能够正常运行。之后制作或者拉取的镜像都会存储在新的目录,而不是C盘中的默认路径。
最后再搬运一个清理docker缓存的教程~
在使用 docker build 构建镜像时,Docker 会按照 Dockerfile 中定义的步骤逐步生成 Docker 镜像。而镜像生成的过程中,每一步骤所生成的结果都会被缓存(cache)下来,以便下次镜像生成时不必再重新执行同一步骤以提高构建镜像的速度。
docker build --no-cache .
使用 docker system prune 命令来清理不再使用的资源,包括停止的容器、未被标记的镜像、未使用的网络和未使用的数据卷。
# 清理所有不再使用的资源
docker system prune
# 清理更加彻底,将未使用 Docker 镜像都删掉
docker system prune -a
Henry 23-09-16
2023-09-06 23:07:00
很早之前就想让网站的某些操作自动化,今天终于实现了,话不多说,直接介绍吧。
本站工作流系统基于Ferry二次开发,采用Gin + ElementUI(Vue)前后端分离技术,集工单统计、任务钩子、权限管理、灵活设计流程与模版等能力于一身的开源工单系统。
项目二次开发源码已发布到:Github项目仓库
graph TD;
A["注册当前平台账号"] --> B["等待账号同步<br>(等待时间小于1分钟)"];
B --> C["进入流程中心"];
C --> D["使用注册时的账号和初始密码<br>(注册时所用的邮箱)登录"];
D -->|登录成功| E["发起工单申请"];
D -->|失败/忘记密码| F["联系管理员"];
F --> C;
首先在字节星球或其它已接入的平台注册一个账号(若已注册,请直接登录),由于流程中心与主站独立且暂未使用LDAP,所以需要等待系统将账号信息同步至流程中心(该过程通常小于1分钟),然后进入流程中心首页:
初始账号信息
用户账号:同对应平台的账号/用户名目前支持的平台有字节星球和陌上花博客。下面以字节星球账号为例:
graph TD;
E["发起工单申请"] --> G["有待处理工单吗?"];
G -->|是| H["处理当前工单"];
H --> I["是否还有待处理工单?"];
I -->|是| G;
I -->|否| J["流程结束"];
G -->|否| J;
使用方式很简单,点击工单系统,进入工单申请,选择需要申请的项目,按照表单提示填写后,即可发起申请。
下图以友情链接申请为例:
发起申请后,点击工单系统,进入我的工单,实时跟踪流程进度,直到流程结束。
本系统已接入邮件提醒,所以在注册账号时请务必填写正确的邮箱,字节星球账号所绑定的邮箱会同步到工作流系统,请注意来自noreply#yuelaigroup.com的邮件。
通常一个工单流程有多个步骤,可能有需要申请人处理的流程,则需点击工单系统,进入我的待办,处理流转到自己的工单,是否有需要自己处理的工单请留意邮件提醒~
正在流转中的工单:
已完成的工单:
不通过而流程终止的工单:
友情链接与星球认证现已接入流程中心,申请表审核通过后,系统自动添加友情链接/认证信息,无需人工干预,后续会陆续将其他板块接入流程中心。
Henry 2023-09-06
2023-09-06 16:20:00
形如:${\rm{y}}' = f(x) \cdot g(y)$,有:
$$ {\rm{y}}' = f(x) \cdot g(y) \Rightarrow \frac{{dy}}{{dx}} = f(x) \cdot g(y) \Rightarrow f(x) \Rightarrow \frac{{dy}}{{g(y)}} = f(x)dx \Rightarrow \int {\frac{{dy}}{{g(y)}}} = \int {f(x)dx} $$
进一步的,可通过换元得到以上形式的,也可以对其分离变量,如:
$$ {\rm{y}}' = f(ax + by + c) \Rightarrow u{\rm{ = }}ax + by + c \Rightarrow \frac{{dy}}{{dx}} = f(u) \Rightarrow \frac{{du}}{{dx}} = a + bf(u) \Rightarrow \frac{{du}}{{a + bf(u)}} = dx \Rightarrow \int {\frac{{du}}{{a + bf(u)}}} = \int {dx} $$
形如$y'=f(\frac{y}{x})$或$\frac{1}{y'}=f(\frac{x}{y})$,按照上述方法换元转换为分离变量型,以$y'=f(\frac{y}{x})$为例,令$u=\frac{y}{x}$,有:
$$ y = ux \Rightarrow \frac{{dy}}{{dx}} = x\frac{{du}}{{dx}} + u \Rightarrow y' = \frac{{dy}}{{dx}} = f(u) = x\frac{{du}}{{dx}} + u \Rightarrow \int {\frac{1}{{f(u) - u}}du = \int {\frac{{dx}}{x}} } $$
形如:$y'+p(x)y=q(x)$,使用以下公式计算(由于是应试,推导步骤略):
$$ y = {e^{ - \int p (x)dx}}\left[ {{{\int e }^{\int p (x)dx}} \cdot q(x)dx + C} \right] $$
上式为一阶线性微分方程的通解公式,其中,式中的${\int p (x)dx}$为$p(x)$的某一个原函数。
注:上述公式中若$\int p (x)dx = \ln \left| {\varphi (y)} \right|$,该绝对值在上述公式中最后可以去掉,产生的$±$可以合并到常数$C$中得到常数$D$。
形如:$y''=f(x,y')$,即缺$y$型,令$y'=p,y''=p'$,有:
$$ y'' = \frac{{dp}}{{dx}} = f(x,y') = f(x,p) $$
由上式降阶为一阶微分方程,按一阶微分方程方法求解得到$p=y'=\varphi(x,C_1)$,则可求得原微分方程通解:
$$ y=\int \varphi(x,C_1)dx+C_2 $$
形如:$y''=f(y,y')$,即缺$x$型,令$y'=p,y''=p'=\frac{dp}{dx}=\frac{dp}{dy} \cdot \frac{dy}{dx}=\frac{dp}{dy} \cdot p$,有:
$$ y''=\frac{dp}{dy} \cdot p=f(y,p) $$
由上式降阶为一阶微分方程,按一阶微分方程方法求解得到$p=y'=\varphi(y,C_1)$,分离变量后积分即可求得原微分方程的通解:
$$ \frac{{dy}}{{\varphi (y,{C_1})}} = dx \Rightarrow \int {\frac{{dy}}{{\varphi (y,{C_1})}}} = \int {dx} = x + {C_2} $$
对于形式为:$y''+py'+qy=f(x)$,$y''+py'+qy=f_1(x)+f_2(x)$求解步骤如下:
根据以下类型,写出齐次线性微分方程的通解:
$$ y = \left\{ {\begin{array}{*{20}{l}} {{C_1}{e^{{\lambda _1}x}} + {C_2}{e^{{\lambda _2}x}},}&{{p^2} - 4q > 0(root:{\lambda _1} \ne {\lambda _2})}\\ {({C_1} + {C_2}x){e^{\lambda x}},}&{{p^2} - 4q = 0(root:{\lambda _1} = {\lambda _2} = \lambda )}\\ {{e^{\alpha x}}({C_1}\cos \beta x + {C_2}\sin \beta x),}&{{p^2} - 4q < 0(root:\alpha \pm \beta i)} \end{array}} \right. $$
对于第一种形式,直接根据自由项$f(x)$的形式设特解,对于第二种形式需分别根据自由项$f_1(x),f_2(x)$的形式设两个特解,然后相加得到微分方程的特解,特解形式如下:
$$ y^* = \left\{ {\begin{array}{*{20}{l}} {{e^{\alpha x}}{Q_n}(x){x^k},}&{f(x) = {P_n}(x){e^{\alpha x}}}\\ {{e^{\alpha x}}\left[ {Q_l^{(1)}(x)\cos \beta x + Q_l^{(2)}(x)\sin \beta x} \right]{x^k},}&{f(x) = {e^{\alpha x}}\left[ {{P_m}(x)\cos \beta x + {P_n}(x)\sin \beta x} \right]} \end{array}} \right. $$
上式中的$e^{\alpha x}$直接从自由项中照抄,$Q_n$为$x$的$n$次一般多项式,$l=max\{m,n\}$,$Q_l^{(1)},Q_l^{(2)}$分别为$x$的两个不同的$l$次一般多项式。
$k$在${p^2} - 4q \ge 0$时:$\alpha$与所有特征根都不相等,此时$k=0$;与其中一个特征根相等,$k=1$;与所有特征根相等,$k=2$。
$k$在${p^2} - 4q < 0$时:$\alpha \pm \beta i$不是特征根,此时$k=0$;$\alpha \pm \beta i$是特征根,$k=1$。
最后,将齐次微分方程的通解加上该微分方程的一个特解即是非齐次微分方程的通解,简单来说就是先写齐次通解再设非齐次特解,相加得非齐次通解。
对于$y^{(n)}(n \ge 3)$的情形:
形如$y'''+p_1y''+p_2y'+p_3y=0$,同样的写出特征方程:$\lambda ^3+p_1\lambda^2+p_2\lambda+p_3=0$,解得$\lambda_{1,2,3}$,然后根据以下不同情况直接写出通解:
将上述每一个特征根产生的项相加,得到$y$的齐次通解。
Henry 2023-09-06
2023-07-22 18:18:00
炎热的夏天,只能天天在家,没有一点能令人精神的清新而凉爽的空气,搞的一天昏昏沉沉!
家里台式已然是个老不死,还剩最后一口气只能说,死缠烂打之下家里台式机换了新的平台+AMD R7某系列CPU(顺便提一嘴,全能本夏天真难用,散热简直是灾难,不然我也没什么用台式的需求),然而之前的航嘉电源好像有些不稳定,寄去上海修了,也不知道上海那个 B 修电源的啥时候才能给你弄好,寄回来还得三四天,真的难受。
今天帮人搭建 OJ 系统,人家给了 100 左右,还白嫖到了高质量题库,满意!(哦不对,应该是昨天,已经过了12点了~
续上:又有信奥培训机构的判题后端服务遇到了疑难杂症,redis的docker容器反复重启...帮忙解决了,人家主动给了些辛苦费。
今天又发现上次给人搭建的评测机的安全沙箱跑不起来,排查了一下发现是CentOS7导致的问题,配置了一下解决。
此外不得不说,使用docker部署各类业务,使得自己的服务器干净了不少,对有电子洁癖的我非常友好,现在已经对自己的服务器爱不释手了,而不是跟之前一样嫌弃得都不想打开。
现阶段一天天盼望着能够工作,十多年的应试生活,早就已经厌倦了,你说真能学到什么?也就是培养了学习能力和拿到了找工作的敲门砖,实践还得自己来。目前我的好多想法都只能有稳定收入和足够的时间之后才敢尝试,期待这一天!
2023-06-03 20:19:00
字节星球/肥柴之家业务现已迁移至新服务器,告别 106.54.176.177,全面使用 Docker 部署~
本次迁移的业务:主站、Blog(暂未使用,仅作为测试)二级、Api二级、Code(Flarum)二级。注:以上服务有用的准确来说只有一个...
新增业务:OnlineJudge(信息学在线评测服务)欢迎注册使用、私有Git服务以及服务探针。
后续会上线WePlanet Web端(Go+ElementUI,桌面端现已上线)、Home二级(用作字节星球生态导航)。
注意,Images二级域已经废弃,所以大家的友情链接头像地址需要更新,新的头像地址已在传送门页面更新。
106.54.176.177(腾讯云CVM)用了三年,也算是基本横跨了大学四年了,新的服务器(腾讯云)又将跨越我的研究生三年,蛮有意思!
注:本人腾讯忠实铁粉。
另外,在线判题服务器又再次开放了,在合适的时机投入使用!
(附一张❤️李庚希的照片,她饰演的角色几乎都符合我心中的理想型,或许可以作为一种无形动力?)
还有十来天就算是本科正式毕业了,读完大学本科,发现个人似乎还是喜欢中学时的那种同学情谊,但教学模式和生活方式我还是更喜欢大学一点。
不管是喜欢与否,这些都已经成为回忆,我发现对于我而言,不论是快乐的还是负面的回忆,都让我觉得美好,始终还是一个喜欢念旧的人,以前的东西舍不得扔,以前的事情也舍不得忘。
继续自己的学术道路(可能是刚刚开始,毕竟本科算不上什么学术)吧,开启硕士研究生生活,本人现在最大的梦想还是能够留在重邮工作!
Henry 2023-06-03