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

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

113
技术文章
8
文章分类
512
技术标签
29029
累计字数
jQuery给编译后页面中vue变量赋值
前端开发
2022-04-14 0k

jQuery给编译后页面中vue变量赋值

要赋值的input框 <input tabindex="1" type="text" autocomplete="off" placeholder="AppID" name="appId" class="el-input__inner"> 通过name获取对象赋值 $("input[name='appId']").val("24563574-04f5-4a44-848e-84ea81677e34"); 赋值后没有效果,需要触发vue事件 $("input[name='appId']")[0].dispatchEvent(new Event('input'))

JQ vue jQuery
阅读更多
压力测试工具jmeter安装使用
工具与效率
2021-11-26 0k

压力测试工具jmeter安装使用

一、安装jmeter jmeter3.3以上要匹配8.0以上jdk,所以安装前需要先安装JDK。 JDK下载地址: https://www.oracle.com/java/technologies/downloads/#java8-windows 安装后在CMD窗口输入java -version,出现版本号即安装成功。 jmeter下载地址: http://jmeter.apache.org/download_jmeter.cgi 配置环境变量: #添加JMETER_HOME,路径就是jmeter保存的位置 JMETER_HOME=D:\Program Files\apache-jmeter-5.4.1 #添加CLASSPATH CLASSPATH=%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar; #修改path,在后面添加 %JMETER_HOME%\bin cmd窗口输入jmeter运行或者双击bin目录下jmeter.bat 二、使用jmeter 1、新建线程组 在计划右键–新建线程组 如果默认没有计划, 点击菜单种文件–新建计划 线程组控制面板: 线程数:您正在测试的用户数 加速时间:您希望允许线程组从0到N个用户的时间 循环计数:应该循环测试的次数 调度器:测试持续时间,启动延迟时间 2、新建http请求 在线程组右键–添加–取样器–http请求 post json 请求 json数据放到消息体数据中 自定义请求头,在HTTP请求右键–添加–配置原件–HTTP信息头管理器 3、查看结果 线程组–添加–监听器–[察看结果数 / 汇总报告 / 聚合报告]

jmeter 测试
阅读更多
Nginx的基本使用
运维与DevOps
2021-11-18 0k

Nginx的基本使用

什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 反向代理 Nginx 根据接收到的请求的端口,域名,url,将请求转发给不同的机器,不同的端口(或直接返回结果),然后将返回的数据返回给客户端。 安装Nginx #如果缺少依赖,先安装依赖 yum -y install gcc gcc-c++ openssl openssl-devel #下载 wget http://nginx.org/download/nginx-1.20.1.tar.gz #进入服务安装包目录,这里放到了home/server cd /home/server/ #解压tar包 tar -zxvf nginx-1.20.1.tar.gz #进入解压nginx目录 cd nginx-1.20.1 #执行configure进行配置,这里配置可以根据自己项目需要进行自定义配置 ./configure --prefix=/usr/local/nginx --with-http_ssl_module #执行安装 make && make install Nginx配置参数中文详细说明 #定义Nginx运行的用户和用户组 user www www; # #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; # #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /var/log/nginx/error.log info; # #进程文件 pid /var/run/nginx.pid; # #一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致.

nginx 中间件 服务器
阅读更多
linux系统常用基础命令
运维与DevOps
2021-11-15 0k

linux系统常用基础命令

目录操作 #当前目录 pwd # 创建目录 mkdir $HOME/testFolder #切换目录 cd $HOME/testFolder #切换到上一级目录 cd ../ # 移动 mv $HOME/testFolder /var/tmp #删除 rm -rf /var/tmp/testFolder #查看目录下的文件 # /etc 目录默认是 Unix 系统的软件配置文件存放位置 ls /etc #竖着显示查询结果 ls -l / #查看所有目录包括子目录(效果很酷) ls -R / 文件操作 #创建 touch ~/testFile #复制 cp ~/testFile ~/testNewFile #删除 rm ~/testFile #查找名称包含nginx的.conf文件 find / -name '*.conf' |grep nginx #解压: # tar.gz tar tgz tar xzvf FileName.tar.gz #压缩: tar czvf FileName.tar.gz DirName 查看文件 #一、从第3000行开始,显示1000行。即显示3000~3999行 cat filename | tail -n +3000 | head -n 1000 #二、显示1000行到3000行 cat filename| head -n 3000 | tail -n +1000 #----------------------------- #注意两种方法的顺序 # 分解: # tail -n 1000:显示最后1000行 # tail -n +1000:从1000行开始显示,显示1000行以后的 # head -n 1000:显示前面1000行 #-------------------------------- #三、用sed命令 sed -n '5,10p' filename 这样就可以只查看文件的第5行到第10行。 #过滤出 /etc/passwd 文件中包含 root 的记录 grep 'root' /etc/passwd #递归地过滤出 /var/log/ 目录中包含 linux 的记录 grep -r 'linux' /var/log/ #重定向 #可以使用 > 或 < 将命令的输出到一个文件中 echo 'Hello World' > ~/test.

阿里云 流水线 云效Flow 实现持续集成、持续部署(CI/CD)
运维与DevOps
2021-09-22 0k

阿里云 流水线 云效Flow 实现持续集成、持续部署(CI/CD)

新建流水线 选择对应语言,新建流水线 选择代码源 这个代码我托管在云效自带的Codeup 代码结构 设置代码源触发 开启代码源触发,并添加Webhook,Codeup会带动添加,如果是码云、github等其他托管平台,需要手动将下面webhook地址添加到代码托管平台对应的Webhook 配置构建 配置部署 新建主机,部署项目的服务器,如果是集群可以添加多台 如果账号内有阿里云ECS直接选择即可,否则选自有服务器,复制脚本在目标服务器执行 添加部署脚本和变量 脚本 $image变量是配置的镜像仓库地址,在上游构建时,会将构建好的docker镜像推送到这个地址 echo $image #停止正在运行的容器 docker stop apidemo #删除容器 docker rm apidemo #拉取容器 docker pull $image #运行新容器 docker run -d -p 1080:80 --name apidemo $image 完成自动构建、部署 提交代码触发流水线 云效2020文档地址:https://help.aliyun.com/product/150040.html 云效Flow地址:https://flow.aliyun.com/ 云效地址:https://devops.aliyun.com/

dotnet DevOps Linux
阅读更多
jenkins实现dotnet项目持续集成、持续部署(CI/CD)
运维与DevOps
2021-09-21 0k

jenkins实现dotnet项目持续集成、持续部署(CI/CD)

添加节点 这个jenkins是用docker安装的,我们要操作宿主机构建项目,不是这个容器,所以要把这个容器本身的节点停止,添加宿主机节点 断开jenkins容器节点 Master 也可以使用标签限制 新建节点 添加宿主机连接信息 添加宿主机认证用户 生成ssh公钥和私钥 执行:ssh-keygen 一路回车 进入.ssh文件夹: cd .ssh/ id_rsa:私钥 id_rsa.pub:公钥 把公钥写到authorized_keys文件: cat id_rsa.pub > authorized_keys 复制私钥到jenkins cat id_rsa 添加触发器 token可以区分项目 把地址复制到代码托管平台,设置触发 添加构建脚本 Jenkins构建完成会自动关闭进程及其子进程,造成nohup 无效,需要在命令内加参数BUILD_ID=DONTKILLME publish.sh: #!/bin/bash #如果8081被占用杀掉进程 kill -9 $(lsof -i:8081 -t) cd /home/web/web-demo/ #拉代码 git pull #发布代码到publish目录 dotnet publish -o publish cd publish/ #后台启用项目,端口8081 nohup dotnet WebDemo.dll --urls http://0.0.0.0:8081 & 构建记录

dotnet CentOS Linux
阅读更多
使用Docker在CentOS系统安装Jenkins
运维与DevOps
2021-09-20 0k

使用Docker在CentOS系统安装Jenkins

下载Jenkins镜像 docker pull jenkins/jenkins:lts #最新版 创建映射目录 容器映射此目录以持久化数据 mkdir /data/jenkins_home/ 修改用户组 docker容器中jenkins用户和用户组id为1000,需要修改后目录才能映射成功 chown -R 1000:1000 /data/jenkins_home 启动Jenkins容器 docker run -d --name jenkins -p 80:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts; #备注: #-d 启动在后台 #--name 容器名字 #-p 端口映射(80:宿主主机端口,8080:容器内部端口) #-v 数据卷挂载映射(/data/jenkins_home:宿主主机目录,另外一个即是容器目录) #enkins/jenkins:lts Jenkins镜像(最新版) 访问Jenkins 地址解析的域名 http://jenkins.raikay.cn/ 根据提示的路径找到初始密码 #进入容器 docker exec -it jenkins bash #查看密码 cat /var/jenkins_home/secrets/initialAdminPassword 安装推荐的插件 创建管理员 安装已完成 扩展 设置时区 方法一:在【系统管理】-【脚本命令行】里运行 System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai') 方法二: 通过docker改容器时区 docker run ... -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai 添加windows节点 保存后,返回节点,下载agent.jar到目标主机,并在目标主机执行这条命令 jenkins容器的50000 端口需要映射到宿主机

CentOS Linux jenkins
阅读更多
dotnet项目执行shell脚本实现简单的自动化部署
运维与DevOps
2021-09-18 0k

dotnet项目执行shell脚本实现简单的自动化部署

不要k8s、不要docker、不要Jenkins,只要一个部署脚本,只是一个小项目单台服务器,实现提交代码自动执行脚本,拉代码构建部署项目。 创建一个web api 项目,作为webhook,实现接收web请求后执行shell脚本 项目代码: using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Diagnostics; namespace ShellHandler.Controllers { [ApiController] [Route("[controller]")] public class HandlerController : ControllerBase { private readonly ILogger<HandlerController> _logger; public HandlerController(ILogger<HandlerController> logger) { _logger = logger; } [HttpPost] public string Execute(string fileName) { try { var processStartInfo = new ProcessStartInfo($"./{fileName}") { RedirectStandardOutput = true }; var process = Process.Start(processStartInfo); if (process == null) { Console.WriteLine("Can not run shell ."); } else { using (var sr = process.

dotnet CentOS Linux
阅读更多
点亮arduino uno r3板载 / 外接led灯
嵌入式
2021-08-25 0k

点亮arduino uno r3板载 / 外接led灯

1、准备工作与开发板选择 2、选择端口 3、代码: // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN (13) as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 4、代码上传与验证 点击上传按钮,等待编译完成后,Arduino开发板上的板载LED灯将开始按程序设定的1秒间隔闪烁。这是最基础的Arduino入门实验,验证了开发环境配置正确且开发板工作正常。

arduino LED控制 Arduino入门
阅读更多
dotnet core 使用gRPC服务
后端开发
2021-08-24 0k

dotnet core 使用gRPC服务

什么是gRPC? 在聊聊什么是gRPC前,我们先来聊聊什么是RPC。 RPC,全称Remote Procedure Call,中文译为远程过程调用。通俗地讲,使用RPC进行通信,调用远程函数就像调用本地函数一样,RPC底层会做好数据的序列化与传输,从而能使我们更轻松地创建分布式应用和服务。 请求信息使用 Protobuf 进行对象序列化压缩(IDL) 而gRPC,则是RPC的一种,它是免费且开源的,由谷歌出品。使用gRPC,我们只需要定义好每个API的Request和Response,剩下的gRPC这个框架会帮我们自动搞定。 使用gRPC 一、gRPC服务端 引用NuGet包 Grpc.AspNetCore Startup.cs 中 ConfigureServices 函数配置gRPC public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); //配置grpc services.AddGrpc(); } Configure 函数映射服务grpc类 public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); //映射grpc服务类 app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); endpoints.MapGrpcService<GreeterService>(); endpoints.MapGrpcService<LuCatService>(); }); } Program.cs 添加证书、设置监听端口 public static IHostBuilder CreateHostBuilder(string[] args) => Host.

dotnet grpc .NET Core
阅读更多