自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Linux下的定时重启】学习笔记

一、原理使用 Linux 下的定期调度程序 crontab ,定期调用 shell 脚本,实现定时关机的目的。二、打开时程表设置文件sudo crontab -e三、时程表设置1.语法* * * * * command- - - - -| | | | || | | | +----- 星期中星期几 (0 - 6) (星期天 为0)| | | +---------- 月

2022-03-11 16:47:20 1571

原创 【Linux的进程查看---ps】学习笔记

一、功能概述ps(英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。二、常用命令格式pa -aux三、输出说明1.输出格式USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER: 进程的属主PID: 进程的ID%CPU: 进程占用的CPU百分比%MEM: 占用内存的百分比VSZ: 进程使用的虚拟內存量

2022-03-11 13:48:00 1058

原创 【ssh远程登陆key失效】操作记录

ssh远程登陆key失效操作:一、首先删除对应的keyssh-keygen -R xxx.xxx.xx.xx(服务器ip地址)二、重新保存key(重新登录)ssh [email protected]在提示是否需要更新本地的key时输入yes

2022-03-11 09:53:08 1305

原创 【Linux的内存查看---free】学习笔记

一、free转载自:https://www.cnblogs.com/ultranms/p/9254160.html1.功能概述free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。2.使用为了得到更友好的输出的结果,常常会加上 -h 选项:free -h3.输出介绍Mem 行:内存的使用情况。Swap 行:交换空间的使用情况。total 列:系统总的可用物理内存和交换空间大小。used 列:已经被使用的物理内存和交换空间。free 列:剩余物理

2022-03-10 20:41:03 647

原创 【Linux下的依赖管理工具---apt】学习笔记

简介apt:全名 Advanced Packaging Tool,是 linux ( debian 系列)下的一款安装包管理工具。linux 环境下的软件安装不同于 windows 。windows 下的软件安装包通常以 exe 形式发布,获取后双击按照操作步骤逐步安装。linux 下最初只有 .tar.gz 的打包文件,在安装包管理工具出现之前,安装软件通常需要先进行编译,在操作上有诸多不便,用户普遍认为系统有必要提供一种方法来管理这些安装在机器上的软件包,于是,安装包管理工具应运而生。rpm、yu

2022-01-28 15:39:05 1486

原创 【TCP】学习笔记

TCP介绍socket介绍服务端代码# -*-coding: utf-8 -*-"""@summary: TCP服务端@usage: TcpServerMain()"""import socketserverfrom loguru import loggerTCP_IP, TCP_PORT = "192.168.197.1", 8888logger.add("server.log", encoding='utf-8', rotation="5MB", retention=5

2021-11-12 11:39:22 1715

原创 【socket(套接字)&TCP的三次握手、四次挥手】学习笔记

#mermaid-svg-1kzdB1JRUU57bwfv .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-1kzdB1JRUU57bwfv .label text{fill:#333}#mermaid-svg-1kzdB1JRUU57bwfv .node rect,#mermaid-svg-1kzdB1JRUU

2021-11-02 10:55:09 1632 1

原创 【SSH】学习笔记

简介主要记录如何用 python 脚本去实现 SSH 的连接。建议先手动实操SSH,对SSH有了一定的理解后阅读。准备动作提前开启SSH服务端,实际操作方式可以参考【SSH实操】学习笔记,当然,同属于网络传输,根据 TCP/IP四层模型 ,理论上同样可以利用python 中的 socket(介于应用层、传输层的抽象层)去实现 SSH 的服务端,有兴趣的可以自行尝试。编写客户端脚本(详细解释可以查看注释)# -*- coding: utf-8 -*-"""@summary: SSH 连接模块

2021-10-23 20:56:48 230

原创 【SSH实操】学习笔记

简介本文记录了SSH的实操过程,加深对SSH的理解,实际体验SSH的功能。服务端与客户端因为 SSH 主要用于客户端与远程主机的安全链接和数据交互,实际演示完整的 SSH 至少需要一个服务端和一个客户端。方便起见,将一台电脑同时作为服务端与客户端,即自己连接访问自己。安装 SSH 服务因为要同时扮演客户端与服务端。所以电脑上需要同时拥有OpenSSH客户端和OpenSSH服务器。这两个功能推荐在Windows10上的可选功能里自行安装,方便且干净。一、搜索 应用和功能二、打开 可选功能三

2021-10-21 23:26:27 219

原创 【SSH代理连接】学习笔记

什么是SSH?SSH是一种网络协议,主要用于客户端与远程主机的安全链接和交互。SSH的代理思维假设有三台#mermaid-svg-f8WdL0zSdv5GFap4 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-f8WdL0zSdv5GFap4 .label text{fill:#333}#mermaid

2021-10-18 22:38:44 159

原创 【TCP/IP网络模型&比较TCP、UDP】学习笔记

TCP/IP网络模型TCP/IP网络模型简介TCP/IP 是互联网相关的各类协议族的总称。所谓协议,可以将其理解为规则,好比是两个人交流需要双方事先了解对方的语言,约定在线下还是线上的形式进行交流。要想实现通信,就要事先确定使用哪种语言进行通信、以何种方式进行通信、如何探测到通信目标、由哪一边先发起通信、怎样结束通信等规则。TCP/IP作为互联网相关协议族的总称,内含各种协议,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP 等。TCP/IP协议在一定程度上参考了OSI的七层模型,将各

2021-10-14 22:57:56 400

原创 【过滤、匿名函数、排序】学习笔记

过滤filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表(迭代器)。filter(function, iterable)function – 函数iterable – 可迭代对象将可迭代对象的每个元素作为参数传递给函数,根据函数的返回值(True 或 False)进行判断,将返回 True 的元素放到新列表(迭代器)中。先设计判断函数:def is_int(putin: Union[int, str]): """ 判断输入数据是否为int类型 ""

2021-10-08 14:52:23 143

原创 【装饰器】学习笔记

python 函数装饰器简单来说,装饰器的作用是修改其他函数的功能。它其实是一个函数,只是这个函数的输入参数也是函数。你可以简单理解成,当你调用被装饰器装饰的函数时,被装饰的函数仅仅是作为一个传入参数,你实际执行的函数其实是你的装饰器函数。自定义装饰器直接上demo# -*- coding: utf-8 -*-# 定义一个装饰器,内容是打印函数的返回值def print_test(func): def _print(*args): print(f"{func(*ar

2021-10-06 17:32:15 61

原创 【git】学习笔记

Git简介Git是一个开源的分布式版本控制系统,可以有效、高速地实现项目版本管理。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。在此基础上完成修改后再上传至远程。Git,Github,Gitee简单区分刚接触git时,可能会被Git,Github,Gitee搞混,其实没必要纠结这些,东西都是相通的。可以简单这么理解:Git就是本地上的一个工具。Github和Gitee差不多,都是远程仓库,两者的区别在于Githu

2021-10-05 21:28:24 87

原创 【python中的枚举】学习笔记

枚举的优势在于:使代码更易于阅读,允许用描述性的名称表示整数值,而不是用含义模糊的数来表示。将作用范围接近的常量值存放在一起,方便参数的管理。python 使用枚举# -*- coding: utf-8 -*-from enum import Enumclass StatusEnum(Enum): PARAM = 'YourName_666' SUCCESS = True, PARAM FAIL = False, PARAMprint(StatusEnum.

2021-09-07 21:39:40 78

原创 【dbc&CANdb++】学习笔记

简介

2021-08-27 10:04:39 1242

原创 【mysql&数据库】学习笔记

简介数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。MySQL是数据库之一,是一个可以处理数据库的管理系统(RDBMS)。支持当前的SQL标准。标准SQL语句虽然关系型数据库有很多,但是大多数都遵循SQL(结构化查询语言,Structured Query Language)标准。常见的操作有查询,新增,更新,删除,求和,排序等。查询语句:SELECT param FROM table WHERE conditio

2021-08-23 21:17:41 71

原创 【批处理与嵌入式的结合】学习笔记

简介以下内容摘自百度百科:批处理是一种简化的脚本语言,也称作宏。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名。常用指令指令描述示例echo回显echo 回显内容echo off关闭回显echo off@echo off关闭回显(不同于直接 echo off 的是, @echo o

2021-08-13 20:07:38 227

转载 【MQTT轻量级物联网消息传输协议】学习笔记

MQTT简介MQTT 是一种基于发布/订阅模式的轻量级物联网消息传输协议,可以用极少的代码和带宽为联网设备提供实时可靠的消息服务。MQTT协议中有三种身份:发布者(Publish)、代理(Broker)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT中的几个重要名词一、订阅(Subscription)订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话

2021-07-30 22:06:03 341

原创 【命令行传参】学习笔记

在调用python脚本时有时候会遇到需要从外部传入参数的行为。命令行传参可以很好地解决这个问题cmd.py# -*- coding: UTF-8 -*-import sysprint(f"传入参数个数:{len(sys.argv)}")for index in range(len(sys.argv)): print(f"参数序号:{index},参数内容:{sys.argv[index]}")执行结果:...

2021-07-24 17:37:00 77

原创 【字典&列表&元组&枚举】学习笔记

字典&列表&元组相较于C语言,python多了字典、列表、元组三种数据类型字典:字典是一种可变容器模型,且可存储任意类型对象。Dict= {'xxx': 'xxx'} # 创建字典Dict[name] = val # 添加、修改字典内容for key in Dict.keys(): # 遍历键 print("Key:", key, "; Value:", Dict[key])列表:列表的特点与C语言中的数组相似。列表是动态的,可以通过append()等函数对列表内

2021-07-05 20:52:41 181

原创 【文件读写&临时文件/目录】学习笔记

文件读写with open('test.txt', 'w+', encoding='utf-8') as fn: # 以'utf-8'格式,读写模式打开test.txt文件,若文件不存在,则创建 fn.write('Hello World') # 写入数据 print(f'fn: {fn.read()}') # 此时光标在写入的文件末尾 fn.seek(6) # 将光标写在第6个字节处 print(f'fn: {fn.read()}') # 读出光标后的所有数据,

2021-07-03 16:21:13 269

原创 【获取路径grob()】学习笔记

最近新接触了一个获取路径的方法—grob()。这个方法可以生成一个迭代器,里面会有文件比较全面的信息。并且使用简单,可以避免之前繁琐的提取,拼组路径的操作。目录文件结构GLOB│ glob_test.py│└───test | └───littkt_rain │ │ 20201010.h | └───your_name | 520 | 666.txtglob的使用Path('XXX').rglob('*') # 迭代遍历文件夹下所有文件Path('XXX').g

2021-06-23 20:49:28 221

原创 【串口通信】学习笔记

串口通信的原理串口通信(SerialCommunicaTIons)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上

2021-06-18 22:20:56 1517

原创 【时间调度器&线程】学习笔记

事件调度器事件调度器:顾名思义,主要作用是调度事件。其实对我而言,这个更像是一个定时器。这里不给出过多的解释(内容本身不复杂,暂时没找到官方的解释,担心误人子弟)。直接上代码。展示结果。函数sched = scheduler() # 实例化调度器sched.enter() # 加入事件sched.run() # 运行调度器代码# -*-coding: utf-8 -*-import timedef GetTime(): time_stamp = time.time()

2021-06-11 19:15:50 154

原创 【re正则表达式】学习笔记

在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。一些常用的正则表达式语法. 匹配除换行符 \n 之外的任何单字符* 匹配前面的子表达式零次或多次+ 匹配前面的子表达式一次或多次? 匹配前面的子表达式零次或一次{2} 匹配前面的子表达式2次\s 匹配任何空白字符,包括空格、制表符等[A-Z] 表示一个区间,匹配所有大写字母,[a-z] 表示所有小写字母[0-9]

2021-05-24 15:32:16 200

原创 【jinja2模版生成(以渲染html为例)】学习笔记

jinja2是一种模板语言,可以利用模版进行数据渲染的底层调用,省去重复的代码编写。https://zhuanlan.zhihu.com/p/72821104

2021-05-17 22:17:42 1369

原创 【RPC远程调用】学习笔记

什么是RPC远程调用RPC 是指远程 过程 调用,也就是在A服务器上想要调用B服务器上提供的函数 / 方法,由于不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。说白一点,RPC就是要像调用本地的函数一样去调远程函数。执行过程分析(仅提供一种理解思维,个人看法,不对正确性做保证)既然是要实现:在A服务器上调用B服务器上提供的函数 / 方法,就需要满足以下几个条件:一、存在至少一个服务端server(B服务器),一个客户端client(A服务器)。二、只有在A处于运行状态下,B才能访问到相

2021-05-12 23:26:22 97

原创 【python操作excel数据有效性(含excel的基本操作)】学习笔记

Excel的数据有效性功能,可以对输入单元格的数据进行内容上的限制。当我们利用 excel 生成代码时,可以通过此类方式规范输入。以下是:【openpyxl官方文档】excel的基本操作生成xlsxwb = Workbook()wb.save(xls_path)加载excel文件# 加载excel文件(data_only=True 代表以数据形式而非公式)wb = load_workbook(xls_path, data_only=True)新建 sheet页wb = l

2021-04-12 18:27:11 1416

原创 【python环境下调用C代码---使用】学习笔记

实例化cffiimport cffiffi = cffi.FFI() # 实例化ffifrom _test_cffi import ffi, lib # 包含 ffi , 库使用C的数据类型string_data = ffi.new("char[]", b"hello") # 使用 char 类型, 数组num = ffi.new("int *", 520) # 使用 指针struct_data = ffi.new("struct_test *", [1, 2]) # 使用编译通过

2021-04-11 20:21:22 241

原创 【python环境下调用C代码---附件】学习笔记

目录文件结构project│ cffi_test.py│ make_cdef.py│└───source_files │ call_back.h │ call_back.lib │ hello_world.c │ hello_world.hmake_cdef.py(自动编译 .h 文件):import cffifrom pathlib import PathSCRIPT_DIR = Path(__file__).paren

2021-04-11 19:19:33 174 1

原创 【python环境下调用C代码---编译】学习笔记

实现原理:通过 cffi 将 C 的源代码编译成 .pyd文件 (pyd 是其他语言写的python库)。然后在 python 环境下调用 C 的接口函数。python环境下调用C代码 的内容相对较多,所以将 编译 和 使用方法 分两篇文章展示。该文介绍 编译 ,需要 使用方法 的可以直接阅读 【python环境下调用C代码—使用】学习笔记先丢出编译的基本代码(原型): import cffi ffi = cffi.FFI() # 实例化ffi # 声明xxx.h里的函数和全局变量

2021-04-06 23:59:36 666 2

原创 【静态库&动态库】学习笔记

本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。静态库在链接阶段,会将源文件(.c、.cpp、.h等)编译生成的目标文件.o与引用到的库一起链接打包到可执行文件中。静态库的特点: 静态库对函数库的链接是放在编译时期完成的。 程序在运行时与函数库再无瓜葛,移植方便。 浪费空间和资源,因为所有相关的目标文件与牵涉到的函数库被链接合成一个可执行文件。动态库静态库对程序的更新会带来麻烦。如果静态库l..

2021-03-29 13:19:10 208 3

原创 【回调函数】学习笔记

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,这就是回调函数。假设我与他人协调开发,现在我需要用到某个功能的函数,而这个功能函数的实现是由同伴完成的,为了不影响到我的进度,我只需留了一个空的接口 func 在自己的代码中。为了使编译通过,可以声明空的函数或者使用回调。但如果自己的代码需要被编译成库提供给他人,则只能使用回调的方式(回调和空函数达到的效果虽然相同,但回调的优势在于它可以被编译成库,其回调内容可以在库的外部实现,而空

2021-03-24 22:16:26 244

repo与配套git-repo

repo与配套git-repo

2022-07-12

gitlab的rpm版本安装包

gitlab的rpm版本安装包

2022-02-14

gitlab的deb版安装包

gitlab的deb版安装包

2022-02-14

SQLiteExpertPersSetup64.exe

官方个人版

2022-01-14

vscode_c.zip

Mac vscode debug C

2021-11-17

VSCode-Mac-M1.zip

VSCode-Mac-M1.zip

2021-08-30

CANdb++.rar

CANdb++.rar

2021-08-26

XCOM V2.0串口工具.rar

串口工具

2021-06-15

Virtual Serial Port Driver 虚拟串口.rar

虚拟串口

2021-06-15

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除