- 2024-11-21手把手教你从头编写 PDF – 第 1 部分:PDF 对象和数据类型
本系列文章旨在带您实际了解PDF文档的工作原理。我将首先简要介绍编写PDF所需的元素。本系列最终将带您使用文本编辑器和十六进制编辑器来创建自己的低级HelloWorldPDF文件。在我开始使用PDF文件之前,我以为它们只是某种花哨的文本文档,其中嵌入了用于呈现图形的脚本
- 2024-11-20python | 结合__dict__理解__getattr__函数的使用
理解__getattr__函数什么是__getattr__工作流程什么是__dict__三者:__dict__、__dir__()、dir(obj)`obj.__dict__`示例代码`obj.__dir__()`示例代码`dir(obj)`示例代码区别什么是__getattr__看一段代码classMyClass():class_attribute="Iamaclas
- 2024-11-20EFCore如何更改跟踪状态
这里简单介绍下几种修改实体或者导航的跟踪状态。1.直接修改实体对已在DbContext中跟踪的实体,直接操作,如给字段赋值、给导航属性赋值或者添加删除等对未在DbContext中跟踪的实体,调用DbContext的Add、Update、Remove等方法,对已跟踪的实体也有效需要注意所有添加的实体都需要调
- 2024-11-19genaiscript踩坑:设置proxyman抓包、兼容qwen72b funtion-call
genaiscript有个很棒的日志系统,但是碰到接口报错就没用了,还是得抓包来看,为了设置proxy,得修改源码。genaiscript是通过npx运行的,包的执行优先顺序是本地依赖目录npminstallgenaiscript——npm全局依赖目录npminstall-ggenaiscript——npx缓存目录从没有安装过本地包,在Mac上对
- 2024-11-19建立函数及其参数的结果缓存
fromfunctoolsimportwrapsimporttimeclassCacheManager:def__init__(self):self._cache={}defget_cache_obj(self,key):"""获取缓存对象"""returnself._cache.get(key)defadd_cache_obj(
- 2024-11-18django mysqlclient orm
要在Django中连接MySQL数据库,你需要确保你的环境中安装了mysqlclient这个Python库。以下是连接MySQL数据库的步骤:安装mysqlclient库。如果你使用的是pip,可以通过以下命令安装:pipinstallmysqlclient在你的Django项目的settings.py文件中,修改DATABASES设置以使用MySQL数据库。
- 2024-11-17Microsoft Visual Studio VS dumpbin使用查看.obj、.lib、.dll、.exe文件头、段函数
前言全局说明dumpbin是VS自带的MicrosoftCOFF二进制文件转换器,它显示有关通用对象文件格式(COFF)二进制文件的信息。可以使用dumpbin检查COFF对象文件、标准COFF对象库、可执行文件和动态链接库等。被查看的文件名后缀可以为:.obj、.lib、.dll、.exe一、说明正确情况下,安
- 2024-11-17C++入门基础知识151—【关于C++ ++ 和 -- 运算符重载】
成长路上不孤单
- 2024-11-16CPP 智能指针
CPP智能指针Created:2024-06-30T20:43+08:00Published:2024-11-16T23:17+08:00Categories:C-CPP智能指针的作用智能指针最初使的作用就是离开作用域调用析构函数。因为malloc出来的东西只能通过指针持有,栈上的对象在离开作用域后会自动调用析构函数,但是裸指针会不调
- 2024-11-16动画函数封装
5.2.1、简单动画实现核心原理:通过定时器setInterval()不断移动盒子位置实现步骤:获得盒子当前位置、让盒子在当前位置上加上1个移动距离、利用定时器不断重复这个操作、加一个结束定时器的条件需要给元素加定位,利用left值变化改变元素的位置<!--需求:小盒子从左向右移
- 2024-11-16localStorage和sessionStorage存储封装
constcreateStorageProxy=(target={},type:'local'|'session')=>{conststorage=type==='local'?localStorage:sessionStorage;returnnewProxy(target,{get(obj:Record<string,any>,prop:string
- 2024-11-16嵌入式系统应用-LVGL的应用-音乐播放器
嵌入式系统应用-LVGL的应用-音乐播放器1播放器介绍2LVGL绘制2.1背景绘制2.2按键绘制2.2.1图标下载2.2.2由于图片尺寸默认200*200,利用图片工具转化成为50*502.2.3利用lvgl在线转化工具,进行转化c文件2.2.4代码显示2.3滑动条绘制2.4文本绘制2.5绘制效果3STM
- 2024-11-15instanceof 的模式匹配(一)
前言相信你在Java编程中用到过如下的操作://调用上游接口.返回结果objObjectobj=getObj();//判断返回值是不是字符串if(objinstanceofString){Stringobjstr=(String)obj;//dosomethingwithobjstr}以上这种instanceof-and-cast惯用语的
- 2024-11-15Python cache 内存泄漏问题
@functools.cache函数装饰器在一些特殊情况的时候会影响变量引用计数器的计数,从而导致内存泄漏。比如:@functools.cache和@@functools.property一起使用的时候,或者更复杂的嵌套引用1fromfunctoolsimportwraps234classCacheManager:5def__init__(self):
- 2024-11-14Python __dict__属性:查看对象内部所有属性名和属性值组成的字典
在Python中,每个对象都有一个__dict__属性,这个属性是一个字典,用于存储对象的属性和对应的值。对于自定义的类实例和大多数内置对象类型,你都可以通过访问__dict__属性来查看对象内部的所有属性名和属性值。以下是一些示例,展示了如何使用__dict__属性:示例1:自定义类实例class
- 2024-11-132024.11.13 前端打字机代码
要让打字结束后保持结束状态,首先需要确认你使用的EasyTyper库的逻辑。当EasyTyper完成打字后,它通常会执行一个回调函数,告知打字过程已经结束。从你提供的代码来看,回调函数()=>{}是空的,可能是为了暂时不做任何操作。如果你希望在打字完成后让文本保持在打字结束的状态,可以
- 2024-11-13javaScript对象函数初相识
1.1、对象初相识1.1.1、对象的初识1.1.1.1、对象的定义现实生活中,万物皆对象,对象是一个具体的事物,看得见摸得着的实物。例如一本书,一辆汽车,一个人可以是“对象”,一个数据库,一张网页,一个与远程服务器的连接也可以是“对象”。例子:明星、女朋友、班主任、苹果、手机周星驰
- 2024-11-13python两组概念辨析:__getitem__ .vs. getitem & __getattr__ .vs. getattr
python两组概念辨析:getitem.vs.getitem&getattr.vs.getattr内容在Python中,__getitem__、__getattr__、getitem和getattr都是与对象属性访问和方法相关的概念,但是它们的作用和使用场景有很大的区别。下面我将详细分析它们之间的区别,并解释哪些是Python特有的。1._
- 2024-11-12javascript 流程控制,数组【知识点整理】
javascriptJS流程控制条件控制语句循环语句跳转语句:异常处理:JS数组数组的方法JS流程控制条件控制语句if语句:用于在满足特定条件时执行代码块。if(condition){//如果条件为真,则执行代码块}if…else语句:在条件为真时执行一段代码,条件为假时执
- 2024-11-12Django数据库操作
1.ORM框架Django提供的ORM框架,可以简化MySQL代码,节省书写MySQL语句的时间。具体功能如下:创建、修改、删除数据库的表(不用写SQL语句,无法创建数据库)。修改表中数据(不用写SQL语句)。2.ORM使用安装mysql包注:Windows系统大概率安装失败,可直接去https://pypi.org/proje
- 2024-11-12关于JS框架的一点想法
读了几页《vue.js设计与实现》,记录几点想法:1.Html是根本2.无论哪个框架,不管是运行时框架,还是编译时框架,最终都要通过标签“绘制”页面3.这个“绘制的过程”就是渲染,渲染由浏览器完成。4.静态网站的渲染是最快的,没有所谓的“编译”环节消耗。5.为啥搞这么多新技术出来呢?一是直
- 2024-11-11深拷贝函数的实现
functiondeepClone(obj,hash=newWeakMap()){//处理null、undefined、非对象的情况(直接返回值)if(obj===null||typeofobj!=='object')returnobj;//防止循环引用if(hash.has(obj))returnhash.get(obj);//支持Date、RegExp类型
- 2024-11-10【JS】如何设置一个只读属性
1.Object.defineProperty通过属性描述符将属性设置为不可修改constobj={};Object.defineProperty(obj,'name',{value:'John',writable:false,//不允许修改该属性configurable:true,//允许删除或修改属性描述符});console.log(obj.name);//输
- 2024-11-10栈和队列(原理、代码实现、例题)
一、栈1.概念栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(LastInFirstOut)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做
- 2024-11-08【前端知识】es6基础语法介绍
ES6基础语法介绍概述1.变量声明:let和const2.模板字符串3.解构赋值4.箭头函数5.默认参数值6.类(Classes)7.模块8.扩展运算符(SpreadOperator)9.对象字面量增强10.符号(Symbols)11.迭代器(Iterators)和生成器(Generators)12.承诺(Promises)基本数据类型1.字符串(String