Anduin Xue

let today = new Beginning();

All Posts


Why do low-code development is a pseudo requirement?

本篇博客探讨了低代码开发是否真的是一个伪需求。首先,作者指出网络页面和应用程序并非所见即所得,使用低代码开发工具在短期内可能容易上手,但在稍复杂的场景中,以及在重用和扩展方面,最终可能会面临很多障碍。 其次,作者提到低代码开发平台本身存在较高的学习成本。尽管低代码开发可以降低学习成本,但作者认为这可能存在一些误解。例如,公司购买低代码开发框架,是否真的能让产品经理和设计师直接进行应用开发? 此外,作者认为代码本身是对现实世界的抽象,而低代码开发在短期内无法更为通用。开发本质上是人类试图对现实世界的过程进行抽象。我们已经熟悉的形式化语言抽象具有很好的理论基础,而低代码开发放弃了这些高质量的抽象方法,期望计算机和AI能正确理解它(并不一定成功)。 作者还提到了WinForm和WPF等框架,并指出它们本质上并非低代码开发框架,而只是桌面应用开发框架。最重要的是,没有开发者认为Visual Studio设计器看到的内容一定与程序运行时看到的内容相同。 最后,作者认为低代码开发框架确实存在市场,但并非媒体宣传的那么夸张。当需求不复杂、开发者具备基本的开发素养、相关基础设施(如API)已经建立,且不想投入过多时间、精力和金钱时,低代码开发框架是一个不错的选择。然而,媒体宣传的“产品经理自己搞定开发工作”的说法则显得十分可笑。那么,低代码开发真的是一个伪需求吗?或许这取决于具体的应用场景和开发者的需求。--GPT 4

Software Development Low Code PowerApps WYSIWYG

Play with Windows Subsystem for Android with Google Play

本篇博客详细介绍了如何在Windows 11上使用Windows Subsystem for Android(WSA)运行Android应用。首先,作者阐述了如何启用WSA所需的特性,如Hyper-V、HypervisorPlatform和VirtualMachinePlatform。接着,通过在Microsoft应用商店下载并安装Amazon应用商店来启用WSA。安装完成后,可以在开始菜单中找到“Windows子系统 for Android设置”。 在确保子系统启动并启用开发者模式后,可以使用adb工具连接到子系统并管理Android应用。例如,可以通过adb安装和卸载apk文件。但是,由于WSA默认不支持Google Play服务,某些应用可能无法正常工作。为了解决这个问题,可以通过访问GitHub上的MagiskOnWSA项目,fork并构建自己的WSA镜像来安装带有Google Play服务的WSA。 最后,作者分享了如何解决WSA无法连接互联网的问题。首先,通过adb命令打开Android的Wifi设置,并保持该应用打开。接下来,在Hyper-V Manager中更改虚拟交换机设置,将其切换为“外部网络”,并选择具有互联网访问权限的物理网卡。然后,在Android Wifi设置中将网络配置更改为DHCP。完成这些操作后,WSA应该能够正常连接互联网。 通过本文的指导,你可以在Windows 11上顺利运行Android应用。那么,你准备尝试在你的电脑上运行WSA了吗?你认为这种跨平台的应用体验会给你带来什么样的便利?--GPT 4

bash Windows 11 Android Windows Subsystem For Android WSA Magisk MagiskOnWSA Google Google Play adb

Use you local server to replace the cloud with FRP.

本文介绍了如何使用FRP(Fast Reverse Proxy)将本地服务器替换为云服务器。首先,我们需要在云服务器上安装和配置FRP服务器。接下来,我们需要在本地家庭服务器上安装FRP客户端,并确保家庭服务器能够成功连接到FRP服务器。值得注意的是,家庭服务器不需要具有公共IP地址,可以部署在防火墙或NAT之后。 本文使用Windows Server作为示例,并介绍了如何在家庭服务器上安装FRP客户端。配置完成后,我们可以运行FRP本地验证配置。然后,我们需要将FRP注册为后台服务。此外,我们还可以选择配置自动升级。 需要注意的是,云服务器和家庭网络可能会因流量而产生费用。如果服务不是很繁重,通常使用FRP方案会非常便宜。相比之下,云服务器的月费用可能达到数百美元,而家庭服务器的电费和网络费用要低得多。总的来说,使用FRP方案可以节省成本,同时享受全面的裸金属性能。 那么,是否应该使用FRP方案替代云服务器呢?这取决于您的需求和预算。如果您希望节省成本并享受更好的性能,那么FRP方案可能是一个不错的选择。但如果您需要更高级的功能和更强大的计算能力,那么云服务器可能仍然是最佳选择。--GPT 4

IP bash Linux Windows Server Cloud FRP Network Port Firewall

Setup Minecraft perfect game experience

本篇博客详细介绍了如何设置Minecraft游戏,以获得完美的游戏体验。首先,文章讲述了如何下载并安装Fabric,并为游戏添加光影和地图插件。接下来,博客提供了一系列推荐的游戏插件,包括:cloth-config、Kotlin-support、badpackets、modmenu、inventory-profiles-next、Appleskin、not-enough-animations、extrasounds、BetterF3、Better Third Person等。文章还提供了一张包含所有插件快捷键映射的图片,方便玩家参考。 除此之外,博客还为拥有服务器的玩家提供了一些建议。推荐使用Paper MC作为服务器引擎,并安装一些增强游戏世界的插件,如:Dungeon Now Loading、Incendium、Keepin、Ships out on the oceans、Terralith、TreeCapitator等。最后,文章提供了一些服务器设置修改建议,以便玩家根据自己的需求调整游戏难度、玩家数量、世界边界等。 如何将这些设置和插件完美地融合在一起,为玩家带来更加沉浸式的Minecraft游戏体验呢?摘要无法回答这个问题,但阅读全文将为你揭示答案。此外,你是否有其他推荐的插件和设置,可以让Minecraft变得更加有趣?欢迎在阅读本文后,与其他玩家分享你的心得。--GPT 4

Configuration Minecraft Game Java

Best practice after installing Windows Server | Why you should NEVER use 'Administrator' user?

本篇博客介绍了在安装Windows Server之后的一些最佳实践,特别强调了为什么不应该使用默认的“Administrator”用户。首先,为服务器命名并加入Active Directory域(如果有的话)。接着,创建一个新用户并将其添加到管理员组中,然后使用新用户登录。为了提高安全性,禁用默认的“Administrator”用户,并更改默认的RDP端口以防止暴力破解。 在完成以上设置后,可以根据需要安装一些额外的软件。博客中推荐了一系列实用工具,如IIS Crypto、CPUZ、WinDirStat、NSSM、FRP、7zip、FastCopy、Win-ACME、Visual Studio Code、AdoptOpenJDK、.NET Windows Server hosting bundle、Git/Git-Bash、Aria2、Winget和Windows Terminal等。这些工具可以帮助您更好地管理服务器、提高工作效率和安全性。 在阅读完整篇博客后,您是否会对Windows Server的安全性和管理有更深入的了解?这些最佳实践是否会对您的服务器管理产生积极影响?如何根据自己的需求选择合适的工具?请阅读全文以获得更多详细信息和操作指南。--GPT 4

Security Windows Server Cloud Configuration

Install WinGet on Windows Server

在本篇博客中,我们将学习如何在Windows Server上安装WinGet。首先,确保您没有使用管理员帐户运行。然后,在具有管理员权限的新PowerShell会话中运行一系列命令。这些命令将帮助您查询最新的WinGet版本及其依赖项,并下载与安装适用于您系统的软件包。 尽管在安装过程中可能会遇到一些临时性错误,但完成后WinGet应该已经成功安装。如果安装失败,请按照博客中的步骤从GitHub下载并安装WinGet及其许可证。完成后,您应该可以看到WinGet已在您的系统中生效。 安装WinGet后,您可以使用它来安装Windows Terminal。尝试使用命令`winget install Microsoft.WindowsTerminal`。如果安装失败,您可以尝试在PowerShell中运行另一个命令来进行安装。此外,您还可以使用WinGet来安装其他应用,如剪贴工具、便笺、时钟以及邮件和日历。 最后,如果需要重置Windows商店,可以尝试在PowerShell(管理员权限)中运行`wsreset -i`和`wsreset`命令。请注意,这仅支持Windows 10 LTSC,可能无法在Windows Server上工作。 在阅读完整篇博客后,您是否已经掌握了如何在Windows Server上安装WinGet的方法?您还有哪些关于WinGet的其他应用和技巧可以分享呢?--GPT 4

PowerShell Windows Server Install Winget Automation

精准防控面临的问题来自于健康码的设计需要革新

随着疫情的严重,苏州的防疫标准不断提高,多重健康码的出现使得人们出行变得繁琐。这篇博客讨论了多重健康码是否真的提高了防疫安全,以及如何精准防控疫情。文章指出,病毒不按行政区划传播,因此行程码的设计可能并不合理。同时,传统健康码容易出现绿色,使得防疫效果受到影响。 为了解决这些问题,文章提出了一种基于被感染概率的健康码设计。通过计算每个人与病例的时空交错,可以得到一个被感染概率。核酸检测可以根据被感染概率选择性执行,并改变人的被感染概率。文章还讨论了基于AI的精准防疫方法,以及理论安全与实际安全的差异。 总之,这篇博客呼吁在疫情防控中提高执行效率,通过AI技术辅助流行病调查,精准监测高概率感染人群,为健康码增加安全评估功能,实现健康码2.0,既保证防疫安全又降低代价。那么,在这个问题上,我们是否可以借鉴其他国家或地区的经验,找到更加合理的防疫方法呢?--GPT 4

China Health Code Shanghai COVID-19

Install Windows 11 on Vultr cloud machine

本篇博客详细介绍了如何在Vultr云服务器上安装Windows 11。首先,我们需要下载Windows 11的ISO文件,并将其转换为WIM文件。接着,准备一个新的磁盘驱动器以供安装Windows 11。在完成这些准备工作后,我们需要解压Windows 11的WIM文件,然后设置相应的启动配置。重启服务器后,通过VNC连接并完成Windows 11的初始设置。最后,启用远程桌面服务并删除旧的Windows Server。 在阅读这篇博客后,你会了解到在云服务器上安装Windows 11的整个过程。这将有助于你在云端搭建自己的个人电脑,并随时随地通过远程桌面连接使用。此外,你还可以为家人和朋友创建更多的云电脑,让他们也能随时随地体验Windows 11的便捷。 那么,云电脑的未来会是怎样的呢?随着技术的发展,云电脑是否会成为我们日常生活中不可或缺的一部分?请继续关注我们的博客,探讨云电脑的未来趋势!--GPT 4

PowerShell Windows Server Cloud Windows Windows 11 DISM Bcdedit Vultr Cloud PC

Lint markdown with customized rule by JavaScript

本篇博客介绍了如何使用JavaScript对Markdown文件进行自定义规则的检查。作者首先介绍了一个包含许多Markdown文件的代码库,并通过安装一些Markdown lint插件来满足基本的检查需求。然而,为了满足更多自定义需求,作者决定使用Node.js来进行Markdown文件的检查,因为它易于在GitHub pipeline中配置,并具有一些高级的面向对象特性。 博客中详细介绍了如何创建一个包含自定义规则的JavaScript文件,并在GitHub Actions中配置CI流程来对Markdown文件进行检查。这个过程包括在根目录下创建一个package.json文件,编写一个包含自定义规则的JavaScript文件,以及在GitHub Actions中配置CI流程。 通过这种方法,我们可以轻松地实现对Markdown文件的自定义检查,从而确保文件的质量和一致性。这对于维护一个包含大量Markdown文件的项目来说非常有用。 那么,如何将这种方法应用到你的项目中呢?你是否有其他方法来实现类似的功能?在阅读本篇博客后,你可能会对这些问题有更多的想法和启示。--GPT 4

GitHub node JavaScript GitHub Actions Continuous Integration

Raise up Visual Studio Code correctly in your C# client-side program

本篇博客讨论了如何在C#客户端程序中正确地使用Visual Studio Code。文章主要关注的是如何在一个编辑器中允许用户打开VS Code来编辑一个文件夹,而不是如何在VS Code中编写C#程序。博客提供了一个用户界面示例,展示了如何在C#程序中使用VS Code编辑文件夹。同时,文章还提供了一段代码示例,解释了如何利用`Process.Start`方法和`ProcessStartInfo`类来实现这一功能。 通过这篇博客,您将了解到在C#客户端程序中使用VS Code的正确方法,以及如何通过代码实现这一目标。这将有助于您在开发类似功能的应用程序时,能够更好地理解和应用这些知识。在阅读这篇博客后,您可能会思考如何将这些知识应用到您自己的项目中,以及如何进一步优化和改进这个功能。 那么,在实际应用中,如何确保用户能够顺利地使用VS Code进行编辑呢?您是否还可以尝试其他方法来实现这个功能?在开发过程中,您可能会遇到哪些挑战和问题?阅读全文,寻找答案吧!--GPT 4

C# VSCode WPF

Auto backup for Minecraft on Linux

This blog post discusses the process of creating an automatic backup solution for a Minecraft server hosted on Linux. The author first explores the Git solution, which consumes a lot of CPU resources when compressing objects, potentially impacting the game's performance. Due to these issues, the Git solution was abandoned. The author then moves on to the copy solution, which involves copying the world folder to another location. To implement this, the author uses tmux to run the Minecraft environment. The blog post provides step-by-step instructions on how to start tmux and run the Minecraft server within it, as well as how to exit and resume the terminal. Next, the author shares a script named backup.sh that automates the backup process. The script saves the game, copies the world folder to a backup location, removes older backups if necessary, and then resumes the game. The author suggests using a background job system like crontab to run the script and enable automatic backups. H...--GPT 4

bash Linux Minecraft Backup

Validate an object in any C# projects

本篇博客详细介绍了如何在C#项目中使用对象验证,以确保输入模型的有效性。文章首先讲解了如何在纯C#环境中使用验证,通过复制一个简单的函数来实现。接着,文章展示了如何在类定义中为属性设置验证规则,如:Required、MinLength和Range等。然后,文章讨论了如何在代码中使用这些验证规则,以及如何根据验证结果输出相应的错误信息。 在某些情况下,系统提供的验证规则可能无法满足特定需求。因此,文章还介绍了如何创建自定义验证属性。例如,验证属性不包含空格或换行符。通过创建一个自定义的验证属性类,我们可以实现这一需求。最后,文章提供了一个完整的示例代码,演示了如何在项目中使用对象验证功能。 在阅读本篇博客后,你是否对C#项目中的对象验证有了更深入的了解?文章中的示例代码是否能帮助你更好地理解如何使用和自定义验证规则?在你的项目中,是否有其他需求需要自定义验证属性来实现?如何利用本文介绍的方法来优化你的项目代码?--GPT 4

ASP.NET Core C# .NET Validation