自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tomcat的专栏

Find the differences.

  • 博客(218)
  • 资源 (12)
  • 收藏
  • 关注

原创 Python @ 装饰器

一、简单例子先看下面一个简单的例子程序t1清单def funA(fn): print('A') fn() # fn实际就是funB(函数对象)@funAdef funB(): print('B')# if __name__ == "__main__":# funB()运行结果:AB(要注意 9、10行的代码被注释了,但是funA仍然被执行了)相当于funA(funB)好了,如果要是把 9、10行的注释去掉,执行结果是:Traceback

2022-04-16 17:44:37 560

原创 python2 与python3 区别

写文件下面这段代码,在python2中可以正常运行。但是python3会报错,因为是用w方式打开(而不是wb),则二进制数据不能写入该文件(会报错)。with open("a.txt", 'w') as pfile: pfile.write(b'abc') pfile.write(b'\xef\xbb\xbf')CSV数据操作csv库在Python3中,csv.writer期望在文本模式下打开类似文件的对象.在Python2中,csv.writer需要一个以二进制模式打

2021-09-11 00:35:00 201

原创 概率波和杨氏双缝干涉

比如光子,如果没有任何动量的情况下,其出现概率分布式平均的,也就是在任何地方出现的概率是一致的。因为其有了动量,所以对其出现概率分布进行了影响。杨氏双缝干涉实验,在有观察的情况下会出现干涉条纹消失。对于干涉实验这个事件,是双缝影响到了光子的出现概率分布,从而导致了干涉条纹。在缝隙观察光子,虽然会影响到光子的出现概率分布导致干涉条纹消失,但我认为只要对观察行为进行改造,就有办法让光子再次以干涉条纹...

2019-03-08 11:56:57 1091

原创 仿射集合与子空间的关系

我们看看子空间的定义: 这里用几何来解释: 注意C−x0C−x0C-x_{0}中的x0x0x_{0}是没有乘以倍数的,这样才能让仿射集合(红线)平移到过零点(绿线)在子空间(绿线)上,非仿射组合的点仍然在仿射集合(绿线)内...

2018-09-04 17:54:40 2206

原创 GBDT

GBDT的两个不同版本(重要)残差版本把GBDT说成一个残差迭代树,认为每一棵回归树都在学习前N-1棵树的残差。 Gradient版本把GBDT说成一个梯度迭代树,使用梯度下降法求解,认为每一棵回归树在学习前N-1棵树的梯度下降值。GBDT中的Tree是回归树,不是分类决策树Ref【原创】GBDT(MART)概念简介...

2018-08-30 14:37:12 2134

原创 spring boot + spring cache 实现两级缓存(redis + ehcache)

前言本文参考了spring boot + spring cache 实现两级缓存(redis + caffeine)。处理流程与spring boot + spring cache 实现两级缓存(redis + caffeine)一致: 事项spring cache中有实现Cache接口的一个抽象类AbstractValueAdaptingCache,包含了空值的包装和缓存...

2018-08-24 10:46:52 7199 6

原创 Ali开源软件Sentinel的思考 Issue #59:关于线程限流问题的讨论

interface Limiter { boolean canPass(); void exit(); } class FlowLimiter implements Limiter { private AtomicInteger atomic; private int threadMax;//每一批线程的最大...

2018-08-16 19:16:13 600

原创 MySQL InnoDB锁 实战解读

创建测试表-- ------------------------------ Table structure for tb2-- ----------------------------DROP TABLE IF EXISTS `tb2`;CREATE TABLE `tb2` ( `id` int(11) NOT NULL, `c` int(11) NULL DEFAUL...

2018-08-12 23:19:32 1431

原创 MySQL InnoDB锁

行锁InnoDB的行锁是实现在索引上的,而不是锁在物理行记录上。潜台词是,如果访问没有命中索引,也无法使用行锁,将要退化为表锁。 ref:InnoDB,5项最佳实践,知其所以然?共享锁  SELECT … LOCK IN SHARE MODE走的是IS锁(意向共享锁),即在符合条件的rows上都加了共享锁,这样的话,其他人可以读取这些记录,也可以继续添加IS锁,但是无法修改这些记...

2018-08-11 18:12:09 437

原创 Flyway

Flyway不是像canal那样,通过对binlog监控这种“底层”操作来进行同步,而是通过对各种SQL脚本、java操作等“上层”操作来实施同步。快速掌握和使用Flyway 官方...

2018-08-10 22:22:17 958

原创 MYSQL Deadlock问题

可以参考这篇文章进行排查: MYSQL:1213 Deadlock问题排查历程解决方案 减小事务中的语句数量(代码的事务涉及行数过多,锁范围太大,很容易造成死锁) 在业务中调整语句的执行顺序,例如可以按照where条件中字段的大小进行一下排序,按照排序后顺序执行,让死锁变为锁等待。 也可以采用重试机制: @Retryable(maxAttempts = 4...

2018-08-08 18:17:24 1736

原创 spring事务传播属性和隔离

REQUIRES_NEW 和NESTED 的区别 REQUIRES_NEW时,内层事务与外层事务就像两个独立的事务一样,一旦内层事务进行了提交后,外层事务不能对其进行回滚。两个事务互不影响。两个事务不是一个真正的嵌套事务。NESTED时,外层事务的回滚可以引起内层事务的回滚,而内层事务的异常通过对savepoint的回滚,将外层事务的状态点回滚到初始,它是一个真正的嵌套事务。 例如: ...

2018-08-06 14:37:29 234

转载 ROC曲线与AUC值

于是我们得到四个指标,分别为:真阳、伪阳、伪阴、真阴。ROC空间将伪阳性率(FPR)定义为 X 轴,真阳性率(TPR)定义为 Y 轴。这两个值由上面四个值计算得到,公式如下: TPR:在所有实际为阳性的样本中,被正确地判断为阳性之比率。TPR=TP/(TP+FN) FPR:在所有实际为阴性的样本中,被错误地判断为阳性之比率。FPR=FP/(FP+TN)  放在具体领域来理解上述...

2018-08-03 15:47:53 352

原创 CTR预估

CTRCTR又称广告点击率,英文名(click through rate) RefCTR预估基本知识

2018-07-30 16:42:30 526

原创 关于Spring Data Jpa的分页、跨表查询

jqa的query使用原生sql查询(nativeQuery = true)的时候不支持排序的,需要在sql里面加上:ORDER BY ?#{#pageable} Spring Data Jpa本地查询(带分页方式)Example@Query(value = "select u.* from user u INNER JOIN project_user pu " + ...

2018-07-27 15:23:45 2488 2

原创 区别和联系:Hopfield网络、BM(玻尔兹曼机)、退火算法、BP

Hopfield网络能量函数+反馈结构(得到稳定的吸引子)BM能量函数+反馈结构+状态概率性转移(具有不断跳出位置较高的低谷,搜索位置较低的新低谷的能力)退火算法搜索方向固定;如果等于梯度下降方向就完全接受,如果不等于就概率性接受(具有不断跳出位置较高的低谷,搜索位置较低的新低谷的能力)BP(反向传播)网络优化过程中的搜索方向变化等同于梯度下降方向...

2018-07-22 18:53:55 2496

原创 凸集、凸函数、凸优化

凸集集合中的任意两点连线的点都在该集合中凸函数简单理解为对曲线上任意两点连线上的点对应的函数值不大于该两点对应的函数值得连线上的值。 凸函数仅仅是定义在凸集上的函数。[1] p154 凸优化由凸函数构成的凸优化具有很好的性质: [1] p155 (1)凸优化的任一局部极小(大)点也是全局极小(大)点,且全体极小(大)点的集合为凸集 (2)凸...

2018-07-19 20:09:59 491

原创 L1、L2规则化

如何看待L1、L2规则化 将它们视为loss函数中引入了惩罚项。我们的目的是希望求出在参数值取多少时,loss函数是最小的;但是引入L1、L2规则化算子后(这时就变成拉格朗日函数),相当于给参数的取值套了个“紧箍咒”: 不再像原来那样可以自由自在地随便给参数取值 原因在于我们可以看到L1、L2都恒大于0,而我们的目标是要求得min这正是regularization...

2018-07-19 19:24:28 307

原创 TensorFlow中,对于1个batch中有多个样本,迭代一次,具体是如何执行的

TensorFlow1个batch中有多个样本,迭代一次,具体是如何执行的total = 旧参下计算更新值1+旧参下计算更新值2+…+旧参下计算更新值500 新参数 = 旧参数 + totalRef: 怎么选取训练神经网络时的Batch size? - 知乎...

2018-07-16 16:01:08 2444

原创 理解Word2Vec

为什么输出矩阵的第i行就是单词ωiωi{\omega _{\rm{i}}}的输出向量这个问题等同于下面这个式子(这个是CBOW的): 这里我画了个草图来说明原因:

2018-07-10 22:14:44 145

原创 单元测试的回滚

一般在单测上加上注解: @Transactional @Rollback就可以对单测的数据库操作回滚。 但是如果配了多数据源,对于非主数据源的数据库操作,这种办法不会起作用。这时候需要对@Transactional(transactionManager = "transactionManagerSecondary")指定对应的事务管理器才可以。...

2018-07-02 21:14:01 1642

转载 Spring MVC 国际化

为了让web应用程序支持国际化,必须识别每个用户的首选区域,并根据这个区域显示内容。 在Spring MVC应用程序中,用户的区域是通过区域解析器来识别的,它必须实现LocaleResolver接口。Spring MVC提供了几个LocaleResolver实现,让你可以按照不同的条件来解析区域。除此之外,你还可以实现这个接口,创建自己的区域解析器。 要定义一个区域解析器,只需在...

2018-06-09 09:02:13 160

原创 梯度 方向导数

基本概念方向导数:是一个数;反映的是f(x,y)在P0点沿方向v的变化率。 梯度:是一个向量;每个元素为函数对一元变量的偏导数;它既有大小(其大小为最大方向导数),也有方向。Ref:方向导数与梯度疑问1 (上图的式子少了Δy) Ref:第七节 方向导数与梯度答案就是“在点P(x,y)是可微分的”。可以看看全微分的定理: Ref:百度百科:全微分...

2018-05-05 10:46:19 719

转载 实时计算、离线计算、流式计算、批量计算 之间的关系

批量和流式的区别:1.数据处理单位:批量计算按数据块来处理数据,每一个task接收一定大小的数据块,比如MR,map任务在处理完一个完整的数据块后(比如128M),然后将中间数据发送给reduce任务。流式计算的上游算子处理完一条数据后,会立马发送给下游算子,所以一条数据从进入流式系统到输出结果的时间间隔较短(当然有的流式系统为了保证吞吐,也会对数据做buffer)。这样的结果就是...

2018-04-30 22:49:04 23628

原创 《增长黑客》读书笔记

使用增长黑客的前提:产品是好产品 对于不好得产品使用增长黑客方法,产品会死的更快。 原因:就像Demo发布只是给小部分用户做验证和反馈一样,是将试错的范围缩小。一旦用了增长黑客而产品又不好,等于给产品做了负面宣传,当然死得更快。

2018-04-30 22:24:14 1409

原创 《赋能:打造应对不确定性的敏捷团队》

赋能 1每个人给予自由权(快速应变) 2互相信息共享(都能把握全局,不偏离大方向) 3互信和配合(如同一个人,实现团队能力)

2018-04-22 16:41:38 2080 1

原创 马氏距笔记

勘误马氏距离与其推导这篇博客中所提到的: 由于将数据集旋转后数据的各维度之间是不相关的这句话的意思并不是说维度之间可以线性相关(我们知道坐标系一定是线性无关的)。 假设样本集有n个样本,其样本矩阵:Xn×mXn×m{{\rm{X}}_{n \times m}}求出的协方差中的,非对角元素代表的是在该样本矩阵中,不同维度之间的影响。而马氏距离与其推导这篇博客是说协方差...

2018-04-21 22:45:35 176

原创 关于TDD的感想

实施TDD两个月以来,收获不少。感想如下:如果实施TDD,你要承认实际上你做的是两套系统(开发和测试)TDD节约了什么时间节约的是重构后,对于bug的查找时间。为什么TDD对开发人员素质要求很高因为实际上如果你的软件架构不是一次成型,一会要修改方法的入参,一会要对架构进行一定的修改,那么都要首先修改测试这个系统(无疑增加了工作量,还要去找相关的Test case进行修改)。最佳的重构只是对方法内部进

2018-03-04 00:12:07 291

原创 用Python连接IBM量子API实现的量子算法——Deutsch-Jozsa算法

Prefix我是看这篇文章:不再神秘的量子计算,用Python就能实现(视频+代码) - CSDN博客,希望能run 上面的代码。量子代码地址: https://github.com/llSourcell/quantum_computing结果远没有那么简单。会出现各种模块的缺失异常。下面是本人通过血的教训形成的solution。Solution1首先装Anaconda python3.6 v

2018-02-05 23:21:14 3196 2

原创 量子物理

量子的状态是不确定的。那么能否让量子来观察量子?实际上量子纠缠就是不确定的量子观察不确定的量子的结果。

2018-02-03 22:55:30 411

原创 Jupyter IPython Anaconda

IPython Notebook 改名叫Jupyter Notebook 了。 ref: windows中jupyter(原ipython notebook)中文件工作路径的设置Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。 ref: 致Python初学者们 - Anaconda入门使用指南Questioncmd提示找不到命

2018-02-02 22:42:50 404

原创 Swagger跨域

什么是跨域跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域。 ref: 跨域与跨域访问跨域与否是在浏览器端: 服务器之间的调用不是跨域: Swagger跨域Solution在swagger应用的

2018-01-13 16:58:08 7237 2

原创 深度学习与生物学意义上的人体大脑的区别

深度学习只会在训练中对网络中的节点进行调整,在非训练时节点不会因为Input Data而发生变化;人脑实际上并不会有训练与非训练的区别,Input Data 会对节点施加影响。

2018-01-06 16:23:49 487

转载 单元测试和功能测试

单元测试和功能测试区别很多时候,系统开发好比建筑房屋。尽管这种类比不很恰当,但为了理解单元测试与功能测试的区别,我们可以扩充这种类比。单元测试好比房屋建筑现场的建筑监理员。他关心房屋的各个内部系统,如地基、构架、供电系统和管道设备等。他确保(测试)房屋每一部分的工作都安全、正常,即符合建筑说明。这种情况下,功能测试类似于视察同一建筑现场的房主。他假定内部系统将正常运作,并假定建筑监理员在执行

2018-01-06 11:33:47 3912

原创 关于服务发现、Feign、Zuul 以及docker之间的依赖

Consul 和 Eureka 都是用来解决服务发现。 Eureka 在应用主类中通过加上@EnableDiscoveryClient,该注解能激活Eureka中的DiscoveryClient。(微服务中说加上@EnableEurekaClient也可以); Consul 是在应用启动类Application加上@EnableDiscoveryClient;Feign是通过到 Consul

2017-08-27 22:43:38 5927

原创 微服务所用到的各类工具和包

ZabbixZabbix 是单独安装的一个工具。Spring Cloudref: Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud0 CloudFou

2017-08-27 19:02:35 1483

原创 微服务的设计原则

调用链中的异常处理 假设微服务serviceA的接口interfaceA被微服务serviceB调用,如果interfaceA在调用过程中会抛出异常,那么是否该将该异常以状态码传给serviceB呢?我建议serviceB在调用interfaceA时,判断interfaceA是否出现异常应该尽量不要依赖于判断interfaceA返回的状态码。因为读取状态码是要获取response对象,而这样会

2017-08-26 23:48:13 569

原创 关于ManyToOne、ManyToMany、OneToOne所对应的表

ManyToOne扩展表ManyToMany中间表OneToOne外联表

2017-08-26 22:57:46 676

转载 Dockerfile中RUN bash -c 'touch /app.jar'是干嘛的

参考:1.6 Docker与微服务-使用Dockerfile构建Docker镜像例如: ADD microservice-discovery-eureka-0.0.1-SNAPSHOT.jar app.jar RUN bash -c ‘touch /app.jar’它的作用等同于拷贝文件到容器,也可以直接写成ADD microservice-discovery-eureka-0.0.1-

2017-08-18 23:02:58 25246 3

原创 Dockerfile中ENTRYPOINT 和 CMD的区别以及RUN的作用

ENTRYPOINT 和 CMD的区别ENTRYPOINT 和 CMD的区别可以参考Dockerfile中ENTRYPOINT 和 CMD的区别 主要区别就是: 如果在使用docker run 启动容器时使用了命令行参数,那么dockerfile 中的cmd 指令将无效: docker run -it image /bin/ps发现启动容器后没有shell ,只是打印出了当前容器中的进程状

2017-08-18 22:50:24 6476

多处理器编程的艺术[中文版]

《多处理器编程的艺术[中文版]》,不可或缺的一本上阶

2018-12-20

可伸缩服务架构:框架与中间件-2

《可伸缩服务架构:框架与中间件》,涵盖了架构师一半以上的技术。

2018-12-10

可伸缩服务架构:框架与中间件-1

《可伸缩服务架构:框架与中间件》,涵盖了架构师一半以上的技术。

2018-12-10

作为开发语言必备的

作为开发语言必备的。介绍甲骨文实验室近年来的前沿工作之一GraalVM。包括如何在JVM上高效运行其他语言;如何混搭这些语言,实现Polyglot;如何将这些语言事前编译(Ahead-Of-Time,AOT)成机器指令,单独运行甚至嵌入至数据库中运行。

2018-07-28

JAVA并发编程实战

本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。, 本书适合Java程序开发人员阅读。

2017-11-10

Gerrit source code

Gerrit source code

2017-07-19

出入库管理系统软件

本软件是为方便管理仓库的入库、出库、库存情况而设计。 主要功能为:入库管理、出库管理、库存管理、综合信息管理、用户管理。

2017-02-12

精通AngularJS

AngularJS诞生于Google,已用于开发多款Google产品。它是一套JavaScript前端框架,用于开发当下流行的以数据驱动的单页面Web应用。其核心特性是:MVC、模块化、自动双向数据绑定、语义化标签、依赖注入等。《精通AngularJS》深入浅出地讲解了AngularJS的开发概念和原理,并通过丰富的开发实例向读者展示了构建复杂应用的完整过程,包括学习使用AngularJS特有的基于DOM的模板系统,实现复杂的后端通信,创建漂亮的表单,制作导航,使用依赖注入系统,提高Web应用的安全性,使用Jasmine开展单元测试,等等。

2016-11-20

AngularJS权威教程

AngularJS权威教程

2016-11-20

烧录器 progisp168

烧录器 progisp168

2016-11-20

protues.7.4.sp3

protues.7.4.sp3

2016-11-20

空空如也

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

TA关注的人

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