Anduin Xue

let today = new Beginning();

All Posts


Using ZFS is easy

ZFS is a modern file system with features such as copy-on-write, redirect-on-write, deduplication, and snapshots, making it suitable for large-scale storage and data management scenarios. It operates on the concept of storage pools, where a pool manages disks and provides storage space. Datasets can be created on top of these pools, which don't require allocated space and can utilize the entire storage capacity of the pool. Each dataset is mapped as a directory for file storage and organization. The blog post provides a detailed guide on how to install ZFS, locate your disk, list sets and pools, and manage pools and sets. It also explains how to use the deduplication property to remove redundant data from your ZFS file systems, resulting in only unique data being stored and common components being shared between files. Additionally, the blog post discusses the use of snapshots, which record the state of the file system at a specific point in time. This feature allows for easy resto...--GPT 4

bash Linux Disk ZFS File Sysytem Raid Dedup

让微软的人组装一台电脑究竟会得到什么怪兽?从装机聊到数据中心

本文讨论了专有硬件在游戏设备上的优化潜力,通过对比通用计算设备,阐述了专有硬件在性能、体验和优化方面的优势。文章提到了专有硬件在应用开发、永不崩溃、作弊、省心、反病毒、虚拟化、DMA、硬盘优化、录屏和直播等方面的优化空间,以及如何通过专有硬件实现这些优化。最后,文章以Xbox游戏设备为例,展示了专有硬件在游戏领域的优越性能和体验。总之,专有硬件的优化可以登峰造极,为用户带来更好的性能和体验。--GPT 4

Windows Device Gaming Xbox VBS Hardware Hypervisor

如果要为C919喝彩,你必须先认识运10

C919是中国国产大型客机的代表,具有巨大的市场潜力。然而,在了解C919之前,我们需要认识运10,一款曾经代表中国飞机制造能力的最高水平的飞机。运10诞生于1960年代,当时中国航空工业正面临中苏关系恶化和中美关系改善的时代背景。运10的研发过程充满曲折,最终只生产了两架,其中一架用于静力测试,另一架广泛试飞。运10的失败归根结底还是自己丢了精神,它的故事令人感慨。尽管如此,中国航空人对大飞机的追求从未停止。如今的C919已经取得了初步成绩,未来有望与空客和波音竞争。运10的制高点或许才刚刚突破,中国飞机制造业的未来仍然充满希望。--GPT 4

China Aviation C919 Airplane Airbus

Show .NET code coverage rate and unit test status with GitLab CI\CD pipeline

本文详细介绍了如何使用GitLab CI/CD管道来展示.NET项目的代码覆盖率和单元测试状态。首先,需要确保在你的GitLab实例中有一个.NET项目。然后,在所有单元测试项目中添加coverlet.collector和JunitXml.TestLogger这两个包。接下来,编写C#代码的单元测试,并创建一个包含构建、测试和发布阶段的.gitlab-ci.yml文件。 在构建阶段,使用dotnet build命令进行编译。在测试阶段,使用dotnet test命令进行测试,并收集代码覆盖率信息。同时,使用reportgenerator生成cobertura格式的报告,并从中提取覆盖率数据。最后,在发布阶段,使用dotnet publish命令进行发布,并将生成的nupkg文件保存为构建产物。 通过这样的配置,你可以在GitLab管道运行结束后查看单元测试结果和代码覆盖率数据。此外,在创建pull request时,还可以看到覆盖率信息。最后,别忘了在Readme.md文件中添加一个代码覆盖率徽章! 本文为你提供了一个完整的示例,帮助你更好地理解如何在GitLab CI/CD管道中展示.NET项目的代码覆盖率和单元测试状态。那么,在你的项目中,如何利用这些技巧来提高代码质量和测试覆盖率呢?--GPT 4

.NET Test Code coverage Continuous Integration GitLab junit YAML

城市天际线 - 解决常见问题

在《城市天际线》这款游戏中,"受教育的工人不足"是一个常见且让玩家困扰的问题。本文针对这一问题,提出了几个解决方案。首先,治理交通拥堵,通过修建高架、规划地铁、安排公交等方式改善交通状况。其次,加强教育,通过实施“加强教育”政策、增加教育经费和修建学校等方式提高本土居民的教育水平。再者,提升城市吸引力,通过修建娱乐场所、公园、景区等吸引外地大学生来就业。此外,调整居住区和商业区的比例,保证足够的居民能够为商业区提供足够的工人。最后,耐心等待居民提高学历,观察教育页面,确保所有居民都已经从学校毕业。 除了“受教育的工人不足”问题,本文还探讨了如何解决地价过低和可供出售的商品不足的问题。对于地价过低,同样需要治理交通拥堵,同时优化基础设施,确保供电、供水、垃圾处理等方面都完善建立。对于可供出售的商品不足,除了治理交通拥堵外,还需要注意修建足够的工业区和货运火车站、港口,以保证商品的生产和运输。 那么,如何在游戏中平衡城市发展和居民需求?在解决这些问题的过程中,我们是否能从中得到现实生活中城市规划的启示?希望通过阅读本文,玩家们能够在游戏中更好地应对这些问题,同时也能在现实生活中对城市规划有更深的理解。--GPT 4


Common SMTP settings to Office 365 to send Emails

本篇博客主要讲述了如何使用Office 365的SMTP设置为不同的开源软件配置电子邮件发送功能。文章分别介绍了如何为Gitea、GitLab、Mastodon、Nextcloud和Azure DevOps配置SMTP设置。 在Gitea部分,作者提供了一个配置文件示例,展示了如何在`/etc/gitea/app.ini`文件中设置SMTP相关参数。配置包括启用邮件发送功能、设置SMTP服务器地址、端口、用户名、密码等信息。 对于GitLab,作者给出了一个Ruby配置代码片段,展示了如何在`/etc/gitlab/gitlab.rb`文件中配置SMTP。配置内容与Gitea类似,包括服务器地址、端口、用户名、密码等信息,同时还包括了启用TLS等设置。 在Mastodon部分,作者展示了如何在`/home/mastodon/live/.env.production`文件中设置SMTP。配置内容与前两者类似,包括服务器地址、端口、用户名、密码等信息。 对于Nextcloud,作者首先提醒读者打开管理员设置页面,然后展示了如何在网页界面上配置SMTP。配置内容与前述软件类似,包括服务器地址、端口、用户名、密码等信息,并给出了禁用TLS的建议。 最后,作者为Azure DevOps提供了一张配置SMTP的截图,展示了如何在Azure DevOps的网页界面上配置SMTP。配置内容与前述软件类似,包括服务器地址、端口、用户名、密码等信息。 通过本篇博客,读者可以了解如何为不同的开源软件配置Office 365的SMTP设置,从而使这些软件具备发送电子邮件的功能。在实际操作中,读者可能需要根据自己的需求调整配置参数。同时,如果在配置过程中遇到问题,尝试更改TLS设置可能会有所帮助。在实际应用中,你是否遇到过类似的配置需求?在解决问题时,你是否有其他的经验和建议?--GPT 4

Microsoft 365 Mastodon GitLab Gitea SMTP Office365 Exchange

Install GitLab behind a reverse proxy on a Ubuntu 20.04\22.04 server

本篇博客详细介绍了如何在Ubuntu 20.04/22.04服务器上安装GitLab,并将其部署在反向代理之后。首先,博客讲述了如何安装和配置GitLab,接着演示了如何配置Nginx作为反向代理。为了解决SSH端口冲突的问题,文章还讨论了如何在GitLab服务器上使用2202端口作为克隆端口,并在代理服务器上进行端口转发。此外,博客还介绍了如何为GitLab实例添加运行器,并提供了一个示例项目,用于测试运行器的功能。最后,博客提供了一个完整的`.gitlab-ci.yml`配置文件示例,用于实现项目的构建、代码分析、测试和发布等任务。 在阅读本篇博客后,您将了解如何在Ubuntu服务器上部署GitLab,并配置反向代理以实现安全的访问。同时,您还可以借助本文提供的示例项目和`.gitlab-ci.yml`配置文件,快速实现项目的自动化构建和测试。在实践中,您可能需要根据自己的需求对配置进行调整,以满足不同的项目类型和技术栈。 那么,在配置GitLab和反向代理的过程中,可能会遇到哪些问题?如何确保GitLab运行器能够正确地执行任务?如何根据项目需求定制`.gitlab-ci.yml`配置文件?阅读全文,自己找到答案吧!--GPT 4

bash git Linux Ubuntu Proxy SSH Caddy GitLab nginx

How to install CUDA and cuDNN on Ubuntu 22.04 and test if its installed successfully

本篇博客详细介绍了如何在Ubuntu 22.04上安装CUDA和cuDNN,并测试它们是否安装成功。首先,博客提供了安装CUDA的下载链接以及具体的安装步骤。接下来,博客提供了安装cuDNN的下载链接和详细的安装步骤。文章还介绍了如何确认驱动程序是否已安装,以及如何检查CUDA和cuDNN是否已安装。 为了测试CUDA是否安装成功,博客提供了一个简单的“Hello CUDA”程序,并展示了如何编译和运行它。同样,博客也展示了如何测试cuDNN是否安装成功,通过运行一个简单的示例程序。 在阅读本篇博客后,读者应该能够顺利地在Ubuntu 22.04上安装CUDA和cuDNN,并确保它们已成功安装。此外,本文还提供了一些有用的命令来检查驱动程序、CUDA和cuDNN的安装状态和版本信息。 最后,你是否知道如何在自己的Ubuntu系统上安装CUDA和cuDNN?如何确保它们已成功安装并运行?阅读全文以获取详细的操作步骤和示例代码。--GPT 4

Ubuntu NVIDIA vGPU CUDA cuDNN GPU

让你的数据中心使用 GPU 算力!

本文介绍了如何在数据中心中使用 GPU 算力。首先,文章详细描述了安装并配置 NVIDIA Grid 驱动的过程,包括修改配置文件、添加许可等。接着,介绍了如何安装 CUDA,并给出了一些注意事项。文章还讨论了如何确保虚拟机可以在主机之间平滑迁移,并给出了在 VCenter Server 中开启迁移的方法。此外,文章提及了如何划分 SKU,以便提前规划每个物理 GPU 的切分方式。最后,文章介绍了如何开始炼丹,包括安装 cuDNN、使用 GPU 进行硬件加速编码以及运行 AI 应用。文章还提供了一些监控温度的方法,以便在家中服务器降低噪音。如果遇到问题,文章给出了一些建议和检查事项。那么,在这个过程中,哪些因素可能会影响 GPU 算力的使用?如何确保充分利用 GPU 算力以提高数据中心的性能?--GPT 4

Ubuntu VMware Vsphere Server NVIDIA Ai vGPU Python Tesla CUDA

自己独立运营一个面向你的朋友的 AI 绘画系统(基于 Stable Diffusion)

本篇博客介绍了如何独立运营一个面向朋友的AI绘画系统,基于Stable Diffusion。文章首先建议限制某些功能,以避免暴露给朋友的任意Prompt填写导致的潜在危险。接下来,博客详细介绍了如何编辑`ui-config.json`文件来限制Stable Diffusion画色图的功能,并提供了一份示例配置。 文章还建议编辑`user.css`文件,隐藏一些可能让人困惑的按钮,提供了相应的CSS代码。最后,博客介绍了如何使用FRPC和Caddy将Stable Diffusion暴露到公网,并使用加密通信。文章给出了一个搭建成功的示例网址,并提供了FRP和Caddy的使用教程链接。 在阅读本文后,你是否对如何独立运营一个面向朋友的AI绘画系统有了更清晰的认识?如何确保系统的安全性和用户体验?如何将本地服务暴露到公网并保证通信安全?希望这篇博客能为你提供启发和帮助。--GPT 4

Web Server Tune Stable Diffusion Ai Self hosting

在2023年学习传统软件开发技巧还有意义吗?

在2023年,AI技术的飞速发展让人们纷纷质疑传统软件开发技巧的价值。本文探讨了AI在软件工程中的应用,以及学习传统软件开发技巧的意义。尽管AI可以提高开发效率,甚至取代某些工具,但学习传统软件工程仍然具有重要意义。正如汇编语言为我们理解计算机底层原理提供了基石,传统软件工程也是未来基于AI的软件工程的基础。 对于计算机专业的学生,适应AI辅助软件工程的同时,也应该学习传统技术。未来工程师的要求将更高,需要全面了解硬件、电路、操作系统、面向过程、类、依赖注入、组件、包、接口以及AI等方面的知识。因此,建议将70%的精力放在AI相关领域,20%的精力放在传统软件工程,10%的精力放在考古技术上。这样的学习分配将有助于应对未来软件工程领域的挑战,提升个人竞争力。那么,在AI时代,你准备如何分配你的学习重心呢?--GPT 4


全面了解 HDR!

本篇博客详细讨论了HDR(高动态范围)技术的概念、应用和发展趋势。HDR技术能够提供更广泛的亮度范围和丰富的色彩,从而呈现更加逼真的图像。文章介绍了HDR图片的元数据信息,如色彩空间、色深和亮度范围等方面。此外,还探讨了HDR图片的存储格式、编辑方法以及如何在专业图像编辑软件中绘制HDR色彩。文章还介绍了HDR显示器的不同级别(如HDR400、HDR600、HDR1000)以及HDR10视频格式。在软件开发方面,讨论了哪些类型的桌面应用需要考虑显示HDR内容,以及开发者如何开发一个显示HDR内容的桌面应用。最后,文章展望了未来sRGB颜色空间可能被HDR技术取代的可能性,并指出色域和动态范围是两个不同的概念。在未来,随着技术的进步,HDR技术可能会成为显示设备的标准配置。那么,是否有可能在未来完全放弃sRGB颜色空间?HDR技术将如何影响我们日常使用的软件和设备?--GPT 4

HDR Display RGB