源码

CentOS7 安装git

旧时模样 提交于 2020-01-18 19:48:43
一、查看是否安装过git git --version 执行以上命令若出现版本号,则代表已经安装了git,不需要再次安装了。 安装的话,分为用yum安装和下载git源码编译安装。但是cetos 5以及以下版本中的yum都没有git,无法使用yum安装,而cetos6可以使用yum安装git,但是安装的git是1.7.1版本的,而github需要的git版本最低都不能低于1.7.2。所以如果是cetos7以及以上版本的,推荐使用yum安装,方便,如果是cetos7以下的,请使用git源码编译安装git。 二、使用yum安装git 命令如下: yum -y install git 三、使用源码安装 3.1 安装依赖的包 yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 3.2 下载git源码并解压 wget https://github.com/git/git/archive/master.zip unzip master.zip 3.3 创建/usr/local/git目录,用于安装git mkdir -p /usr/local/git 3.4 进入解压后的目录,进行安装,其中prefix指定安装目录 make prefix=

springMvc源码

微笑、不失礼 提交于 2020-01-18 19:48:17
SpringMVC 的处理过程可分为如下 三步 : ( 1) ApplicationContext初始化时用 Map 保存所有 URL 和 Controller 类的对应关系 。 (2)根据请求 URL 找到对应的 Controller,并从 Controller 中找到处理请求的方法。 (3)将 Request参数绑定到方法的形参上,执行方法处理请求,并返回结果视图 。 1 初始化阶段 首先找到 DispatcherServlet类, 寻找 init()方法。我们发现 init()方法其实在父类 HttpServletBean 中,其源码如下 : public final void init() throws ServletException { // Set bean properties from init parameters. PropertyValues pvs = new ServletConfigPropertyValues(getServletConfig(), this.requiredProperties); if (!pvs.isEmpty()) { try { //定位资源 BeanWrapper bw = PropertyAccessorFactory.forBeanPropertyAccess(this); //加载配置信息

PHP发表心情-投票功能源码

浪子不回头ぞ 提交于 2020-01-18 18:55:58
当浏览新闻页面或者其它页面的时候会有阅读后的感受,比如 给力、淡定、打酱油、加油、坑爹 等等的表情。让读者打分,看看自己的感受是否与其他读者一样。很不错的交互! 查看演示: http://www.weibut.com/demo/20... 立即下载: http://www.weibut.com/downloa... 本文需要熟悉 jquery , mysql , ajax 相关的知识,不过用的不多。本文有三个文件: index.html , mood.php , sql.php index.html,页面展示和请求ajax数据 mood.php,后台文件 处理get请求来的数据,并返回数据 sql.php,数据库文件,存数据库信息 直接进入代码吧。 index.html 首先导入jquery //cdn.bootcss.com/jquery/1.7.2/jquery.min.js 当文档载入完毕就请求(ajax-get)投票人数数据 $.ajax({ type: 'GET', url: 'mood.php', cache: false, data: 'id=1', dataType: 'json', error: function(){ alert('出错了!'); }, success: function(json){ if(json){ $.each(json,function

React16源码解读:揭秘ReactDOM.render

筅森魡賤 提交于 2020-01-18 17:22:45
引言 在 上一篇文章 中我们通过 create-react-app 脚手架快速搭建了一个简单的示例,并基于该示例讲解了在类组件中 React.Component 和 React.PureComponent 背后的实现原理。同时我们也了解到,通过使用Babel预置工具包 @babel/preset-react 可以将类组件中 render 方法的返回值和函数定义组件中的返回值转换成使用 React.createElement 方法包装而成的多层嵌套结构,并基于源码逐行分析了 React.createElement 方法背后的实现过程和 ReactElement 构造函数的成员结构,最后根据分析结果总结出了几道面试中可能会碰到或者自己以前遇到过的面试考点。上篇文章中的内容相对而言还是比较简单基础,主要是为本文以及后续的任务调度相关内容打下基础,帮助我们更好地理解源码的用意。本文就结合上篇文章的基础内容,从组件渲染的入口点 ReactDOM.render 方法开始,一步一步深入源码,揭秘 ReactDOM.render 方法背后的实现原理,如有错误,还请指出。 源码中有很多判断类似__DEV__变量的控制语句,用于区分开发环境和生产环境,笔者在阅读源码的过程中不太关心这些内容,就直接略过了,有兴趣的小伙伴儿可以自己研究研究。 render VS hydrate

pyinstaller 3.6版本通过pip安装失败的解决办法

限于喜欢 提交于 2020-01-18 13:40:43
本机中原pyinstaller版本为3.5版本,本打算通过 pip install --upgrade pyinstaller进行升级,竟然报错,后面卸载再重新安装也一样报错,没办法看来通过pip是暂时安装不上了。 下面就讲解源码安装的方式,先从pypi.org中下载对应3.6版本的源码 https://pypi.org/project/PyInstaller/#files 下载完成后如果是win10操作系统的话, 一定要以管理员的方式打包命令窗口,否则会提示权限不足的问题 ,比如我是把源码放到E盘,先切换到源码所在路径,然后执行 python setup.py install 这样就会开始安装了,然后再通过pip show pyinstaller,显示完全正确,这样就完成了这个模块的安装 来源: https://www.cnblogs.com/aziji/p/12208706.html

Core源码(四)IEnumerable

时光总嘲笑我的痴心妄想 提交于 2020-01-18 12:04:44
首先我们去core的源码中去找IEnumerable发现并没有,如下 Core中应该是直接使用.net中对IEnumerable的定义 自己实现迭代器   迭代器是通过IEnumerable和IEnumerator接口来实现的,今天我们也来尝试实现自己的迭代器。   首先来看看这两个接口: internal interface IEnumerable { [DispId(-4)] System.Collections.IEnumerator GetEnumerator(); } public interface IEnumerator { object Current { get; } bool MoveNext(); void Reset(); }   并没有想象的那么复杂。其中IEnumerable只有一个返回IEnumerator的GetEnumerator方法。而IEnumerator中有两个方法加一个属性。   接下来,我们继承IEnumerable接口并实现: public class MyIEnumerable : IEnumerable { private string[] strList; public MyIEnumerable(string[] strList) { this.strList=strList; } public IEnumerator

微信小程序实例源码大全

我与影子孤独终老i 提交于 2020-01-18 11:06:26
https://www.cnblogs.com/tuyile006/p/6268961.html 微信小程序实例源码大全 微信小程序实例源码大全下载 微信小应用示例代码(phodal/weapp-quick) 源码链接: https://github.com/phodal/weapp-quick 微信小应用地图定位demo(giscafer/wechat-weapp-mapdemo) 源码链接: https://github.com/giscafer/wechat-weapp-mapdemo 微信小应用- 掘金主页信息流(hilongjw/weapp-gold) 源码链接: https://github.com/hilongjw/weapp-gold 微信小程序(应用号)示例:微信小程序豆瓣电影(zce/weapp-demo) 源码链接: https://github.com/zce/weapp-demo 微信小程序-豆瓣电影(hingsir/weapp-douban-film) 源码链接: https://github.com/hingsir/weapp-douban-film 小程序 hello world 尝鲜(kunkun12/weapp) 源码链接: https://github.com/kunkun12/weapp 使用微信小程序开发2048游戏(sammffl

centos源码安装nginx

大兔子大兔子 提交于 2020-01-18 09:40:44
首先安装各种依赖,没有依赖顺序 编译依赖 gcc 环境:yum -y install gcc 依赖库 PCRE, zlib and OpenSSL yum -y install pcre yum -y install zlib zlib-devel yum -y install openssl openssl-devel 安装wget 下载指定版本的nginx版本 intall -y install wget 在opt目录下下载nginx安装包 wget http://nginx.org/download/nginx-1.17.7.tar.gz 解压以上安装包 tar -zxvf nginx-1.17.7.tar.gz 在opt目录下新建文件夹,作为安装目录 mkdir nginx 进入nginx的解压目录 ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/ngin(指定安装目录并设置环境变量) 执行编译安装命令 make && make install 安装完成,启动nginx nginx 查看nginx版本 nginx -v 查看nginx是否在运行 ps -ef|grep nginx 来源: CSDN 作者: 小小白是我哦 链接: https://blog.csdn.net/qq_26042901/article

spring ioc源码分析

♀尐吖头ヾ 提交于 2020-01-18 08:19:15
1.创建ApplicationContext 在上面spring boot启动中的分析中,发现在SpringApplication.run中创建了ApplicationContext 并且在context = this.createApplicationContext();中创建上下文 public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext context = null; Collection<SpringBootExceptionReporter> exceptionReporters = new ArrayList(); this.configureHeadlessProperty(); SpringApplicationRunListeners listeners = this.getRunListeners(args); listeners.starting(); Collection exceptionReporters; try { ApplicationArguments applicationArguments = new

深入解析Jedis底层源码

与世无争的帅哥 提交于 2020-01-18 06:40:05
第1章 访问缓存服务器过程(hget) 架构在jedis外层封装了一个客户端ClusterNativeClient,在这个类中,提供了很多访问redis的方法,包括:hget、hset、hdel等,即成为前台业务代码和jedis进行交互的桥梁。 我们以查询操作为例,详细描述一下jedis的实现过程。 1.1 源码分析 1.1.1 ClusterNativeClient中hget方法: public String hget(String key, String field) { return pool.hget(key, field); } 说明: Pool是缓存初始化时建立的,我们后面详细讲。 public static void init(Properties props) { String[] servers = props.getProperty(“host”).split(","); HashSet nodes = new HashSet(); for (String s : servers) { String[] ipAndPort = s.split("😊; String ip = ipAndPort[0]; int port = Integer.valueOf(ipAndPort[1]).intValue(); nodes.add(new HostAndPort(ip