自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(43)
  • 收藏
  • 关注

原创 上手了RabbitMQ?再来看看它的交换机(Exchange)吧

1. Exchange先来放上几乎每篇都要出现一遍的我画了好久的RabbitMQ架构图。前两篇文中我们一直没有显式的去使用Exchange,都是使用的默认Exchange,其实Exchange是一个非常关键的组件,有了它才有了各种消息分发模式。我先简单说说Exchange有哪几种类型: fanout:Fanout-Exchange会将它接收到的消息发往所有与他绑定的Queue中。 direct:Direct-Exchange会把它接收到的消息发往与它有绑定关系且Rout.

2020-08-18 11:20:58 187

原创 我使用Java已经将近20年,今天来讲讲如何快速打好Java基础?

从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做training,所以可以分享下我的经验,希望对你有用。因为是在工作中培训,就必然有两个约束:实用、时间紧,因此就不能像大学那样,把所有的知识点都面面俱到的讲到。而只能挑基础的,实用的,难理解的讲。至于其他边边角角的知识,就一笔带过。一则没有时间,二则不常用,再则既使讲了,学生印象也不深刻。总之一句话:“好钢用在刀刃上”。下面,就根据我的实践,具体谈下学习过程:1. 基础知识我学习Java的时候,先是通读了《Java编

2020-05-28 20:22:53 599 1

原创 我从Python新手到大师的百天之路(内附学习资源)

给大家推荐一个Python资源。有位名叫骆昊 (jackfrued) 的资深程序员,为大家规划了一条从“从新手到大师”的百天之路。从全方位熟悉语言,到Python的进阶用法,再到天南地北的实战攻略:只要沿着这条路走下去,就都会遇到的。这个项目已经在GitHub摘下8100星。骆先生还在日程表的上方,温柔地鼓励了大家:Python是一个“优雅”、“明确”、“简单”的编程语言。...

2020-02-01 17:09:46 4963

原创 安装和运行flask框架

随着你的 Python 项目越来越多,你会发现不同的项目会需要 不同的版本的 Python 库。同一个 Python 库的不同版本可能不兼容。虚拟环境可以为每一个项目安装独立的 Python 库,这样就可以隔离不同项目之间的 Python 库,也可以隔离项目与操作系统之间的 Python 库。1.使用 Python 2,先安装 virtualenvubuntu下:apt-get in...

2020-01-20 11:50:03 258

原创 字段查询、查询集

1. 字段查询通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。 函数名 功能 返回值 说明 get 返回表中满足条件的一条且只能有一条数据。 返回值是一个模型类对象。 参数中写查询条件。 1)如...

2020-01-20 11:48:56 692

原创 Python—守护进程管理工具(Supervisor)

一、安装supervisor1、安装supervisor[root@localhost ~]# pip install supervisor2、测试supervisor安装是否成功[root@localhost ~]# echo_supervisord_conf3、卸载supervisor[root@localhost ~]# pip uninstall supe...

2020-01-20 11:48:21 431

原创 Python3.7之Python介绍

一、编程语言编程语言总体分为机器语言、汇编语言与高级语言。1.机器语言计算机内部只能接受二进制代码,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。机器语言依赖于具体机种,局限性很大,属于低级语言。2.汇编语言和机器语言一样,都是直接对硬盘进行操作。指令采用英文缩写的...

2020-01-18 12:48:46 192

原创 python 正则表达式参数替换

使用正则表达式替换字典数据${memberID} 对应的正则表达式 '\$\{.*\}'解释:\$ 转义替换字符串中 $   \{ 转义替换字符串中 {   . 除了\n中的任意单个自符   * 匹配*前面的字符零次或者多次   \} 转义替换字符串中 }dict = {"memberId":"${memberID}","password":"123456","loanId...

2020-01-18 12:48:03 1177

原创 uncurl 接口数据变python代码

简介:uncurl是一个库,允许您将curl请求转换为使用requests的python代码。由于Chrome网络检查器具有的“copy as cURL”,因此该工具对于用python重新创建浏览器请求很有用。安装:(venv) zhangdeMacBook-Pro:pythonClass test$ pip install uncurl使用步骤:(Google Chrome浏览...

2020-01-18 12:39:29 579

原创 python 设置默认字典

访问字典中某个‘键’时,若键不存在则会报错,比如>>> dic = {'a' : 1}>>> dic['b']Traceback (most recent call last): File "<pyshell#24>", line 1, in <module> dic['b']KeyError: 'b'如果不想...

2020-01-18 12:38:42 593

原创 python实现tail -f 功能

这篇文章最初是因为reboot的群里,有人去面试,笔试题有这个题,不知道怎么做,什么思路,就发群里大家讨论我想了一下,简单说一下我的想法吧,当然,也有很好用的pyinotify模块专门监听文件变化,不过我更想介绍的,是解决的思路,毕竟作为面试官,还是想看到一下解决问题的思路,而且我觉得这一题的难点不在于监控文件增量,而在于怎么打印最后面10行希望大家读这篇文章前,对python基础、处理文...

2020-01-18 11:26:44 292

原创 Post解析、Request类

一、访问网络的两种方法1.get:利用参数给服务器传递信息;参数为dict,然后parse解码2.post:一般向服务器传递参数使用;post是把信息自动加密处理;如果想要使用post信息,需要使用到data参数3.Content-Type:application/x-www.form-urlencode4.Content-Length:数据长度5.简而言之,一旦更改请求方法,...

2020-01-18 11:26:12 2899

原创 Django框架:视图、模板

1. 视图后台管理页面做好了,接下来就要做公共访问的页面了。当我们刚刚在浏览器中输入http://127.0.0.1:8000/admin/之后,浏览器显示出了后台管理的登录页面,那么服务器是如何找到这个页面并返回的呢。/admin/是我们想要请求的页面,服务器在收到这个请求之后,就一定对应着一个处理动作,这个处理动作就是帮我们产生页面内容并返回回来,这个过程是由视图来做的。对于djang...

2020-01-18 11:25:16 312

原创 Python - Unittest小结

一、Unittest单元测试框架,可用于自动化测试用力组织,执行,输出结果二、Unittest构成Test Case Test Suite Test Fixture Test Runner(图片来源于网络)Test Case一个测试用例是一个独立的测试单元。它检查输入特定的数据时的响应。 unittest 提供一个基类: TestCase ,用于新建测试用...

2020-01-18 09:43:03 136

原创 用Python来做一个屏幕录制工具

一、写在前面作为一名测试,有时候经常会遇到需要录屏记录自己操作,方便后续开发同学定位。以前都是用ScreenToGif来录屏制作成动态图,偶尔的机会看到python也能实现。那就赶紧学习下。二、效果展示三、知识串讲这次要讲的东西可能比较多了,涉及到pyqt5 GUI软件的制作、QThread多线程的使用、Sikuli库的图形操作、win32库的模拟键盘操作、cv2库的写视频文件...

2020-01-18 09:42:25 271

原创 利用 wave 库 对音频进行格式处理

import waver = r"D:\沫沫酱 - 旧伤口.wav" # 一个.wav格式文件 with wave.open(r, "rb") as f: # 读取文件格式等 params = f.getparams() nchannels, sampwidth, framerate, nframes = params[:4] # 声道数,样本宽度,采样率,帧数...

2020-01-18 08:11:04 692

原创 React Hooks 实现和由来以及解决的问题

与React类组件相比,React函数式组件究竟有何不同?一般的回答都是:类组件比函数式组件多了更多的特性,比如state,那如果有Hooks之后呢? 函数组件性能比类组件好,但是在现代浏览器中,闭包和类的原始性能只有在极端场景下才会有明显的差别。 性能主要取决于代码的作用,而不是选择函数式还是类组件。尽管优化策略有差别,但性能差异可以忽略不计。 参考官网:(https://...

2020-01-16 17:03:38 315 1

原创 批量归一化batch normalization

批量归一化论文地址:https://arxiv.org/abs/1502.03167批量归一化基本上是现在模型的标配了.说实在的,到今天我也没搞明白batch normalize能够使得模型训练更稳定的底层原因,要彻底搞清楚,涉及到很多凸优化的理论,需要非常扎实的数学基础才行.目前为止,我理解的批量归一化即把每一层输入的特征,统一变换到统一的尺度上来,避免各个特征的单位不统一的情况.即把每一...

2020-01-16 17:00:54 764

原创 three.js中的事件

以上一篇入门篇为例来简单的设置下3d模型当中的交互事件,上一篇我们已经完成了在3d页面中添加了一个红色球,下面我们给这个球一个点击事件让它Y轴位置上升,再设置一个鼠标移入到球上时让其变色。1.其实three.js当中没有事件可以直接选中物体的,我们需要监听window对象来完成与3d页面的交互,通过使用到three.js当中RayCaster对象,用于在三维空间中进行鼠标拾取,原理是:相机与鼠...

2020-01-16 15:14:18 960

原创 Spring解析xml文件,到底从中得到了什么(context:annotation-config 解析)

概要本篇已经是spring源码第10篇了,为了让新同学也能知道我在讲什么,所以有些东西必须得重复一下。先给大家看看spring支持的xml配置,我列了个表格如下:namespace element util constant、property-path、list、set、map、properties context property-placeholder、p...

2020-01-16 14:56:37 154

原创 数据预处理

机器学习算法最终学习结果的优劣取决于数据质量和数据中蕴含的有用信息数量,对数据的处理对模型高效性起到了巨大的作用。一 缺失数据的处理数据采集过程中的错误导致缺失值的出现,我们无法忽略这些缺失值,所以我们需要对这些缺失值进行处理。首先我们构造一个csv文件来举例说明问题的所在。构造如下的CSV文件:read_csv函数是将CSV格式数据读取到pandas的数据框(D...

2020-01-16 14:54:39 417

原创 清晰架构(Clean Architecture)的Go微服务: 依赖注入(Dependency Injection)

在清晰架构(Clean Architecture)中,应用程序的每一层(用例,数据服务和域模型)仅依赖于其他层的接口而不是具体类型。 在运行时,程序容器¹负责创建具体类型并将它们注入到每个函数中,它使用的技术称为依赖注入²。 以下是要求。容器包的依赖关系: 容器包是唯一依赖于具体类型和许多外部库的包,因为它需要创建具体类型。 本程序中的所有其他软件包主要仅依赖于接口。 外部库可...

2020-01-16 10:56:09 133

原创 假如古代皇帝也懂负载均衡算法

 大家都知道古代皇帝各个都是后宫佳丽三千,而皇帝身上都天然的带着雨露均沾的精神,不想单独的宠爱一人!  溺水三千,又怎舍得只取一瓢饮?据传皇帝们晚上睡觉个个都怕冷,因此每晚都需要有人侍寝,那么这么多后宫,该翻谁牌子、怎么分配侍寝名额呢?  还别说,皇帝行房事竟还挺讲究的!早在《春秋》就有记载“晦阴惑疾,明谣心疾,以辟六气”。九嫔以下,每九人中进御一人,八十一女御占九个晚上,世妇二十七人占三...

2020-01-16 10:55:07 244

原创 怎么样才最有可能选中真命天子呢?

正文开始之前,我们先来讲一个故事。在很久很久以前,有一个万人迷。她从18岁开始就有数不完的追求者,追她的男生一个个在她的窗前排起了长队。但是她挑来挑去,终究不觉得满意。终于,这个万人迷一天天长大,年老色衰,在她门口排队的男生也越来越少。她开始后悔拒绝男生时的轻率,怀念起了从前的荣光。她也不知道,最后她是会向现实妥协,选择一个看起来远不是那么好的男生共度一生,还是会就这么一直等下去。...

2020-01-16 09:33:09 150

原创 对接 Splash 实战

引言前面我们介绍了使用 Scrapy 对接 Selenium 来抓取由 JavaScript 动态渲染的网页,那么除了这种方式,是否还有其他的解决方案?答案当然是肯定的,前面我们同样介绍了 Splash 这个 JavaScript 动态渲染服务,本篇文章,我们就来介绍如何使用 Scrapy 对接 Splash 抓取由 JavaScript 动态渲染的网页。示例准备首先需确保已经...

2020-01-16 09:31:47 324

原创 消息中间件-消息的可靠性传递

前言消息中间件的可靠性消息传递,是消息中间件领域非常重要的方案落实问题(在这之前的MQ理论,MQ选型是抽象层次更高的问题,这里不谈)。并且这个问题与日常开发是存在较大的关联的。可以这么说,凡是使用了MQ的,机会都要考虑这个问题。当然也有一些原始数据采集,日志数据收集等应用场景对此没有过高要求。但是大多数的业务场景,对此还是有着较高要求的。比如订单系统,支付系统,消息系统等,你弄丢一条消息,...

2020-01-16 09:31:01 522

原创 MySQL快速回顾:高级查询操作

检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存储空间的影响。因此,如果不明确控制的话,不能依赖该排序顺序。关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。子句的解释:一个子句通常由一个关键字和所提供的...

2020-01-15 14:51:04 286

原创 linux入门系列:软件管理之rpm和yum仓库

一、RPM软件包管理器1.1 RPM背景介绍​ RPM(RedHat Package Manager),类似于windows下的控制面板,而RPM软件包类似于setup.exe安装文件。RPM会建立统一的数据库文件详细记录软件信息并能自动分析依赖关系,原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,逐渐受到其他发行版的采用,...

2020-01-15 14:50:31 389

原创 图解kubernetes调度器ScheduleAlgorithm核心实现学习框架设计

ScheduleAlgorithm是一个接口负责为pod选择一个合适的node节点,本节主要解析如何实现一个可扩展、可配置的通用算法框架来实现通用调度,如何进行算法的统一注册和构建,如何进行metadata和调度流程上下文数据的传递1. 设计思考1.1 调度设计1.1.1 调度与抢占当接收到pod需要被调度后,默认首先调用schedule来进行正常的业务调度尝试从当前集群中选择一...

2020-01-15 12:40:53 264

原创 几种常见模式的应用场景及实现

一、简单模式原理:生产者将消息交给默认的交换机,交换机获取消息后交给绑定这个生产者的队列(投递规则为队列名称和routing key 相同的队列),监听当前队列的消费者获取信息并执行消费逻辑。场景:有一个oa系统,用户通过接收手机验证码进行注册,页面上点击获取验证码后,将验证码放到消息队列,然后短信服务从队列中获取到验证码,并发送给用户。实现:生产者:public cla...

2020-01-15 12:40:18 1519

原创 机器学习基础——让你一文学会朴素贝叶斯模型

今天这篇文章和大家聊聊朴素贝叶斯模型,这是机器学习领域非常经典的模型之一,而且非常简单,适合初学者入门。朴素贝叶斯模型,顾名思义和贝叶斯定理肯定高度相关。之前我们在三扇门游戏的文章当中介绍过贝叶斯定理,我们先来简单回顾一下贝叶斯公式:P(A|B)=P(A)P(B|A)P(B)P(A|B)=P(A)P(B|A)P(B)我们把P(A)P(A)和P(B)P(B)当做先验概率,那么贝叶斯...

2020-01-15 08:54:50 198

原创 基于C#的机器学习--垃圾邮件过滤

 在这一章,我们将建立一个垃圾邮件过滤分类模型。我们将使用一个包含垃圾邮件和非垃圾邮件的原始电子邮件数据集,并使用它来训练我们的ML模型。我们将开始遵循上一章讨论的开发ML模型的步骤。这将帮助我们理解工作流程。 在本章中,我们将讨论以下主题:    l定义问题    l准备数据    l数据分析    l构建数据的特征    l逻辑回归与朴素...

2020-01-15 08:53:54 550 1

原创 Java 进程占用内存过多,幕后元凶原来是线程太多

那天中午吃饭,一个同事说,那个项目组的人快气死我了,程序有问题,早晨在群里@了他们,到中午才回消息,然后竟然还说他们的程序没有问题,是我们这边调用的太频繁了。简直想笑。背景说明我们当前这个系统和很多的第三方系统做了集成,出问题的就是其中一个三方系统。其实很简单,他们的系统会产生一些个人待办任务,然后待办任务的个数需要推送到我们的 APP 上,作为图标的角标显示。用户数据已经打通...

2020-01-15 08:52:50 1157

原创 ConcurrentHashMap源码解析 JDK8

一、简介上篇文章详细介绍了HashMap的源码及原理,本文趁热打铁继续分析ConcurrentHashMap的原理。首先在看本文之前,希望对HashMap有一个详细的了解。不然看直接看ConcurrentHashMap的源码还是有些费劲的。相信对HashMap,HashTable有一定了解,应该知道HashMap是不具备线程安全性的,在resize时会丢数据(JDK8),而HashTa...

2020-01-14 17:14:58 316

原创 使用Java实现简单的Http服务器

在Java中可以使用HttpServer类来实现Http服务器,该类位于com.sun.net包下(rt.jar)。实现代码如下:主程序类package bg.httpserver;import com.sun.net.httpserver.HttpServer;import java.io.IOException;import java.net.InetSocketAddres...

2020-01-14 17:13:25 282

原创 springboot整合apache ftpserver详细教程(看这一篇就够了)

一、Apache ftpserver相关简介  Apache FtpServer是100%纯Java FTP服务器。它被设计为基于当前可用的开放协议的完整且可移植的FTP服务器引擎解决方案。FtpServer可以作为Windows服务或Unix / Linux守护程序独立运行,也可以嵌入Java应用程序中。我们还提供对Spring应用程序内集成的支持,并以OSGi捆绑软件的形式提供我们的发行版...

2020-01-14 16:10:08 1752

原创 你知道Java中的CopyOnWriteArrayList吗?

CopyOnWriteCopyOnWrite是什么? CopyOnWriteArrayList源码分享? CopyOnWriteArrayList使用场景? CopyOnWriteArrayList有什么优缺点?如果你是求职者,你想想看怎么回答上面的问题?缘由前段时间面试好多个人,问是否用过CopyOnWriteList,发现好多人都没有用过,感觉挺惊讶的。CopyOnWr...

2020-01-14 16:09:17 1228

原创 BFT-SMaRt:用Java做节点间的可靠信道

关键字:区块链 可靠信道 BFT-SMaRt Socket SSL/TLS 网络通信信道的可靠是BFT的前提。(参见两军问题)本文通过跟踪BFT-SMaRt通信层源码,研究节点间可靠信道的实现原理。本文涉及区块链方面的内容较少,重点研究使用Java语言建立可靠网络通道的技术,请选择性阅读。通信层系统,是分布式网络中获得可靠且认证的点对点通道的保证。BFT-SMaRt的安全通信是基于...

2020-01-14 14:45:41 436

原创 使用内存映射文件MMF实现大数据量导出时的内存优化

前言 导出功能几乎是所有应用系统必不可少功能,今天我们来谈一谈,如何使用内存映射文件MMF进行内存优化,本文重点介绍使用方法,相关原理可以参考文末的连接实现 我们以单次导出一个excel举例(csv同理),excel包含1~n个sheet,在每个sheet中存储的按行和列的坐标在单元格存储具体数据,如果我们要使用MMF,第一个要考虑的就是如何将整个excel合理的存储到...

2020-01-14 14:44:44 241

原创 async/await实现异步协程

深入理解协程分为三部分进行讲解:协程的引入 yield from实现异步协程 async/await实现异步协程本篇为深入理解协程系列文章的最后一篇。从本篇你将了解到:async/await的使用。 如何从yield from风格的协程修改为async/await风格。篇幅较长,请耐心阅读。async/await的引入上篇【yield from实现异步协程】我们引入了...

2020-01-14 13:11:00 317

空空如也

空空如也

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

TA关注的人

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