本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/650694 本博客已迁移到本人独立博客: http://www.yun5u.com/ 欢迎加入Heritrix群(QQ):109148319,10447185  , Lucene/Solr群(QQ) :  118972724 CrawlController的确是Heritrix的大脑,在Heritrix中拥有无上的权利!可以控制Heritrix的启动.暂停.停止,也定时进行数据统计.…
欢迎加入Heritrix群(QQ):109148319,10447185 , Lucene/Solr群(QQ) :  118972724 本博客已迁移到本人独立博客: http://www.yun5u.com/ 近段时间在搞定Lucene的一些问题,所以Heritrix源码分析暂时告一段落.今天下午在群里有同学提到了Heritrix异常终止的问题以及让Heritrix不停的抓取(就是抓完一遍后载入种子继续抓取,目前他是写个定时器,定时检查Heritrix是否停止,如果停止了则重新初始化Herit…
近段时间在搞定Lucene的一些问题,所以Heritrix源码分析暂时告一段落.今天下午在群里有同学提到了Heritrix异常终止的问题以及让Heritrix不停的抓取(就是抓完一遍后载入种子继续抓取,目前他是写个定时器,定时检查Heritrix是否停止,如果停止了则重新初始化Heritrix,让Heritrix重新抓取,但这个方法就不可避免的会导致抓取重复URl,除非从recover.gz导入).我想这2个问题都可以用我下面这个方法,但对于Heritrix异常终止的问题这个方法也只是治标不治本…
本文逐个分析ABP中涉及到locaization的接口和类,以及相互之间的关系.本地化主要涉及两个方面:一个是语言(Language)的管理,这部分相对简单.另一个是语言对应得本地化资源(Localization)的管理,这部分稍显复杂. LanguageInfo:用于封装language的基本信息. ILanguageProvider:接口定义一个返回本地化语言集合的方法.这里使用接口做隔离是有必要的,因为ABP底层框架的DefaultLanguageProvider只是返回通过代码hardc…
0.简介 承接上篇文章我们会在这篇文章详细解说一下 Abp 是如何结合 IPermissionChecker 与 IFeatureChecker 来实现一个完整的多租户系统的权限校验的. 1.多租户的概念 多租户系统又被称之为 Saas ,比如阿里云就是一个典型的多租户系统,用户本身就是一个租户,可以在上面购买自己的 ECS 实例,并且自己的数据与其他使用者(租户)所隔绝,两者的数据都是不可见的. 那么 Abp 是如何实现数据隔离的呢? 1.1 单部署-单数据库 如果你的软件系统仅部署一个实例,…
jQuery的属性操作模块总共有4个部分,本篇说一下第1个部分:HTML特性部分,html特性部分是对原生方法getAttribute()和setAttribute()的封装,用于修改DOM元素的特性的 jQuery的静态方法含有如下API: $.attr(elem, name, value) :设置或读取html属性,该方法有三种用法: ·$.attr(elem,name,null)       ;如果value为null则调用jQuery.removeAttr(elem, name)删除该属…
组件是可复用的Vue实例,一个组件本质上是一个拥有预定义选项的一个Vue实例,组件和组件之间通过一些属性进行联系. 组件有两种注册方式,分别是全局注册和局部注册,前者通过Vue.component()注册,后者是在创建Vue实例的时候在components属性里指定,例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title&…
开博客以及建立Heritrix 群有一段时间了(这里谢谢大家的关注),这篇博客将整理这段时间所遇到的问题.同时由于自己从今年5月份开始就不怎么接触Heritrix,很多东西开始遗忘(不过里面思想没忘),同时目前的工作也没有必要接触Heritrix,所以不可能向之前写博客那样从源码的角度去考虑了.这里就起个抛砖引玉的作用吧,希望能有点用.这篇博客会不断更新,如有其他问题,请留言......        相关问题:        1.Heritrix散列30个DNS后就结束        2.如何…
开博客以及建立Heritrix 群有一段时间了(这里谢谢大家的关注),这篇博客将整理这段时间所遇到的问题.同时由于自己从今年5月份开始就不怎么接触Heritrix,很多东西开始遗忘(不过里面思想没忘),同时目前的工作也没有必要接触Heritrix,所以不可能向之前写博客那样从源码的角度去考虑了.这里就起个抛砖引玉的作用吧,希望能有点用.这篇博客会不断更新,如有其他问题,请留言......        相关问题:        1.Heritrix散列30个DNS后就结束        2.如何…
本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/649737       本博客已迁移到本人独立博客: http://www.yun5u.com/        欢迎加入Heritrix群(QQ):109148319,10447185  , Lucene/Solr群(QQ) :  118972724 以前在做Web开发的时候就接触过一些HttpStatus Code,比如404,500.后来接触Heritrix之后才知道HttpSt…
在StatementHandler使用prepare()方法后,接下来就是使用ParameterHandler来设置参数,让我们看看它的定义: package org.apache.ibatis.executor.parameter; import java.sql.PreparedStatement; import java.sql.SQLException; /** * A parameter handler sets the parameters of the {@code Prepare…
本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/644396       本博客已迁移到本人独立博客: http://www.yun5u.com/        欢迎加入Heritrix群(QQ):109148319,10447185 , Lucene/Solr群(QQ) :  118972724 前面说过Heritrix可以在某个抓取基础上(这里假设为A)继续抓取,因为Heritrix对每一个URL都会有相应的日志处理,同时还有c…
C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; namespace…
引言 在上两篇文章 spark 源码分析之十九 -- DAG的生成和Stage的划分 和 spark 源码分析之二十 -- Stage的提交 中剖析了Spark的DAG的生成,Stage的划分以及Stage转换为TaskSet后的提交. 如下图,我们在前两篇文章中剖析了DAG的构建,Stage的划分以及Stage转换为TaskSet后的提交,本篇文章主要剖析TaskSet被TaskScheduler提交之后的Task的整个执行流程,关于具体Task是如何执行的两种stage对应的Task的执行有…
DataTable源码分析(二) ===================== DataTable函数分析 ---------------- DataTable作为整个插件的入口,完成了整个表格的数据初始化.表格展现等等操作.本人采用比较笨的办法,逐行的研究这个函数,看看这里究竟做了什么.当然,由于本人对于JavaScript也是一知半解,很多时候,需要配合了解JavaScript的语法才能真正了解具体的函数用法,下面也会一一讲解. ###总体概览 函数从代码的90多行开始,一直到1300多行结束…
一个普通的 Zepto 源码分析(二) - ajax 模块 普通的路人,普通地瞧.分析时使用的是目前最新 1.2.0 版本. Zepto 可以由许多模块组成,默认包含的模块有 zepto 核心模块,以及 event . ajax . form . ie ,其中 ajax 模块是比较重要的模块之一,我们可以借助它提供的方法去做一些网络请求,还可以监听它的生命周期事件. Zepto 基本模块之 ajax 模块 我们都已经知道 Zepto 插件的一般形式是把 Zepto 对象传入给 $ 形参,那么可以…
Zepto源码分析(一)核心代码分析 Zepto源码分析(二)奇淫技巧总结 目录 * 前言 * 短路操作符 * 参数重载(参数个数重载) * 参数重载(参数类型重载) * CSS操作 * 获取属性值的方法 * 获取属性值的方法 * Boolean操作 * 快速转换成Boolean * 日期操作 * 快速获取时间戳 * 数组操作 * 数组去重 * 数组清洗(去除null和undefined) * 字符串操作 * 快速转换成字符串 * CSS命名方式转驼峰命名方式 * 驼峰转CSS命名方式 * 对象…
Abstract 本系列是关于Koa框架的文章,目前关注版本是Koa v1.主要分为以下几个方面: Koa源码分析(一) -- generator Koa源码分析(二) -- co的实现 Koa源码分析(三) -- middleware机制的实现 co 大名鼎鼎的co是什么?它是TJ大神基于ES6的一些新特性开发的异步流程控制库,基于它所开发的koa被视为未来主流的web框架. koa基于co实现,而co又是使用了ES6的generator和promise特性.如果还不理解,可以查看阮一峰老师的…
  Unity时钟定时器插件——Vision Timer源码分析之二 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 前面的已经介绍了vp_Timer(点击前往查看),vp_TimeUtility相对简单很多,vp_TimeUtility定义了个表示时间的结构Units: 下面就直接贴出时间与Units的转换,Units转换为string,时间转换为时钟转过的度数的实现 1.时间与Units的相互转换: 2.时间转换为字符串string:…
Tomcat源码分析(二)------ 一次完整请求的里里外外   前几天分析了一下Tomcat的架构和启动过程,今天开始研究它的运转机制.Tomcat最本质就是个能运行JSP/Servlet的Web服务器 , 因此最典型的应用就是用户通过浏览器访问服务器,Tomcat接收到请求后转发给Servlet,由Servlet处理完后,把结果返回给客户端.今天就专门解析一下这么一个完整的请求的内部机理. 通过DEBUG,一路跟下来,发现Tomcat处理请求的核心过程是以下几点: 启动的时候启动预支持协议…
元数据最本质.最抽象的定义为:data about data (关于数据的数据).它是一种广泛存在的现象,在许多领域有其具体的定义和应用. JDBC中的元数据,有数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData),结果集元数据(ResultSetMetaData) 分别封装了数据库产品名字等数据库信息.查询参数的个数等参数信息.结果集的列数等结果集信息. 数据库元数据 /** *数据库的整体综合信息. */ public interface Dat…
Django之DRF源码分析(二)---数据校验部分 is_valid() 源码 def is_valid(self, raise_exception=False): assert not hasattr(self, 'restore_object'), ( 'Serializer `%s.%s` has old-style version 2 `.restore_object()` ' 'that is no longer compatible with REST framework 3. '…
一个EventLoopGroup当中会包含一个或多个EventLoop. 一个EventLoop在它的整个生命周期当中都只会与唯一一个Thread进行绑定. 所有由EventLoop所处理的各种I/O事件都将在它所关联的那个Thread上进行处理. 一个Channel在它的整个生命周期中只会注册在一个EventLoop上. 一个EventLoop在运行过程中,会被分配给一个或多个Channel. 同一个Channel提交的任务执行顺序和提交顺序是一样的(先进去的先出来,任务队列). 重要结论:在…
概述startDeploymentController 入口逻辑DeploymentController 对象DeploymentController 类型定义DeploymentController 初始化ResourceEventHandlerDeployment 变更事件ReplicaSet 变更事件DeploymentController 启动Run()syncDeployment小结 概述 源码版本:kubernetes-v1.22.3 / commit-id: c92036 Depl…
本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/642794         本博客已迁移到本人独立博客: http://www.yun5u.com/          欢迎加入Heritrix群(QQ):109148319,10447185  , Lucene/Solr群(QQ) :  118972724 网上关于Heritrix的基本介绍有很多,这里就不再重复.我这里主要介绍下它的优缺点.然后我会介绍它的运作流程以及我会从流程中…
问题的提出 本篇文章将回答如下问题: 1.  spark任务在执行的时候,其内存是如何管理的? 2. 堆内内存的寻址是如何设计的?是如何避免由于JVM的GC的存在引起的内存地址变化的?其内部的内存缓存池回收机制是如何设计的? 3. 堆外和堆内内存分别是通过什么来分配的?其数据的偏移量是如何计算的? 4. 消费者MemoryConsumer是什么? 5. 数据在内存页中是如何寻址的? 单个任务的内存管理是由 org.apache.spark.memory.TaskMemoryManager 来管理…
概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 catalina.bat 脚本. 至于 setclasspath.bat 这个脚本, 相信看完这一篇, 就可以自己看懂这个脚本了. 可以点击 [Tomcat 源码分析系列] (附件) : setclasspath.bat 脚本 查看附注释的 setclasspath.bat 脚本 catalina.ba…
       在上一篇博客中分析了zxing怎么打开摄像头,并且扫描结果,那么扫描之后的数据呢,是不是就要解析了呢,那我们看一下zxing怎么解析这个数据的.       上一篇博客地址ZXING源码分析(一)CAMERA部分.        首先看一下解码涉及到的类        一.com.google.zxing.client.android.camera.PreviewCallback 实现了Camera.PreviewCallback接口,回调的方法,扫描到内容后会回调此方法    …
mk-assignments主要功能就是产生Executor与节点+端口的对应关系,将Executor分配到某个节点的某个端口上,以及进行相应的调度处理.代码注释如下: ;;参数nimbus为nimbus-data对象,:scratch-topology-id为需要重新调度的Topology的id (defnk mk-assignments [nimbus :scratch-topology-id nil] (let [conf (:conf nimbus);;分别从nimbus-data中获取…
前言 前面一篇我们分析了ArrayList的源码,这一篇分享的是LinkedList.我们都知道它的底层是由链表实现的,所以我们要明白什么是链表? 一.LinkedList简介 1.1.LinkedList概述 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的. LinkedList 是一个继承于AbstractSequentialList的双向链表.它也可以被当作堆栈.队列或双端队列进行操作. LinkedList 实现 List 接口,能对它…