- 【35】单片机编程核心技巧:Switch在工业控制中的应用
智木芯语
【编程技巧】单片机嵌入式硬件#STM32嵌入式#STC8
【35】单片机编程核心技巧:Switch在工业控制中的应用七律·转型架构更迭展新篇,STC8H显锋芒。IO重配如流水,定时重构若行云。代码迁移承旧智,功能延续启新程。工业控制真王者,一脉相承见匠心。摘要本文以STC8H8K64U4单片机为平台,系统阐述Switch语句在工业自动化运动控制中的移植与实现方法。通过端口配置、定时器中断优化及状态机设计,重点解析GPIO模式设置、中断机制适配及多状态程序
- 高可用Keepalived在Linux中的应用
「已注销」
linux运维服务器高可用集群keepalivedcentos
目录一、高可用1.高可用介绍(1)普通理解(2)专业理解2.高可用目的3.高可用实现1.介绍2.特点三、Keepalived1.介绍2.Keepalived核心组件(1)VRRPstack(2)NetLink接口(3)IPVSWrapper(4)checkers(5)systemcall(6)SMTP(7)watchDog3.控制组件4.内存管理四、Keepalived核心概念1.虚拟路由器2.m
- pyspark 遇到**Py4JJavaError** Traceback (most recent call last) ~\AppData\
2pi
sparkpython
Py4JJavaErrorTraceback(mostrecentcalllast)~\AppData\Local\Temp/ipykernel_22732/1401292359.pyin---->1feat_df.show(5,vertical=True)D:\Anaconda3\envs\recall-service-cp4\lib\site-packages\pyspark\sql\data
- “烂大街”的Modbus
电气外传
自动化电气自动化程序人生
今天的主角-Modbus通讯协议(以下简称此协议),“烂大街”的一种工业标准通讯协议。其实这种叫法也恰恰体现了它在工业场合的广泛认可性。它横行通讯界40余年已然成为了一个业界标准。各位看官肯定都用过这个通讯协议,让我们来简单聊一聊吧。此协议完全公开且没有任何版权限制(就是不要钱)。所以各大设备商都内置此协议以提高自己的兼容性。此协议目前可在串口和以太网上应用,分别是RTU,ACCII和TCP,原理
- 摄像头技术OpenCV
yzx991013
计算机视觉项目机器学习人工智能python
进一步添加功能:运动检测、调整亮度对比度、截图时添加日期水印、保存视频时可选择不同编码格式完整代码:importcv2importtimeimportdatetimedefcamera_system():#打开摄像头cap=cv2.VideoCapture(0)ifnotcap.isOpened():print("无法打开摄像头")return#获取摄像头的宽度和高度frame_width=int
- PHP前置知识-HTML学习
freesec
html学习前端
HTML学习1、因特网和万维网1.1、Internet因特网:全球资源的总汇,连接网络的网络1.2、TCP/IP协议簇:传输层/网络层协议1.3、万维网:www(worldwideweb)HTTP超文本传输协议作用:接受和发布HTMl页面URL统一资源定位符协议://域名:端口号/文件路径/文件名.文件后缀http://www.QQ.com.cn:80/tq/index.html1.4、W3C组织
- 如何解决跨域请求的问题(CORS)?
okhttp前端
文章目录引言理解CORS2.1CORS基本概念2.2同源策略与跨域分类CORS的核心机制3.1预检请求(PreflightRequest)3.2简单请求服务器端配置CORS4.1关键响应头4.2Node.js(Express)示例4.3其他后端语言配置前端处理CORS请求5.1XMLHttpRequest与FetchAPIXMLHttpRequest示例FetchAPI示例5.2使用第三方库(ax
- 124.HarmonyOS NEXT 数字滚动动画详解(四):性能优化指南
harmonyos-next
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT数字滚动动画详解(四):性能优化指南效果演示1.性能优化概述数字滚动组件的性能优化主要从以下几个方面考虑:渲染性能动画性能内存管理状态更新2.渲染优化2.1ForEach优化//优化写法:使用ForEachForEach(this.cu
- 《Operating System Concepts》阅读笔记:p389-p407
操作系统
《OperatingSystemConcepts》学习第33天,p389-p407总结,总计19页。一、技术总结1.virtualmemeory(1)定义Atechniquethatallowstheexecutionofaprocessthatisnotcompletelyinmemory.Also,separationofcomputermemoryaddressspacefromphysic
- Pytest项目_day01(HTTP接口)
丿罗小黑
Pytestpytesthttp网络协议
HTTPHTTP是一个协议(服务器传输超文本到浏览器的传送协议),是基于TCP/IP通信协议来传输数据(HTML文件,图片文件,查询结果等)。访问域名例如www.baidu.com就是百度的域名,我们想要访问百度,就需要使用DNS,来将www.baidu.com域名解析为ip地址。随后客户端向服务端发起TCP请求,三次握手进行连接,三次握手如下:客户端向服务端说:你准备好了吗,我要发送请求了服务端
- WebRTC 介绍
KillFuckBugs
webrtc
WebRTC简介WebRTC(WebRealTimeCommunication,网页实时通信)是一个开源项目和技术标准,旨在为浏览器和应用程序提供实时通信功能,无需额外的插件或第三方软件。它最初由Google在2011年发起,现由W3C(万维网联盟)和IETF(互联网工程任务组)共同维护和标准化。WebRTC的核心目标是实现低延迟、高质量的音视频通信以及点对点数据传输,广泛应用于视频会议、实时聊天
- Python的Pytest(2)
活跃家族
pythonpytest开发语言
1、思考:完整项目框架里每个模块单独用一个py文件管理,注册模块-py文件,登录模块-py文件==放在用例层目录下管理,testcases多个模块、py文件里的用例,批量执行==需要收集所有模块的用例,一起执行。1、pytest智能自动收集所有用例:pytest.main():自动在这个文件所在目录下收集符合命名规则的用例=pytest.main()通常写在入口文件run.py或main.py。2
- LeetCode第92题_反转链表II
@蓝莓果粒茶
算法leetcode链表算法c++数据结构python后端
LeetCode第92题:反转链表II题目描述给你单链表的头指针head和两个整数left和right,其中left1->2->3->4->5|prev|curr找到left前一个节点prev(即节点1):dummy->1->2->3->4->5||prevcurr第一次头插:将节点3插入到prev之后:dummy->1->3->2->4->5||prevcurr第二次头插:将节点4插入到prev
- Seata:分布式事务的终极解决方案与深度实践
斗-匕
分布式
Seata:分布式事务的终极解决方案与深度实践在微服务架构中,订单支付需调用支付服务、库存服务和积分服务,若其中一个服务失败,如何保证数据的一致性?传统的单体事务(ACID)无法跨越服务边界,而分布式事务的复杂性让许多开发者望而生畏。Seata(SimpleExtensibleAutonomousTransactionArchitecture)作为阿里巴巴开源的分布式事务中间件,提供了AT、TCC
- C#网络通信实战:从零打造高性能Socket编程与TCP/IP协议栈应用
墨瑾轩
一起学学C#【一】c#tcp/ip开发语言
网络通信是现代软件开发中不可或缺的一部分,特别是在分布式系统和互联网应用中。C#提供了丰富的网络编程接口,尤其是基于Socket的TCP/IP协议栈编程,可以实现高性能的网络通信。以下从零开始逐步介绍如何在C#中使用Socket进行高性能网络通信编程,包括创建Socket、连接服务器、发送和接收数据,以及处理并发和错误等,包含详细的代码和注释。一、创建Socket CsharpusingSyste
- kubernetes部署 etcd 集群
weixin_30569033
json
本文档介绍部署一个三节点高可用etcd集群的步骤:etcd集群各节点的名称和IP如下:kube-node0:192.168.111.10kube-node1:192.168.111.11kube-node2:192.168.111.12创建etcd证书和私钥,所有证书和私钥的操作在/etc/kubernetes/ca/目录。这里说下题外话:证书和私钥跟程序本身没有什么特定的关系,只是网络传输时的认
- 安装(python 版)
C-haidragon
mysql
安装安装sudoapt-getinstallmysql-servermysql-client然后按照提示输入管理服务启动servicemysqlstart停止servicemysqlstop重启servicemysqlrestart允许远程连接找到mysql配置文件并修改sudovi/etc/mysql/mysql.conf.d/mysqld.cnf将bind-address=127.0.0.1注
- tkinter报错 tcl和tk报错 _tkinter.TclError: Can‘t find a usable init.tcl in the following directories:
大博士.J
java数据库python
问了好几个GPT回答的都不是解决问题的,胡编乱造的目前经过尝试好几个解决方案,终于破案了win10系统使用安装python时自动将tcl和tk识别到了新创建的虚拟环境继承中win11系统则需要手动去做一些操作,才可以解决问题我这报错的问题是这样的self.tk=_tkinter.create(screenName,baseName,className,interactive,wantobjects
- 【Bug】串口重定义未勾选MicroLIB导致程序跑飞
学不下去的废狗
Bugbug
办法来自博客:https://blog.csdn.net/dongdong_csdn/article/details/123756095Bug:简单的使用STM32F103串口1通过重写fputc函数使用printf发送串口数据,发现程序无法正常运行,程序好像无法进入main,在通过Debug查看时发现,按一次运行就会停一次,然后也没进入main函数,发现按三次运行Run才能正常进行main函数R
- 【MySQL】表的改,删
熙曦Sakura
MySQLmysql数据库
CRUD:Create(创建),Retrieve(读取),Update(更新),Delete(删除)6.3Update语法:UPDATEtable_nameSETcolumn=expr[,column=expr...][WHERE...][ORDERBY...][LIMIT...]对查询到的结果进行列值更新6.3.1将孙悟空同学的数学成绩变更为80分--更新值为具体值--查看原数据SELECTna
- 牛客周赛 Round 54 题解(A~E)
TCaaaaa
算法图论c++
牛客周赛Round54题解A清楚姐姐的糖葫芦思路解析:显然只需要数字符串的字符o的个数即可。时间复杂度:O(N)O(N)O(N)代码块:voidsolve(){strings;cin>>s;intc=0;for(autov:s){c+=v=='o';}cout>a>>b>>x;llres1=x*a;llv=(x+2)/3*b;res1=min(res1,v);res1=min(res1,x/3*b
- [AtCoder Regular Contest 125] A-F全题解
ikrvxt
结论和构造DP构造网络流dp分块数学
文章目录A-DialUpB-SquaresC-LIStoOriginalSequenceD-UniqueSubsequenceE-SnackF-TreeDegreeSubsetSum网址链接A-DialUp签到题特判一下有没有0/1在目标串中出现而没在原串出现除了第一次0/1数字互换时,需要从a1a_1a1左右找距离最近的不同数字后面互换就是左/右转一次#include#includeusingn
- Git的基本指令
Absinthe_苦艾酒
git
一、回滚1.gitinit在项目文件夹中打开bash生成一个.git的子目录,产生一个仓库2.gitstatus查看当前目录下的所有文件的状态3.gitadd.将该目录下的所有文件提交到暂存区4.gitadd文件名将该目录下的指定文件提交到暂存区5.gitcommit-m备注信息将暂存区的文件提交到版本库6.gitlog查看所有提交信息7.gitreset--hard对应版本的哈希值注意:如果从第
- 牛客周赛 Round 50
菜比乌斯反演
牛客算法数据结构
A题:小红的最小最大思路:大水题code:inlinevoidsolve(){inta,b,c;cin>>a>>b>>c;if(min(a,b)+c>max(a,b))cout>a>>b>>c;intcur=a+b+c;ans=max(ans,cur);cur=a*b+c;ans=max(ans,cur);cur=a+b*c;ans=max(ans,cur);cur=a*b*c;ans=max(a
- python ERA-5气象数据NetCDF格式解析(一)
自动驾驶探索站
python图像算法开发python开发语言算法数据分析
ERA-5气象数据NetCDF格式解析(一)1功能2数据来源3代码4测试数据1功能 读取并解析.nc文件(NetCDF)中的信息;2数据来源 ERA-5气象数据下载网址:https://cds.climate.copernicus.eu/cdsapp#!/search3代码#ERA-5气象数据.nc格式解析importosimportnetCDF4asNcimportnumpyasnpfrom
- 135.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之数据源基础概念
全栈若城
harmonyos从入门到进阶harmonyosHarmonyOSNEXT华为性能优化3d
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之3D立方体旋转轮播案例讲解之数据源基础概念文章目录HarmonyOSNEXT系列教程之3D立方体旋转轮播案例讲解之数据源基础概念效果演示1.什么是BasicDataSource?2.类的基本结构2.1核心属性3.为什么需要数据
- Cargo deny安装指路
编辑器
本博客所有文章除特别声明外,均采用CCBY-NC-SA4.0许可协议。转载请注明来自唯你简介cargodeny是一个Rust工具,用于检查项目依赖项的许可证、安全性和其他合规性问题。在RustCI(持续集成)中,cargodeny扮演着重要角色:许可证检查:确保项目使用的所有依赖项的许可证都符合项目的许可政策。安全漏洞扫描:检查依赖项是否存在已知的安全漏洞。依赖项合规性:验证依赖项是否符合项目的其
- 126.HarmonyOS NEXT 数字滚动示例详解(一):基础结构与组件概述
harmonyos-next
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT数字滚动示例详解(一):基础结构与组件概述效果演示1.组件概述DigitalScrollExampleComponent是一个展示数字滚动动效的示例组件,主要用于演示如何在实际场景中使用数字滚动效果。2.核心功能下拉刷新功能数字滚动动画
- 从零到一揭秘微信小程序标签切换:tab-item、data-tab 和 bindtap 的奇妙冒险
小丁学Java
微信小程序WxMa微信小程序小程序bindtap
从零到一揭秘微信小程序标签切换:tab-item、data-tab和bindtap的奇妙冒险作者:你的奇妙缘分日期:2025年3月12日标签:微信小程序、WXML、WXSS、JS、前端开发在微信小程序的开发世界里,标签切换(TabSwitching)是一个常见的交互场景。无论是电商列表、任务管理,还是本文中的“比对进程”页面,如何优雅地实现选项卡切换?答案藏在tab-item、data-tab和b
- 【python 机器学习】sklearn数据集的使用
人才程序员
python机器学习sklearn人工智能深度学习神经网络目标检测
文章目录sklearn数据集的使用1.`sklearn`内置数据集2.导入`sklearn`数据集3.加载和使用Iris数据集3.1加载数据3.2查看数据3.3使用数据集进行分类任务4.加载和使用Digits数据集4.1加载数据4.2查看数据4.3使用数据集进行分类任务5.加载和使用BreastCancer数据集5.1加载数据5.2查看数据5.3使用数据集进行分类任务6.总结sklearn数据集的
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include