Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts


How to use C# to manage InfluxDB data

如何使用C#管理InfluxDB数据 本博客介绍了如何使用C#来管理InfluxDB数据。InfluxDB是一个专为处理高写入和查询负载而设计的时间序列数据库,是TICK堆栈的重要组成部分。InfluxDB适用于任何涉及大量时间戳数据的用例,包括DevOps监控、应用程序指标、物联网传感器数据和实时分析。 首先,您需要安装InfluxDB。可以按照官方网站上的说明进行安装,或者使用Docker运行InfluxDB。安装完成后,您可以通过`http://localhost:8086`访问InfluxDB UI,并使用启动InfluxDB时设置的用户名和密码登录。 接下来,您可以使用C#来管理InfluxDB数据。首先创建一个新的控制台应用程序,并添加InfluxDB客户端库。然后,您可以使用提供的代码来管理InfluxDB数据,包括配置InfluxDB连接、创建存储桶、写入日志和查询数据。 最后,您还可以在网页上查询数据。提供了一个Flux查询示例,您可以使用该查询在网页上查询数据。 通过阅读本博客,您将学会如何使用C#来管理InfluxDB数据。快来尝试吧! 问题:您如何使用C#来管理InfluxDB数据?您还可以在网页上查询数据吗? 注意:本摘要根据原始博客内容编写,不含作者信息。--GPT 4

C# Database Docker InfluxDB

How to setup CUDA environment for Docker on Ubuntu?

如何在Ubuntu上为Docker设置Nvidia环境? 本文介绍了如何在Ubuntu上设置Nvidia环境以便在Docker中使用GPU。首先,您需要确认系统是否检测到Nvidia GPU。然后,安装适合您的设备的Nvidia驱动程序。接下来,安装Docker并添加Nvidia Container Toolkit以实现在Docker中使用GPU。最后,您可以使用一个示例来测试GPU设置是否成功。 通过执行命令`sudo lspci | grep NVIDIA`,您可以确认系统是否检测到Nvidia GPU。然后,您可以使用`sudo ubuntu-drivers list`或`sudo ubuntu-drivers list --gpgpu`命令列出可用的驱动程序。根据您的需求,您可以选择自动安装或手动安装驱动程序。安装完成后,您需要重新启动系统并使用`nvidia-smi`命令验证驱动程序的安装情况。 安装完驱动程序后,您可以使用以下命令安装Docker: ```bash curl -fsSL get.docker.com -o get-docker.sh CHANNEL=stable sh get-docker.sh rm get-docker.sh ``` 接下来,您需要安装Nvidia Container Toolkit。您可以按照Nvidia官方文档提供的步骤添加Nvidia Container Toolkit的存储库并进行安装。 最后,您可以通过运行一个带有GPU burn测试的Docker映像来测试GPU设置是否成功。您可以克隆`gpu-burn`存储库,构建Docker映像,并运行GPU burn测试。 除了测试GPU设置,您还可以使用Docker-Compose共享GPU。您可以创建一个`docker-compose.yml`文件来配置共享GPU的Docker服务。 本文提供了一个示例CUDA应用程序的Dockerfile和源代码。您可以根据需要自定义这些文件。 通过本文,您将了解如何在Ubuntu上为Docker设置Nvidia环境,并且可以使用GPU进行加速计算。阅读全文以获取更多详细信息,并开始在Docker中使用Nvidia GPU吧! 问题:您如何在Ubuntu上为Docker设置Nvidia环境?如何测试GPU设置...--GPT 4

NVIDIA CUDA GPU Docker

第三届Anduin编程大赛

本文介绍了第三届Anduin编程大赛的竞赛题目:初级文件系统与Raid。参赛者需要使用C\C++\Rust\Go\Erlang\C#\Java语言编写,使用FUSE实现文件系统,并支持SATA、NVME、USB、SD卡等设备。实现的文件系统需要支持文件的创建、删除、读取、写入、扩增、截断、权限控制,以及软件Raid0、Raid1、Raid5。评分标准包括性能、事故的恢复能力、Raid0的速度增益、能否作为系统盘等。文章还推荐了几个库供参赛者参考。--GPT 4


Web 应用开发检查单

这篇博客提供了一个 Web 应用开发检查单,旨在确保你的业务系统是安全、稳定、快速、可扩展、自动化的。检查单包括了网络配置、权限配置、运维策略、DevOps、容器化、应用开发、应用体验和合规性等方面。它可以帮助你确保服务器的网络安全和性能,减小权限,快速恢复业务,自动化部署和容器化,代码是否存在各种攻击的风险,以及是否符合各种合规性。该检查单详细介绍了每个方面的最佳实践,并提供了一些有趣的问题来启发读者思考,如:你的应用是否支持黑色主题和大字体?你的代码是否可能产生违反 GDPR 或 CCPA 的行为?该检查单可以帮助你确保你的业务系统是符合最佳实践的,从而提高你的业务系统的质量和可靠性。--GPT 4

Web Linux Cloud Server Container Service Development

Ubuntu 22.04 Network Diagnostic Handbook

This article provides a comprehensive guide on how to diagnose network interfaces in Ubuntu 22.04. It covers various methods, such as using the `ip` command, checking the routing table, and testing HTTP connections. The article also introduces the `networkctl` command, which supports various operations like renewing DHCP leases and bringing interfaces up or down. The author provides step-by-step instructions and examples to help readers follow along. Overall, this article is a useful resource for Ubuntu users who need to troubleshoot network issues.--GPT 4

Linux Ubuntu Network NetworkManager Networkd Netplan

Mirror YouTube channel to watch videos with best experience

This article explains how to mirror YouTube channels to watch videos without ads and interruptions, using the command-line tool youtube-dl. The author provides a script that downloads videos from a list of YouTube channels and saves them to a local folder, which can be added to the media library of a media server like Jellyfin. The article also explains how to expose the video folder to the internet via a web server and play the videos using other players like VLC. The step-by-step instructions are detailed and easy to follow, making it a great guide for anyone who wants to watch YouTube videos without ads.--GPT 4

Web Linux Ubuntu Python Youtube Jellyfin VLC

Setup a Ubuntu apt mirror server

This blog post provides a comprehensive guide on how to set up an Ubuntu apt mirror server. The process begins with installing the `apt-mirror` package and configuring the `mirror.list` file to specify the source you want to mirror. The author then explains how to start mirroring and where the downloaded files will be stored. The next step involves configuring a web server using Aiursoft.Static, including modifying permissions for accessibility and creating a systemd service for automatic startup. The guide continues with instructions on how to configure a reverse proxy using Caddy and finally, how to configure your client to use your mirror source. The author concludes by stating the benefits of setting up an Ubuntu mirror, such as bandwidth saving and faster software package downloads. Would it be possible to further optimize this process? How secure is this setup?--GPT 4

Web Linux Ubuntu Cache Server apt Mirror

基于 Docker Swarm Mode 建设你家里的数据中心!

在这篇博客中,我们将深入探讨如何使用 Docker Swarm Mode 建设家庭数据中心。文章首先介绍了 Docker Swarm Mode 的基本概念,包括其特性、优势以及与其他技术如 Kubernetes 的对比。接下来,我们详细阐述了如何在家庭环境中配置和使用 Docker Swarm Mode,包括网络设置、数据存储、服务管理等关键步骤。 在文章中,我们还讨论了使用 Docker Swarm Mode 建设数据中心的一些潜在问题和挑战,例如网络安全、数据备份、系统稳定性等。同时,我们也提供了一些实用的解决方案和建议,帮助读者在实际操作中避开这些问题。 文章最后,我们展望了 Docker Swarm Mode 在家庭数据中心建设中的未来发展,包括可能的新特性、技术趋势以及对现有架构的影响。我们相信,随着 Docker Swarm Mode 的不断发展和完善,它将成为家庭数据中心建设的理想选择。 这篇文章能否启发你思考如何利用现有的技术和资源,打造你自己的家庭数据中心?Docker Swarm Mode 又有哪些潜力和可能性等待你去探索和发掘?希望你在阅读本文后,能找到你自己的答案。--GPT 4

bash Linux Server Docker Container Docker Swarm Cluster Swarmpit

C# start a process and get output. (Fix process won't quit issue)

本篇博客主要讲述了如何在C#中启动一个进程并获取其输出。在博客的开始部分,作者分享了一段代码并提出了一个问题:为什么这个测试会一直运行直到超时,而不是正常退出。接着,作者解释了问题的关键在于进程的输出流需要被消耗。如果进程产生了大量的输出,这些输出将会累积在标准输出流中,如果没有程序去读取它,那么这个进程就会陷入无限等待的状态。为了解决这个问题,我们需要不断地读取进程的输出流。 接下来,作者提出了一个修改后的代码,这个代码在等待进程退出的同时,会持续读取进程的输出流。最后,作者通过几个测试案例,验证了修改后的代码的正确性,并且分享了一个可以从Nuget下载的方案。 那么,你是否也遇到过类似的问题?你又是如何解决的呢?这篇博客是否为你提供了一个新的解决方案?如果你对这个话题感兴趣,不妨深入阅读全文,你可能会有更多的收获。--GPT 4

C# git .NET Process

为笔记本安装 Chrome OS

本篇博客详细介绍了如何将 Chrome OS 安装到老设备上,以使其获得新生。文章通过详细的步骤和清晰的图解,向读者展示了如何从选择合适的设备,下载恢复映像,到最后的系统部署和设备测试等一系列过程。Chrome OS 是一个深度魔改的 Linux,它能够运行 Android 和 Linux 应用,而且体验超好,动画美丽,比较安全,几乎很难用坏。文章还介绍了如何在 Chrome OS 上安装 Linux 子系统,以便运行其他应用程序。如果你有一台旧设备,想要尝试新的操作系统,那么这篇博客就是你的绝佳指南。你是否有想过让你的旧设备重获新生?你是否对 Chrome OS 感到好奇?如果是的话,那么为什么不尝试一下呢?--GPT 4


太湖骑行环湖之旅

这篇博客详细规划了一次四天的苏州太湖自行车骑行之旅。旅程从苏州碧桂园云栖隐山开始,经过苏州湾梦幻水世界,最后到达明康汇太湖农业中心,全程约80公里。第二天的行程是从明康汇太湖农业中心出发,途经长兴太湖博物馆,最后到达宜兴太湖阳光度假村,全程约85公里。第三天的行程从宜兴太湖阳光度假村出发,途经宜兴市第五人民医院,最后到达无锡太湖鼋头渚风景区,全程约70公里。最后一天,从无锡太湖鼋头渚风景区出发,经过苏州北太湖旅游度假区,最后返回苏州碧桂园云栖隐山,全程约70公里。每天的行程都精心规划了午餐地点和住宿地点,以及预计的开销。这是一次体验自然风光,享受骑行乐趣的旅程。你是否也想尝试一下这样的旅程呢?你认为这样的旅程是否可行?有没有更好的建议或者改进的地方呢?--GPT 4


挑选合适尺寸的显示器

本篇博客主要讨论了如何挑选合适尺寸的显示器,以及如何计算显示器的PPI(每英寸像素数量)。文章首先解释了PPI的重要性,它决定了显示器的像素密度,影响着显示的文字大小。为了缓解文字过大或过小的问题,用户往往会使用缩放功能,但非整数倍缩放可能导致非矢量内容产生锯齿。因此,合理的挑选显示器,并合理的使用缩放功能非常重要。 文章接下来详细解释了如何挑选显示器,特别强调了显示器的PPI应尽可能是96的整数倍,以便操作系统使用整数缩放。文章还提供了计算显示器尺寸和PPI的C#代码,以及如何使用这些代码来评估显示器缩放比例。 文章最后通过几个实际的显示器例子,如LG OLED 42C2、Surface Studio 2+和Apple Studio Display等,解释了如何通过计算PPI和尺寸来确定最佳的缩放比例。 这篇文章非常适合那些在挑选显示器时感到困惑,或者对显示器的PPI和尺寸有疑问的读者。你是否曾经因为显示器的文字大小不合适而感到困扰?你是否知道如何计算你的显示器的PPI和尺寸?你的显示器是否使用了最佳的缩放比例?阅读全文,你将找到答案。--GPT 4

C# .NET Display Monitor Resolution