浮躁 没有目标,现在感觉做啥都不想老老实实的干,老是想搞快钱
.Net Core定时调度hangfire:让应用程序在IIS上始终运行 第一步、设置应用程序池
1、在应用程序池的基本设置中,将.NET CLR 版本 设置为 v4.0.30319,管理管道模式为 “集成”
2、在高级设置中,将启动模式设置为 “始终运行”,将空闲超时(分钟)设置为 0
第二步、设置配置编辑器
点击进入配置编辑器
选择system.webServer/applicationInitialization节点,将doAppInitAfterRestart设为true,并点击"集合"行的后方省略号点击添加,输入如下两个内容:
hostName:Hangfire 应用程序的 URL 主机
initializationPa 完美解决dotnet-install.sh下载出错 问题现象
Linux正常通过dotnet-install.sh安装dotnet(本篇以安装dotnet-runtime为例)时,会显示以下信息:
dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
dotnet-install: - The SDK needs to be installed without user interaction and without admin rights.
dotne mysql主从同步方式(mysql主从同步实现) 主从同步的定义
主从同步允许您将数据从一个数据库服务器复制到另一个数据库服务器。 复制数据时,一个服务器作为主服务器(master ),其余的服务器作为从服务器(slave )。 由于复制是异步进行的,从服务器不需要总是连接到主服务器,从服务器也可以通过拨号间歇地连接到主服务器。 配置文件允许您指定所有数据库、数据库甚至数据库上的表的复制。
使用主同步的好处:
通过增加从服务器来提高数据库性能,在主服务器上执行写入和更新,在从服务器上向外部提供读取功能,可以动态调整从服务器的数量,从而调整数据库的整体性能。
提高数据的安全性。 数据被复制到从服务器,从服务器可以结束复制过程,因此可以在从服务器 谈谈如何在EF CORE中实现读写分离:构建高性能的EF CORE 前言:
其实在部分公司不是很推崇使用ORM框架,说是ORM框架存在性能问题;这句话可以说是让ORM蒙受不白之冤;笔者认为:没有低性能的框架,只有不会使用框架的开发者!更多时候,是因为数据库的性能问题;ORM在开发中可以说是被殃及的池鱼!那么本篇文章就介绍如何通过EFCore如何来配合数据库提高性能;那么如何来做的,得先从数据库下手,最常规,最推崇的就是数据库读写分离;那么如何使用EFCore配合使用数据库读写分离呢?
数据库读写分离
在实际开发工作中,对数据的操作有一个二八原则,20%的操作是数据的增删改,80%的操作是数据库查询,那么把这80%的数据存储在多个数据库中,有选择性的去查询数据; 定时器中断控制LED #include <REGX52.H>
#include <INTRINS.H>
typedef unsigned int u16; // 对系统默认数据类型进行重定义
// 定义LED1管脚
sbit LED1 = P2 ^ 0;
/*
定时器中断模式1初始化 1ms 触发
t:0 定时器0,1 定时器1
*/
void timeInterruptModeOneInit(bit t)
{
// 选择为定时器0模式,工作方式1 |为或运算符 等同于 0x00000000 | 0x00000001
if(t==0){
TMOD |= 0X01;
ET0 = 最全的MyBatis使用指南 1. 为啥要用 MyBatis
我们作为一个程序员,主要工作归根结底就是和数据打交道。而使用 java 操作数据库的原始方式就是 JDBC。
先看看使用 JDBC 方式是如何操作数据库的:
// 1. 加载配置文件
Properties pro=new Properties();
pro.load(new FileReader("resource/jdbc.properties"));
// 2. 获取配置文件中连接数据库的信息
String url=pro.getProperty("url");
Stri C# 小端转大端 Little Endian to Big Endian 什么是大端和小端
Big-Endian和Little-Endian的定义如下:
Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
举一个例子,比如数字0x12 34 56 78在内存中的表示形式为:
1)大端模式:
低地址 -----------------> 高地址
0x12 | 0x34 | 0x56 | 0x78
2)小端模式:
低地址 ------------------> 高地址
0x78 | 0x56 | 0x34 | 外部中断控制LED #include <REGX52.H>
#include <INTRINS.H>
// 定义LED1管脚
sbit LED1 = P2 ^ 0;
/*
*外部中断0初始化
*触发方式 type 1:下降沿 0:低电平
*/
void externalInterrupt0Init(bit type)
{
IT0=type;
EX0=1;//打开INT0的中断允许
EA=1;//打开总中断
}
/**
* 11.0592MHZ毫秒级延迟
*/
void Delayms(unsigned int m) //@11.0592MHz
{
Ubuntu之搭建nginx图片服务器 背景
客户端访问服务器端图片时,需要在服务器端部署图片服务器,本文采用nginx的方案
安装nginx
建议采用源码安装nginx,这样配置文件比较全,如果使用apt-get安装过nginx,建议先卸载掉,卸载方式如下
注意点:首先需要停止nginx的服务
sudo service nginx stop
删除nginx,–purge包括配置文件
sudo apt-get --purge remove nginx
自动移除全部不使用的软件包
sudo apt-get autoremove
列出与nginx相关的软件 并删除显示的软件
dpkg --get-selections|grep n Linux开放指定端口命令(CentOS) 1、开启防火墙
systemctl start firewalld
2、开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp //查看当前所有t vue h5 video 多视频无缝切换 思路
页面中创建两个 video 标签
在组件加载时同时加载两个视频资源(autoplay),暂时不播放的视频在 canplay 事件中调用暂停方法,使之实现预加载
使用绝对定位将预加载的视频移出可视窗口
第一个视频结束后,通过 ended 事件播放之前预加载的视频,同时将当前 src 切换为下一个需要播放的视频地址,完成缓存
核心代码
<video ref="video" :class="{'video-hide':!playVideoTag}" autoplay @ended="onEnded( node实现多路视频播放的流媒体服务器 1. node-rtsp-stream
通过node调用, ws方式, 输出的是MPEG-TS格式的视频流; 接着通过JSMpeg喂给canvas;
缺点 : 只能同时播放一路视频
优点 : 低延时,1s
改进 : 可以自行二次封装,支持多路播放;
2. ke-rtsp
一种基于Media Source Extensions(简称MSE)技术实现的html5实时视频直播方案。Node.js调用ffmpeg包装rtsp流,然后通过socket.io转发包装后的流,前端html5获取流数据并通过MSE把流一点一点喂给video标签进行视频播放。能够支持谷歌浏览器、火狐浏览器、Edge浏览器、安卓原 海康SADPTool代码实现 SADPTool原理:
向239.255.255.250:37020发送基于ONVIF协议的 udp 组播,设备会监听 239.255.255.250:37020,收到指令,会向 发送组播的机器,返回设备信息,也会向239.255.255.250:37020 发送 设备信息的 组播。
发送 报文(Uuid是Guid,每次都生成一个新的)
<?xml version="1.0" encoding="utf-8"?><Probe><Uuid>12D17626-0DE1-48DB-97E3-40B106467932</ 海康摄像头通过isapi 操作摄像头 HttpHelper.cs
/// <summary>
/// get 请求
/// </summary>
/// <param name="url"></param>
/// <param name="headers"></param>
/// <returns></returns>
public static async Task<string> GetAsync(string url, IList<KeyValuePair<str MySQL之库表设计 引言
为掘金社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究!
MySQL的库表设计,在很多时候我们都是率性而为,往往在前期的设计中考虑并不全面,同时对于库表结构的划分也并不明确,所以很多时候在开发过程中,代码敲着敲着会去重构某张表结构,甚至大面积重构多张表结构,这种随心所欲的设计方式,无疑给开发造成了很大困扰。
但实际上设计DB库表结构时,也有一些共同需要遵守的规范,这些规范在数据库设计中被称为“范式”,理解并掌握这些设计时的规范,能让咱们在项目之初,设计的库表结构更为合理且优雅。数据库范式中,声名远扬的有三大范式,但除此之外也有一些其他设计规范,如:
①数据库 C# 中的 HashSet HashSet 是一个优化过的无序集合,提供对元素的高速查找和高性能的set集合操作,而且 HashSet 是在 .NET 3.5 中被引入的,在 System.Collection.Generic 命名空间下,这篇就来讨论一下如何使用这个 HashSet。
要运行本篇文章的案例代码,你需要安装一下 Visual Studio 2019,如果没有的话可以到官网下载一下。
使用 VS 创建一个 .NET Core 控制台程序
首先,我通过 VS2019 创建一个 .NET Core 控制台程序,创建可以参考下面步骤:
打开 Visual Studio IDE
点击创建 Create new p 青语言 无意中发现最新发布的中文编程语言,基于.net开发的,比较感兴趣,研究研究
官网地址 https://qingyuyan.cn/