自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (1)
  • 收藏
  • 关注

转载 conda 安装gcc

conda环境中安装gcc。

2022-10-12 21:09:14 3717 1

转载 深度剖析CPython解释器[转]

系列文章,剖析的很详细,备忘。

2022-09-23 14:38:57 276

转载 批量梯度下降,随机梯度下降,mini-batch随机梯度下降对比说明

随机梯度下降的收敛速度更快,使用随机梯度下降在训练时,我们进行梯度下降的方向可能有误,但是可以通过下一次的样本训练进行一个修改,通过随机迂回的路线向全局最小值进行进发,随机梯度下降和批量梯度下降的收敛形式也不同,随机梯度下降会在一个区域(如我们圈起来的地方)中朝着全局最小值的方向徘徊,使得最后的结果非常接近全局最小值,我们就可以得到一个很好的假设,因此常用我们的梯度下降法,能得到一个很接近全局最小值的参数。...

2022-08-09 10:48:15 930

原创 AI 金融行业案例清单

几年的IT工作生涯,接触了物流、金融、电商等业务领域,AI领域中更多接触到的场景主要是金融场景为主,发现目前缺乏一份金融AI案例名单。后续逐步整理相应的案例清单,供大家共同学习查阅。目前以案例名称为主,未来合适时机也可以增加实现方案或对应的文献引用。个人对金融理解也是非常有限的,如有不合适的请大家指出,如大家有适合的案例,非常欢迎提供。...

2022-07-29 15:23:53 274

转载 t检验只能用于样本量少于30个的数据?要做z检验吗?(转)

经常在统计教材里面看到,t检验适用于样本量n30时,还能继续使用t检验吗?很多书上都这样讲:T和Z检验公式适合不同类型的试题,可是在讲SPSS操作部分时,所有类型的题目用SPSS里的t检验计算了。比如,按照书上手算部分的讲解,只适合Z 检验的例题,可SPSS操作部分却用的是T检验,前面和费劲地讲解两个公式的区别,后面却又一样了,如何解释?在两个样本平均数的差异性检验中,什么时候用t检...

2022-07-01 10:02:00 7475

原创 pandas 日期格式

找了好久,详情见官网https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#timeseries-offset-aliases

2022-06-10 16:30:05 76

原创 【分层说明】什么是对象?

最近在《Python源码剖析,里边提到了一些关于对象的解释,有了一些灵感,初步从系统架构视角下,分层整理了一下对象的技术理解。一般大家介绍对象特性时,主要关注的是应用层和语言层的对象特性,譬如封装、继承或者多态等。即:对象即包含了属性,也包含了方法,那么映射到最底层就是分配的内存中既有属性,也有代码。往往是说这个语言支持哪些面向对象特性,说的是语言支持这些特性的定义和运行。如何在语言中进行定义,可以用这样的方式方法,来组织管理代码或者业务逻辑等。如何定义在不同的语言中有所不同,主要看语言的实

2022-05-16 23:21:07 94

转载 基于栈虚拟机vs基于寄存器虚拟机(转)

今天在网上查了资料,想了解下python虚拟机,收到了一篇是用python时间简单的虚拟机的,其中提到了"而 lua 则是基于寄存器的虚拟机",出于好奇遍查找了一下什么是基于寄存器的虚拟机,找到了以下转载文章。前言虚拟机的存在是为了隔绝物理层面上的差异,而在虚拟机中也存在多种执行方式。在介绍Class文件中,我们了解到JVM虚拟机指令执行是通过操作数栈,这样的虚拟机被认为是基于栈的,而Dalvik虚拟机中则是基于寄存器的,那基于栈与基于寄存器的虚拟机到底有什么区别?首先,我们要先了解栈和寄存器,栈是

2022-05-12 22:28:10 557

转载 coroutine协程库源码分析(转)

好久未搬砖,突然想了解下协程的本质,在网上找到这篇文章,讲的不错,搬来存档。随着Golang的兴起,协程尤其是有栈协程(stackful coroutine)越来越受到程序员的关注。协程几乎成了程序员的一套必备技能。云风实现了一套C语言的协程库,整体背景可以参考其博客。这个协程库非常轻量级,一共也才200多行代码,使用上更贴近于lua的写法(众所周知,云风是知名的lua粉)。整体基于ucontext和共享栈模型实现了有栈协程,代码质量毋庸置疑,本文将详细剖析该协程库的实现原理。同时,我也提供了cor

2022-05-11 15:40:42 231

转载 anaconda:一直处于adding featured channel状态

C:\Users\Administrator.condarc把.condarc内容改成:channels:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/show_channel_urls: truessl_verify: true

2022-03-19 16:13:54 5490 3

转载 简单线性回归——异常值的处理

学习计量经济学过程中,在考虑线性回归中如果因变量中有异常值,应该怎么处理,找到了以下信息,转载备忘一下1.当发现异常值时,首先应该回到数据中,检查是否存在数据收集或者数据录入方面的错误如果发现此类错误,则应及时更正为正确的数据,并且再次检测异常值,所以为了避免此类重复操作,在数据预处理的所有环节都应该细心。2.剔除异常值:若数据的收集与录入是正确的,但是仅有极个别的异常值,而且经过调研人员的探讨,在所要研究的群体中也非常少见,剔除数据不会对最终的研究结果有很大的影响,那么可以剔除此数据。注意,在最终

2022-03-05 22:14:52 3408

转载 GBDT(MART) 迭代决策树入门教程 | 简介(转)

这些天在看XGBoost,为了搞懂XGBoost看了不少资料,为了理解也看了ADAboost、GBDT、LightGBM、CATBoost等,今天看到一篇深入浅出讲解的文章,记录备忘一下 GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力(generalization)

2022-01-29 11:31:16 205

翻译 WAPE、WMAPE理解

背景: 刚入AI行业小白,搜了半天也没有找到wape指标解释,后来找到一篇英文解释,翻译过来跟大家分享一下1.导言在我们所处的时代,学习如何正确使用数据并充分利用数据非常重要。零售商很清楚这一点,因此会做出销售预测,以便提前做好计划。这可以帮助他们了解要订购的产品数量、库存量、库存量等,从而在保持客户供应的同时降低成本。然而,我们怎么知道我们的预测足够好呢?我们如何衡量它的准确性?在本教程中,我们将分析不同的方法。2.问题让我们想象一下,我们有一个小企业,在一个村庄里出售几加仑牛奶。我们想预.

2021-12-20 11:56:21 9340 1

转载 flink sql 流 join (上)(转)

1.序篇下面即是文章目录,也对应到本文的结论,小伙伴可以先看结论快速了解本文能给你带来什么帮助:背景及应用场景介绍:join 作为离线数仓中最常见的场景,在实时数仓中也必然不可能缺少它,flink sql 提供的丰富的 join 方式(总结 6 种:regular join,维表 join,temporal join,interval join,array 拍平,table function 函数)对我们满足需求提供了强大的后盾先来一个实战案例:以一个曝光日志 left join 点击日志为案例展开

2021-12-15 10:12:43 1957

转载 一文说清linux system load(转载)

双十一压测过程中,常见的问题之一就是load 飙高,通常这个时候业务上都有受影响,比如服务rt飙高,比如机器无法登录,比如机器上执行命令hang住等等。本文就来说说,什么是load,load是怎么计算的,什么情况下load 会飙高,load飙高是不是必然业务受影响。一 什么是load我们平时所讲的load,其全称是Linux system load averages ,即linux系统负载平均值。注意两个关键词:一个是“负载”,它衡量的是task(linux 内核中用于描述一个进程或者线程)对系统的需

2021-12-15 10:00:50 231

转载 动量梯度下降法(gradient descent with momentum)

简介动量梯度下降法是对梯度下降法的改良版本,通常来说优化效果好于梯度下降法。对梯度下降法不熟悉的可以参考梯度下降法,理解梯度下降法是理解动量梯度下降法的前提,除此之外要搞懂动量梯度下降法需要知道原始方法在实际应用中的不足之处,动量梯度下降法怎样改善了原来方法的不足以及其具体的实现算法。依次从以下几个方面进行说明:小批量梯度下降法(mini-batch gradient descent)指数加权平均(exponential weight averages)动量梯度下降法(gradient desce

2021-12-01 16:27:14 398

转载 LSM树详解

LSM树(Log-Structured-Merge-Tree)的名字往往会给初识者一个错误的印象,事实上,LSM树并不像B+树、红黑树一样是一颗严格的树状数据结构,它其实是一种存储结构,目前HBase,LevelDB,RocksDB这些NoSQL存储都是采用的LSM树。LSM树的核心特点是利用顺序写来提高写性能,但因为分层(此处分层是指的分为内存和文件两部分)的设计会稍微降低读性能,但是通过牺牲小部分读性能换来高性能写,使得LSM树成为非常流行的存储结构。1、LSM树的核心思想如上图所示,LSM树有

2021-11-19 11:17:05 6501

转载 一文带你了解HBase读取数据详细流程

HBase数据读取流程1、hbase数据读取流程简单描述​ 一般来说,在描述hbase读取流程的时候,简单的描述如下:​ 1)、客户端从zookeeper中获取meta表所在的regionserver节点信息​ 2)、客户端访问meta表所在的regionserver节点,获取到region所在的regionserver信息​ 3)、客户端访问具体的region所在的regionserver,找到对应的region及store​ 4)、首先从memstore中读取数据,如果读取到了那么直接将数据

2021-11-16 17:04:22 5382

转载 服务限流,怎么计算配额?

问题请求被限流之前的文章提到过我们服务使用 Hystrix 进行服务限流,使用的是信号量方式,并根据接口的响应时间和服务的峰值 QPS 设置了限流的配额。限流配额的计算方式为:我们接口单机单个接口的峰值 QPS 为 1000,平均影响时长 15ms,我们认为 Hystrix 的信号量是并发量,那么一个信号量在一秒内能允许 1000ms/15ms~66 个请求通过,那么服务 1000QPS 配置 15 个信号量就足够了。当然这是在忽略上下文切换和 GC 时间的情况下,考虑上这些因素,每个并发量每秒能

2021-11-16 10:28:23 161

转载 JAVA锁机制-可重入锁,可中断锁,公平锁,读写锁,自旋锁

如果需要查看具体的synchronized和lock的实现原理,请参考:解决多线程安全问题-无非两个方法synchronized和lock 具体原理在并发编程中,经常遇到多个线程访问同一个 共享资源 ,这时候作为开发者必须考虑如何维护数据一致性,在java中synchronized关键字被常用于维护数据一致性。synchronized机制是给共享资源上锁,只有拿到锁的线程才可以访问共享资源,这样就可以强制使得对共享资源的访问都是顺序的,因为对于共享资源属性访问是必要也是必须的,下文会有具体示例演示。一

2021-11-15 22:30:42 572

转载 Redis主节点的Key已过期,但从节点依然读到过期数据....

我们知道,大部分的业务场景都是读多写少,为了利用好这个特性,提升Redis集群系统的吞吐能力,通常会采用主从架构、读写分离如上图所示:其中Master节点:负责业务的写操作Slave节点:实时同步Master节点的数据,提供读能力为了提高吞吐量,采用一主多从的架构,将业务的读压力分摊到多台服务器上一、拉取过期数据Redis性能高主要得益于纯内存操作,但内存存储介质的成本过高,所以数据的存储有一定的约束。通常会设置过期时间,对于一些使用不是很频繁的数据,会定期删除,提高资源的利用率。删除

2021-11-13 21:08:52 336

转载 ART、JIT、AOT、Dalvik之间有什么关系?

ART、JIT、AOT、Dalvik之间有什么关系?JIT与DalvikJIT是"Just In Time Compiler"的缩写,就是"即时编译技术",与Dalvik虚拟机相关。怎么理解这句话呢?这要从Android的一些特性说起。JIT是在2.2版本提出的,目的是为了提高Android的运行速度,一直存活到4.4版本,因为在4.4之后的ROM中,就不存在Dalvik虚拟机了。我们使用Java开发android,在编译打包APK文件时,会经过以下流程Java编译器将应用中所有Java文件编

2021-11-04 23:40:17 323

转载 MySQL半同步复制

MySQL半同步复制从MySQL5.5开始,MySQL以插件的形式支持半同步复制。如何理解半同步呢?首先我们来看看异步,全同步的概念异步复制(Asynchronous replication)MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。全同步复制(Fully synchronous re

2021-11-03 14:51:48 50

转载 mysql MHA高可用+读写分离(转)

文章目录1.mysql MHA高可用+读写分离1.1 mysql MHA高可用1.11 mha简介1.2 mha部署1.2.1 环境:1.2.2 安装mha1.2.3 mysql开启主从同步1.2.4 主从切换测试1.2.5 添加vip测试vip漂移2. 读写分离中间件atlas2.1 atlas介绍2.2 其它中间件介绍2.3 atlas安装2.3.1 注意事项2.3.2 配置文件2.3.3 启动atlas2.4 测试atlas2.4.1 客户端测试2.4.2 网页测试1.mysql MHA高可用+读写

2021-11-03 14:26:23 829 1

转载 Big Endian 和 Little Endian 详解(

一、Endian的起源在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。1980年,Danny Cohen在其著名的论文”On Holy Wars and a Plea for Peace”中为了平息一场关于在消息中字节该以什么样的顺序进行传送的争论而引用了该词。该文中,Cohen非常形象贴切地把支持从

2021-10-30 22:52:43 251

转载 JIT优化

什么是JITJIT 是 just in time 的缩写, 也就是即时编译编译器。在运行时 JIT 会把翻译过的机器码保存起来,以备下次使用,因此从理论上来说,采用该 JIT 技术可以接近以前纯编译技术。下面我们看看,JIT 的工作过程。备注:寄存器的使用是编译器的一个非常普遍的优化。寄存器的速度比主存快很多。怎么优化JIT编译初级调优:客户模式或服务器模式中级编译器调优 (-cient,-server 或是-xx:+TieredCompilation)优化代码缓存 (–XX:Reserve

2021-10-13 22:37:02 127

转载 什么是JIT

1、动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。2、JIT编译(just-in-time compilation)狭义来说是当某段代码即将第一次被执行时进行编译,因而叫“即时编译”。JIT编译是动态编译的一种特例。JIT编译一词后来被泛化,时常与动态编译等价;但要注意广义与狭义的JIT编译所指的区别。3、自适应动态编译(adap

2021-10-13 22:28:25 67

转载 Raft协议原理详解 转

更新:想要学习Raft算法,最好的方式就是看作者博士论文了,详细清晰!我将作者的博士论文翻译和总结这篇文档中了,想要更详细了解的可以点开下面链接!【腾讯文档】Raft论文Raft论文总结​docs.qq.com/doc/DY0VxSkVGWHFYSlZJ大名鼎鼎的Paxos算法可能不少人都听说过,几乎垄断了一致性算法领域,在Raft协议诞生之前,Paxos几乎成了一致性协议的代名词。但是对于大多数人来说,Paxos算法太难以理解了,而且难以实现。因此斯坦福大学的两位教授Diego Ongaro和Jo

2021-10-09 18:07:21 202

转载 Paxos 算法详解(一)转

前言提到分布式算法,就不得不提 Paxos 算法,在过去几十年里,它基本上是分布式共识的代 名词,因为当前最常用的一批共识算法都是基于它改进的。比如,Fast Paxos 算法、 Cheap Paxos 算法、Raft 算法、ZAB 协议等等。兰伯特提出的 Paxos 算法包含 2 个部分: 一个是 Basic Paxos 算法,描述的是多节点之间如何就某个值(提案 Value)达成共 识; 另一个是 Multi-Paxos 思想,描述的是执行多个 Basic Paxos 实例,就一系列值达成共

2021-10-09 17:46:51 175

转载 Poxos算法详解(二)转

经过上篇文章的学习,你应该知道,Basic Paxos 只能就单个值(Value)达成共识,一旦遇到为一系列的值实现共识的时候,它就不管用了兰伯特并没有把 Multi-Paxos 讲清楚,只是介绍了大概的思想,缺少算法过程 的细节和编程所必须的细节(比如缺少选举领导者的细节)。这也就导致每个人实现的 Multi-Paxos 都不一样。不过从本质上看,大家都是在兰伯特提到的 Multi-Paxos 思想上补充细节,设计自己的 Multi-Paxos 算法,然后实现它(比如 Chubby 的 Multi-Pa

2021-10-09 17:42:29 147

转载 ClickHouse特性及底层存储原理

ClickHouse的特性ClickHouse是一款MPP架构的列式存储数据库,但MPP和列式存储并不是什么"稀罕"的设计。拥有类似架构的其他数据库产品也有很多,但是为什么偏偏只有ClickHouse的性能如此出众呢?ClickHouse发展至今的演进过程一共经历了四个阶段,每一次阶段演进,相比之前都进一步取其精华去其糟粕。可以说ClickHouse汲取了各家技术的精髓,将每一个细节都做到了极致。接下来将介绍ClickHouse的一些核心特性,正是这些特性形成的合力使得ClickHouse如此优秀。完

2021-09-29 22:23:17 287

转载 分布式消息队列(文章真的不错)

一、消息队列的演进分布式消息队列中间件是是大型分布式系统中常见的中间件。消息队列主要解决应用耦合、异步消息、流量削锋等问题,具有高性能、高可用、可伸缩和最终一致性等特点。消息队列已经逐渐成为企业应用系统内部通信的核心手段,使用较多的消息队列有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、Pulsar 等,此外,利用数据库(如 Redis、MySQL 等)也可实现消息队列的部分基本功能。1.基于 OS 的 MQ单机消息队列可以通过操作系统原生的进程间通信机制来实现,如

2021-09-29 11:52:00 220

转载 Python GIL全局解释器锁详解(深度剖析)

这里写自定义目录标题欢迎使用Markdown编辑器Python GIL不能绝对保证线程安全欢迎使用Markdown编辑器GIL,中文译为全局解释器锁。在讲解 GIL 之前,首先通过一个例子来直观感受一下 GIL 在 Python 多线程程序运行的影响。首先运行如下程序:import timestart = time.clock()def CountDown(n): while n > 0: n -= 1CountDown(100000)print("Time u

2021-09-26 14:48:10 111

转载 Java:javac编译java文件引入class文件和jar依赖

Java:javac编译java文件引入class文件和jar依赖两个测试所需文件同目录下javac编译执行引入不同目录依赖编译执行引入jar包引入jar包执行优化两个测试所需文件public class Hello{ public void sayHello(){ System.out.println("Hello"); }}public class Demo{ public static void main(String[] args) {

2021-09-20 11:55:36 1113

转载 网络基本概念之TCP, UDP, 单播(Unicast), 多播(组播)(Multicast)

我们周围一切几乎都依赖于把事情抽象成低等级,并在某一点把它具体化,在一些设计概念中,接口层十分清晰并且目标很集中,应用程序不用考虑操作系统如何工作,操作系统也不用考虑硬件如何工作,OSI模型的第4层不需要考虑第三层如何工作。所以我们只需要集中精力在某一层,就当下面的层正常工作,但这样能行吗?如果你写一个应用,你最好知道OS是怎么样工作的,并且要考虑数据库如何存储字符的,同样,一个好的操作系统必需要了解硬件是如何工作的。如果你认为TCP不需要考虑IP的实现那就搞错了。 所以,这里即使我们假设web应用和服务都

2021-04-05 23:19:14 2390

转载 创建新进程(os.StartProcess源码解读)

关于如何使用go语言实现新进程的创建和进程间通信,我在网上找了不少的资料,但是始终未能发现让自己满意的答案,因此我打算自己来分析这部分源代码,然后善加利用,并且分享给大家,期望大家能从中获得启发。首先我们来看一段代码proc, _ := os.StartProcess(name, args, attr)if err != nil {fmt.Println(err)}_, err = proc.Wait()if err != nil {fmt.Println(err)}

2020-12-26 17:35:08 877

转载 Docker之几种storage-driver比较

title: Docker之几种storage driver比较date: 2015-11-27 18:16:22tags: dockercategories: Docker Others本文介绍Docker使用的几种storage driver。目前Docker支持如下几种storage driver:目录:*storage driver的选择*aufs*aufs中文件的读写*aufs这中文件的删除*Docker中使用aufs*device mapper*devi...

2020-12-20 00:09:22 401 1

转载 docker 存储驱动(storage driver)知识总结

一,先看docker镜像是如何构建和存储。下面是ubuntu:15.04的镜像分层.一共是4层,每一层都由一些只读并且描绘系统区别的文件组成. 也可以使用命令 docker history ubuntu:15.04查看。    Docker存储驱动的作用就是:将这些分层的镜像文件堆叠起来,并且提供统一的视图.使container的文件系统看上去和我们普通的文件系统没什么区别.  当创建一个新的容器的时候,实际上是在镜像的分层上新添加了一层container layer(容器层)...

2020-12-19 23:49:10 1514 2

转载 SSL/TLS原理 详细整理版

1.SSL/TLS握手 简化版浏览器 服务器 发起 —> 1.浏览器通知服务器浏览器所支持的加密协议 接收 接收 <— 2.服务器通知浏览器从1中选用的加密协议,并给予证书 发起 3.用CA的公钥鉴别服务器的证书是否有效,有效则生成一个随机数(秘密数),秘密数加上2确定的加密协议产生会话密钥 发起 —> 4.浏览器用服务器的公钥加密秘密数发给服务器 接收 5.服务器用私钥对4...

2020-12-13 19:22:29 328

转载 一致性Hash原理与实现

前言互联网公司中,绝大部分都没有马爸爸系列的公司那样财大气粗,他们即没有强劲的服务器、也没有钱去购买昂贵的海量数据库。那他们是怎么应对大数据量高并发的业务场景的呢?这个和当前的开源技术、海量数据架构都有着不可分割的关系。比如通过mysql、nginx等开源软件,通过架构和低成本的服务器搭建千万级别的用户访问系统。怎么样搭建一个好的系统架构,这个话题我们能聊上个七天七夜。这里我主要结合Redis集群来讲一下一致性Hash的相关问题。Redis集群的使用我们在使用Redis的过程中,为了保证Re

2020-11-17 00:12:34 95

tomcat_jaas_demo

tomcat下jaas配置实例(文档有不完善的地方) 1、需要修改 bin\startup.bat(根据自己的环境修改) SET JAVA_HOME=C:\programs\Java\jdk1.8.0_211 SET TOMCAT_HOME=C:\programs\apache-tomcat-5.5.20 2、需要修改 bin\catlina.bat(可不修改) rem ----- added by newbei --------------------------------------- set JAVA_OPTS=%JAVA_OPTS% -Djava.security.auth.login.config==%CATALINA_HOME%/conf/jaas.config 3、启动 startup.bat 4、访问http://localhost:8888/jsp-examples/security/protected/error.jsp,会被跳转到login.jsp页面 a) 输入用户名密码, hello \ hello 控制台会打印登录成功 b) 输入其他用户名密码会卡住

2020-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除