- 博客(110)
- 收藏
- 关注
原创 Vue2.x 组件通信方式详解,这篇讲全了
vue是数据驱动视图更新的框架, 我们平时开发,都会把页面不同模块拆分成一个一个vue组件, 所以对于vue来说组件间的数据通信非常重要,那么组件之间如何进行数据通信的呢?首先我们需要知道在vue中组件之间存在什么样的关系, 才更容易理解他们的通信方式。一般我们分为如下关系:父子组件之间通信非父子组件之间通信(兄弟组件、隔代关系组件、跨层级组件等)Vue2.x 组件通信共有12种props.syncv-modelrefEventBusVuex$root。
2023-08-25 09:45:00 407
原创 VueHub:我用 ChatGPT 开发的第一个项目,送给所有 Vue 爱好者
不但可以直接进到 Vue2 或 Vue3 版本的中文或英文官网,还能直接跳到 GitHub 项目,以及 CDN 地址。ChatGPT 只是开发了个架子,然后里面的资源是用 ChatGPT 查的,包括网址和描述。我可以用我 7 年工作经验向你担保,Vue 项目开发所需要的技术就那几种,全在这上面。感兴趣的记得关注我哦。Vue 的生态已经相当成熟,优秀组件,库,框架琳琅满目,数不胜数。我平常开发既有 Vue2 的项目,又有 Vue3 的项目。不管是公司,还是个人项目,用的都是 Vue 技术栈。
2023-08-25 09:15:00 259
原创 如何通过C#/VB.NET 代码调整PDF文档的页边距
PDF边距是页面主要内容区域和页面边缘之间的距离。与Word页边距不同,PDF文档的页边距很难更改。因为Adobe没有提供操作页边距的直接方法。但是,您可以通过缩放页面内容来改变页边距。本文将介绍如何在不更改页面大小的情况下使用C#/VB.NET 代码调整PDF文档的页边距。
2023-08-24 10:00:00 372
原创 超长溢出头部省略打点,坑这么大,技巧这么多?
本文,我们介绍了一种在头部省略溢出的情境下,对于形如这种用下划线连接的文本,处理的方式会被对待成一样的情况,导致了最终排版结果与我们的预期不符。方案一:两次direction反转方案二:通过伪元素添加字母,破坏其纯数字的性质方案三:通过\200eLRM 标记位方案四:通过<bdi>标签上述 4 个方案的思维与处理方式各有优劣。围绕多语言排版涉及了不同的知识,从一个很小的需求中,能够窥探到其中复杂的逻辑。是一个很好的业务实操案例。
2023-08-24 09:30:00 121
原创 go slice使用
在go中,slice是一种动态数组类型,其底层实现中使用了数组。slice有以下特点:slice本身并不是数组,它只是一个引用类型,包含了一个指向底层数组的指针,以及长度和容量。slice的长度可以动态扩展或缩减,通过append和copy操作可以增加或删除slice中的元素。slice的容量是指在底层数组中slice可以继续扩展的长度,容量可以通过make函数进行设置。Slice 的底层实现是一个包含了三个字段的结构体:ptr uintptr // 指向底层数组的指针。
2023-08-23 09:15:00 68
原创 聊聊「低代码」的实践之路
这样可以支撑各种业务场景的数字化管理,并且低代码搭建的产品,本身具备很强的灵活可变能力,都有助于效率的提升;常规就是页面的渲染和展示,数据层面的增删改查,计算层面的加减乘除,当然还要考虑模型整体的驱动和交互逻辑;就是可以通过各种组件的拖拽,实现页面的创建,交互流程和逻辑,以及数据层面的管理,更加高效的实现需求;后端,提供整体的模型驱动能力,封装不同场景下的公共的交互接口,从而实现各个模块的流程和逻辑;有的应用极具行业的特色,有的应用倾向共性业务的管理,有的应用倾向私域客群的维护;
2023-08-23 09:15:00 58
原创 一文理解TS泛型
在编程语言中,泛型指的是参数化类型的概念。也就是说,我们可以定义一个函数、接口或类等,能够处理不同类型的数据,而不是只能处理一种类型的数据。这使得我们的代码更加灵活、通用、可复用。下面是一个简单的泛型函数的例子:return arg;// 输出 hello world上面这个函数用于返回的值与传入的参数类型相同,这类函数通常称为 Identity 函数。这里使用了<T>来代表泛型类型,在函数声明时,我们用具体类型替换了<T>,使得函数可以处理任意类型的数据。
2023-08-22 09:15:00 113
原创 当我第一次通过Kotlin和Compose来实现一个Canvas时, 我收获了什么?
先看下效果, 动画原始效果非原创, 在结合实际功能效果的情况下进行了二次设计.最终的实现结果还是比较满意的, 额外的添加了许多的动画效果. 或者说, 显示的每个部分都是有自己的动画的.
2023-08-22 09:15:00 153
原创 用C++编写一个简单的发布者和订阅者
rclcpp::init 初始化 ROS 2,rclcpp::spin 开始处理来自节点的数据,包括来自定时器的回调。现在节点被命名为minimal_subscriber,构造函数使用节点的create_subscription类来执行回调。你现在可以 build 你的包,source local_setup.bash,然后运行它,但让我们先创建订阅者节点,这样你就可以看到一个完整工作的系统。在ament_cmake构建工具的依赖关系后增加一行,并粘贴以下与你的节点的include语句相对应的依赖关系。
2023-08-21 09:45:00 289
原创 chrome Dev Tools 性能分析 performance
我们的目标是保证页面要有高于每秒60fps(帧)的刷新频率,这和目前大多数显示器的刷新率相吻合(60Hz)。如果网页动画能够做到每秒60帧,就会跟显示器同步刷新,达到最佳的视觉效果。这意味着,一秒之内进行60次重新渲染,每次重新渲染的时间不能超过16.66毫秒。fps<24 会让用户感觉到卡顿,人眼的识别主要是24帧。
2023-08-21 09:15:00 620
原创 揭开神秘面纱,会stream流就会大数据
如果你会任意一门语言的stream流,没道理不会大数据开发。俗话说男追女隔座山,女追男隔层纱。如果说零基础学大数据,感觉前面是一座山,那么只要你会java或者任意一门语言的stream流,那大数据就只隔了一层纱。本文以java stream流计算为例,讲解一些基础的spark操作。另一个流行的大数据框架flink同理。
2023-08-20 10:45:00 54
原创 解决Kibana(OpenSearch)某些字段无法搜索问题
解决这个问题的方法是在Kibana的管理页面中刷新字段列表,以确保所有字段的映射信息都是最新的。在这个页面中,Kibana会缓存映射信息以提高性能,如果新加入了一个字段,则需要刷新字段列表才能使其可搜索。由于我们刷新了字段列表,导致搜索的字段超过了默认100的上限,最简单的方法是在【Dev Tools】里用下面REST API上调该索引模式的。最近在OpenSearch查看线上日志的时候,发现某个索引下有些字段无法直接在界面上筛选,搜索到也不高亮,非常的不方便,就像下面这样。在OpenSeach里,从。
2023-08-20 09:30:00 1075
原创 ES的索引结构与算法解析
ES在处理海量数据时通过其独到的结构和压缩算法,将索引效率尽可能的提升。虽然在实际业务处理中我们极少遇到海量数据处理的情况,但是通过了解ES的原理,能够帮我们开阔下视野,了解数字之美,算法之美。
2023-08-19 20:08:16 1877 1
原创 关于spring嵌套事务,我发现网上好多热门文章持续性地以讹传讹
事情起因是,摸鱼的时候在某平台刷到一篇spring事务相关的博文,文章最后贴了一张图。里面关于嵌套事务的表述明显是错误的。更奇怪的是,这张图有点印象。在必应搜索关键词出来的第一篇文章,里面就有这这部份内容,也是结尾部份完全一模一样。更关键的是,人家原文是表格,这位倒好,估计是怕麻烦,直接给截成图片了。而且这篇文章其实在评论区已经被人指出来这方面的问题了,谁也不能保证自己写的文章没有一点纰漏,但原作者并没有加以理会并修改错误。这位转载作者呢也不加验证地直接拿走了。
2023-08-19 20:07:23 142
原创 Swift CustomStringConvertible 协议的使用
先看一下Swift标准库中对协议的定义//////////// }/// }//////从声明中我们可以看到协议中只包含了一个的只读属性 ,而且通过协议命名也可以窥探到它的作用 Custom+String+Convertible (所作用的类型去自定义String的转换)实现协议类似于在Objective-C中重写自定义作用类型的print输出作用的类型可自定义转换成Stringprint(s)
2023-08-18 09:45:00 158
原创 即时通讯系统为什么选择GaussDB(for Redis)?
每当网络上爆出热点新闻,混迹于各个社交媒体的小伙伴们全都开启了讨论模式。一条消息的产生是如何在群聊中传递的呢?让我们一起来探索即时通讯系统(IM)的原理。
2023-08-18 09:15:00 88
原创 MQTT-发布与订阅的报文
订阅报文中的的QoS字段是代理向订阅者转发消息时能使用的最大等级, 如果超过这个QoS等级的消息也会转发,如果发送这种情况,消息也会转发,但是QoS会降级,比如订阅的时候请求的等级为1,发布者如果发布的为2等级,代理转发的时候会降级为1,如果发布者发布0或者1,因为没有超过请求者最大的QoS,会保持不变,相当于消息转发时候的QoS等级永远是消息发布时的QoS等级和订阅时候服务端授予的QoS等级这两者的最小值。字段含义:指定发布消息的主题,一条消息只能指定一个主题,如果要发送给多个主题需要指定多条消息。
2023-08-17 09:45:00 334
原创 SpringBoot自定义cron表达式注册定时任务
1、使用Spring自带的TaskScheduler注册任务2、注册后返回:ScheduledFuture,用于取消定时任务3、注册任务后不会马上取消任务,所以将任务缓存。在需要取消任务的时候调用取消接口取消4、cron表达式可以由前端或者后端生成。实现中会校验cron表达式/*** 1、使用Spring自带的TaskScheduler注册任务* 2、注册后返回:ScheduledFuture,用于取消定时任务*/@Resource。
2023-08-17 09:45:00 222
原创 UE4 内存写坏导致异常崩溃问题记录
当数组元素只剩一个时,如果触发了两次 RemoveCurrent,就会导致写到数组之外的内存空间,RemoveCurrent 的机制会把后面的数组元素迁移到删除的位置上,保证数据连贯。内存写坏了通常指程序在操作内存时写入了非法的数据或超出了内存分配的范围,导致程序出现错误或崩溃。大部分情况下有内存池的技术,且操作系统分配内存往往会向上按页对其分配,所以一时的内存越界读写有可能不会马上出现问题。原因基本上都是 read write memory 时触发了异常,盘查后初步怀疑是内存写坏了。
2023-08-16 09:45:00 662
原创 DRF的限流组件(源码分析)
cache = default_cache # 访问记录存放在django的缓存中(需设置缓存)scope = 'user' # 构造缓存中的key# 设置其他访问评率, 例如: 一分钟允许访问10次# 其他: 's': 'sec', 'm': 'min', 'h': 'hour', 'd': 'day'else:ident = self.get_ident(request) # 获取请求用户IP(request中找请求头)detail = {'data': '访问频率限制',
2023-08-16 09:15:00 117
原创 Qt 加载 libjpeg 库出现“长跳转已经运行”错误
简单说来,ERREXIT 是官方的 libjpeg 遗留下来的,代码很古老,至今没人修,而 libjpeg-turbo 只是包装了 libjpeg 库,这样加载更快,对 libjpeg 中的 api 没有任何改变,他也可以帮忙包装下这个报错,只是要加钱。嗯,80 的为 qt 专属,这就解释了为啥触发了 ERREXIT2 了,顺便说一句,vcpkg 提供的库其实就是官方的库,libjpeg-turbo 不管是 2.1.5 还是 2.1.3,JPEG_LIB_VERSION 都是 62。
2023-08-15 09:45:00 165
原创 【深度思考】聊聊CGLIB动态代理原理
CGLIB的全称是:Code Generation Library。CGLIB是一个强大的、高性能、高质量的代码生成类库,它可以在运行期扩展Java类与实现Java接口,底层使用的是字节码处理框架ASM。。
2023-08-15 09:15:00 774
原创 Node + Express 后台开发 —— 起步
在 mongoose 中,需要创建一个 model(模型),可以把他当做一张表(或一条记录),比如下文。又不是做一个复杂的后端,只是简单的数据存储(增删改查)、上传文件、下载csv或excel,无需考虑性能、稳定性、负载均衡等等,怎么就不能做。就是一个 model,向 model 插入一条数据时,mongoose 会自动创建一张名为 users 的表(或集合)。- 创建 pjl_db 数据库,同时这个数据库最多 1M,记录数只能有1000条,在多一条则把第一条给替代。甚至字段名不同,字段数量不同也能插入。
2023-08-14 09:45:00 661
原创 django使用多个数据库实现
创建多个数据库连接设置创建多个数据与应用app的映射关系创建数据库路由创建model类的时候置指明app_label,即这个model是属于那个app,从而觉得迁移到那个数据库。
2023-08-14 09:45:00 432
原创 docker上面部署nginx-waf 防火墙“modsecurity”,使用CRS规则,搭建WEB应用防火墙
web防火墙(waf)免费开源的比较少,并且真正可以商用的WAF少之又少,modsecurity 是开源防火墙鼻祖并且有正规公司在维护着,目前是https://www.trustwave.com在维护,不幸的是2024 年 7 月将不再维护交还开源社区管理,Trustwave目前打造自己的web防火墙,至于是否免费开源就不得而知了。ModSecurity目前依然是开源,免费的WAF一哥,我们就先用着吧,商业WAF费用太贵。
2023-08-13 09:45:00 778
原创 C#多线程学习 生产者和消费者
Monitor必须和一个具体的对象相关联,但是由于它是一个静态的类,所以不能使用它来定义对象,而且它的所有方法都是静态的,不能使用对象来引用。当拥有对象锁的线程准备释放锁时,它使用Monitor.Pulse()方法通知等待队列中的第一个线程,于是该线程被转移到预备队列中,当对象锁被释放时,在预备队列中的线程可以立即获得对象锁。如上所示,当一个线程调用Monitor.Enter()方法锁定一个对象时,这个对象就归它所有了,其它线程想要访问这个对象,只有等待它使用。
2023-08-13 09:15:00 220
原创 Karmada 多云容器编排引擎支持多调度组,助力成本优化
支持多调度组设置为用户提供了更丰富的多集群资源分发策略选择,Karmada 后续也会继续探索云成本的管理,大家有任何感兴趣的想法,都欢迎大家来 Karmada 社区进行讨论与分享。
2023-08-13 09:15:00 156
原创 Callback详解
需要注意的是,回调方法中可以使用模型对象的任何属性或方法来执行特定的逻辑,例如更新其他对象、发送电子邮件等。使用回调可以让我们更灵活地控制模型对象的行为,可以在对象的生命周期中执行任意的操作。回调可以在模型对象的创建、更新、删除等操作中执行特定的代码,例如保存对象前执行某些逻辑,或者在对象被删除前执行清理操作。因为回调的执行顺序是不确定的,所以在某些情况下,属性的更新可能会被其他回调覆盖或被数据库中的持久化数据覆盖。要注册回调,可以在模型类中使用相应的回调方法来指定回调的类型,然后指定要执行的方法。
2023-08-13 09:15:00 304
原创 如何在 .NET Core WebApi 中处理 MultipartFormDataContent 中的文件
上图示例展示了用户通过 IOS 客户端发送请求时,对应后端接口接收到的 Request 内容。
2023-08-12 11:08:00 1767
原创 .NET Core反射获取带有自定义特性的类,通过依赖注入根据Attribute元数据信息调用对应的方法
前段时间有朋友问道一个这样的问题,.NET Core中如何通过Attribute的元数据信息来调用标记的对应方法。我第一时间想到的就是通过C#反射获取带有Custom Attribute标记的类,然后通过依赖注入(DI)的方式获取对应服务的方法并通过反射动态执行类的方法,从而实现更灵活的编程方式。/// 自定义一个Attribute类型set;/// 前进服务");/// 后退服务");
2023-08-11 09:45:00 402
原创 实时分布式低延迟OLAP数据库Apache Pinot探索实操
Pinot可直接从流数据源(如Apache Kafka和Amazon Kinesis)中摄取数据,基于实时事件实现即时的查询。还可以从批处理数据源中摄取数据,如Hadoop HDFS、Amazon S3、Azure ADLS和谷歌云存储。核心采用列式存储,基于智能索引和预聚合技术实现低延迟;还提供内部仪表板、异常检测和临时数据探索。
2023-08-11 09:30:00 343
原创 轻量级Web框架Flask
通过db.ForeignKey("user.id")与主表绑定books =db.relationship('Book',backref=db.backref('cards');# book1= Book(id=9,title='智能导论', publishing_office='高等教育出版社',isbn='9787040479844')email = db.Column(db.String(50), nullable=False, unique=True, comment = "邮箱")
2023-08-10 09:30:00 80
原创 万字长文,带你彻底搞懂 HTTPS(文末附实战)
其实网上写 HTTPS 的文章也不少了,但是不少文章都是从原理上泛泛而谈,只讲概念,没有讲原因,作为小白,看完还是会有一种似懂非懂的感觉。本文尝试从 HTTP 开始,一步一步深入到 HTTPS,告诉你 HTTPS 到底是什么、为什么需要 HTTPS、以及 HTTPS 到底是怎么做的。相信你在阅读完本文后,一定会对 HTTPS 有深入的了解。
2023-08-09 09:45:00 640
原创 学C语言 | 位运算符<<的高级用法
在上一篇文章中,我们介绍了运算符的高级用法,本篇文章,我们将介绍<<运算符的一些高级用法。第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。
2023-08-09 09:45:00 794
原创 java实战分享
布隆过滤器是一个很长的二进制向量和一系列随机映射函数,用于检索一个元素是否在一个集合中。它的空间效率和查询时间都远远超过一般的算法,但是有一定的误判率 (函数返回 true , 意味着元素可能存在,函数返回 false ,元素必定不存在)。布隆过滤器的四个核心属性:k : 哈希函数个数m : 位数组长度n : 插入的元素个数p : 误判率Java 世界里 ,通过 Guava 和 Redisson 创建和使用布隆过滤器非常简单。布隆过滤器无法删除元素,但我们可以通过计数布隆过滤器和。
2023-08-08 09:30:00 61
原创 STM32启动分析之main函数是怎样跑起来的
在startup.s文件中,跳转到_main,这个_main并不是c的main函数,而是编译器内置的一个c库函数,内部执行了三个步骤:初始化rw段,初始化zi段,调用另一个c库函数__rt_entry()。在main启动前,标准库已经做了很多工作,当跳转mian时,堆栈已经完成了初始化、C运行时环境已经就绪。RW-data在RAM中,掉电丢失,所以需要启动时从FLASH拷贝到RAM中去,所以RW占FLASH空间。ZI-data 在bss段,ZI数据全为0,所以没有必要占用Flash空间,运行时占用RAM。
2023-08-08 09:30:00 790
原创 极简cfs完全公平调度算法
1. 说明1> linux内核关于task调度这块是比较复杂的,流程也比较长,要从源码一一讲清楚很容易看晕2> 本篇文章主要是讲清楚cfs公平调度算法如何将task在时钟中断驱动下切换调度,所以与此无关的代码一律略过3> 本篇只讲最简单的task调度,略过组调度,组调度在下一篇《极简组调度-CGroup如何限制cpu》中讲解4> 本篇源码来自CentOS7.6的3.10.0-957.el7内核2. 极简task调度核心思想1> linux采用cfs公平调度算法,其用vruntime记录task运行的cpu时
2023-08-07 09:45:00 128
河南裕华长安铃木4S店岁末客户答谢交流会-22P_市场运营_企划活动营销策划方案.pdf
2023-08-09
和记黄埔地产重庆及上海两地项目圣诞及新年活动建议案-30P_市场运营_企划活动营销策划方案.pdf
2023-08-09
DBank杯 无忧PPT 原创设计PPT作品大赛 投稿作品第003号_市场运营_企划活动营销策划方案.ppt
2023-08-09
和记黄埔地产戶型品鉴会及圣诞活动策划方案-57p_市场运营_企划活动营销策划方案.pdf
2023-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人