本文摘录自个人总结<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 章节概览 morgan是express默认的日志中间件,也可以脱离express,作为node.js的日志组件单独使用.本文由浅入深,内容主要包括: morgan使用入门例子 如何将日志保存到本地文件 核心API使用说明及例子 进阶使用:1.日志分割 2.将日志写入数据库 源码剖析:morgan的日志格式以及预编译 入门例子 首先,初始化项目. npm insta…
NLogger特性: 一:不依赖于第三方插件和支持.net2.0 二:支持多线程高并发 三:读写双缓冲对列 四:自定义日志缓冲大小 五:支持即时触发刷盘机制 六:先按日期再按文件大小滚动RollingFile日志 七:支持日志存储位置,日志文件前缀的个性化定义 一:为什么要特别强调不依赖于第三方插件和支持.net2.0 NLogger包括名称空间也未超过200行代码,可见日志是相当轻量级的,如果是依赖于第三方软件的支持,有失轻量级的定义. NLogger的第一个版本是基本于.net4.0开发,但…
0x00 简介 前文分析过组件的 布局栅格化(Grid Layout) ,通过基础的 24 分栏,迅速简便地创建布局. 本文将介绍用于布局的容器组件,使用 Flexbox 功能将其所控制区域设定为特定的布局,方便快速搭建页面的基本结构.本文将深入分析组件源码,剖析其实现原理,耐心读完,相信会对您有所帮助. 组件文档 更多组件剖析详见 Element 2 源码剖析组件总览 . 0x01 布局容器 布局容器提供5个组件,支持多层嵌套,方便快速搭建页面的基本结构: <el-container>:布局…
Web API 源码剖析之默认配置(HttpConfiguration) 我们在上一节讲述了全局配置和初始化.本节我们将就全局配置的Configuration只读属性进行展开,她是一个类型为HttpConfiguration. 它在Web Api 主要为整个API 做一些最基础的工作,比如定义默认 路由表(Routes) 过滤器(Filters) 默认消息处理程序(MessageHandlers) 属性字典(Properties) 依赖注入解耦器(DependencyResolver) 错误处理…
Web API 源码剖析之默认消息处理程序链-->路由分发器(HttpRoutingDispatcher) 我们在上一节讲述了默认的DefaultServer(是一个类型为HttpServer的只读属性).本节将讲述DefaultHandler(是一个HttpMessageHandler的只读属性).在Web API 里默认是的一个HttpRoutingDispatcher类型,它继承于HttpMessageHandler.我们称之为路由分发器.它主要作用就是将处理从HttpServer传递过来…
我们在上一节讲述了默认的DefaultServer(是一个类型为HttpServer的只读属性,详情请参考 Web API 源码剖析之全局配置).本节将讲述DefaultHandler(是一个HttpMessageHandler的只读属性).在Web API 里默认是的一个HttpRoutingDispatcher类型,它继承于HttpMessageHandler.我们称之为路由分发器.它主要作用就是将处理从HttpServer传递过来的请求.然后再将请求传递给HttpControllerDis…
一:使用RestFramwork,定义一个视图 from rest_framework.viewsets import ModelViewSet class BookView(ModelViewSet): queryset = Book.objects.all() serializer_class = BookSerializer 认证.频率和权限组件都由继承的ModelViewSet支持,所以要了解这三个组件的具体如何实现 对认证.频率.权限的管理就需要进入到其中查看 二:首先来了解组件认证…
文章已收录到 github,欢迎 Watch 和 Star. 简介 详细讲解了 ElementUI 的源码架构,为下一步基于 ElementUI 打造团队自己的组件库打好坚实的基础. 如何快速为团队打造自己的组件库? 组件库是现代前端领域中不可缺少的一项基建.它可以提高代码的复用性.可维护性,提高团队的生产效率,更好的服务于未来. 那么如何为团队打造自己的组件库呢? 最理想的方案是借用社区的能力,去裁剪一个优秀的开源库,只保留你需要的东西,比如它的架构.工程化和文档能力,以及部分基础组件,在裁剪…
前言: 说到日志,大多人都没空去研究,顶多知道用logger.info或者warn打打消息.那么commons-logging,slf4j,logback,log4j,logging又是什么关系呢?其中一二,且听我娓娓道来. 手码不易,转载请注明_xingoo! 涉及到的内容:日志系统的关系.Slf4j下载.源文件jar包的使用.Slf4j源码分析.JVM类加载机制浅谈 首先八卦一下这个日志家族的成员,下面这张图虽然没有包含全部的内容,但是基本也涵盖了日志系统的基本内容,不管怎么说,先记住下面这…
Docker 安装 Node.js Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一个让 JavaScript 运行在服务端的开发平台. 1.查看可用的 Node 版本 访问 Node 镜像库地址:  . 可以通过 Sort by 查看其他版本的 Node,默认是最新版本  node:latest. 你也可以在下拉列表中找到其他你想要的版本: 此外,我们还可以用  docker search node 命令来查看可用版本: $ docker searc…
上一篇文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数 面向对象三大特性:封装.继承和多态 本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 注意点: self ,我们讲过了,self = 对象,实例化后的对象调用类的各种成员的时候的self就是这个对象. 而且我们也讲过了…
当使用express时,代码会这样写: var express = require('express'); 如果创建一个express的应用,代码会这样写: var app = express(); 那么express()是什么? 源码: //express()会执行createApplication(). exports = module.exports = createApplication; /** * Create an express application. * * @return…
前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 没啥好说的.开干吧. 今天的学习内容? 今天的内容比较简单. 就几个弹出框和内置的消息通讯中心. 如图: 正文 1.xamarin中的弹出窗 xamarin帮我们把各个系统的弹出窗做了2个统一的类.  1.DisplayAlert  2.DisplayActionSheet 我们就来一一看看 DisplayA…
在使用testng生成报告的时候,只会记录test方法中的日志,但是一般会在beforeMethod.beforeTest.afterMethod.afterTest中做一下数据的处理,这里面的日志没办法在test中显示.查看了testng的源码,发现suite中的getAllInvokedMethods方法会返回所有调用过的方法,包括test.after.before等.拿到了所有方法执行的结果,就可以进行处理,把beforeMethod.beforeTest.afterMethod.afte…
一.drf认证功能 二.token讲解 三.局部钩子源码分析 一.drf认证功能 1.认证简介: 只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查看,没有登录则不能查看.这时候需要用到认证组件 2.局部使用 models层 class User(models.Model): name = models.CharField(max_length=32) password = models.CharField(max_length=32) class UserTok…
上一篇文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数 面向对象三大特性:封装.继承和多态 本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 注意点: self ,我们讲过了,self = 对象,实例化后的对象调用类的各种成员的时候的self就是这个对象. 而且我们也讲过了…
AsyncTask是一种轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并主线程中更新UI,通过AsyncTask可以更加方便执行后台任务以及在主线程中访问UI,但是AsyncTask并不适合进行特别耗时的后台任务,对于特别耗时的任务来说,建议使用线程池 我们简单的模拟下载文件的案例来分析,我们创建自己的异步类继承AsyncTask 一.参数分析 通过源码,可以看到AsyncTask是个抽象的泛型类 Params:表示后台任务执行时的参数类型(对应例子中的…
morgan 是nodejs的一个日志模块,由 express 团队维护. 这里通过示例简要介绍morgan模块在express中的应用,大部分示例直接来自于.morgan的文档:https://github.com/expressjs/morgan 1). 用法及参数1.首先需要安装morgan模块: npm install morgan --save 2.morgan的API:morgan(format, options);其中 format 表示日志的格式, morgan预定义了一些日志格…
在通读源码之前,先把一些比较难理解的代码吃透: 1.EventEmitter.prototype mixin(app, EventEmitter.prototype, false); app为一个函数,也是对象. mixin是一个类库(merge-descriptors)它就是一种mixin设计模式,作用是让app这个对象具有EventEmitter.prototype的方法. 第三个参数表示"是否重新定义app中与EventEmitter.prototype中存在重名的方法. 2.EventE…
Utility工程中的日志类Log主要用来输出Debug状态下的调试信息.该类的类图如下: 日志类Log中使用到的类和内嵌结构体类型主要有以下这些: public class LogEventArgs : EventArgs//日志事件参数 { public int level; public string category; public string message; public LogEventArgs(int _l, string _c, string _m) { level = _l…
1.起因 因为这两天在给公司的一个项目升级SpringBoot版本,遇到了一些坑,升级项目版本:SpringBoot1.5.x到SpringBoot2.0.x 今天早上双库操作遇到一个问题:jdbcUrl is required with driverClassName 在网上查询了一下将url改为jdbc-url就可以了. 解决后,闲来无事,准备一探究竟. 2.url改为jdbc-url的原因 SpringBoot2.0默认使用了Hikari作为连接池 于是我们先找到Hikari连接池的包 点…
LifeCycleState: IDLE, START, STOP, ERROR [Source]: org.apache.flume.Source 继承LifeCycleAware{stop() + start() + getLifeCycleState()} + NamedComponent{getName() + setName()} 产生事件(Event),调用通道处理器(ChannelProcessor)的方法,将事件(Event)持久化到通道(Channel)中. [Channel]…
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 上一篇我们主要讲了Ams,篇幅有限,本篇再讲讲Wms,即WindowManagerService,管理窗口的服务.主要负责窗口的创建.删除.状态等与手机交互的事情,与Ams配合使用,在SystemServer中创建,用来保持窗口层级关系方便SurfaceFlinger绘制屏幕,和传递窗口信息给InputManager调用InputDispatcher将输入消息派发到顶层窗口. Activity.V…
1.加载模块执行代码: methods.forEach(function(method){ //method是http协议的各种请求方法,如:get,put,headee,post Route.prototype[method] = function(){ ....为method的各种方法构造一个Layer,并且放入stack数组中 }; });//其实router.all()的功能和methods的功能差不多. 2.构造函数 function Route(path) { //三个成员, 路由的…
本篇文章开始,进行STL源码剖析的一些知识点,后续系列笔记全是参照<STL源码剖析>进行学习记录的 STL在现在的大部分项目中,实用性已经没有Boost库好了,毕竟STL中仅仅提供了一些容器供编码者实用,Boost库相对而言全面了许多,所以更适合做一些项目的开发.但STL源码中依然有很多我们值得学习,思考的地方,包括现在大部分面试,都会问及到STL的框架源码部分.所以决定将这本书其中重要的几个部分拉出来做个笔记,以加深记忆并和大神们探讨探讨. 先简单介绍一下STL中的大致组成部分,一张图就明了…
上一章<windows下flink示例程序的执行> 简单介绍了一下flink在windows下如何通过flink-webui运行已经打包完成的示例程序(jar),那么我们为什么要使用flink呢? flink的特征 官网给出的特征如下: 1.一切皆为流(All streaming use cases ) 事件驱动应用(Event-driven Applications) 流式 & 批量分析(Stream & Batch Analytics) 数据管道&ETL(Data…
参见程序中的queryResult那部分: /* * This example demonstrates how to fetch a single row from a large table * one by one and get processed by application. It avoids allocation of * large memory by the ibm_db and data processing becomes easier. * * This example…
软件开发,离不开对日志的操作,它可以帮助我们查找和检测问题.好的日志组件可以对于整个系统来说,至关重要 在NaviSoft产品中,日志组件也占有非常重要的份量.如下图所示,是组件的Db表结构设计 图-1 登录日志:记录系统的登录信息,包括登录用户.登录时间.客户端信息 操作日志:记录每个功能操作信息,包括操作时间.内容和结果 异常错误日志:当整个系统 方法日志:记录每个方法的名称.参数.返回值.所在类和DLL等.用于分析方法执行时间,排查错误 API操作日志:记录API操作日志 API异常错误日…
当我们的项目足够大,使用的组件就会很多,此时如果一次性加载所有的组件是比较花费时间的.一开始就把所有的组件都加载是没必要的一笔开销,此时可以用异步组件来优化一下. 异步组件简单的说就是只有等到在页面里显示该组件的时候才会从服务器加载,不显式的话就不会加载,这样即可提高客户端的访问速度也可以降低对服务器的请求次数,可谓优化的一个利器. 异步组件常用有3种异步组件的实现:工厂函数.Promise加载和高级异步组件. 注:一般的项目都是在vue-router的路由里面创建vue-router实例时通过…
简介: 作为基础组件,日志组件被其他组件和中间件所使用,它提供了一个统一的编程模型,即不需要知道日志最终记录到哪里去,只需要调用它即可. 使用方法很简单,通过依赖注入ILogFactory(CreateLogger方法)或ILogger<T>对象,获取一个ILogger对象,然后通过ILogger的各种扩展方法(都是调用Log方法)记录不同级别的日志. 源码剖析: 总结: 日志组件其实就是工厂模式的应用,但进行了改进,LoggerFactory每次都返回一个Logger对象,而Logger对象…