源码

ASP.NET Core 框架源码地址

非 Y 不嫁゛ 提交于 2020-03-04 11:12:10
https://github.com/dotnet/corefx 这个是.net core的 开源项目地址 https://github.com/aspnet 这个下面是asp.net core 框架的地址,里面有很多仓库。 https://github.com/aspnet/EntityFrameworkCore EF Core源码 https://github.com/aspnet/Configuration 配置模块源码 https://github.com/aspnet/Routing 路由模块 https://github.com/aspnet/Security 认证及授权 https://github.com/aspnet/DependencyInjection 依赖注入 https://github.com/aspnet/HttpAbstractions 这个一定要看,有很多的一些HTTP管道的抽象接口都定义在这里 https://github.com/aspnet/Options 看名字 https://github.com/aspnet/Mvc https://github.com/aspnet/Hosting 来源: https://www.cnblogs.com/MingQiu/p/8270038.html

六、django rest_framework源码之解析器剖析

痞子三分冷 提交于 2020-03-04 08:13:02
1 绪论   网络传输数据只能传输字符串格式的,如果是列表、字典等数据类型,需要转换之后才能使用但是我们之前的rest_framework例子都没有转换就直接可以使用了,这是因为rest_framework自带有一套解析器。 2 源码分析   我们重新回到dispatch方法中对请求进行重新封装的initialize_request类,源码如下: def initialize_request(self, request, *args, **kwargs): """ Returns the initial request object. """ print('initialize_request方法执行:封装request开始') parser_context = self.get_parser_context(request) return Request( request, parsers=self.get_parsers(),#获取所有解析器,并实例化 authenticators=self.get_authenticators(), negotiator=self.get_content_negotiator(), parser_context=parser_context )   源码中调用了一个get_parsers方法

Django Rest Framework-----解析器

纵然是瞬间 提交于 2020-03-04 08:12:33
为什么要有解析器?原因很简单,当后台和前端进行交互的时候数据类型不一定都是表单数据或者json,当然也有其他类型的数据格式,比如xml,所以需要解析这类数据格式就需要用到解析器(也可以将请求体拿到,然后利用其他模块进行解析)。    class APIView(View): # The following policies may be set at either globally, or per-view. renderer_classes = api_settings.DEFAULT_RENDERER_CLASSES parser_classes = api_settings.DEFAULT_PARSER_CLASSES#默认解析器 authentication_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES throttle_classes = api_settings.DEFAULT_THROTTLE_CLASSES permission_classes = api_settings.DEFAULT_PERMISSION_CLASSES content_negotiation_class = api_settings.DEFAULT_CONTENT_NEGOTIATION_CLASS metadata_class

Linux服务管理

无人久伴 提交于 2020-03-04 04:29:54
第十二讲 Linux服务管理 12.1 服务简介与分类 1、服务的分类 独立的服务:服务存在内存中,用户访问直接响应 xinetd服务:本身独立,没什么特殊控能,管理其他服务。所有基于xinetd的服务不占系统内存,但响应速度慢 比如:window下有些软件装完是服务,有些是应用软件 启动与自启动 u服务启动:就是在当前系统中让服务运行,并提供功能。 u服务自启动:自启动是指让服务在系统开机或重启动之后,随着系统的启动而自动启动服务。 查询已安装的服务 u RPM包安装的服务 Ø chkconfig --list #查看服务自启动状态,可以看到所有RPM包安装的服务 如果linux进入的是2,3,4,5任何级别中的一个,这个服务会随着linux的自启动而启动 查看进程 u 源码包安装的服务(不能用命令查看) Ø 查看服务安装位置,一般是/usr/local/下。如,在该目录下看到apache目录则证明Apache服务是装的 RPM安装服务和源码包安装服务的区别 : uRPM安装服务和源码包安装服务的区别 就是安装位置的不同,带来了管理上的差别 Ø 源码包安装在指定位置,一般是/usr/local/xxx下 Ø RPM包安装在默认位置中,启动脚本在/etc/rc.d/init.d 如,service 、chkconfig命令默认搜索位置 12.2 RPM包安装服务的管理 12.2.1

一对一直播源码开源的大概介绍

自作多情 提交于 2020-03-04 03:33:58
Java : Java是在电子计算机有史以来危害广阔的计算机语言,这是这门 面向对象编程語言,不但消化吸收了C+ +語言的各种各样优势,还革除了C++里无法了解的多承继、表针等定义。相比直播系统源码而言 ,除开强社交属性、参与性、私密及转现工作能力上更强以外,在运用的编程语言、系统软件架构及搭建布署內容层面与传统式网络直播平台并沒有很大的区别,只不过就是说一-对一 直播间的体制较为非常一-些。 开源:开源被非盈利手机软件机构申请注册为验证标识,并进行了宣布的界定,用以叙述这些源代码能够被群众应用的手机软件,而且此手机软件的应用,改动和发售也没受许可证书的限定。 原生态:不久IOS和Android这2个的手机上只有电脑操作系统公布至今,并随之iphone智能机的普及化以后,互联网界就此后多半个1个全新升级的专有名词: APP即运作在智能化移动智能终端上的第三方软件程序流程。 一对一源代码也必须全方位适配Android及IOS终端设备,因而编程语言层面也必须Java和objective-c。置于服务器端的编程语言,能够挑选Java或是PHP。源代码包括的业务流程服务项目集群服务器包括: socket集群服务器, Redis集群服务器, Mysq|集群服务器。或许也会采用云存储及流媒体服务器等第三方服务项目。从这种层面看来,

CodeIgniter 源码解读之视图

旧巷老猫 提交于 2020-03-04 00:32:21
视图 控制器及模型都讲完了,这篇,顺理成章的可以讲讲视图类,从此,MVC三剑客,都凑齐了。 接着模型中提到的例子,我在控制器里调用了视图 view 方法,并在 application/views 目录中新建了对应的视图文件。 我们现在研究一下视图加载的原理: <?php defined ( 'BASEPATH' ) OR exit ( 'No direct script access allowed' ) ; class Test extends CI_Controller { public function __construct ( ) { parent : : __construct ( ) ; $this - > load - > model ( 'Test_model' ) ; } public function index ( ) { $data [ 'title' ] = $this - > Test_model - > list ( ) ; # 调用load 中的 view 方法,并将 $data 数组传递给他 $this - > load - > view ( 'test_view' , $data ) ; } } 现在将目光转向 Loader 中的view方法: # 这里的 view 方法很简单 public function view ( $view ,

spring——AOP原理及源码(二)

跟風遠走 提交于 2020-03-03 22:47:16
回顾: 在 上一篇 中,我们提到@EnableAspectJAutoProxy注解给容器中加入了一个关键组件 internalAutoProxyCreator的BeanDefinition,实际类型为 AnnotationAwareAspectJAutoProxyCreator的BeanDenation 并且发现这是一个后置处理器,也是一个XXXAware接口的实现类。以及探究了它的继承关系如下。 接下来我们就从后置处理器和BeanFactoryAware的角度来看看AnnotationAwareAspectJAutoProxyCreator的BeanDefinition创建完成后都做了什么。 一、设置调试断点 我们分别进入四个有关类,在类中与后置处理器和BeanFactoryAware有关的方法上打上断点。最终效果如下: AbstractAutoProxyCreator.setBeanFactoryAbstractAutoProxyCreator有后置处理器逻辑{  postProcessBeforeInstantiation()  postProcessAfterInitialization() } AbstractAdvisorAutoProxyCreator.initBeanFactoryAbstractAdvisorAutoProxyCreator

读比特币源码3

丶灬走出姿态 提交于 2020-03-03 18:34:19
上一篇读到AppInit函数123行: InitParameterInteraction()函数,这个函数再src/init.cpp中实现,通过参数初始化设置网络参数 1,首先解析-bind,-whitebind参数,如果设置了这两个参数,-listen将设为true,允许监听接受外部连接,即使后面设置了-connect或者-proxy参数都会监听绑定的地址 // when specifying an explicit binding address, you want to listen on it // even when -connect or -proxy is specified if (gArgs.IsArgSet("-bind")) { if (gArgs.SoftSetBoolArg("-listen", true)) LogPrintf("%s: parameter interaction: -bind set -> setting -listen=1\n", __func__); } if (gArgs.IsArgSet("-whitebind")) { if (gArgs.SoftSetBoolArg("-listen", true)) LogPrintf("%s: parameter interaction: -whitebind set ->

架构师成长系列 | 云原生时代的 DevOps 之道

删除回忆录丶 提交于 2020-03-03 17:12:58
作者 | 郝树伟(花名:流生) 阿里云高级研发工程师 本文整理自架构师成长系列 2 月17 日直播课程。 关注“阿里巴巴云原生”公众号,回复 “217” ,即可获取对应直播回放链接及 PPT 下载链接。 导读:DevOps 是一种软件开发人员和 IT人员之间的合作过程,目标是高效地自动执行软件交付和基础架构更改流程。在云原生时代,企业又如何借助 DevOps 实现产品快速、稳定、高效和安全地迭代,释放业务价值呢? 什么是云原生 为了解决传统应用升级缓慢、架构臃肿、不能快速迭代、故障不能快速定位、问题无法快速解决等问题,云原生这一概念横空出世。 Pivotal 是云原生应用的提出者,并推出了 Pivotal Cloud Foundry 云原生应用平台和 Spring 开源 Java 开发框架,成为云原生应用架构中先驱者和探路者。 早在 2015 年 Pivotal 公司的 Matt Stine 就写了一本叫做迁移到云原生应用架构的小册子,其中探讨了云原生应用架构的几个主要特征: 符合 12 因素应用 面向微服务架构 自服务敏捷架构 基于 API 的协作 抗脆弱性 后来 Pivotal 对云原生的定义做过几次更新, 最新的 Pivotal 官网上对云原生应用的最新介绍是关注以下四点: 集成 DevOps 持续交付 微服务 容器化 DevOps 是软件开发人员和 IT 运营之间的合作

MyBatis源码学习三:mybatis插件

感情迁移 提交于 2020-03-03 15:35:36
一、mybatis插件的实现 1. 实现步骤 1.实现Interceptor接口,重写对应方法,主要是Intercept()和setProperties()方法 2.在子类中采用@Intercepts注解,标识要拦截的类和方法 3.在mybatis-config.xml中配置Plugins标签 以pagehelper插件为例来说明: @Intercepts ( { @Signature ( type = Executor . class , method = "query" , args = { MappedStatement . class , Object . class , RowBounds . class , ResultHandler . class } ) , @Signature ( type = Executor . class , method = "query" , args = { MappedStatement . class , Object . class , RowBounds . class , ResultHandler . class , CacheKey . class , BoundSql . class } ) , } ) public class PageInterceptor implements Interceptor { // .