• 2024-11-05c# 事件 发布订阅
    publicclassMessageEx{///<summary>///定义数据暂存///</summary>privatestaticreadonlyDictionary<string,List<Action<object>>>_handlers=new();///<summary>///订阅事件///</summary&g
  • 2024-11-02[python]基于文件配置logging
    前言python的logging支持用字典或configparser格式文件中读取日志记录配置参考:https://docs.python.org/3/library/logging.config.html使用conf文件下面这个logger.conf文件主要三个部分:logger、handlers和formatters。代码中获取logger的时候,配置文件中[loggers]中必须要
  • 2024-11-02在 .NET 中深入了解事件总线的使用与实现
    引言在现代软件架构中,尤其是微服务和事件驱动设计中,事件总线(EventBus)是实现组件间解耦和异步通信的重要工具。事件总线通过允许不同组件之间以松耦合的方式进行交互,从而提升了系统的灵活性和可维护性。本文将详细探讨在.NET中实现事件总线的方式,包括其工作原理、使用方法以及
  • 2024-08-13ansible handlers
    handlers01.yaml----hosts:ubuntuhandlers:-name:restartapacheservice:name=apache2state=restartedtasks:-name:确保APT包列表是最新的apt:update_cache=yes-name:部署apache2apt:name=apache2state=present-name:
  • 2024-08-06Django日志配置
    在配置文件配置日志LOGGING={'version':1,'disable_existing_loggers':False,#是否禁用已经存在的日志模块'handlers':{'file':{#定义日志文件记录#优先级:DEBUG、INFO、WARNING、ERROR、CRITICAL'level':
  • 2024-07-10讲解一下Axios源码中,拦截器是怎么实现的
    面试中我们经常会被问道Axios的原理是怎么样的,它的拦截器是怎么实现的?下面我们来简单讲一下Axios的拦截器是如何实现的。Axios的拦截器实现基于Axios的核心原理,即Axios实例是一个包含请求和响应拦截器堆栈的对象。当发出请求或接收响应时,Axios会遍历这些拦截器,并按照添加
  • 2024-07-06gunicorn 自定义日志
    gunicorn自定义日志默认情况下,如果只通过errorlog和accesslog参数指定gunicorn的日志文件,日志文件会一直增长,最后导致硬盘占用过大和检查日志不方便。因此需要自定义配置滚动日志保存。配置文件直接在gunicorn的配置文件gunicorn_conf.py中添加logconfig_dict配置项imp
  • 2024-06-07Day24.日志字典的使用
    1.settings.py文件中的代码配置 1"""2logging配置,settings文件中的代码配置3"""45importos67os.chdir(os.path.dirname(os.path.abspath(__file__)))89#1、定义三种日志输出格式,日志中可能用到的格式化串如下10#%(name)sLogger的名
  • 2024-06-05golang 可变参数用法, handlers ...HandlerFunc
     handlers...HandlerFunc这是什么写法,与group.handle()第三个参数是[]handlerFunc是什么关系呢?下面是gin中的用法:routergroup.go//GETisashortcutforrouter.Handle("GET",path,handle).func(group*RouterGroup)GET(relativePathstring,handlers...Ha
  • 2024-05-11采用flex布局,父组件width为百分比,解决子组件canvas画布width自适应问题
     创建EleResize.js文件(拷贝以下代码即可)varEleResize={ _handleResize:function(e){  varele=e.target||e.srcElement  vartrigger=ele.__resizeTrigger__  if(trigger){   varhandlers=trigger.__z_resizeListeners   if
  • 2024-03-03Semantic Kernel 学习笔记:通过 Kernel Memory 初步体验 Retrieval Augmented Generation
    学习材料:QuickintrotoKernelMemory:install,uploadadoc,askaquestion创建控制台项目dotnetnewconsoledotnetaddpackageMicrosoft.KernelMemory.Core创建IKernelMemory实例varmemory=newKernelMemoryBuilder().WithOpenAIDefaults(OPENAI_API_KEY
  • 2024-02-23Javascript/DOM:如何删除 DOM 对象的所有事件侦听器
    Javascript/DOM:如何删除DOM对象的所有事件侦听器一、重写重写EventTarget添加监听事件方法addEventListenerif(EventTarget.prototype.original_addEventListener==null){EventTarget.prototype.original_addEventListener=EventTarget.prototype.addEventList
  • 2024-01-26Mygin实现中间件Middleware
    本篇是mygin的第六篇,参照gin框架,感兴趣的可以从Mygin第一篇开始看,Mygin从零开始完全手写,在实现的同时,带你一窥gin框架的核心原理实现。目的实现中间件Middleware在上一篇Mygin实现分组路由Group中,实现了路由分组,且同一分组的执行,会先执行Group,有一点点中间件的雏形了。但
  • 2024-01-24Mygin实现分组路由Group
    本篇是Mygin第五篇目的实现路由分组为什么要分组分组控制(GroupControl)是Web框架应该提供的基础功能之一,对同一模块功能的开发,应该有相同的前缀。或者对一部分第三方接口,统一需要加解密等功能。分组后很方便。例如:对于任务模块,统一前缀为/task除去/user/login接口,都
  • 2024-01-21js设计模式之观察者模式
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>观察者模式</title></head><body><script>classEvent{constructor(){}//事件容器,可以是一个也可以是
  • 2024-01-20gin-net-http
    packagemainimport( "net/http" "github.com/gin-gonic/gin")funcmain(){ r:=gin.Default() r.GET("/",func(c*gin.Context){ c.String(200,"Hello!!!!") })}  gin框架使用的是定制版本的httprouter,其路由的原理是大量使用公共前缀的树结构
  • 2023-12-30SciTech-BigDataAIML-Jupyter- 扩展Jupyter Notebook 的文档 Extending the Notebook
    https://jupyterlab-lsp.readthedocs.io/en/latest/Installation.htmlhttps://github.com/jupyter-lsp/jupyterlab-lspDocs»ExtendingtheNotebook»CustomrequesthandlersEditonGitHubNoteYouarenotreadingthemostrecentversionofthisdocumentation.
  • 2023-12-29• django 的日志记录
    在setting.py中添加以下内容:importloggingimportdjango.utils.logimportlogging.handlersLOGGING={'version':1,'disable_existing_loggers':False,'formatters':{'standard':{'for
  • 2023-11-28打印原生sql
    1配置文件粘贴LOGGING={'version':1,'disable_existing_loggers':False,'handlers':{'console':{'level':'DEBUG','class':'logging.StreamHandler
  • 2023-11-25【Djngao基础】日志记录
    1.日志核心组件1.1记录器对象-logger在日志系统中,根据日志的重要性,将日志换分为5个等级:DEBUG:调试信息,也是最详细的日志信息,记录项目中任何发生的事,多用于调测;INFO:重要信息,记录业务流程中的重要节点信息;WARNING:警告日志,记录可能影响系统正常运行或可能出现的警告信息;ERROR:
  • 2023-11-14LOGGING配置
    LOGGING={'version':1,'disable_existing_loggers':True,'formatters':{'verbose':{'format':'[application]%(levelname)s%(asctime)s%(module)s%(message)s'}},'handlers':{&#
  • 2023-10-16django服务配置logging 打印接口请求sql日志
    只需要在setting文件下配置:LOGGING={'version':1,'disable_existing_loggers':False,'handlers':{'console':{'class':'logging.StreamHandler',},},
  • 2023-10-14事件总线-(EventBus)
    自定义事件总线自定义事件总线属于一种观察者模式,其中包括三个角色:口发布者(Publisher):发出事件(Event);口订阅者(Subscriber):订阅事件(Event),并且会进行响应(Handler);口事件总线(EventBus):无论是发布者还是订阅者都是通过事件总线作为中台的; 当然我们可以选择一些第三方的库:口Vue2默认
  • 2023-09-28Vue源码学习(八):生命周期调用
    好家伙, Vue源码学习(七):合并生命周期(混入Vue.Mixin)书接上回,在上一篇中,我们已经实现了合并生命周期现在,我们要在我们的初始化过程中,注册生命周期 1.项目目录 红框为本篇涉及到的.js文件 2.先来看/utils/index.jsexportconstHOOKS=["beforeCreated
  • 2023-08-25Python logging.handlers模块,RotatingFileHandler、TimedRotatingFileHandler 处理器各参数详细介绍
    转自:https://blog.csdn.net/B11050729/article/details/132353220