Anduin Xue

let today = new Beginning();

All Posts


Install Azure CLI on Windows 10 and use it in bash

在这篇博客中,我们将学习如何在Windows 10上安装Azure CLI并在bash中使用它。Azure命令行界面(CLI)是微软为管理Azure资源而设计的跨平台命令行体验。Azure CLI旨在易于学习和上手,同时功能强大,足以成为构建自定义自动化以使用Azure资源的绝佳工具。 Azure CLI可以在Windows,macOS和Linux环境中安装。它还可以在Docker容器和Azure Cloud Shell中运行。 在PowerShell中安装Azure CLI非常简单。只需执行以下命令: Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet' 然后,您可以直接使用它。 但是,如果在git-bash中执行`az`,它会告诉您找不到`az`。这是因为`az`是一个名为az.cmd的文件,因此bash不会将其视为bash中的命令。 那么我们如何在bash中使用az并编写az shell呢? 安装Azure CLI后,使用管理员权限打开一个新的bash实例。 然后执行以下命令: echo \"C:\\Program Files \(x86\)\\Microsoft SDKs\\Azure\\CLI2\\wbin\\az.cmd\" \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \${10} \${11} \${12} \${13} \${14} \${15} > "$SYSTEMROOT\az" 这将在系统根目录下创建一个名为az的新bash可执行文件。 现在尝试在bash中执行az命令。 通过这篇博客,您将了解如何在Windows 10上安装和使用Azure CLI。这将有助于您更好地管理Azure资源并构建自定义自动化。那么,您准备好在bash中使用Azure CLI了吗?--GPT 4

bash Azure Azure CLI PowerShell

Ubuntu bash experience for Windows Terminal without Linux subsystem

本篇博客教你如何在没有Linux子系统的情况下,为Windows终端设置Ubuntu bash体验。首先,你需要安装一个类似于git-bash的Linux风格的shell。然后,安装Windows终端,并将git-bash设置为Windows终端的默认终端。接下来,让主题看起来像Ubuntu风格,允许使用Ctrl + V进行粘贴,并允许在右键上下文菜单中启动WT。 在开始之前,你需要先安装git bash。然后,从Microsoft商店下载新的Windows终端。安装完成后,默认情况下,你将打开一个新的PowerShell会话。要将其更改为bash,请首先打开设置页面。接着,将Ubuntu的颜色主题添加到Windows终端中,并使用该颜色主题。 此外,为了启用Ctrl + V粘贴绑定,请考虑添加相应的键绑定。完成上述步骤后,你可以像在Ubuntu中一样使用Windows终端。你还可以安装PowerShell 7,并运行项目将其添加到具有高级选项的上下文菜单中。 现在,你可以在Windows终端中享受类似于Ubuntu bash的体验。为什么不尝试一下呢?这将如何改变你在Windows上的开发体验?--GPT 4

bash Ubuntu Windows 10 Windows Terminal

Publish app from Azure DevOps to non-global Azure like Azure CN

本篇博客讲述了如何使用Azure DevOps将编译完成的应用发布到非Azure Global环境,例如Azure CN。虽然在Azure全球环境中发布应用非常简单,但在某些情况下,客户可能会使用其他Azure环境,如Azure Arc、Azure政府版和Azure CN。文章详细介绍了如何在这些非全球环境中发布应用。 首先,需要创建一个新的应用注册,并允许Azure DevOps以应用的身份发布应用。然后,为新注册的应用添加一个密钥,并将应用添加到订阅级别角色,以便在订阅范围内管理资源。接下来,在Azure DevOps中添加一个新的服务连接,并选择手动配置以设置自定义的Azure环境名称。 在配置服务连接时,需要填写订阅ID、订阅名称、服务主体ID、密钥和租户ID。这些值可以在订阅详细信息标签页和Azure AD详细信息页面中找到。填写完所有必要信息后,单击验证并保存按钮。 最后,可以在管道上工作并将应用发布到此服务连接。本文通过详细的步骤和截图为读者展示了如何实现这一目标。那么,在面对非全球Azure环境时,是否还会感到困惑呢?或者这篇文章是否为您提供了一个全新的解决方案?快来阅读全文,探索更多有关Azure DevOps和非全球Azure环境的知识吧!--GPT 4

Azure App Service Azure Azure DevOps DevOps Azure CN China

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

Get an ideal flight simulator free based on X-Plane 11 (Free plugins)

本文介绍了一款基于X-Plane 11的免费飞行模拟器,以及一系列免费插件,帮助玩家获得更加真实的飞行体验。首先,文章推荐了Zibo 737飞机模型,该模型具有高度真实的飞行性能和系统。接下来,文章介绍了一系列免费插件,包括AviTab、Terrain Radar、BetterPushBack、HeadShake camera plugin、XTouchDownRecorder、Airport Navigator、Xsquawkbox和X-RASS。这些插件分别提供了平板电脑式的航图显示、地形雷达功能、自动推出系统、摄像头抖动效果、着陆评分记录、机场导航、在线飞行模拟网络和跑道警告系统等功能。通过这些插件,玩家可以获得更加真实、细腻的飞行体验。那么,这些插件是否能满足您对飞行模拟器的需求呢?快来一探究竟吧!--GPT 4

X-Plane Flight simulation Flight Plugins Plane Configuration Free

Tips to get better performance for Entity Framework Core

在这篇博客中,我们将探讨如何优化Entity Framework Core的性能。首先,当构建查询时,如果不需要查询中的所有内容,请使用IQueryable编写代码。如果查询已经构建完毕,且所有查询内容都是必要的,请立即将其转换为列表以避免进一步的IO操作。其次,当查询主键时,使用FirstOrDefault替换SingleOrDefault。由于SingleOrDefaultAsync会转换为“top 2”,而FirstOrDefaultAsync会转换为“top 1”,在主键查询中使用FirstOrDefault可以提高性能。 此外,如果不需要保存更改,请考虑添加AsNoTracking以提高查询性能。同时,尽量避免使用Include,因为它会生成复杂的SQL查询。只选择所需的数据,避免编写Include函数。当使用Select时,也可以省略.Include,因为它在这里不会产生任何效果。 最后,避免客户端评估,因为它会使EF从数据库查询所有数据,速度较慢。例如,在处理DateTime或TimeSpan的复杂计算时,先在代码中计算时间,然后构建查询。遵循这些建议,可以有效地提高Entity Framework Core的性能。 在优化Entity Framework Core性能的过程中,你是否遇到过其他问题?尝试过哪些方法来提高查询性能?请在阅读全文后与我们分享您的经验和看法。--GPT 4

Entity Framework SQL Performance Database

Scan all accessible class in C#

在本篇博客中,我们探讨了如何在C#中获取所有可访问的类。虽然通过调用`GetReferencedAssemblies`方法可以轻松获取到所有引用的程序集,但项目引用是递归的。为了获取所有的类,我们需要构建一个引用树并从整个树中读取。 博客提供了一个名为`ScanAssemblies`的方法,该方法接收一个`Assembly`类型的参数,并返回一个包含所有引用程序集的可枚举集合。通过遍历引用的程序集并递归调用`ScanAssemblies`方法,我们可以构建出完整的引用树。 为了获取所有可访问的类,我们需要加载这些程序集。博客给出了一个名为`AllAccessiableClass`的方法,它首先获取入口程序集,然后调用`ScanAssemblies`方法并对返回的程序集集合进行去重。最后,通过`SelectMany`方法获取每个程序集中的类型并将其添加到一个列表中。 在阅读这篇博客后,你将了解如何在C#中获取所有可访问的类并构建引用树。但在实际应用中,还有哪些场景需要获取所有可访问的类呢?如何优化这个过程以提高性能?希望这篇博客能为你提供一些启示,并引导你自己寻找答案。--GPT 4

C# .NET Core Reflection

Use IIS or Azure App Service as a reverse proxy

In this blog post, we explore the process of setting up a reverse proxy using IIS or Azure App Service. Reverse proxies are beneficial for hiding the origin server's identity and improving performance, security, and load balancing. Before configuring the reverse proxy, it's essential to install IIS and the necessary extensions, such as RequestRouter and Rewrite. Once installed, enable the proxy settings in the IIS management tools and create a new reverse proxy rule by configuring domain bindings and HTTPS certificates. Creating a web.config file under the site root path is crucial for adding rules, such as redirecting HTTP traffic to HTTPS and setting up the real reverse proxy logic. The blog post provides a detailed example of setting up a reverse proxy for Aiursoft.IO and a simpler example for Google.com. To further enhance security, the HSTS feature can be enabled by adding specific code to the web.config file. For deploying the reverse proxy server to Azure App Service, simply ...--GPT 4

IIS web.config Reverse Proxy Web Azure App Service Azure