自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zombres的博客

learning, exercising,teaching

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

原创 SpringBoot 下使用 @Import、ImportSelector 实现自定义规则 Bean 注册

springboot 下使用 @Import 、ImportSelector 实现自己的包扫描器,不必依赖于 Spring 的 @Service @Component 等注解

2020-07-09 17:08:11 1079

原创 MySQL 搭建主从高可用

如何搭建 MySQL 高可用并对解决普通主从复制延迟不理想提供了解决方案,最后借助 MHA 实现了主从的自动切换

2020-06-15 11:15:20 2816 1

原创 JDK 11 部分亮点特性

Java 11 相较于现在使用面最大的 java8 有一定的功能和性能提示,可能得话,可以把工程迁移到 java 11 中

2020-06-04 17:52:17 529

原创 java8 JVM调优 及 centos 调优

系统部署之前的关于JVM,操作系统的基本调优操作

2019-11-26 12:15:19 1716 1

原创 Python 进阶学习笔记之十二:数据压缩与归档

python 本身对场景的数据压缩算法提供支持,包括 zip、bz2等,也对文件压缩算法 tar 提供了单独的模块实现。

2019-10-23 14:49:30 583

原创 Python 进阶学习笔记之十一:日志支持

使用标准库提提供的 logging API 最主要的好处是,所有的 Python 模块都可能参与日志输出,包括你的日志消息和第三方模块的日志消息。

2019-10-21 15:57:15 211

原创 Python 进阶学习笔记之十:一般加密支持

本文主要介绍使用 Python 模块 hashlib 来实现常见的 Hash 加密算法实现,并介绍类基于 hashlib 实现的 hmac。以及安全的随机串实现模块 secrets

2019-10-16 17:29:40 281

原创 Python 进阶学习笔记之九:IO 编程

IO 操作是所有高级编程语言中的重点,本文章详细介绍来 Python 中关于常见 IO 操作的相关接口,包括基本的文件读写、StringIO/BytesIO、目录操作等

2019-10-16 14:37:39 297

原创 快速应用 Linux VI 编辑器

Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本 Linux 的标配。虽然 vi 大多数功能都是依靠键盘输入来完成,但是一旦你熟悉后,会发现 vi 的功能和效率是其他图形界面编辑器无法比拟的。你可以使用 vi 编辑器编辑现有的文件,也可以创建一个新文件,还能以只读模式打开文本文件。进入 vi 编辑器可以通过以下方式进入 vi 编辑器:命令 描述 vi fil...

2019-10-12 16:21:05 185

原创 Python 进阶学习笔记之八:面向对象高级编程

Python 支持的面向对象有其独有的一些特点,除了常规的继承和多态特性外,其支持动态绑定属性的特性也很有用处。

2019-10-10 14:11:31 342

原创 Python 基础学习笔记之:函数式编程

函数式编程就是一种抽象程度很高的编程范式,而 Python 对函数式编程提供了部分支持

2019-10-08 12:59:16 215

原创 Python 进阶学习笔记之七:互联网支持

本文主要介绍常见的互联网交互实现,包括常见互联网数据编码和JSON数据解析,mail 发送,http 请求实现等本文基于 python 3.7 撰写

2019-09-29 14:48:42 207

原创 Python 基础学习笔记之:切片、迭代、列表生成式、生成器、迭代器

Python中,对序列的操作可以说是最最常见的操作了,熟悉相应序列(可迭代对象)的操作,能大大加快编码的效率

2019-09-25 15:11:29 275

原创 Python 基础学习笔记之:函数的参数

Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。

2019-09-24 18:25:01 157

原创 Python 进阶学习笔记之六:多线程编程

基于 Python3 threading 的多线程编程实现,涉及 threading 模块中 Lock、RLock、Condition、Semaphore、Event、Barrier的实际应用代码示例

2019-09-10 11:20:52 365

原创 Python 进阶学习笔记之五:异步 IO

Python 进阶相关知识体系。本篇文章专门介绍了 3.7 版本 异步IO 模块 asyncio 中主要功能的使用方式

2019-09-04 14:25:32 614 1

原创 Docker 入门笔记

Docker 快速入门指导

2019-09-03 11:53:11 214

原创 Python 进阶学习笔记之四:高效迭代器工具

Python 内置数学模块 Math 和 快捷迭代器工具模块 itertools

2019-09-02 16:25:31 327

原创 Python 进阶学习笔记之三:常用数据类型(下)

Python 进阶系列文章,展示常用数据类型的用法

2019-08-30 16:43:13 340

原创 Python 进阶学习笔记之二:常用数据类型(上)

进阶学习 Python 常用数据类型的介绍及实例代码展示

2019-08-30 15:44:02 274

原创 Python 进阶学习笔记之一:内置常用类型及方法

进阶学习 Python 内置常用功能函数、类以及模块

2019-08-28 14:27:37 417

原创 Apache Kafka 快速上手指南

Apache Kafka 快速入门及基本实践

2019-08-13 10:47:30 179

原创 Apache Flume简单入门

Apache Flume 快速入门及简单实践

2019-08-11 18:26:41 204

原创 Springboot 2.x + Mybatis 基本实现以及多数据源实现

springboot 2.x + mybatis 基本实现,以及多数据源下的注意要点

2019-07-18 11:44:48 590

原创 Mac 安装配置 pyqt5 5.12

安装环境Mac Python3需要安装的QT SIP PyQt5开始安装安装QT▶ brew install qt==> Downloading https://homebrew.bintray.com/bottles/qt-5.12.3.mojave.bottle.tar.gzAlready downloaded: /Users/leon/Library/C...

2019-05-28 16:20:07 7552

转载 SpringBoot JVM参数调优

各种参数参数名称含义默认值说明-Xms初始堆大小物理内存的1/64(<1GB)默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.-Xmx最大堆大小物理内存的1/4(<1GB)默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms...

2019-05-16 16:15:51 13803 1

原创 使用Java的InvocationHandler实现动态代理

java.lang.reflect API 提供了一个叫Proxy的类和一个叫InvocationHandler,下面我们使用这两个API来实现Java的动态代理。Proxy Class in Javajava.lang.reflect.Proxy 类中有个静态方法newProxyInstance被用来创建动态代理类,这个方法的定义如下:public static Object newPr...

2019-05-15 18:08:11 1606

原创 Scrapy 之中间件(Middleware)

Scrapy 结构概述:一、下载器中间件(Downloader Middleware)如上图标号4、5处所示,下载器中间件用于处理scrapy的request和response的钩子框架,如在request中设置代理ip,header等,检测response的HTTP响应码等。scrapy已经自带来一堆下载器中间件。{ 'scrapy.downloadermiddlewares....

2019-05-10 18:11:36 7040

转载 数据库之分库分表-垂直?水平?

一、数据库瓶颈↑不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。第二种:网络IO...

2019-05-08 12:53:05 610

原创 Scrapy: xpath与css选择器

CSS 选择器表达式说明*所有节点#ElementIdID为ElementId的节点.clsNameclass为clsName的节点li ali元素下所有a元素ul + pul下第一个P元素div#eId > ulid为eId的元素下所有ul元素div.clsNameclsss为clsName的div元素ul ~ ...

2019-04-23 15:56:08 459

原创 常用的 Maven 命令

maven 命令除了常用的几个,大部分经常记不住,整理一下,方便查询。maven 命令的格式为 mvn [plugin-name]:[goal-name],可以接受的参数如下。-D 指定参数,如 -Dmaven.test.skip=true 跳过单元测试;-P 指定 Profile 配置,可以用于区分环境;-e 显示maven运行出错的信息;-o 离线执行命令,即不去远程仓库更新包;...

2019-04-23 14:52:29 125

转载 MySQL 索引B+树原理,以及建索引的几大原则

一、Mysql中的索引在 MySQL 中,主要有四种类型的索引,分别为: B-Tree 索引, Hash 索引, Fulltext 索引和 R-Tree 索引。B-Tree 索引是 MySQL 数据库中使用最为频繁的索引类型,除了 Archive 存储引擎之外的其他所有的存储引擎都支持 B-Tree 索引。Archive 引擎直到 MySQL 5.1 才支持索引,而且只支持索引单个 AUTO_...

2019-04-19 16:34:13 676

原创 Maven项目使用本地Jar资源

项目开发过程中,可能会遇到合作方提供的非公开jar包资源,Maven项目使用时就得先处理一下,不然maven可不知道如何去找不在库中的Jar文件。本文列出列三种方式,大家酌情使用。1. 将jar包安装到本地repository这种方法,自己开发没什么问题,如果团队开发,所有人都需要执行一次,有版本变化,所有人又得执行一次,比较不推荐mvn install:install-file -Dfi...

2019-04-11 11:43:57 640

原创 springboot 自定义starter:带条件启动器

前一篇(点这里)文章中介绍了简单的starter的基本组成,本篇文章就介绍一下带约束的starter如何搞。使用@ConditionalOnMissingBean在上篇文章中使用的自动配置bean修改后如下:@Configurationpublic class LogCollectorAutoConfig { @Bean(name = "logCollector") @C...

2019-04-03 15:06:32 773

原创 定制自己的Springboot Starter

在学习Spring Boot的过程中,接触最多的就是starter。使用者可以把starter当成是一种服务——使得使用某个功能时不需要关注各种依赖库的处理,不需要具体的配置信息,由Spring Boot自动通过classpath路径下的类发现需要的Bean,并织入bean。而自动装配就是Springboot最大的特性。举个例子,spring-boot-starter-jdbc这个starter...

2019-04-02 20:14:43 541

原创 spring-boot 实现单次执行程序

spring-boot做为spring的集大成框架,大部分时候作为WEB服务被集成使用,但某些情况下,需要手动执行一些逻辑的情况下,单次运行的类似脚本的程序也是很有用的。

2019-03-19 19:42:41 2830

原创 Mongo操作脚本笔记

// =================== 批量更新,更新数组中对象 =================== var cursor = db.language.find({});cursor.forEach(function(x){ var subSet = db.subscription.find({}); subSet.forEach(function(s...

2019-02-21 14:04:28 546

原创 MongoDB数据导入导出

导出数据:1.导出为json格式文件:mongoexport -d &amp;amp;amp;lt;数据库名称&amp;amp;amp;gt; -c &amp;amp;amp;lt;collection名称&amp;amp;amp;gt; -o &amp;amp;amp;lt;输出文件名称&amp;amp;amp;gt;mongoexport -u user -p pwd! -d dbName -c users -o /data/date.json2.

2018-12-27 17:09:29 3420

原创 zookeeper集群搭建

前言zookeeper是什么就不用介绍了,很多分布式集群组件都使用zookeeper来实现集群化,它本身也能帮助我们实现一些诸如动态配置、分布式锁、消息推送等功能,这篇笔记简单记录一下一个简单的zookeeper集群如何搭建。zookeeper本身可以以standalone模式(单节点状态)安装运行,不过它的长处在于通过分布式zookeeper集群(一个leader,多个follower),基...

2018-10-16 16:35:44 270

原创 为什么在分布式环境下使用Redis

阅读目录1、为什么使用 Redis性能:并发:使用 Redis 的常见问题2、单线程的 Redis 为什么这么快3、Redis 的数据类型及使用场景4、Redis 的过期策略和内存淘汰机制5、Redis 和数据库双写一致性问题6、如何应对缓存穿透和缓存雪崩问题缓存穿透解决方案缓存雪崩解决方案7、如何解决 Redis 的并发竞争 Key 问题8、总结1、为什么使用 Redis在项目中使用 Red...

2018-10-09 11:58:59 457

空空如也

空空如也

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

TA关注的人

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