Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2020.2


Linux Cheatsheet for Windows Users

本篇博客为Windows用户提供了一份Linux操作的速查表,内容包括程序和服务管理、软件包管理、服务管理、更新、启动时自动运行命令、文本编辑、Tmux、Screen、Steam CMD等方面的知识。文章还提供了一些快速提示,如如何计算代码的总行数、获取CSharp文件的总行数、获取启动时间、获取关机事件、找出最长的C#文件等。此外,文章还介绍了如何使用Git仅添加非空白更改、测试磁盘写速度、通过SSH测试传输速度、在不使用wget的情况下下载文件并显示下载的文件等操作。最后,还提供了一些有趣的命令,如在不触及磁盘的情况下加热CPU、获取新的UUID并转换为base64、获取随机4个数字、持续播放当前文件夹下的随机视频等。如果您是一位Windows用户,希望更好地掌握Linux操作,那么本篇博客将会对您有所帮助。在阅读本文后,您是否能更熟练地使用Linux进行各种操作呢?请尝试回答这个问题并探索更多有关Linux的知识。--GPT 4

bash Linux Ubuntu

How to write a bot for Kahla

本篇博客讲述了如何使用Kahla.SDK编写一个Kahla机器人。首先,确保已安装.NET Core SDK。接下来,创建一个新的控制台.NET Core应用,然后为Kahla.SDK添加依赖项。接着创建一个新的C#类,继承`BotBase`类并重写默认的`OnMessage`方法。修改`Program.cs`以启动机器人,然后执行命令以启动机器人。在启动机器人后,使用另一个帐户与之交谈即可。 除此之外,博客还提供了关于依赖注入和高级启动的额外信息。Kahla.Bot支持自定义启动配置,修改`Program.cs`以使用高级启动,并创建一个名为`StartUp`的新类。通过这个类,可以添加自己的服务和配置全局设置。 这篇博客为你提供了一个简单易懂的教程,帮助你编写自己的Kahla机器人。现在,你是否已经跃跃欲试,想要创建一个自己的机器人?你会如何利用这些知识去创造一个有趣且实用的机器人呢?--GPT 4

C# .NET Core Aiursoft Kahla Bot Kahla.SDK Kahla App Console App

Creating a Model for an existing database in Entity Framework Core (DB First)

本文详细介绍了如何在Entity Framework Core中为现有数据库(如SQL Server和MySQL)创建模型(数据库优先)。首先,安装EF(dotnet-ef)工具和相关依赖项。然后,为现有的SQL Server数据库创建一个干净的.NET项目,并使用`dotnet ef dbcontext scaffold`命令反向生成数据库的模型。在命令中,需要填写正确的数据库连接字符串。此外,还可以通过参数`-t TableNameOrViewName`来只反向生成特定表或视图的模型。 对于现有的MySQL数据库,操作步骤类似,可以参考MySQL官方文档中的示例。需要注意的是,使用MySQL时务必使用.NET 5.0,否则可能会出现问题。在完成反向生成后,可以根据需要升级项目。 请注意,在创建模型后,每次更改模型时都需要使用迁移命令来保持数据库与模型的同步。本文提供的方法和示例能帮助你快速地为现有数据库创建模型,从而更好地利用Entity Framework Core进行数据操作。那么,你是否已经准备好尝试这些方法来为你的数据库项目创建模型呢?--GPT 4

C# Entity Framework SQL Server Database Entity Framework Core LINQ

Sync data to database with Entity-Framework Core

本篇博客介绍了如何使用Entity-Framework Core同步数据到数据库。通常,我们可以简单地使用`_dbContext.MyDbSet.Add(myObject)`将数据添加到数据库。但在某些情况下,数据库中可能已经存在一些数据,我们需要删除过时的数据并尝试添加缺失的数据。 文章通过一个具体的例子展示了如何实现数据同步:假设我们有一组数字`1, 1, 2, 2, 3, 3`,而数据库中的数据为`1, 1, 1, 5`。我们需要将数据库中的数据更新为我们期望的数据,即删除第一个`1`和`5`,然后插入`2, 2, 3, 3`。这个过程被称为`DbSet.Sync()`。 首先,我们需要在内存中声明我们需要的数据源模型,然后声明一个新的接口`ISyncable<T>`,并实现该接口。这样可以使数据库源可以映射到实体。接下来,我们需要编写一些扩展方法,允许同步数据。具体实现过程可以参考博客中的示例代码。 最后,在完成上述步骤后,你可以简单地同步你的数据。例如,我们可以使用以下代码将数据同步到数据库: ```csharp var targetCollection = (new int[] { 1, 1, 2, 2, 3, 3 }) // The data you want to sync to database. .Select(t => new MyDataSourceNumber { ValueInMemory = t }) .ToArray(); _dbContext.Numbers.Sync(targetCollection); await _dbContext.SaveChangesAsync(); ``` 使用`Sync`方法,你无需关心具体的过程。它会自动删除过时的数据,并将数据库中的数据更新为你输入的数据,从而实现最小化的数据变更。例如,如果你现有的数据是`2, 3, 4`,它将删除数据`4`并将`1, 1, 2, 3`插入到数据库中。 那么,如何确保我们的数据同步过程更加高效和准确呢?在实际应用中,我们可能需要考虑更多的因素和场景,以满足不同的需求。--GPT 4

C# Entity Framework Database Data Sync

C#获取腾讯云直播的推流地址和观看地址

本文主要讲述了如何在C#中获取腾讯云直播的推流地址和观看地址。由于腾讯云官方只提供了Java和PHP的代码示例,作者首先研究了Java代码中txTime参数的含义,发现其实际上是从1970年到现在的总秒数。接下来,作者通过计算MD5、拼接字符串和转换十六进制等操作,使用C#实现了获取安全URL的功能。 在代码实现中,首先定义了一些常量,包括腾讯云直播的推流域名、播放域名、密钥等。然后,通过GetSafeUrl方法计算安全URL,其中涉及到将日期时间转换为Unix时间戳、计算MD5等操作。最后,将推流地址、观看地址等信息输出到控制台。 通过本文的介绍,读者可以了解到如何在C#环境下实现获取腾讯云直播的推流地址和观看地址的功能,从而在实际项目中实现对接腾讯云直播的需求。那么,除了腾讯云直播,还有哪些其他直播平台可以实现类似功能呢?如何选择适合自己项目的直播解决方案?希望读者在阅读本文后,能够对这些问题有所启发。--GPT 4

C# .NET Core Tencent Cloud Live Streaming China