AI 大模型与智能应用
实践与技术

专注分享 AI 大模型、Agent 开发、深度学习等技术实战与架构设计;兼具 C#/.NET 后端开发经验

113
技术文章
8
文章分类
512
技术标签
29029
累计字数
git命令备忘系列(二) - 配置文件操作(config)
工具与效率
2021-01-08 0k

git命令备忘系列(二) - 配置文件操作(config)

.gitconfig 配置文件 .giconfig配置文件 共三个 system(系统):C:\Program Files\Git\mingw64\etc\gitconfig,系统中所有用户都会生效 global(全局):C:/Users/当前用户/.gitconfig当前系统用户下生效 local(本地):项目路径/.git/config配置仅在当前项目生效 不同的系统路径可能不一样,可以通过:git config -e --system 和git config -e --global找到路径 优先级:local > global > system 常用命令: # 配置 git config --global user.name "用户名" # 配置用户名 git config --global user.email "用户邮箱" # 配置邮箱 git config --global core.editor 编辑器 # 配置编辑器,模式使用vi或者vim # 查看配置 git config --global user.name # 查看配置的用户名 git config --global user.email # 查看配置的邮箱 # 查看所有配置列表 git config --global --list # 查看全局设置相关参数列表 git config --local --list # 查看本地设置相关参数列表 git config --system --list # 查看系统配置参数列表 git config --list # 查看所有Git的配置(全局+本地+系统) .

git git配置 .gitconfig
阅读更多
git命令备忘系列(一) - 基础命令使用
工具与效率
2021-01-06 0k

git命令备忘系列(一) - 基础命令使用

1、克隆项目到本地 git clone https://github.com/raikay/gittest.git 2、拉取最新 git pull 3、添加文件到暂存区 git add 文件名 # 指定文件。 git add . # 将当前工作区的所有文件都加入暂存区 4、将缓存区的内容提交到本地仓库 git commit -m "提交说明" git commit --amend #追加/修改上次提交、不新增提交记录 5、查看工作区与缓存区的状态「git status」 git status 6、推送到远程分支 git push git push origin branch1 #多个仓库时,指定origin仓库下 branch1分支 7、获取帮助 「help」 git 命令 -h 8、强制覆盖本地 // 从远程仓库下载最新版本 git fetch -all // 将本地设为刚获取的最新的内容 git reset --hard origin/master 9、本地已有项目 初始化操作 初始化基础文件:git init 添加到暂存区:git add . 提交到本地仓库:git commit -m 'init' 添加远程远程仓库地址:git remote add origin https://github.

git 版本控制 git基础命令
阅读更多
ESP8266包括NodeMcu说明文档和每个版本属性对比图、管脚资料工具
嵌入式
2021-01-05 0k

ESP8266包括NodeMcu说明文档和每个版本属性对比图、管脚资料工具

规格书/管脚说明/文档 安信可官网 各类ESP8266模组规格书汇总 安信可官网 NodeMcu规格书 安信可官网 ESP8266资源汇总 Wemos官方文档 Arduino-ESP8266官方文档 个人收集 工具/驱动等资源下载 ESP8266 版本对比图 图片来自安信可官网 NodeMcu NodeMcu引脚以及区别见:CP2102版和CH340版两种NodeMcu的区别和HW-628有什么不同 Wemos D1 R3 对应引脚 static const uint8_t PIN_D0 = 3; //RX static const uint8_t PIN_D1 = 1; //TX static const uint8_t PIN_D2 = 16; static const uint8_t PIN_D3_D15 = 5; //SCL static const uint8_t PIN_D4_D14 = 4; //SDA static const uint8_t PIN_D5_D13 = 14; //SCK static const uint8_t PIN_D6_D12 = 12; //MISO static const uint8_t PIN_D7_D11 = 13; //MOSI static const uint8_t PIN_D8 = 0; static const uint8_t PIN_D9_LED = 2; //LED static const uint8_t PIN_D10 = 15; //SS static const uint8_t PIN_A0 = 17; static const uint8_t PIN_RX = 3; static const uint8_t PIN_TX = 1; static const uint8_t PIN_SCL = 5; static const uint8_t PIN_SDA = 4; static const uint8_t PIN_SCK = 114; static const uint8_t PIN_MISO = 12; static const uint8_t PIN_MOSI = 13; static const uint8_t PIN_SS = 15; static const uint8_t PIN_LED = 2; Wemos D1 mini 引脚图 引脚对应表 Pin Function ESP-8266 Pin TX TXD TXD RX RXD RXD A0 Analog input, max 3.

esp8266 NodeMcu Arduino
阅读更多
 阿里云容器镜像服务提交代码自动构建Docker镜像教程
运维与DevOps
2020-12-15 0k

阿里云容器镜像服务提交代码自动构建Docker镜像教程

创建命名空间 创建仓库镜像 如果没有绑定账号,根据提示绑定一下账号,然后选择你的项目即可 镜像仓库–在对应的镜像 点击 【管理】 添加构建规则 这个镜像版本号建议 latest 在构建的时默认是latest 比如 # 默认 docker run -p 8000:80 --name mynginx -d nginx # 指定镜像版本 docker run -p 8000:80 --name mynginx -d nginx:1 现在每次提交代码到master会自动触发构建,也可以手动 立即构建

dotnet docker 阿里云
阅读更多
Node.js包管理工具Yarn、npm安装以及常用命令
前端开发
2020-12-14 0k

Node.js包管理工具Yarn、npm安装以及常用命令

npm NodeJs自带的工具,无需单独安装 # 安装nodejs yum install -y nodejs # 查看安装的版本 node -v # 安装n管理包,安装指定的nodejs版本 npm install -g n # 更新NodeJs版本 # 安装最新版本 n latest # 安装指定定版本 n 8.11.3 如果某些项目编译时提示安装Visual C ++ Build Tools 2017、.net framework 4.5.1、python2.7 执行命令: npm install --global --production windows-build-tools yarn的安装: 下载node.js,使用npm安装 npm install -g yarn #查看版本: yarn --version yarn 淘宝源安装,分别复制粘贴以下代码行到黑窗口运行即可 yarn config set registry https://registry.npm.taobao.org -g yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g 鸣谢:

前端 Node.js Yarn
阅读更多
NPOI 根据模板导出 word文档
后端开发
2020-11-21 0k

NPOI 根据模板导出 word文档

文档模板: 单一字段替换:#batchNo# 需要循环的表格:$mx.NTime$ 生成后文档: 调用方式: NpoiHeplper.Export("OffShelfInfoTemplate.doc", $"new{dt}.doc", data); data数据为字典格式 var dt = DateTime.Now.ToString("yyyyMMddHHmmss"); Dictionary<string, object> data = new Dictionary<string, object>(); List<Dictionary<string, object>> list = new List<Dictionary<string, object>>(); Dictionary<string, object> item1 = new Dictionary<string, object>(); item1.Add("NTime", "2020-11-21"); item1.Add("StoreName", "先南小吃"); item1.Add("Addres", "北京昌平区中街211"); item1.Add("Num", "5"); item1.Add("Name", "杨过"); list.Add(item1); // new item2 item3 item4... //list.Add(item2); //list.Add(item3); //list.Add(item4); //new xqList data.Add("batchNo", $"No.{DateTime.Now.ToString("ddHHmmss")}"); data.Add("noticeTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); data.Add("userName", "张三"); data.Add("ApprovalDate", DateTime.Now.ToString("yyyy-MM-dd")); data.Add("mx", list); //data.Add("xq", xqList); 主要代码: /// <summary> /// 输出模板word文档 /// </summary> /// <param name="tempFilePath">docx文件路径</param> /// <param name="outPath">输出文件路径</param> /// <param name="data">字典数据源</param> public static void Export(string tempFilePath, string outPath, Dictionary<string, object> data) { using (FileStream stream = File.

dotnet NPOI Word文档
阅读更多
DotNet Core 项目 添加Swagger 自动构建接口文档
后端开发
2020-06-08 0k

DotNet Core 项目 添加Swagger 自动构建接口文档

1、NuGet引用 Swashbuckle.AspNetCore 2、Startup类中ConfigureServices函数添加代码 #region Swagger public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); #region Swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info { Version = "1.0", Title = "SwaggerDemo API", Description = "SwaggerDemo文档", TermsOfService = "None", Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "SwaggerDemo", Email = "raikay@163.com", Url = "http://www.raikay.cn/" } }); }); #endregion } #endregion 3、启动Http中间件:编辑Configure类 public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } #region Swagger app.UseSwagger(); app.UseSwaggerUI(c => { c.

dotnet swagger .NET Core
阅读更多
使用BaGet搭建自己的Nuget服务器
运维与DevOps
2020-05-17 0k

使用BaGet搭建自己的Nuget服务器

一、下载部署BaGet BaGet下载地址:https://github.com/loic-sharma/BaGet 可以自己编译,也可以下载作者提供的Release版本 二、下载安装Nuget Nuget.exe 下载地址:https://dist.nuget.org/win-x86-commandline/latest/nuget.exe Nuget安装后还需要配置环境变量 三、打包Nuget 在项目.csproj目录中打开cmd 或者powershell 并执行:nuget spec 用文本编辑器将上述命令执行完成的.nuspec 文件进行编辑 <?xml version="1.0"?> <package > <metadata> <id>Dongteng</id> <version>1.0.0</version> <title>ceshiceshi</title> <authors>Dongteng</authors> <owners>$author$</owners> <licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl> <projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl> <iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>dongteng test</description> <releaseNotes>Summary of changes made in this release of the package.</releaseNotes> <copyright>Copyright 2019</copyright> <tags>Tag1 Tag2</tags> </metadata> </package> 根据实际的需求修改,一般修改id、version、authors、`description等 修改完以上信息后执行命令:nuget pack,进行打包.正常结果如下 也可以使用bat脚本执行 nuget-publish.cmd : @echo off echo *******************clean nupkg******************* del /S *.nupkg del /S *.nuspec echo *******************building******************* dotnet build echo *******************pack nupkg******************* dotnet pack echo *******************publish nupkg******************* dotnet nuget push **/*.

NuGet BaGet 包管理
阅读更多
什么是JWT? Json Web Token介绍
后端开发
2020-05-16 0k

什么是JWT? Json Web Token介绍

什么是jwt? JWT 英文名是 Json Web Token ,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用在跨域身份验证。 JWT 以 JSON 对象的形式安全传递信息。因为存在数字签名,因此所传递的信息是安全的。 由三部分组成: Header(头部) Payload(数据) Signature(签名) JWT=头部编码+数据编码+加密(头部编码+数据编码+key) 编码采用base64编码,加密采用头部alg声明编码方式加密 一:头部(Header) JWT 头描述了 JWT 元数据,是一个 JSON 对象,它的格式如下: {"typ":"JWT","alg":"HS256"} 这里的 alg 属性表示签名所使用的算法,JWT 签名默认的算法为 HMAC SHA256 , alg 属性值 HS256 就是 HMAC SHA256 算法。typ 属性表示令牌类型,这里就是 JWT。 Base64编码后是下面这样: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 二:载荷(playload) 有效载荷是 JWT 的主体,同样也是个 JSON 对象。有效载荷包含三个部分: 1、标准注册声明: 标准注册声明不是强制使用是的,但是我建议使用。它一般包括以下内容: iss:jwt的签发者/发行人; sub:主题; aud:接收方; exp:jwt过期时间; nbf:jwt生效时间; iat:签发时间 jti:jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。 2、公共声明: 可以在公共声明添加任何信息,我们一般会在里面添加用户信息和业务信息,但是不建议添加敏感信息,因为公共声明部分可以在客户端解密。 3、私有声明: 私有声明是服务器和客户端共同定义的声明,同样这里不建议添加敏感信息。 下面这个代码段就是定义了一个有效载荷: {"sub":"1234567890","name":"John Doe","admin":true} Base64编码: eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9 三:签名(signature) 这个部分主要是确保数据不会被篡改,需要base64加密后的header和base64加密后的payload使用.

JWT 单点登录 http
阅读更多
使用docker安装部署gitlab实例
运维与DevOps
2020-04-08 0k

使用docker安装部署gitlab实例

安装Gitlab 1、拉取镜像 # gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本 docker pull gitlab/gitlab-ce 2、创建映射目录 mkdir -p /home/gitlab/config #创建config目录 mkdir -p /home/gitlab/logs #创建logs目录 mkdir -p /home/gitlab/data #创建data目录 3、运行镜像 强烈建议80端口不要映射其他端口, http clone 那里生成的地址不带映射端口 docker run -d -p 443:443 -p 80:80 -p 222:22 \ --name gitlab --restart always \ -v /home/gitlab/config:/etc/gitlab \ -v /home/gitlab/logs:/var/log/gitlab \ -v /home/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce 参数说明: 参数名称 简写 参数说明 detach d 后台运行 hostname 指定主机地址,如果有域名可以指向域名 publish p 将容器内部端口向外映射,左边代表宿主机的端口,右边代表容器端口 name 容器名称 restart always 总是重启 volume v 将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录 4、配置

gitlab docker 代码托管
阅读更多