varint算法,摘自:http://blog.csdn.net/liaoquesg/article/details/50897327 最近在看<大规模WEB服务开发技术>这本书中.书中提到“可变长字节码算法”的压缩数据的算法,以达到压缩数据,减少磁盘IO. 可变长字节码算法: 任意一个字节的最高位(下标7)均只作为标志位,而且根据字节所在位置需要乘以128的相应幂次:(我觉得这个算法只能用作自然数的压缩) 这是他的伪代码  仔细研究后,我翻译成PHP版的: <?php function…
最近需要做一些文本摘要的东西,选取了TextRank(论文参见<TextRank: Bringing Order into Texts>)作为对比方案,该方案可以很方便的使用Python相关库进行实现. 下面介绍如何利用Python实现一个简单的文本摘要工具. Demo [前期准备]: Python 2.7.x - 当然也推荐Python3,少掉很多编码问题.信仰选2! jieba分词 - 最好的python中文分词工具(最新清华出了个THULAC,有兴趣的可以试试,看对比效果似乎更好) ne…
PCA PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维.网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理.这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么. 当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙述PCA的数学原理,所以整个文章不会引入严格的…
DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然!——和一个句子的分词算法CRF没有区别!注:传统DDos检测直接基于IP数据发送流量来识别,通过硬件防火墙搞定.大数据方案是针对慢速DDos攻击来搞定.难点:在进行攻击的时候,攻击数据包都是经过伪装的,在源IP 地址上也是进行伪造的,这样就很难对攻击进行地址的确定,在查找方面也是很难的.这样就导致了分布式拒绝服务攻击在检验方法上是很难做到的.领域知识见:http://blog.csdn.n…
https://www.cnblogs.com/bradleon/p/6827109.html 文章里写得非常好,需详细看.尤其是arima的举例! 可以看到:ARIMA本质上是error和t-?时刻数据差分的线性模型!!! ARIMA模型全称为自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model,简记ARIMA),是由博克思(Box)和詹金斯(Jenkins)于70年代初提出一著名时间序列(Time-series Approach…
Parquet是Twitter贡献给开源社区的一个列数据存储格式,采用和Dremel相同的文件存储算法,支持树形结构存储和基于列的访问.Cloudera Impala也将使用Parquet作为底层的存储格式.在很多大数据的应用场景下面,比如电信行业,具有一定规则的数据,字段很多,但是每次查询仅仅针对其中少数的几个字段,这个时候列式存储是极佳的选择.优势: 使用列式存储,一列的值都是同质的,从而带来了更高的压缩比:对于在hadoop集群上的大数据量来说,使用parquet可以节省大量空间:可以提高…
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出…
STL实践与分析 --概述.初窥算法[上]     标准库容器定义的操作很少.并没有给容器加入大量的功能函数.而是选择提供一组算法,这些算法大都不依赖特定的容器类型,是"泛型"的.可作用在不同类型的容器和不同类型的元素上!     所谓泛型算法:一是由于它们实现共同的操作,所以称之为"算法";而"泛型"指的是它们可以操作在多种容器类型上--不但可作用于vector或list这些标准库类型,还可用在内置数组类型.甚至其它类型的序列上,仅仅要自己定义…
jQuery的$.ajax方法响应数据类型有:xml.html.script.json.jsonp.text 本质上原生ajax响应数据格式只有2种:xml和text,分别对应xhr.responseText和xhr.responseXML 理论上来说这道题目是应该非常简单的,但是我看到题目的时候,有点想复杂了,还是对ajax了解的不是非常清楚,需要不断的努力去学习…
from:https://www.jiqizhixin.com/articles/2018-08-11-11 可以通过分析流量包来检测TOR流量.这项分析可以在TOR 节点上进行,也可以在客户端和入口节点之间进行.分析是在单个数据包流上完成的.每个数据包流构成一个元组,这个元组包括源地址.源端口.目标地址和目标端口. 提取不同时间间隔的网络流,并对其进行分析.G.He等人在他们的论文“从TOR加密流量中推断应用类型信息”中提取出突发的流量和方向,以创建HMM(Hidden Markov Mode…
from:https://netsec2018.files.wordpress.com/2017/12/e6b7b1e5baa6e5ada6e4b9a0e59ca8e7bd91e7bb9ce5ae89e585a8e4b8ade79a84e5ba94e794a8.pdf 利用CNN进行流量识别 本质上就是将流量视作一个图像,详见ppt.…
https://medium.com/@andrew.chamberlain/the-linear-algebra-view-of-least-squares-regression-f67044b7f39b 线性回归是初学者学习的最重要的统计模型工具.然而,传统的教学方式使得我们很难理解到这个regression的本质.大多数课程聚焦在"计算"视图上,在这个计算视图中,regression关注于每个观察值和预测值之间差的平方和所形成的表达式,随后我们对这个表达式应用求导取0,最终算得各…
研究这个问题的起因发现使用<=比较时间的不准确,所以怀疑是一个浮点数(Delphi里的time就是一个浮点数).结果却发现是一个int class Q_CORE_EXPORT QTime { explicit Q_DECL_CONSTEXPR QTime(int ms) : mds(ms) #if defined(Q_OS_WINCE) , startTick(NullTime) #endif {} public: Q_DECL_CONSTEXPR QTime(): mds(NullTime)…
https://www.cnblogs.com/feng9exe/p/9712059.html 类型系统(type system)是一门编程语言最核心也是最基础的部分.无论该语言基于何种编程范式,都必须在开天辟地之初首先对类型系统作出明确的定义.这是因为,编程语言虽然五花八门,千奇百怪,但是归根结底,编程语言最终的目标,本质上无非是回答两个问题: 如何表示信息: 如何处理信息.…
不知道各位读者在面试的时候,有没有被问过这个问题:"请说一下GET和POST两者的本质区别".基本上做过WEB开发的,对这个问题,都可以回答出一堆的区别. 比如: 最直接的区别,GET请求的参数是放在URL里的,POST请求参数是放在请求body里的:GET请求的URL传参有长度限制,而POST请求没有长度限制:GET请求的参数只能是ASCII码,所以中文需要URL编码,而POST请求传参没有这个限制:当你激情四射的回答完之后,面试官可能微笑的摇摇头. 那么标准答案是什么呢? HTTP…
代码: # -*- coding: utf-8 -*- import random import gym import numpy as np from collections import deque from keras.models import Sequential from keras.layers import Dense from keras.optimizers import Adam from keras.utils.vis_utils import plot_model EP…
Given a string S, we can transform every letter individually to be lowercase or uppercase to create another string.  Return a list of all possible strings we could create. Examples: Input: S = "a1b2" Output: ["a1b2", "a1B2",…
Batch Normalization Batch Normalization是深度学习领域在2015年非常热门的一个算法,许多网络应用该方法进行训练,并且取得了非常好的效果. 众所周知,深度学习是应用随机梯度下降法对网络进行训练,尽管随机梯度下降训练神经网络非常有效,但是它有一个缺点,就是需要人为的设定很多参数,比如学习率,权重衰减系数,Dropout比例等.这些参数的选择对训练结果至关重要,以至于训练的大多数精力都耗费在了调参上面.BN算法就可以完美的解决这些问题. 当我们使用了BN算法,我…
ES transport client底层是netty实现,netty本质上是异步方式,但是netty自身可以使用sync或者await(future超时机制)来实现类似同步调用! 因此,ES transport client可以同步调用也可以异步(不过底层的socket必然是异步实现). 发送端例子 对于java client的数据发送(这里以bulk为例),写过的人都知道,其实是很简单的,因为大部分事情都已经被client做掉了,那么我们先给出例子感知一下: client初始化 Settin…
RxSwift 是一个组合异步和事件驱动编程的库,通过使用可观察序列和功能样式运算符来,从而允许通过调度程序进行参数化执行. RxSwift 在本质上简化了开发异步程序,允许代码对新数据作出反应,并以顺序和孤立的方式处理它. https://www.codercto.com/a/18360.html…
浏览器本质上是解析器.用于将符合W3C的标记序列解析并还原到编码人员希望用户看到的呈现状态.实际上,Word本身也可以看作是一个文档文件浏览器,acdsee是一个图像文件解析器(浏览器).HTML文件本质上是一个命令序列文件(一般来说,它应该是一个标记,而不是一个命令).例如,浏览器解析引擎将标记解析为超链接,IMG标记将在指定位置显示图片.实际上,所谓的网页制作就是将设计师想要呈现的效果转化为浏览器可以理解的一系列标签,然后转化为用户可以看到的效果.数据库本身不属于Web应用程序,也不专门指代…
从概念上讲.指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变. 而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量). 在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传递参数是有本质上的不同的: 指针传递参数本质上是值传递的方式,它所传递的是一个地址值.值传递过程中,被调…
apache服务器本质上说是一个TCP socket服务,socket模型如下:  下面以worker MPM来说明apache代码中相应处理的位置在哪里: (以apache httpd 2.2.23版本的代码为基础) 1) 在第一次启动时验证配置没有异常时,创建了socket.    2) open_logs 挂钩调用了 ap_setup_listeners() ,最终在listen.c的make_socket方法执行了apr_socket_bind/apr_socket_listen,进入通…
详细分析 Java 中实现多线程的方法有几种?(从本质上出发) 正确的说法(从本质上出发) 实现多线程的官方正确方法: 2 种. Oracle 官网的文档说明 方法小结 方法一: 实现 Runnable 接口. 方法二: 继承 Thread 类. 代码示例 /** * <p> * 实现 Runnable 接口的方式创建线程 * </p> * * @author 踏雪彡寻梅 * @version 1.0 * @date 2020/9/7 - 00:34 * @since JDK1.8…
原文地址:http://www.vonwei.com/post/UniqueDeviceIDforWindows.html 唯一的标识一个设备是一个基本功能,可以拥有很多应用场景,比如软件授权(如何保证你的软件在授权后才能在特定机器上使用).软件License,设备标识,设备身份识别等.下面列举一下各种方法的优劣: (1)网卡MAC地址 MAC地址可能是最常用的标识方法,但是现在这种方法基本不可靠:一个电脑可能存在多个网卡,多个MAC地址,如典型的笔记本可能存在有线.无线.蓝牙等多个MAC地址,…
原文地址:http://www.vonwei.com/post/UniqueDeviceIDforWindows.html 唯一的标识一个设备是一个基本功能,可以拥有很多应用场景,比如软件授权(如何保证你的软件在授权后才能在特定机器上使用).软件License,设备标识,设备身份识别等.下面列举一下各种方法的优劣: (1)网卡MAC地址 MAC地址可能是最常用的标识方法,但是现在这种方法基本不可靠:一个电脑可能存在多个网卡,多个MAC地址,如典型的笔记本可能存在有线.无线.蓝牙等多个MAC地址,…
--创建一个链接 EXEC sp_addlinkedserver 'OtherServerDb','','SQLOLEDB','192.168.12.101' --第一个参数是给远程的服务器起的别名 最后一个是远程服务器的IP 其余参数不管 --创建一个登录方式 ' --第一个参数和上门的别名保持一致 最后两个参数是 数据库的用户名和密码 其余参数不管 --实例 --1.查询远程服务器上的某张表的数据 SELECT * FROM OtherServerDb.xkz20150204.dbo.Sys…
http://blog.jobbole.com/84148/ YouTube上最火的十个大数据视频…
GitHub上YOLOv5开源代码的训练数据定义 代码地址:https://github.com/ultralytics/YOLOv5 训练数据定义地址:https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data YOLOv5训练自定义数据 本指南说明了如何使用YOLOv5 训练自己的自定义数据集. 开始之前 copy此仓库,下载教程数据集,并安装requirements.txt依赖项,包括Python> = 3.7和PyTorch>…
迁移学习算法之TrAdaBoost from: https://blog.csdn.net/Augster/article/details/53039489 TradaBoost算法由来已久,具体算法可以参考作者的原始文章,Boosting For Transfer Learning. 1.问题定义 传统的机器学习的模型都是建立在训练数据和测试数据服从相同的数据分布的基础上.典型的比如有监督学习,我们可以在训练数据上面训练得到一个分类器,用于测试数据.但是在许多的情况下,这种同分布的假设并不满足…