大纲
- oth-win-control 这个写废了
- Printer–Worst-code-ever
- conconcon-tri-buter
- SinpleRenamer
- QuickLogin
- Hello-CUDA
oth-win-control
这个项目啊, 顾名思义, 就是用来帮助控制其它窗口的.
起因是因为我这个人平时要开的窗口比较多
然后强迫症又特别严重
喜欢把所有小窗口按左下角边距20左右的位置对齐排放
但是手动拖动的哪里有那么精确呢
所以我就想写一个小程序来帮我自动对齐我选中的窗口
但是写着呢写着呢就发现啊
它有些窗口实际显示区域并没有占满整个窗口的区域
这就很难搞了啊
因为这种情况下要做到视觉意义上的对齐你就需要进到别人程序的窗口里面去拿一下实际显示区域的坐标啊
这个其实很难搞啊
尤其像一些electron封装的桌面应用
web 页面!
里面的控件根本没有传统意义上的句柄啊!!!
可是UP还没有那个解包electron然后手动把可视区域坐标传出来的能力
就算有, 也没时间吧 (QAQ) (<-老鸽子了)
Printer--Worst-code-ever
这个项目其实只做了一件事
就是在控制台打印一句”Hello World!”
然而它用了两百多行代码去实现
不是汇编, 是 C# (汇编也要不了两百行…)
为什么会做出来这个项目呢
其实是因为有一天在知乎上刷到一个问题
关于如何把一段简单的代码变复杂
有提到在Java项目中引入各种库然后就庞大起来的
也有提到啥啥啥的 (O.O 记不得了)
反正就是各种都有
于是我突发奇想啊
为什么不把显示中的打印的逻辑映射到计算机中呢
于是啪! 很快啊
我就抽象了一个打印机类
实例化一个打印机呢需要不同的组件
比方说墨水盒啥的
我就写了一个能量系统
打印得消耗能量吧
而且硬性要求是电能 (电能当然是继承于能量类的)
然后又搞了一个巨迷你的化学系统用来模拟颜料(当然没做出来)
又搞了纸张的类
打印机可以push一张纸进去
然后打印好后再pop出来
最后, 反正一通乱搞, 终于打印出来了HelloWorld
还是很不容易的…
conconcon-tri-buter
这个项目其实是之前多久做的了
主要作用其实是批量伪造不同日期的git提交记录
然后啊, 你push到github或者是gitlab或者是gitee之后
啪! 很快啊
你的绿砖
就刷好了
这个项目有两个版本
一个是纯命令行的版本
目前支持四种模式
第四种模式支持正态分布随机数实现的带密度的随即提交
以及后三种模式都支持随机拟真消息
保证非常逼真
比方说这个样子的:
XXXXXXXXX -> 展示消息
另一个版本是带图形化界面的
是用wpf做的
我自己画了一个类似github绿砖的选择器
你可以自己选择要在哪些天刷提交
但是这个模式你选择的日期每天的提交数量是固定的
因为随机的我还没做 (大鸽子)
不过你现在可以你用它在你的GitHub上面画图拉
像一些像素画都可以在GitHub上画出来欸
至于这个项目是如何实现刷commit的
原理其实很简单
第一个: git commit 的时候其实可以指定 –date 属性
第二个: 我创建一个文件提交一次再删掉再提交就得到了两次提交
SinpleRenamer
这是一个简单的文件重命名软件
做他的原因是因为我的OJ站
这个站用的框架是HydroOJ
这个OJ可以自动识别测试数据
但是文件名格式只支持一串英文加一个数字编号然后跟上.in或是.out或是.ans
有些时候我搬题的题目的测试数据格式就比较火大
我得进行重命名才能直接用
所以我就做了这个软件
支持简单的正则表达式替换
但是现在不支持像$1这种替换表达
但是有一个内嵌的%i%的匹配串
会自动从1开始递增替换
毕竟一开始是为了改测试数据用的 ()
QuickLogin
在之前我喜欢把密码设置在键盘宏上
让后可以用快捷键做到急速输入
往往0.01s就能输完一大串密码
非常方便
但是最近这段时间由于外出
没办法带上家里的键盘
键盘宏的功能用不上了
于是就做了这个小软件
它可以记录你登记好的字符串
以及设定一个字符串
之后你按下这个快捷键
软件就会把你的字符串复制到剪贴板
然后向屏幕发送Ctrl+V来粘贴
那么有小伙伴就可能要问了
为什么不做成模拟按键呢
这样还能支持一些快捷键而不只是字符串了
啊, 原因很简单
因为我着急用!!!
所以尽可能简单的把足够我用的功能做出来就完了
Hello-CUDA
这个项目就纯粹是学习CUDA过程中的一些小记录吧
之后不定期更新
总结
好了, 那么以上就是最近半年内(好像不止)的小项目总结了
我们下期再见
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/267461.html