友链朋友圈

Aliluya Blog

私有化部署爱盼搜索

文章介绍了爱盼搜索(AIPAN Resource Navigator)的私有化部署方法。这一现代化资源管理与分享平台基于 Next.js 13+ 和 TypeScript 构建,提供直观的管理、分类和分享功能,包括实时搜索和个性化收藏。然而,文章也提醒用户在截至2024年12月之前,后台登录可能存在异常问题。部署步骤详细列出了创建目录、编写配置文件并设置必要的环境变量等流程,最后通过执行 `docker-compose up -d` 命令启动服务。同时,用户如若无法获取代码,可以通过爱发电平台购买相关代码压缩包。

新·都在

私有化部署爱盼搜索

文章介绍了爱盼搜索(AIPAN Resource Navigator)的私有化部署方法。这一现代化资源管理与分享平台基于 Next.js 13+ 和 TypeScript 构建,提供直观的管理、分类和分享功能,包括实时搜索和个性化收藏。然而,文章也提醒用户在截至2024年12月之前,后台登录可能存在异常问题。部署步骤详细列出了创建目录、编写配置文件并设置必要的环境变量等流程,最后通过执行 `docker-compose up -d` 命令启动服务。同时,用户如若无法获取代码,可以通过爱发电平台购买相关代码压缩包。

新·都在

【CSharp】使用Fleck库实现WebSocket服务

前言 最近公司有个项目需要用C/S架构的桌面应用程序与B/S架构的网页程序进行通信做数据的交互功能。在网上查了一下资料,发现 Fleck 实现一个WebSocket服务竟然如此简单明了,于是在此记录和整理了一下 Fleck 实现WebSocket服务的简单应用,希望对你有所帮助。 简介 Fleck 是一个用C#编写的轻量级WebSocket服务器库,它易于使用且高性能,同时保持代码的简洁性。 特点: 无需继承:Fleck不需要你继承任何类,也不需要依赖于容器或额外的引用。 无依赖:Fleck不依赖于HttpListener或HTTP.sys,这意味着它可以在Windows 7和Server 2008主机上工作。 跨平台:由于不依赖于HttpListener,Fleck可以在非Windows平台上运行。 使用 安装Fleck 通过NuGet包管理器安装Fleck库 Install-Package Fleck 创建WebSocket服务器 以下是一个简单的WebSocket服务器示例: using Fleck; using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading.Tasks; namespace WebSocketServiceDemo { public class WebSocketService { /// <summary> 客户端url以及其对应的Socket对象字典 </summary> public IDictionary<string, IWebSocketConnection> dic_Sockets = new Dictionary<string, IWebSocket...

【CSharp】使用Fleck库实现WebSocket服务

前言 最近公司有个项目需要用C/S架构的桌面应用程序与B/S架构的网页程序进行通信做数据的交互功能。在网上查了一下资料,发现 Fleck 实现一个WebSocket服务竟然如此简单明了,于是在此记录和整理了一下 Fleck 实现WebSocket服务的简单应用,希望对你有所帮助。 简介 Fleck 是一个用C#编写的轻量级WebSocket服务器库,它易于使用且高性能,同时保持代码的简洁性。 特点: 无需继承:Fleck不需要你继承任何类,也不需要依赖于容器或额外的引用。 无依赖:Fleck不依赖于HttpListener或HTTP.sys,这意味着它可以在Windows 7和Server 2008主机上工作。 跨平台:由于不依赖于HttpListener,Fleck可以在非Windows平台上运行。 使用 安装Fleck 通过NuGet包管理器安装Fleck库 Install-Package Fleck 创建WebSocket服务器 以下是一个简单的WebSocket服务器示例: using Fleck; using System; using System.Collections.Generic; using System.Diagnostics; using System.Threading.Tasks; namespace WebSocketServiceDemo { public class WebSocketService { /// <summary> 客户端url以及其对应的Socket对象字典 </summary> public IDictionary<string, IWebSocketConnection> dic_Sockets = new Dictionary<string, IWebSocket...

【CSharp】lock(this)与lock(private object)区别

前言 在使用多线程编程时,我们会对代码关键部分确保其一次只由一个线程执行,对于防止争用条件和保持数据完整性至关重要。在C#中,lock 语句就是用于通过同步对共享资源的访问来实现此目的工具。本文介绍lock(this) 与lock(private object) 两种方法及区别。 简介 lock(this) 与 lock(private object) 两种方法都可用于控制对代码块的访问,但在安全性和意外交互的可能性方面有所不同。正确选择对象进行锁定可能会对代码的安全性和可靠性产生重大影响。 1、lock(this) 使用 lock(this) 时,我们是锁定类的当前实例。也就是说锁被放置在代码当前正在操作的对象上。 public class MessageBox { public void ShowMessage() { lock (this) { // 输出信息 Console.WriteLine("感谢您的支持!"); } } } 上面示例,使用lock(this)确保ShowMessage方法一次只由一个线程对MessageBox的每个实例执行。这将存在被暴露于公开场合的问题。当有其他人也引用此对象,并对其锁定时,这这可能会导致死锁或其他问题。 2、lock(private object) 使用lock(private object)时,我们将锁定一个私有对象,该对象通常是专为此目的而创建的对象的实例。这是一种更安全、更常见的做法。 public class MessageBox { // 定义锁定对象 private readonly object lockobject = new object(); public ...

【CSharp】lock(this)与lock(private object)区别

前言 在使用多线程编程时,我们会对代码关键部分确保其一次只由一个线程执行,对于防止争用条件和保持数据完整性至关重要。在C#中,lock 语句就是用于通过同步对共享资源的访问来实现此目的工具。本文介绍lock(this) 与lock(private object) 两种方法及区别。 简介 lock(this) 与 lock(private object) 两种方法都可用于控制对代码块的访问,但在安全性和意外交互的可能性方面有所不同。正确选择对象进行锁定可能会对代码的安全性和可靠性产生重大影响。 1、lock(this) 使用 lock(this) 时,我们是锁定类的当前实例。也就是说锁被放置在代码当前正在操作的对象上。 public class MessageBox { public void ShowMessage() { lock (this) { // 输出信息 Console.WriteLine("感谢您的支持!"); } } } 上面示例,使用lock(this)确保ShowMessage方法一次只由一个线程对MessageBox的每个实例执行。这将存在被暴露于公开场合的问题。当有其他人也引用此对象,并对其锁定时,这这可能会导致死锁或其他问题。 2、lock(private object) 使用lock(private object)时,我们将锁定一个私有对象,该对象通常是专为此目的而创建的对象的实例。这是一种更安全、更常见的做法。 public class MessageBox { // 定义锁定对象 private readonly object lockobject = new object(); public ...

解决Windows 11 24H2中使用NetSetMan无法访问WiFi管理

前言 在Windows 11 24H2版本中NetSetMan中无法查看WiFi,显示 WLAN 已断开,且自动切换无法正常工作。 解决 在 Windows 11 24H2 中,Microsoft 添加了一项新限制,将对 WiFi API 的访问隐藏在位置隐私设置后面。如果您禁用了桌面应用程序的位置访问权限,则需要手动启用它: Windows >设置>隐私和安全>位置 如果您从未更改过该设置,则 Windows 会在桌面应用程序首次尝试访问 WiFi API 时询问您。

解决Windows 11 24H2中使用NetSetMan无法访问WiFi管理

前言 在Windows 11 24H2版本中NetSetMan中无法查看WiFi,显示 WLAN 已断开,且自动切换无法正常工作。 解决 在 Windows 11 24H2 中,Microsoft 添加了一项新限制,将对 WiFi API 的访问隐藏在位置隐私设置后面。如果您禁用了桌面应用程序的位置访问权限,则需要手动启用它: Windows >设置>隐私和安全>位置 如果您从未更改过该设置,则 Windows 会在桌面应用程序首次尝试访问 WiFi API 时询问您。

更适合新手的 AI 口语对话练习应用—— BabelDuck |好玩儿的Docker项目

1. 唠嗑 随着国际形势的发展,英语的重要性越来越高,(比如开个美卡遇到问题和客服沟通都有问题) 听读能力我们普遍比较强,薄弱的往往是说写能力,而其中的”写“现在又可以用GPT来辅助了,所以这一期我们就来分享一个提高英语的“说“的能力的小工具——BabelDuck。 BabelDuck是一个面向各水平层次语言学习者的高度可定制化 AI 口语对话练习应用,并对初学者更友好,旨在将口语表达练习的门槛与心智负担降至最低。 2. babelduck主要功能( 抄 来自官方GitHub) 支持多对话管理、自定义系统提示词、流式响应等常见 AI 对话功能 可在不影响当前对话的前提下,向 AI 寻求语法、翻译或表达润色等建议,并提供可定制化的快捷指令 在对 AI 提供的建议有疑问时,可开启子对话进一步讨论,讨论结束后可无缝返回原对话 支持语音输入与语音输出,集成了浏览器内置文本转语音 以及 Azure TTS 集成多种 LLM AI 服务,支持自定义第三方 API 服务,可无缝切换(目前只支持OpenAI的API) 数据存储于本地,确保用户数据隐私安全 支持针对不同对话进行单独的偏好设置 提供多语言界面 内置使用教程 支持Docker部署,更新维护方便 🎯 未来规划 对话模板 复述练习模式 移动端适配 语音回放 支持多模态语音 接入更多 LLM/TTS/STT 服务 实时语音模式 更多指令类型 插件系统 3. 相关地址 官方GitHub地址:https://github.com/Orenoid/BabelDuck (全新项目,目前188个star,欢迎大家去给项目点星星!) 4. 搭建环境 服务器:咕咕这边用的莱卡云香港服务器,建议服务器内存1G以上,当然你也可以选择其他高性价比的服务器。 系统:Debian 11 (DD 脚本 非必需 DD,用原来的系统也 OK,之后教程都是用 De...

我不是咕咕鸽

更适合新手的 AI 口语对话练习应用—— BabelDuck |好玩儿的Docker项目

1. 唠嗑 随着国际形势的发展,英语的重要性越来越高,(比如开个美卡遇到问题和客服沟通都有问题) 听读能力我们普遍比较强,薄弱的往往是说写能力,而其中的”写“现在又可以用GPT来辅助了,所以这一期我们就来分享一个提高英语的“说“的能力的小工具——BabelDuck。 BabelDuck是一个面向各水平层次语言学习者的高度可定制化 AI 口语对话练习应用,并对初学者更友好,旨在将口语表达练习的门槛与心智负担降至最低。 2. babelduck主要功能( 抄 来自官方GitHub) 支持多对话管理、自定义系统提示词、流式响应等常见 AI 对话功能 可在不影响当前对话的前提下,向 AI 寻求语法、翻译或表达润色等建议,并提供可定制化的快捷指令 在对 AI 提供的建议有疑问时,可开启子对话进一步讨论,讨论结束后可无缝返回原对话 支持语音输入与语音输出,集成了浏览器内置文本转语音 以及 Azure TTS 集成多种 LLM AI 服务,支持自定义第三方 API 服务,可无缝切换(目前只支持OpenAI的API) 数据存储于本地,确保用户数据隐私安全 支持针对不同对话进行单独的偏好设置 提供多语言界面 内置使用教程 支持Docker部署,更新维护方便 🎯 未来规划 对话模板 复述练习模式 移动端适配 语音回放 支持多模态语音 接入更多 LLM/TTS/STT 服务 实时语音模式 更多指令类型 插件系统 3. 相关地址 官方GitHub地址:https://github.com/Orenoid/BabelDuck (全新项目,目前188个star,欢迎大家去给项目点星星!) 4. 搭建环境 服务器:咕咕这边用的莱卡云香港服务器,建议服务器内存1G以上,当然你也可以选择其他高性价比的服务器。 系统:Debian 11 (DD 脚本 非必需 DD,用原来的系统也 OK,之后教程都是用 De...

我不是咕咕鸽