上一页 1 2 3 4 5 6 ··· 12 下一页
摘要: Semantic Kernel 是一种轻量级应用开发框架,用于快速开发融合 LLM AI的现代应用。以下简称SK 名词解释 LLM:大语言模型 Prompt:简单的理解它是给 AI 模型的指令。 Prompt Engineering:中文意思为提示工程,是一种人工智能(AI)技术,它通过设计和改进 阅读全文
posted @ 2023-07-06 15:12 .Neterr 阅读(1053) 评论(0) 推荐(0)
摘要: 在C#中,可以使用CancellationToken来优雅地关闭线程。CancellationToken是一个结构体,用于向线程发送信号以请求线程停止运行。以下是一个使用CancellationToken的示例代码: ``` using System; using System.Threading; 阅读全文
posted @ 2023-06-27 16:16 .Neterr 阅读(245) 评论(0) 推荐(0)
摘要: .NET 是一个非常强大的框架,它允许开发人员管理来自各种源(如 JSON 文件、环境变量等)的应用程序设置。但是,有时开发人员需要一种方法来引用和替换其他设置中的配置值,以避免在多个地方维护相同的值,从而使配置文件变得混乱和难以维护。 为了解决这个问题,我们可以使用 GSoft.Extension 阅读全文
posted @ 2023-06-20 17:34 .Neterr 阅读(50) 评论(0) 推荐(0)
摘要: 在 ASP.NET Core 中,内置了非常强大的依赖注入容器功能。但是,如果不正确使用,也可能会引起一些问题。 问题 下面我们通过一段示例代码来说明这个问题。 public interface IServiceA{ string Get();}public interface IServiceB{ 阅读全文
posted @ 2023-06-20 17:25 .Neterr 阅读(38) 评论(0) 推荐(0)
摘要: 在这个系列中,我将探索一下 .NET 6 中的一些新特性。已经有很多关于 .NET 6 的内容,包括很多来自 .NET 和 http://ASP.NET 团队本身的文章。在这个系列中,我将探索一下这些特性背后的一些代码。 在这第一篇文章中,来研究一下 ConfigurationManager 类,讲 阅读全文
posted @ 2023-06-20 15:42 .Neterr 阅读(338) 评论(0) 推荐(0)
摘要: 前言 我们知道在 ASP.NET Core 中,内置了一个依赖注入容器,可用于注册和解析服务。 在注册服务时,我们需要指定服务的生命周期: Transient:每次请求服务时都会创建一个新的实例。 Scoped:每次请求服务时都会创建一个新的实例,但在同一个请求内,每次请求服务时都会使用同一个实例。 阅读全文
posted @ 2023-06-19 20:53 .Neterr 阅读(28) 评论(0) 推荐(0)
摘要: 获取数据类型 type(val) if type(1) == int: print('1是int类型') if type('hello') == str: print('1是字符串类型') if type(1.5) == float: print('1是float类型') if type([1,2] 阅读全文
posted @ 2023-05-05 13:59 .Neterr 阅读(41) 评论(0) 推荐(0)
摘要: python包 python包用于管理python模块,将一批模块归为一类,方便使用 从物理上看,包就是一个文件夹,文件夹中必须包含一个__init__.py文件,该文件夹可用于包含多个模块文件; 从逻辑上看,包的本质依然是模块 导入包 import 包名.模块名 from 包名 import 模块 阅读全文
posted @ 2023-04-22 23:07 .Neterr 阅读(40) 评论(0) 推荐(0)
摘要: 对于我们程序员来说,在日常开发项目中,调用外部的命令是非常常见的,比如调用批处理命令、调用其他应用,这里面就涉及到进程的通讯、管理、启动、取消等一些操作,今天给大家推荐一个C#库,就可以满足这些日常的需求,避免重复造轮子。 项目简介 这是基于.NetCore 开发的C#库,一个用于与外部命令行界面交 阅读全文
posted @ 2023-04-11 14:27 .Neterr 阅读(596) 评论(0) 推荐(0)
摘要: Intro dotnet-exec是一个可以执行 C# 程序而不需要项目文件的命令行工具,并且你可以指定自定义的入口方法不仅仅是Main方法 在 python/NodeJs 里,可以使用python xx.py/node xx.js来运行代码,在 C# 中一般是需要项目文件才能dotnet run运 阅读全文
posted @ 2023-04-11 09:51 .Neterr 阅读(252) 评论(0) 推荐(0)
摘要: 访问者模式介绍 最复杂的设计模式,并且使用频率不高 访问者模式是一种将数据操作和数据结构分离的设计模式。 访问者模式的使用场景 对象结构比较稳定,但经常需要在此对象结构上定义新的操作。 需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免这些操作“污染”这些对象的类,也不希望在增加新 阅读全文
posted @ 2023-04-07 15:00 .Neterr 阅读(35) 评论(0) 推荐(0)
摘要: 背景 在三方接口对接中,偶尔会遇到需要传递证书的情况,这种方式其实是在SSL握手过程中会同时验证客户端和服务器的身份,这就是我们常说的 双向认证。 双向认证需要服务器和客户端提供身份认证,只能是服务器允许的客户方能访问,安全性相对于要高一些。 下面老黄用几个小例子来演示一下双向认证的简单应用。 准备 阅读全文
posted @ 2023-04-06 15:02 .Neterr 阅读(407) 评论(0) 推荐(0)
摘要: 简介 ImageSharp 是一个全新的、功能齐全的、完全托管的、跨平台的 2D 图形库。ImageSharp 旨在简化图像处理,为您带来了一个功能强大而又非常简单的 API。 可以实现很多功能,如:缩放,裁剪,绘画,组合图片等 支持的图像格式: Bmp Gif Jpeg Pbm Png Tiff 阅读全文
posted @ 2022-12-22 18:23 .Neterr 阅读(5575) 评论(1) 推荐(0)
摘要: 基于非对称加密实现接口的安全开放(openapi的实现) 方案一:仅采用非对称加密 方案二:采用非对称加密+对称加密 iOS App签名原理 一、简单的签名原理: 目的:保证每个App都是经过苹果公司官方认证的 背景:因为手机和系统都是苹果公司生产的,所以苹果公司可以在手机上内置公钥,然后在App 阅读全文
posted @ 2022-11-26 09:29 .Neterr 阅读(148) 评论(0) 推荐(0)
摘要: Portainer Docker图形化界面管理工具 docker run -d -p 8087:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portain 阅读全文
posted @ 2022-11-13 15:16 .Neterr 阅读(42) 评论(0) 推荐(0)
摘要: 通过docker安装 docker run -d -p 27017:27017 --name mongo01 -v /docker/mongo/config:/data/configdb -v /docker/db:/data/dbmongo -e MONGO_INITDB_ROOT_USERNAM 阅读全文
posted @ 2022-11-03 17:44 .Neterr 阅读(36) 评论(0) 推荐(0)
摘要: 操作流程 1. 安装Nodejs 2. 配置npm镜像源、缓存目录 3. 安装vue cli脚手架(可能不需要) 4. 创建vue项目 参考vue官网 5. 运行项目 参考vue官网 如果提示Cannot find package,运行npm install命令安装项目依赖包 其他命令 卸载脚手架 阅读全文
posted @ 2022-11-01 00:01 .Neterr 阅读(35) 评论(0) 推荐(0)
摘要: 介绍 在 ASP.NET Core MVC 应用程序中调用AddMvc()或AddMvcCore()添加的标准服务之一是 ApiExplorer。通过调用services.AddApiExplorer()将 ApiExplorer 服务添加到您的应用程序中 ApiExplorer 功能是Micros 阅读全文
posted @ 2022-10-16 16:17 .Neterr 阅读(468) 评论(0) 推荐(0)
摘要: `Swashbuckle.AspNetCore.Annotations`包括一组可应用于Controller、Action和Model的自定义属性,以丰富生成的 Swagger #### 安装Nuget ``` install-package Swashbuckle.AspNetCore.Annot 阅读全文
posted @ 2022-10-16 09:24 .Neterr 阅读(1280) 评论(0) 推荐(0)
摘要: 生成器将在单个 Swagger 文档中包含所有 API 操作。但是,如有必要,您可以创建多个文档。例如,您可能希望每个 API 版本都有一个单独的文档。 案例 添加服务、中间件(v1、v2) builder.Services.AddSwaggerGen(options => { //定义多个Swag 阅读全文
posted @ 2022-10-16 08:40 .Neterr 阅读(422) 评论(0) 推荐(1)
摘要: 什么是Swagger/OpenAPI Swagger是为帮助我们生成webapi文档的工具,可以直接从您的路由、控制器和模型生成漂亮的 API 文档 Swagger 是一个与语言无关的规范,用于描述 REST API。Swagger 项目已捐赠给 OpenAPI 计划,现在它被称为OpenAPI。 阅读全文
posted @ 2022-10-16 08:37 .Neterr 阅读(661) 评论(0) 推荐(1)
摘要: IPTools IPTools 是一个用于快速查询全球 IP 地址信息的库,支持国内和国际 IP 查询,提供详细的地理位置信息(如国家、省份、城市)以及经纬度等数据。 https://mp.weixin.qq.com/s/LYcQJF6fJYPMgKaKyFcp5A MaxMind https:// 阅读全文
posted @ 2022-09-06 18:36 .Neterr 阅读(14) 评论(0) 推荐(0)
摘要: 概念 RPC 远程过程调用(远程函数调用) GRPC google开发,跨语言RPC,用来解决微服务通信性能和扩展问题 跨语言:通过Protobuffer文件(通用文件)解决跨语言问题的 高并发:GRPC基于http/2协议,多路复用机制(服务端一个线程可以连接任意数量客户端请求) webapi缺陷 阅读全文
posted @ 2022-09-03 22:10 .Neterr 阅读(334) 评论(0) 推荐(0)
摘要: 后台运行项目 安装dotnet core sdk https://dotnet.microsoft.com/en-us/download/dotnet/6.0 创建项目 dotnet new mvc -o ./app1 cd app1 # 发布项目 dotnet publish -o ../app1 阅读全文
posted @ 2022-08-28 23:44 .Neterr 阅读(267) 评论(0) 推荐(0)
摘要: grep命令 grep是行过滤工具;用于根据关键字进行行过滤 语法: grep [选项] '关键字' 文件名 常见选项 -i: 不区分大小写 -v: 查找不包含指定内容的行,反向选择 -w: 按单词搜索 -o: 打印匹配关键字 -c: 统计匹配到的行数 -n: 显示行号 -r: 逐层遍历目录查找 - 阅读全文
posted @ 2022-08-07 09:55 .Neterr 阅读(500) 评论(0) 推荐(0)
摘要: API Demo 查数量 //count:数量 { var countResponse1 = client.Count<ElasticUserModel>(c => c.Index("index13")); var countResponse2 = client.Count<ElasticUserM 阅读全文
posted @ 2022-07-31 22:48 .Neterr 阅读(724) 评论(0) 推荐(0)
摘要: API Demo 索引(添加) var settings = new ConnectionSettings(new Uri("http://****:9200/")).DefaultFieldNameInferrer(name => name); var client = new ElasticCl 阅读全文
posted @ 2022-07-28 20:42 .Neterr 阅读(334) 评论(0) 推荐(0)
摘要: NEST映射方式 自动映射(从POCO属性类型推断) 在创建索引或通过Put Mapping API创建映射时,NEST提供了一个称为自动映射的功能,可以从您正在映射的CLR POCO属性类型自动推断出正确的Elasticsearch字段数据类型。 //自动映射(AutoMap()) { var s 阅读全文
posted @ 2022-07-27 21:03 .Neterr 阅读(420) 评论(0) 推荐(0)
摘要: # 介绍 JSON Schema是一个用于验证JSON数据的强大工具,可校验json格式和数据值 # 入门案例 安装Nuget ``` Install-package Newtonsoft.Json.Schema ``` 代码: ``` { string json = @"{ 'name':'fan 阅读全文
posted @ 2022-07-16 08:39 .Neterr 阅读(882) 评论(0) 推荐(1)
摘要: rules .gitlab-ci.yml 的 rules 配置,能让我们根据自定义的筛选条件,控制 job 是否执行: 这段脚本我只想在 dev 分支执行,另一段只想在 master 分支执行; 这段脚本我只想在 master 分支上打 tag 的时候触发,其他情况不触发; 这段脚本我只想在 这些文 阅读全文
posted @ 2022-06-26 15:48 .Neterr 阅读(1150) 评论(0) 推荐(0)
摘要: 介绍 Elasticsearch 官方为 .NET 提供了 2 个官方客户端库:Elasticsearch.Net 和 NEST。 Elasticsearch.Net 和 NEST 对比说明: 可以简单理解为 Elasticsearch.Net 是 NEST 的一个子集。 NEST 内部使用了 El 阅读全文
posted @ 2022-06-23 23:05 .Neterr 阅读(869) 评论(0) 推荐(0)
摘要: yield 关键字向编译器指示它所在的方法是迭代器块 yield 关键字与 return 关键字结合使用,向枚举器对象提供值。 这是一个返回值,例如,在 foreach 语句的每一次循环中返回的值。 yield 关键字也可与 break 结合使用,表示迭代结束。 例子: yield return < 阅读全文
posted @ 2022-06-19 23:40 .Neterr 阅读(299) 评论(0) 推荐(0)
摘要: 索引API 获取索引 var settings = new ConnectionSettings(new Uri("http://****:9200/")); var client = new ElasticClient(settings); { var getIndexResponse = cli 阅读全文
posted @ 2022-06-16 23:32 .Neterr 阅读(166) 评论(0) 推荐(0)
摘要: 介绍 ASP.NET Core 数据保护提供简单易用的加密 API,开发人员可以使用它来保护数据,包括密钥管理。 Data Protection(数据安全)机制:为了确保Web应用敏感数据的安全存储,该机制提供了一个简单、基于非对称加密改进的加密API用于数据保护。 它不需要开发人员自行生成密钥,它 阅读全文
posted @ 2022-06-12 19:55 .Neterr 阅读(1832) 评论(0) 推荐(0)
摘要: 变量基础知识 定义变量不加$,使用变量加$ your_name="qinjx" echo $your_name # 或${your_name} 数值运算:$((表达式)) 案例: cc=$((aa + bb)) declare 选项: - --给变量设定类型属性 + --取消变量类型属性 -i -- 阅读全文
posted @ 2022-06-12 15:31 .Neterr 阅读(140) 评论(0) 推荐(0)
摘要: 索引名称推断 //索引名推断的3种方式 { var connectionSettings = new ConnectionSettings(new Uri("http://123.56.57.211:9200")); //方式1、默认索引库 connectionSettings.DefaultInd 阅读全文
posted @ 2022-06-11 00:47 .Neterr 阅读(89) 评论(0) 推荐(0)
摘要: 比如压缩流、加密流,这些流不仅有Stream的所有特征,还有自己的个性。它们不仅继承Stream类,还引用Stream类。这些通过"装饰器模式"来实现的流包括:BufferedStream, DeflateStream, GZipStream, CryptoStream, AuthenticateS 阅读全文
posted @ 2022-06-06 21:03 .Neterr 阅读(84) 评论(0) 推荐(0)
摘要: FileStream FileStream流继承于Stream类,代表一个文件流,使用FileStream类可以对文件进行读取、写入、打开和关闭操作 常用构造函数: public FileStream(string path, FileMode mode, FileAccess access); 参 阅读全文
posted @ 2022-06-05 20:27 .Neterr 阅读(551) 评论(0) 推荐(0)
摘要: TextReader 抽象类,它是StreamReader的父类, TextReader重要成员 void Close()方法 和上篇Stream一样,TextReader也有Close方法,我们必须牢记,在用完之后应该主动关闭它 void Dispose()方法 释放所有该TextReader 所 阅读全文
posted @ 2022-06-05 09:47 .Neterr 阅读(358) 评论(0) 推荐(0)
摘要: Stream 代表一个流,抽象类 Stream重要成员 CanRead: 只读属性,判断该流是否能够读取: CanSeek: 只读属性,判断该流是否支持跟踪查找 CanWrite: 只读属性,判断当前流是否可写 Flush()方法 当我们使用流写文件时,数据流会先进入到缓冲区中,而不会立刻写入文件, 阅读全文
posted @ 2022-06-04 19:06 .Neterr 阅读(1048) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 12 下一页