源码

Django-admin源码解析

核能气质少年 提交于 2020-02-10 07:52:45
单例模式 单例模式(Singleton Pattern) 是一种常用的软件设计模式,该模式的主要目的是确保 某一个类只有一个实例存在 。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,尤其是在配置文件内容很多的情况下。事实上,类似 AppConfig 这样的类,我们希望在程序运行期间只存在一个实例对象。 在 Python 中,我们可以用多种方法来实现单例模式: 使用模块 使用 __new__ 使用装饰器(decorator) 使用元类(metaclass) (1)使用 __new__ 为了使类只能出现一个实例,我们可以使用 __new__ 来控制实例的创建过程,代码如下: class Singleton(object): _instance = None def __new__(cls, *args, **kw): if not cls._instance: cls._instance = super(Singleton, cls).__new__

做个简单的Redis监控(源码分享)

人走茶凉 提交于 2020-02-10 01:28:51
Redis 监控   Redis 是目前应用广泛的 NoSQL ,我做的项目中大部分都是与 Redis 打交道,发现身边的朋友也更多人在用,相对于 memcached 来说,它的优势也确实是可圈可点。在随着业务,数据量等不断的扩大后,对 Redis 的稳定性,性能等也更在的重视,之前就遇到过 Redis 导致服务器内存不足,做持久化的时候 CPU 飙高, Redis 连接数过多等问题,这时候我们就需要有一个监控工具,能够看到各个指标的变化,方便做跟踪分析,这里先列举下目前接触过几个监控工具。 redis-cli   这个工具是 Redis 本身自带的,当我们下载 Redis 安装包的时候,就会发现,里面自带了这个工具,使用也非常简单,只需要输入 INFO 命令就可以获取 Redis 服务相关的信息,效果如下:            当然,输入 Info 的话只能监控一次,如果想连续监控,可以使用命令 -r 10 -i 1 INFO 其中 -r 是 执行 的次数, -i 是 每次执行的间隔时间(秒) 关于INFO 命令的使用和参数说明,可以参考这个地址: http://www.runoob.com/redis/server-info.html redis-live 这是一款 使用 python 编写 的监控工具,所以运行依赖于 python 环境和几个 三方库, 不过监控的指标有点少

从零开始编写IntelliJ IDEA插件

你离开我真会死。 提交于 2020-02-10 00:32:55
写Java代码的时候,经常会涉及到重复性的操作,这个时候就会想要是有这样一个插件就好了,如果是大家都会遇到的场景,IDE或许已经提供了,再不然也有可能有人编写了相关的插件。要是这个操作是你们的编码环境特有的,那就只能自己写工具了。所以这里来学学如何编写IDEA插件,让自己的编程环境更加强大,更好的进行装逼。 开发环境 开发IDEA插件有以下这些依赖: IntelliJ IDEA Community Edition IntelliJ IDEA Community Edition 源码 Plugin DevKit 插件 IntelliJ Platform SDK 安装IntelliJ IDEA Community Edition 你可能已经安装了Ultimate版本,但是你还是需要安装IDEA的社区版本。因为商业版是闭源的,所以在调试时无法调试核心代码。 下载IntelliJ IDEA Community Edition源码 社区版的安装包里是不包含源码的,所以我们需要手动从github上clone一份: 1 git clone --depth 1 git://git.jetbrains.org/idea/community.git idea 关于从源码运行IDEA的方法参考: Check Out And Build Community Edition 添加IDEA jdk

一个似乎没有什么用的域名查询验证系统源码,域名正版查询使用源码

陌路散爱 提交于 2020-02-10 00:25:44
一个似乎没有什么用的 域名查询验证 源码,域名正版查询使用 数据库看了下 文件名还被改了。就3个表,改成什么样了 都。。我去。。 大家可以拿去研究下 反正不是特别好的一个源码 源码介绍:php域名授权管理系统可以直接在后台填写需要授权的域名,也可在后台设置未授权的程序显示的版权信息!比如:您的域名我没有授权您就使用我的程序,那么您网站就无法使用,他会显示一条信息,“您的网站域名未授权,请联系客服!”这文字是可以修改的!当然还可以设置跳转,如未授权时打开网站直接跳转到您设置的网站上! PHP授权网站源码| php域名授权系统 php授权系统 代{过}{滤}理商授权验证系统源码 来源: https://www.cnblogs.com/yangqiangche/p/12289392.html

HashMap源码解析之resize方法

杀马特。学长 韩版系。学妹 提交于 2020-02-09 20:41:33
resize函数 因为HashMap的构造函数 并不会给内部的表开辟空间 而是在调用put函数时 如果表为空 调用resize方法 换句话说 resize函数不得不 考虑 任何不同形式的构造函数 及带一参 带两参 不带参的构造函数 调用resize方法 并且 当表中的数量 超过临界值时 也会调用resize方法 所以整个 大概思路 旧表保存下来 定义并赋值 旧表的长度 临界值 如果旧表为空则长度为0 定义新表长度 新表临界值 如果旧表中有元素 4.1 判断是否达最大长度 到达则无需再散列 4.2 否则 可以再散列 4.2.1 给新表长度和临界值赋值 分别都是是旧表的2倍 如果旧表中 没有元素 并且 旧表有临界值 那么 就是这种构造函数调用的 new HashMap(50); 所以要将 newCap=oldThr; 否则 在表为空 又没有临界值 指定新表的长度和临界值 如果newThr还没被指定吗 如果没有 则指定 也就是说在旧表有指定临界值时的时候调用 前期值的赋值准备做好了就可以再散列了 如何再散列 大概思路 如果表中的节点是树节点 则直接调用 splite (下篇讲) 如果不是树节点 也就是 普通的节点 这里有个很有意思的地方 e.hash & oldCap 这是为什么呢 根据源码表示的是链表中的每一个元素都要再散列 为什么都要再散列 首先必须明确的是

antd源码分析之——标签页(tabs 2.Tabs关键组件功能实现)

喜欢而已 提交于 2020-02-09 19:09:16
由于ant Tabs组件结构较复杂,共分三部分叙述,本文为目录中第二部分(高亮) 目录 一、组件结构 antd代码结构 rc-ant代码结构 1、组件树状结构 2、Context使用说明 3、rc-tabs中只在example、test中使用的组件说明 二、Tabs关键组件功能实现 1、Tabs(antd) 2、RcTabs 3、Sentinel哨兵 4、InkTabBarNode 三、Tabs的滚动效果 ScrollableTabBarNode 二、Tabs关键组件功能实现 1、Tabs(antd) antd中的Tabs主要控制可编辑态和Tabs额外的按钮,具体tab功能实现交给rc-Tabs,具体内容见下图 render方法源码对照 2、RcTabs 3、Sentinel哨兵 sentinel哨兵负责监听tab键盘事件,tab键focus焦点向后移动,shift+tab键焦点向前移动 前后关系如下图所示 代码 4、InkTabBarNode inkTabBar为当前active状态tab下的蓝色高亮条,关键逻辑在于计算高亮条的高度和偏移量,详细代码及逻辑见下图注释 来源: https://www.cnblogs.com/zs-note/p/11507373.html

Extjs 登录界面源码

匆匆过客 提交于 2020-02-09 18:23:00
17ext.com上的,本来有很多,我精简了一部分,把其他国家的精简掉了,很多朋友说不显示中文,中文显示为乱码,我修改的这个好像没有乱码 此代码仅供新手学习,老鸟请绕道 效果图如下 Ext.ux.form.IconCombo.js 1 // JS脚本 2 Ext.namespace( ' Ext.ux.form ' ); 3 4 Ext.ux.form.IconCombo = Ext.extend(Ext.form.ComboBox, { 5 initComponent: function () { 6 var css = ' .ux-icon-combo-icon {background-repeat: no-repeat;background-position: 0 50%;width: 18px;height: 14px;} ' 7 + ' .ux-icon-combo-input {padding-left: 25px;} ' 8 + ' .x-form-field-wrap .ux-icon-combo-icon {top: 4px;left: 5px;} ' 9 + ' .ux-icon-combo-item {background-repeat: no-repeat ! important;background-position: 3px 50% !

Extjs 登录界面源码

浪尽此生 提交于 2020-02-09 18:14:33
17ext.com上的,本来有很多,我精简了一部分,把其他国家的精简掉了,很多朋友说不显示中文,中文显示为乱码,我修改的这个好像没有乱码 此代码仅供新手学习,老鸟请绕道 效果图如下 Ext.ux.form.IconCombo.js 1 // JS脚本 2 Ext.namespace( ' Ext.ux.form ' ); 3 4 Ext.ux.form.IconCombo = Ext.extend(Ext.form.ComboBox, { 5 initComponent: function () { 6 var css = ' .ux-icon-combo-icon {background-repeat: no-repeat;background-position: 0 50%;width: 18px;height: 14px;} ' 7 + ' .ux-icon-combo-input {padding-left: 25px;} ' 8 + ' .x-form-field-wrap .ux-icon-combo-icon {top: 4px;left: 5px;} ' 9 + ' .ux-icon-combo-item {background-repeat: no-repeat ! important;background-position: 3px 50% !

浅析jQuery源码

▼魔方 西西 提交于 2020-02-09 14:21:07
title: 浅析jQuery源码 date: 2017-08-14 categories: jQuery tags: [jQuery,js] --- jQuery 整体架构图 jQuery的主要点: 关于jQuery的整体分析 对于源码的分析:很重要的一点是,摒弃面向过程的思维方式,不要刻意去追求从上至下每一句都要在一开始弄明白。很有可能一开始你在一个奇怪的方法或者变量处卡壳了,很想知道这个方法或变量的作用,然而可能它要到几千行处才被调用到。如果去追求这种逐字逐句弄清楚的方式,很有可能在碰壁几次之后阅读的积极性大受打击 关于模块之间,最可能发生的就是变脸冲突,因此,代码要求高内聚、低耦合,尽量暴露少的变量给外界,或者进行检查。 ES5中使用立即执行匿名函数作为模块 jQuery中最基本有selector event animate等模块 亮点1jQuery每次调用不用new jQuery.fn.init.prototype = jQuery.fn = jQuery.prototype = $ ; new jQuery.fn.init() 相当于 new $() ; $() 返回的是 new jQuery.fn.init()和 new $()是相同的,所以我们可以无 new 实例化 jQuery 对象。 在JavaScript中函数是没有重载的概念 但是却可以实现类似重载的最终效果

java问卷调查系统源码(java+mysql)

拈花ヽ惹草 提交于 2020-02-09 10:28:25
最近公司由于业务需要,需要上线一套在线问卷调查系统用来收集客户对公司产品的反馈意见。我们的技术人员对比了问卷星、问卷网等在线问卷调查平台后发现开发一套问卷调查系统需要花费很多时间满足不了公司的紧迫需求。所以我们准备使用开源的或者购买一套成熟的问卷调查系统供公司业务部门使用。 因为公司自己的技术开发人员使用的是java开发技术,所以我们在网上搜索了所有用java开发的问卷调查系统,找到了由java调查网开发的一套基于ssm的问卷调查系统产品。经过我们业务部门的测试使用发现此问卷调查系统基本上满足了我们90%的业务需求,并且他们的产品提供源码和二次开发,这无疑解决了我们的紧迫需求。 他们的问卷调查系统产品功能很全使用很方便,有需要的可以到他们官网试用一下: http://www.java-survey.com/ 这套系统在我们也使用了一段时间,运行稳定,使用良好。下面给大家展示一下他的主要功能点。 响应式设计:电脑、PAD、手机端自动适配自动适配,利于微信传播答题。答题验证、答题进度等等 支持20多种题型考试题、 打分题、 单选题、 多选题 填空题(单行输入,多行输入,数字,手机号,邮箱,身份证号,网址,日期) 单选矩阵、 多选矩阵、 文本矩阵、 数字矩阵、排序题、下拉菜单、二级菜单 数据分析&统计报表 回收数量、回收进度、百分比、饼状图、条形图、拆线图 答卷数据导出 单题分析