• 2024-09-07Objective-C 动态调用秘籍:NSInvocation 的魔法
    标题:Objective-C动态调用秘籍:NSInvocation的魔法在Objective-C编程中,NSInvocation是一个强大的工具,它允许你在运行时动态地调用方法。这种能力对于实现诸如方法拦截、依赖注入、或者在不知道方法签名的情况下调用方法等高级功能至关重要。本文将深入探索NSInvocation的使用方法,并
  • 2024-08-03Blazor Web 应用如何实现Auto模式
    本文介绍BlazorWeb应用Auto交互呈现模式的实现方案,如下示例是基于Known框架来实现的,该解决方案共有3个项目,具体实现步骤如下:1.前后端共用项目创建前后端共用类库项目Sample,定义系统的实体类、数据模型、服务接口、常量、枚举等,项目工程文件内容如下:<ProjectSdk="Microso
  • 2024-07-06Dubbo 2.7 源码解析 - 之 远程调用
    Dubbo2.7中的远程调用是其核心功能之一,涉及从客户端发起请求到服务端处理并返回结果的整个过程。这个过程高度抽象且灵活,支持多种协议、序列化方式和负载均衡策略。以下是远程调用的关键流程和相关源码解析:远程调用流程概览构建请求:消费者通过代理对象(由ProxyFactory创
  • 2024-07-04Asp .Net Core 系列:基于 Castle DynamicProxy + Autofac 实践 AOP 以及实现事务、用户填充功能
    目录什么是AOP?.NetCore中有哪些AOP框架?基于CastleDynamicProxy实现AOPIOC中使用CastleDynamicProxy实现事务管理实现用户自动填充什么是AOP?AOP(Aspect-OrientedProgramming,面向切面编程)是一种编程范式,旨在通过将横切关注点(cross-cuttingconcerns)从主要业务逻辑
  • 2024-07-01aop的两种配置方法
    一、实现接口并重写方法实现org.aopalliance.intercept.MethodInterceptor接口,这是AOPAlliance规范中的接口,SpringAOP支持它。这种方式比较适合需要非常细粒度控制的场景。importorg.aopalliance.intercept.MethodInterceptor;importorg.aopalliance.intercept.MethodInvoc
  • 2024-05-30自己实现dubbo参数校验(类似RestFul 参数校验)
    1.场景:因为工作中经常需要做参数校验,在springboot项目中使用@Valid+@NotNull、@NotBlank…注解开发API接口非常丝滑,相反在开发RPC接口时却还是需要编写大量的参数判断,严重影响主业务流程的开发(公司目前用的是Dubbo2.7.2)且代码整洁度、风格都受到了挑战。基于以上原因萌生了写一
  • 2024-04-28找不到主数据库Invocation of init method failed; nested exception is com.baomidou.dynamic.datasource.excepti
    问题1说明:时隔半个月没用,jeecgboot跑起来的时候报这个错了,Invocationofinitmethodfailed;nestedexceptioniscom.baomidou.dynamic.datasource.exception意思是找不到主数据库,公司的数据库不太稳定,所以找到这篇文章,https://blog.csdn.net/weixin_46277254/article/details/
  • 2024-04-09spring-LocalVariableTableParameterNameDiscoverer
    记录一下后期整理注:此工具类是解析class文件从class文件获取,而不是通过元空间的class对象的method获取 /***在jdk8以前java源码编译后通过反射是无法获得形参名的,在Java8及之后,编译的时候可以通过-parameters为反射生成元信息,可以获取到方法的参数名,但这
  • 2024-03-31记录一次删除文件失败的问题
    一段很简单的删除文件的C#代码,在IIS中有部分文件会出现删除失败的情况,错误提示如下:2024-03-3117:40:21.981+08:00[ERR]Accesstothepath'C:\projects\ows.services.dignite.com\wwwroot\tenants\b384a371-835f-e19b-4d4d-3a1104e4c4a6\files\1734aa3d61314c1b9735d59b
  • 2024-03-09直播app开发,实现具备可扩展性代码的关键
    在直播app开发过程中,会经常碰到这么一些需求,比如在在主流程执行前,要做一些前置事件,在主流程执行之后,做一些收尾工作。对一些新手程序员,他可能会直接写类似如下的代码publicvoidexecute(){doBefore();doBiz();doAfter();} 对有一定
  • 2024-01-13聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(三)
    聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(三) 合集-聊一聊如何整合Microsoft默认的Ioc容器和Castle.Core(4) 1.聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)01-122.聊一聊如何结合Microsoft.Extensions.De
  • 2024-01-12聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(三)
    前言今天的第三篇,感觉没啥人看呀,难道没有兄弟跟我有同样的整合需求吗???手动,本文会简短一些,介绍下CastleCore作为代理库的一些缺点甚至是硬伤异步支持先上代码///<summary>///异常捕获、日志记录和耗时监控拦截器2024-1-1221:28:22///</summary>publicclassCatch
  • 2023-12-24APISIX dubbo-proxy 实战
    APISIXAPISIX声称支持DubboProxy实践主要是APISIX官方网站上的这篇博客写的问题很大。博客上写的HTTP2DubboService实现类@ComponentpublicclassHTTP2DubboServiceImplimplementsHTTP2DubboService{@AutowiredprivateApplicationContextappContext
  • 2023-12-23短视频app开发,集群容错策略的代码分析
    短视频app开发,集群容错策略的代码分析1FailoverFailover故障转移策略作为默认策略,当短视频app开发中的消费发生异常时通过负载均衡策略再选择一个生产者节点进行调用,直到达到重试次数。即使业务代码没有显示重试,也有可能多次执行消费逻辑从而造成重复数据:publicclass
  • 2023-12-04seafile获取token和文件夹ID
    获取tokencurl-d"[email protected]&password=tkv7zjV4P0Rq"http://xxxxxxxx:50018/api2/auth-token/双因素认证:curl-d"[email protected]&password=tkv7zjV4P0Rq" -H'X-SEAFILE-OTP:<token>
  • 2023-12-01dubbo中接口cache使用及原理
    服务提供者类增加注解@DubboService(cache="true")指定服务调用的缓存实现,包括:lru,threadlocal,jcache。 提供者@DubboService(token="true",cache="true")publicclassCacheServiceImplimplementsCacheService{privatefinalAtomicIntegeri=
  • 2023-09-27SpringBoot | Dubbo之Filter使用示例
    欢迎参观我的博客,一个Vue与SpringBoot结合的产物:https://poetize.cn博客:https://gitee.com/littledokey/poetize-vue2.git聊天室:https://gitee.com/littledokey/poetize-im-vue3.git后端:https://gitee.com/littledokey/poetize.git七牛云登录/注册地址(文件服务器,CDN):https:/
  • 2023-08-28使用Struts2拦截器需要注意的地方
    今天在写拦截器的时候发现一个貌似属于bug的问题我使用的版本是2.1.8 当访问一个满足拦截器拦截条件的请求时,虽然代码已经执行进入拦截器,并且返回结果也是拦截后改变的跳转结果,但是却没有按照返回结果跳转,而是依旧进入了action。 源代码是这样的:publicStringintercept(ActionIn
  • 2023-08-27实现拦截器的三种方法
    说是三种方法,实际上是一种方法,其实只要这个类实现了Interceptor接口,即可成为一个拦截器类。第一种方法就是直接实现Interceptor接口,这样的话,就要实现这个接口中的三个方法。第二种方法是继承自AbstractInterceptor类,这是个抽象类,实现了Interceptor接口,并且对里面的init()和destroy(
  • 2023-08-15Net7配置Autofac下IOC中的AOP,以及Autofac的三种生命周期写法
    Net7配置Autofac下IOC中的AOP是分两种,一种是基于接口的,一种是基于实现类的基于接口的好处是简单,但不能有效的控制具体到某个方法。也就是说,只能基于类来做操作,一个类下所有的方法都要接受注册基于实现类的是稍微麻烦一点,生效方法必须改为virtual,但可以实现到具体某个方法的效
  • 2023-08-15Mybatis Interceptor 经典场景
    1.MybatisInterceptor的应用场景很多,比如sql语句动态生成,resultMap动态生成下面就用代码来分析下resultMap动态生成吧,这个是ORM框架常用的功能哦1packagecom.xx.transjob.common.db;23importcom.baomidou.mybatisplus.annotation.TableName;4importorg.apache.
  • 2023-07-28AOP-Redis缓存
    我没有单独使用过Redis,细节我可能解释不到位。该文章是采用依赖注入实现AOP-Redis缓存功能的、之前有写实现Memory缓存的。异曲同工之妙。使用Redis离不开安装get包:StackExchange.Redis.操作流程:创建一个RedisAOP的.cs文件。继承IInterceptor的接口,允许程序进行拦截。该接口
  • 2023-07-23AOP拦截日志
    首先对于AOP切面编程,我也是刚学习,了解不深,这边先引用老张的博客,方便大家学习。首先想一想,如果有这么一个需求,要记录整个项目的接口和调用情况,当然如果只是控制器的话,还是挺简单的,直接用一个过滤器或者一个中间件,还记得咱们开发Swagger拦截权限验证的中间件么,那个就很方便的把用
  • 2023-07-06其实MyBatis的插件机制可以帮我们解决工作很多问题,建议收藏
    MyBatis插件插件是一种常见的扩展方式,大多数开源框架也都支持用户通过添加自定义插件的方式来扩展或者改变原有的功能,MyBatis中也提供的有插件,虽然叫插件,但是实际上是通过拦截器(Interceptor)实现的,在MyBatis的插件模块中涉及到责任链模式和JDK动态代理,这两种设计模式的技术知识也
  • 2023-05-16使用doop识别最近commons text漏洞的污点信息流
    作者:vivo互联网安全团队-ChenHaojie本文基于笔者对doop静态程序分析框架源代码和规则学习,并结合对目前漏洞公开技术细节的学习,修改增强doopapponly模式下的分析规则后,实现通过doop工具识别commonstextrce漏洞(CVE-2022-42889)。内容包含三部分,第一部分简单介绍doop分析框架