- 2024-10-18Rust宏之derive的设计及实战
Rust宏可以极大的简化编写的难度,学习好宏可以更好的减少冗余代码。宏的基本概念Rust中的宏可以分为两大类:声明宏(DeclarativeMacros)和过程宏(ProceduralMacros)。声明宏:也称为macro_rules!宏,使用macro_rules!关键字定义。它是一种基于模式匹配的文本替换宏,类似于C语言中的宏定
- 2024-09-05SQL数据库:SQL语句中的Select@@identity用法
select@@identity的用法 使用select@@当最后一次插入记录时,identity自动生成ID如果您使用存储过程,将非常简单,代码如下:SET@NewID=@@IDENTITY说明:在一条INSERT、SELECTINTO或大容量复制语句完成后,@@IDENTITY它包含了这个句子产生的最终标识值。如果这个句子不影响
- 2024-08-21MySQL 源码|50 - 语法解析:基础表达式(simple_expr)
目录文档:MySQL源码|源码剖析文档目录源码位置(版本=MySQL8.0.37):sql/sql_yacc.yy前置文档:MySQL源码|37-语法解析:聚集函数MySQL源码|38-语法解析:窗口函数MySQL源码|43-语法解析:关键字函数MySQL源码|44-语法解析:非关键字函数MySQL源码|45-语法解析:通用函数MySQL
- 2024-04-22海南免税商城数据爬取(破解滑块验证码)
1.python部分main.py#-*-coding:utf-8-*-#@Time:2024/4/1521:24#@Author:快乐的小猴子#@Version:#@Function:importsubprocessfromfunctoolsimportpartial#专门用来固定参数的subprocess.Popen=partial(subprocess.Popen,encoding="utf-8")im
- 2024-03-13频率组件 LL
1、throttle"""系统:1)AnonRateThrottle:对同一IP游客的限制2)UserRateThrottle:对同一IP登录用户的限制必须在settings.py中'DEFAULT_THROTTLE_RATES':{'user':'10/min',#登录的用户一分钟可以访问10次'anon':'3/min',#
- 2024-01-14PostgreSQL 数据库日志收集功能开启-参数 syslog_ident 等其他参数设置
syslog_ident(string)当日志记录到syslog日志时,该参数决定了用于识别syslog日志中PostgreSQL消息的程序名称。默认为postgres。该参数只能在postgresql.conf文件或服务器命令行中设置。syslog_sequence_numbers(boolean)当日志记录到syslog并且开启此选项时(默认设置
- 2023-08-01Flask的线程,携程与并发 (2)
Flask的线程,携程与并发(2)pipreqs:-项目依赖pip3installpipreqs-生成依赖文件:pipreqs./-安装依赖文件:pip3install-rrequirements.txt函数和方法fromtypesimportMethodType,FunctionTypeclassFoo(object): deffetch(self): passprint(isinstance(
- 2023-08-01Flask的线程,携程与并发
Flask的线程,携程与并发并发编程#1操作系统发展史#2进程基础:操作系统上运行的程序,是资源分配的最小单位#3进程调度:时间片轮转法#4并发和并行#5同步,异步,阻塞,非阻塞#6python创建进程 -两种方式: -类继承:Process,重写run方法-Process(target=任务)
- 2023-07-19postgres 常用命令
查看查看所有数据库大小SELECTdatnameASdatabase_name,pg_size_pretty(pg_database_size(datname))ASdatabase_sizeFROMpg_database;查看数据库中所有表的大小SELECTtable_name,pg_size_pretty(pg_total_relation_size(quote_ident(table_schema)||'.'||quot
- 2023-07-10Python 实现 ThreadLocal
importthreadingfromthreadingimportget_identimporttimeclassContext:def__init__(self):object.__setattr__(self,'__global_context__',dict())object.__setattr__(self,'__get_ident__',get_ident)def
- 2023-06-25Rust 过程宏 proc-macro 是个啥
定义一个proceduralmacro新建一个lib类型的crate:cargonewhello-macro--libproceduralmacros只能在proc-macro类型的crate内定义,所以需要修改Cargo.toml:[lib]proc-macro=true删除src/lib.rs里的全部内容,然后定义第一个过程宏(proceduralmacro):use
- 2023-06-17《编译原理》实验四:自下而上的语法分析(SLR分析法)
本实验采用SLR分析法,对PL/0语言的算术运算进行语法分析。本程序由我个人独立完成,代码为C++98,因此可能较丑陋,且不能保证完全正确,还请见谅 ( ̄□ ̄;)一.设计思想1.文法因实验二、三中的文法均不是LR(0)文法,所以本次实验采用了实验三中的文法进行SLR分析。(1)EBNF<表达式>::=[+|-]<
- 2023-06-17用声明式宏解析 Rust 语法之 enum parser
上一篇用声明式宏解析Rust语法我们的"macroparser"解析了function和struct,这篇来尝试parse一下更复杂的enum为什么说enum更复杂?因为它不像struct结构内都是identifier:type那样规律。enum内部的EnumItem可能是一个简单的identifier,也可能是tuple或
- 2023-06-01《编译原理》实验三:自下而上语法分析(算符优先分析法)
本实验采用算符优先分析法,对PL/0语言的算术运算进行语法分析。本程序由我个人独立完成,代码为C++98,因此可能较丑陋,且不能保证完全正确,还请见谅 (¯﹃¯)一.设计思想1.文法因实验二中的文法不是算符优先文法,所以本次实验采用了新的文法。(1)EBNF<表达式>::=[+|-]<项>{<加法运算
- 2023-05-16《编译原理》实验二:自上而下语法分析
本实验采用预测分析法,对PL/0语言的算术运算进行语法分析。因为我所见到的互联网上的语法分析程序大多使用的递归下降法,所以本程序完全由我个人独立完成,代码为C++98,因此可能较丑陋(尤其是预测分析表部分),且不能保证完全正确,还请见谅 ┗(T﹏T)┛一.设计思想1.文法(1)EBNF<表达式>
- 2023-04-30《编译原理》第一次实验:词法分析
该分类为本人在本学期《编译原理》课程上的实验报告,实验对象语言为教学用PL/0语言,实验所用语言为C++。全部报告仅供参考,如有缺漏或错误,烦请指出,Thanks♪(・ω・)ノ一.设计思想根据PL/0语言的文法规范,编写PL/0语言的词法分析程序。1.单词种类及其正规式(1)基本字单词的值单
- 2023-03-12ELF 文件
ELF文件本部分内容来源于ELF1.2标准,内容经过一定的修改与整理,主要参考文献如下ELF文件格式分析,北京大学,滕启明ELF-摧毁圣诞简介ELF(ExecutableandLinkable
- 2023-02-167.drf-限流
限流就是限制用户的访问频率,如每分钟的操作的次数不超过3次等对于匿名用户,使用用户IP作为唯一标识对于登录用户,则使用用户的ID作为唯一标识1.限流的机制DRF中
- 2023-01-10@@IDENTITY,SCOPE_IDENTITY,IDENT_CURRENT
/*@@IDENTITY返回为当前会话的所有作用域中的任何表最后生成的标识值(返回最后执行对象的标识值)SCOPE_IDENTITY()返回为当前会话和当前作用域中的任何表最后生成的标识值
- 2022-12-14threading.local、请求上下文执行流程
多app应用fromflaskimportFlaskfromwerkzeug.servingimportrun_simplefromwerkzeug.middleware.dispatcherimportDispatcherMiddlewareapp01=Flask('app01
- 2022-12-14flask-05
一、并发编程操作系统发展史进程基础:操作系统上运行的程序,是资源分配的最小单位进程调度:时间片轮转法并发和并行同步,异步,阻塞,非阻塞python创建进程两种方式:类继
- 2022-12-14threading.local的使用
fromthreadingimportlocal多个线程操作同一个变量,如果不加锁,会出现数据错乱问题,但是读个线程同时操作threading.local对象就不会出现数据错乱作用:线程变量,意思
- 2022-12-14【Flask】flask-script, 自定义local支持线程和协程
目录1.多app应用2.flask-script3.导出项目依赖4.函数和方法5.偏函数6.threading.local7.自定义local支持线程和协程8.flask请求上下文分析1.多app应用#之前咱
- 2022-12-10Zabbix 6 系列学习 03:包安装(Ubuntu)
本文采用的是Ubuntu22.04,其他系统请参考后续文章。本文环境系统:Ubuntu22.04LTSPHP:8.0PostgreSQL:14前端:Nginx系统版本前提由于初始化的Ubuntu是普通用户权限,所以会出现
- 2022-12-02基于Antlr的Modelica3.5语言解析
背景Modelica语言是一种统一面向对象的系统建模语言官方文档中明确写明了语法规范在附录的第一章词法,第二章语法都完整的罗列的语言规范,对于Antlr适配特别好只需要把[