源码

使用Windows编译Spring源码

╄→尐↘猪︶ㄣ 提交于 2020-02-12 17:51:11
下载并安装Idea CE 首先Idea是课程学习的基础,是必不可少的,这里咱们走比较经济的路线,使用免费的idea社区版来进行学习,当然,大家也可以下载收费的idea,这样在搭建web项目的时候,更加方便。 官网地址 https://www.jetbrains.com/idea/download/ 下载完成后,双击安装,由于安装过程比较简单,网上也有大量的博客,这里就不进行介绍了。 下载并安装Git 这一步是后续使用gradlew脚本的时候必须的,所以得确保在cmd里输入git能被响应(git安装的时候,会有植入cmd的选项,如果选择了就不用去配环境变量了,git安装软件会自己帮配,由于比较简单,就不做过多介绍了) 下载Spring源码 直接去官方的github库下载, https://github.com/spring-projects/spring-framework 打开github后,点击下方的标签tag,强烈建议大家选择和教程一样的稳定的5.2.0 release版本, 或则大家也可以在我们的代码库把Spring源码直接拉下来。由于咱们不需要提交Spring代码,因此可以直接使用https的方式将代码的zip包下载到本地,避免了git拷贝时的龟速。 下载完成后,将Spring源码解压到自定义的路径里。 4. 下载和配置JDK8(与Spring5的兼容性最好)

一品资源网自用官网模板源码下载站(带手机模板)

China☆狼群 提交于 2020-02-12 13:03:35
★模板介绍★ 一品 资源网 自用官网模板源码下载站(带手机模板)本套源码为dedecms二次开发而来,也是本站 一品 资源网 自用的原版本打包,提供本套作 品 的初衷是为了能上更多想做下载站的站长朋友拥有一套更容易操作的系统,本套源码包含多个专业的下载站功能,页面代码设计整洁,方便用户二次开发,大致功能可以参考以下列举的功能说明! ★ 二次开发如下功能说明和介绍★ 1.缩略图懒加载(提升访问速度) 2.后台幻灯片控制(方便快速修改幻灯片) 3.QQ登录插件(方便用户快速注册) 4.列表页支持二级导航筛选,支持内容排序筛选(独创功能) 5.新的作 品 发布加上New样式 6.内容页效果多图+小图自动剪切(小图自动剪切展示在内容页主要是提升内容页打开速度) 7.多原化下载模式(1.VIP免费下载功能,2.VIP原创打折功能,3.VIP下载次数限制功能) 8.下载记录(详细记录每个会员的下载次数) 9.模板售出邮件提示(设计师在平台发布作 品 被购买后会员邮件通知设计师) 10.作 品 发布(支持设计师发布作 品 并设置分成) 11.收益记录(设计师发布的作 品 可以查看到具体销售记录) 12.会员提现(支持会员申请提现) 13.实名认证(实名认证后可以使用提现功能) 14.自定义充值(自定义设置充值金币多少) 来源: https://www.cnblogs.com/qq5984000

只需两步获取任何微信小程序源码

◇◆丶佛笑我妖孽 提交于 2020-02-12 12:44:29
只需两步获取任何微信小程序源码 kedwan 关注 12018.09.15 09:32:43字数 2,428阅读 3,946 转载自百家号作者:不忘初心lucy 第一次在掘金这样高大上的社区写文章,忐忑地敲下我获取小程序源码过程中的经验分享。 最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了一个滴滴他们家的青桔单车小程序的前端实现,过程一言难尽,差不多两周时间过去了,发现小程序的坑远比想象的要多的多!!在实际练手中,完全是黑盒的,看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来。很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的各种奇葩的坑。 于是就想到获取到小程序地源文件,然后再对其进行反编译还原为源代码,来作为学习参考。我百度了各种关于小程序地反编译教程,但是感觉都不太适合像我这样地初学小白,踩了挺多坑。在这里把我重新简化好的,快速地获取一个微信小程序源码的方式记录下来。 简单聊一下xxxxx.wxapkg 先来想想一个很简单的问题,小程序的源文件存放在哪? 当然是在微信的服务器上。 但是在微信服务器上,普通用户想要获取到,肯定是十分困难的,有没有别的办法呢? 简单思考一下我们使用小程序的场景就会明白,当我们点开一个微信小程序的时候,其实是微信已经将它的从服务器上下载到了手机

JVM之---Java源码编译机制

空扰寡人 提交于 2020-02-12 08:45:46
Sun JDK中采用javac将Java源码编译为class文件,这个过程包含三个步骤: 1.分析和输入到符号表(Parse and Enter) Parse过程所做的工作有词法和语法分析。词法分析要完成将代码字符串转变为Token序列。语法分析则是根据语法将Token序列生成抽象语法树。 Enter过程将符号输入到符号表,通常包括确定类的超类型和接口、根据需要添加默认构造器、将类中出现的符号输入类自身的符号表中等。 2.注解处理(Annotation Processing) 该步骤主要用于处理用户自定义的annotation,可能带来的好处是基于annotation来生成附加的代码或进行一些特殊的检查,从而节省一些共同的代码的编写。此功能基于JSR269,在Sun JDK6 中提供了支持,在注解处理完之后,再次进入上一步骤。 3.语义分析和生成class文件(Analyse and Generate) 该步骤基于抽象语法树进行一系列的语义分析,包括将语法树中的名字、表达式等元素与变量、方法、类型等联系在一起;检查变量使用前是否已声明;推导泛型方法的类型参数;检查类型匹配性;进行常量折叠;检查所有语句都可到达;检查所有checked exception 都被捕获或抛出;检查变量的确定性赋值(例如有返回值的方法必须确定有返回值);检查变量的确定性不重复赋值

twisted reactor 实现源码解析

二次信任 提交于 2020-02-12 08:14:30
twisted reactor 实现源码解析 1. reactor源码解析 1.1. 案例分析代码: from twisted.internet import protocol from twisted.internet.protocol import Factory from twisted.protocols.basic import LineReceiver from twisted.internet import reactor class Chat(LineReceiver): def __init__(self, users): self.users = users self.name = None self.state = "GETNAME" def connectionMade(self): self.sendLine( b'Whats your name' ) def connectionLost(self, reason): if self.name in self.users: del self.users[self.name] def lineReceived(self, line): if self.state == "GETNAME" : self.handle_GETNAME(line) else : self.handle_CHAT(line)

自己编译lua源码

寵の児 提交于 2020-02-12 02:49:12
对于一个开源工程,开始学习它的第一步自然是编译工程。 使用vc编译lua,在网上已有许多介绍,但“纸上得来终觉浅”,自己走一遍还是有必要的。 步骤如下: 1.下载源代码,从lua.org下载最新源代码包lua-5.2.2,解压到本地 2.打开vc建立一个solution,就叫lua.sln 3.创建一个名为liblua的project(lua库),添加除lua.c和luac.c以外的所有代码文件,将lua库编译为dll(这里注意,需要在预处理器中添加LUA_BUILD_AS_DLL和LUA_CORE两个宏) 4.创建一个名为lua的project(lua解释器),添加除luac.c以外的所有代码文件 5.创建一个名为luac的project(lua编译器),添加除lua.c以外的所有代码文件 6.编译、链接即可。注意lua和luac两个工程没有依赖liblua动态库,而是直接使用的源代码,这是因为luac里用到的一些API缺省情况下是不被liblua导出的,需要改些设置,所以直接用源代码省事了。 生成结果:   lua库:liblua.dll、liblua.lib   lua解释器:lua.exe:   lua编译器:luac.exe 完成了编译,下一步当然是顺便运行个Hello World玩玩: 1.打开记事本,输入如下一行代码: print("Hello World!")

Spring Environment(二)源码分析

不想你离开。 提交于 2020-02-11 10:24:56
Spring Environment(二)源码分析 Spring 系列目录( https://www.cnblogs.com/binarylei/p/10198698.html ) Spring Environment 属性配置管理系列文章: Spring Environment(一)API 介绍 Spring Environment(二)源码分析 Spring Environment(三)生命周期 一、Environment 接口 public interface Environment extends PropertyResolver { String[] getActiveProfiles(); String[] getDefaultProfiles(); // @since 5.1 废弃,改用 Profiles(Profiles.of("dev")) @Deprecated boolean acceptsProfiles(String... profiles); boolean acceptsProfiles(Profiles profiles); } Environment 是对 JDK 环境、Servlet 环境的抽象,可以获取剖面相关的信息。同时实现了 PropertyResolver 接口用于解析属性占位符和类型转换,实际上是委托给

cbv+resful+APIView源码分析

情到浓时终转凉″ 提交于 2020-02-11 07:48:52
CBV源码分析 1概念:什么是cbv和fbv 已经什么是API class bass View ---基于类的视图 function bass View ---基于函数的视图 API(Application Programming Interface)API 就是应用程序编程接口。它是能用来操作组件、应用程序或者操作系统的一组函数 2什么是幂等性 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能再服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有反应,那么就会多次点击按钮,这样请求有多次,那么处理数据的结果是否要统一呢?那是肯定的!尤其再支付场景。 幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。举个最简单的例子,那就是支付,用户购买商品使用约支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条... 在以前的单应用系统中,我们只需要把数据操作放入事务中即可,发生错误立即回滚,但是再响应客户端的时候也有可能出现网络中断或者异常等等。

LNMP源码编译安装(centos7+nginx1.9+mysql5.6+php7)

╄→гoц情女王★ 提交于 2020-02-11 04:39:24
1.准备工作: 1)把所有的软件安装在/Data/apps/,源码包放在/Data/tgz/,数据放在/Data/data,日志文件放在/Data/logs,项目放在/Data/webapps, mkdir -p /Data/apps/ mkdir -p /Data/tgz/ mkdir -p /Data/data/ mkdir -p /Data/logs/ mkdir -p /Data/webapps/ 2)安装源码包所需要的依赖包 yum -y install wget openssl* gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients