.NET MAUI 踩坑
时隔数月 皮燕又痒了 想搞搞 Android 开发 由于不熟悉 Android Studio 的操作和 Java / Kotlin 所以优先选择熟悉的 VS-.NET - MAUI - C# 在这里记录一些遇到的问题 以便以后参考 教程 MSDN 的文档过于零散 这里按照一般项目开发的顺序整理 具体细节参考 MSDN 在 VS 中创建示例项目 略 修改 App Identifier(你也不想看到 com.examplecompany.appname 的包名罢) 修改.csproj文件中的ApplicationId节点 如果进行安卓开发 则修改AndroidManifest.xml中的manifest节点的package属性和manifest.application节点的android:label属性为合适的值 更改应用图标 在网上找到或制作自己的应用图标(最好是 SVG 格式) 放到合适的目录(如Resources/AppIcon) 修改.csproj文件中的MauiIcon节点的属性 其中 Include为背景图片 如Resources\AppIcon\appicon....
代码片段
一些-study项目中有用的代码片段 [C++] 生成 GUID (仅 Windows 下可用) #include <objbase.h>GUID CreateGuid() { GUID guid; if (CoCreateGuid(&guid) == S_OK) { return guid; } throw exception("generate guid failed!");}string GuidToString(const GUID& guid) { char buf[64] = { 0 }; snprintf(buf, sizeof(buf), "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3], ...
C# 随笔
最近写项目的时候用到这样一段代码 Console.WriteLine( string.Join('\n', (await api.Download(3174)) .Split('\n') .Where( line => !string.IsNullOrWhiteSpace(line) ) )); 理想情况下中间打算写成.Where(!string.IsNullOrWhiteSpace) 但是 C# 好像不支持这样的运算符重载 于是写一个函数处理一下 public static class Functional{ public static Func<T, bool> Not<T>(Func<T, bool> func) { return (T para) => { return !func(para); }; }} 然后就可以做到这样的效果 Console.WriteLine(...
.NET 7 中 System.IO.Compression 的性能测试
之前我对一个字符串格式的文本文档进行了整理 将其转换为了二进制文件 其格式如下 field (per row) type size field1 int64 8byte field2 int64 8byte 这不仅使得体积从约 16GB 减小到约 10GB 还大幅提升了读取和检索的速度 从在 WSL1 中使用 cat + grep 最高 300MB / s 的速度 提升到用 C 写一个简单的程序进行读取的最高约 1GB / s 的速度 最近 为了进一步压缩体积 我决定对其进行压缩 当然 一切的前提是便于检索数据 即可以通过流式方法读取数据 于是我决定使用 GZip 一方面 GZip 是比较广泛的压缩格式 另一方面 C# 在System.IO.Compression中提供了GZipStream 便于读取 同时也可以用这个进行压缩 压缩测试 GZipStream提供了CompressionLevel的选项 包括Optimal Fastest SmallestSize和NoComression 为了选择使用哪个等级压缩 我写了一个简单的基准测试来比较 代码如下 ...
Gitee 你妈死了
就在刚才,我想把这个博客部署到 Gitee Pages 上 Gitee Pages pull 后要手动重新部署不说 它居然给我报了这个 我一看 大抵又是我的名字触发违禁词了罢 有一说一 这屏蔽词技术网易看了都要甘拜下风 至此 Gitee 只作备份 晦气
【解决方案】Visual Studio 写 C / C++ 时没有语法高亮
最近突然用 VS 写了一下 C,发现没有语法高亮了,非常难受,如图 解决方案如下 在 工具->选项->文本编辑器->C/C++->高级中 将禁用语义着色设为False 然后就恢复了
「RAV Endpoint Protection」我测你的码
经过 在爬一个 app 的 api 时 无意间发现了一个奇怪的东西 s1 = 3dd69923c5041f4259b5a81b4cd17226s2 = 13cwmSwE72FR83aziyDpZxLPptygJpqcE6 当我复制 s1 的内容再粘贴时 会变成 s2 的内容 剪贴板的内容也是 s2 于是我很快进行了一些测试 得出了这样的结论 当复制的内容中有一行文字以 s1 开头时 复制的内容中所有的 s1 都会被替换为 s2 写成代码是这样 var s1 = "3dd69923c5041f4259b5a81b4cd17226";var s2 = "13cwmSwE72FR83aziyDpZxLPptygJpqcE6";if (text.Split('\n').Any(line => line.StartWith(s1))){ text = text.replace(s1, s2);} 为了进行更多的测试 我重启了电脑 这时候就没有这个问题了 当我打开 QQ 后 这个问题又出现了 于是我断定是 QQ 搞的鬼 但另一个我不得不注意到的是 打开 QQ 和登录时有明显的卡顿...
imgloc 图床寄了
imgloc 图床寄了 幸亏没把所有图片存在上面 只有一个头像 看来不能相信这些小网站 只能找成熟的解决方案了
博客域名迁移
今天想到vercel 对Next.js 的宣传,心血来潮想要把博客迁到 vercel 上,顺便测试一下github pages 和vercel 的速度 感谢17ce 提供的测速服务 测速结果 使用 Cloudflare CDN vercel github 不使用 Cloudflare CDN vercel github 结论 从结果可以看出,Cloudflare CDN 起到了一定效果 (尤其是境外地区),但对于大陆地区没有显著效果 (不知道为什么 vercel-cloudflare 的结果有很多地方测不到) 最后还是决定把https://blog.truebigsand.top 给 vercel-cloudflare 说说域名 truebigsand.top 在阿里云买的 top 域名是综合最便宜的 9 元首年 之后 29 一年 还算承担得起 准备一直续着 目前部署了一些 api 已知的问题 Github Pages 似乎每次更新都会充值自定义域名 「更新」: 使用阿里云拨测 才发现阿里云还有这样的服务 挺好用的 (截图不整了) 使用 Cloudflare CDN ve...
【解决方案】关闭 Visual Studio 后仍有 PerfWatson2.exe 占用文件夹
经常有关闭 Visual Studio 后删除代码文件夹时提示文件夹被占用 用火绒查一下发现是被 PerfWatson2.exe 占用了 关掉也没事了 最近发生的概率提高了很多 我就上网搜有没有相同的问题 果然搜到一堆 比如这个 http://www.zhushiyao.com/?p=84473 又是 “体验改善计划” 太典了 在中国 由于众所周知的原因 这种东西很多都访问不到 于是就被阻塞在后台了