自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 工具类-企业微信自助QA机器人接入

获取用户相关(企微机器人只能通过聊天信息拿到userid,如果需要通过userid获取用户信息,需要申请企微应用然后调用企微通讯录相关api来获取,企微应用可以在流程中心进行企微应用申请,然后联系it的同学获取更多信息)在企业当中,经常会被多次问到相同的问题,而我们都有自己的其他需求需要做,于是为了提高办公效率,缩短沟通成本,我们可以在企业微信里面拉一个群,创建一个机器人,通过@企业机器人自助问答的方式获取想要的结果;3.4 配置 接收消息配置 信息。3.2 给机器人取个名字。3.3 点击配置说明。

2023-08-11 23:18:46 265

原创 seata 1.4安装与配置

1. 下载:https://github.com/seata/seata/releases解压,注意看下里面有个README-zh.md,相关的一些脚本可以在这个文件的链接找到,因为不同的seata版本,脚本可能有差异,需要注意下。我这里把1.4.0的这个文件内容补充在下面:脚本说明client存放用于客户端的配置和SQLat: AT模式下的 undo_log 建表语句conf: 客户端的配置文件saga: SAGA 模式下所需表的建表语句spring: SpringBoot 应用支持

2021-01-25 16:02:27 3433 3

原创 钉钉机器人开发

钉钉机器人开发文档API一,先创建一个钉钉群二,添加自定义机器人三,安全设置(3选1)四, 复制webhook作为发送通知的url剩下的就是在代码里实现了因为要发送网络请求 我这边使用的是hutool工具添加maven<!--糊涂工具--><dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId>

2021-01-25 16:01:57 1596

原创 Kafka优化

一 , broker优化:优化处理消息的最大线程数 默认是3 可以调成CPU数+1broker处理磁盘IO线程数 CUP数*2调整log的文件刷盘策略 10000条或者1秒日志保存策略调整为72小时 不建议过多副本机制调整为2-3根据业务量调整合适的partition数量二,Producer优化:调整未发送出去消息的缓冲区大小默认发送不压缩,可以配置合适的压缩方式(Snappy)三, Consumer优化:1.启动consumer的线程数适当的增

2021-01-25 16:01:20 372

原创 nacos集群部署

Nacos 致力于发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,快速实现动态服务发现、服务配置、服务元数据及流量管理官方链接: https://nacos.io/zh-cn/docs/what-is-nacos.html下载编译好的压缩包:https://github.com/alibaba/nacos/releases一、Nacos环境搭建(单节点)上传资源包至Linux目录解压至/usr/local/目录tar -zxvf nacos-server-1.2.1.tar.gz

2021-01-25 16:00:48 146

原创 SpringBoot整合kafka集群

本文整合基于Springboot2.0+,kafka版本kafka_2.12-2.3.0,使用org.springframework.kafka来做的整合项目目录结构pom.xml依赖<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>2.2.6.

2021-01-25 16:00:18 1662

原创 SpringBoot整合ES集群

本文整合基于Springboot2.0+,es版本6.2.2,使用spring-boot-starter-data-elasticsearch来做的整合demo项目结构pom.xml 引入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

2021-01-25 15:59:48 5412

原创 ElasticSearch读写底层原理及性能调优

##一,读写底层原理Elasticsearch写人数据的过程1)客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点)2)coordinating node,对document进行路由,将请求转发给对应的node(有primary shard)3)实际的node上的primary shard处理请求,然后将数据同步到replica node4)coordinating node,如果发现primary node和所有replica node都搞定之后,就

2021-01-25 15:58:32 197

原创 Java自定义注解原理及实现

本章主要内容:1.了解注解原理,2,自定义注解(根据实际应用自定义注解打印每个接口的请求日志)一, 了解注解原理元注解元注解的作用就是注解其他注解,一般我们使用自定义注解时,就需要用元注解来标注我们自己的注解,一共有以下四个元注解1.@Target: 说明了Annotation被修饰的范围,可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类.

2021-01-25 15:57:59 746

原创 SpringBoot日志框架logback

目录一,简单日志配置1.1 配置控制台日志的debug级别1.2 在生产环境环境下,你可以通过命令行进行配置日志的debug级别1.3 配置logging.level 来具体输出哪些包的日志级别1.4 将日志输出到文件中二, logback的介绍及配置2.1,Logback介绍2.2,Logback优点2.3,Logback优点Logback的配置介绍三、Logback的使用3.1,Logback...

2019-06-18 17:21:41 176

原创 ConcurrentHashMap底层实现原理((JDK1.7&1.8))

目录前言ConcurrentHashMap (JDK1.7的实现)初始化put操作get操作size操作ConcurrentHashMap (JDK1.8的实现)NodeTreeNodeTreeBinput操作get操作size操作总结与思考前言我们都知道HashMap在多线程情况下,在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原...

2019-06-18 17:10:18 13219 6

原创 ThreadLocal 深度解析

目录一,对ThreadLocal的理解二 ,深入解析ThreadLocal类get()方法:set()方法remove()方法ThreadLocalMap类Hash冲突怎么解决ThreadLocalMap的问题三.ThreadLocal的应用场景四,总结一,对ThreadLocal的理解ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个...

2019-06-18 17:03:52 165

原创 使用邮件通知方式实现异常报警功能

目录邮件的发送接收过程一,开通SMTP协议二,代码实现1.引入依赖2.代码编写邮件的发送接收过程1.开通SMTP协议二,代码实现1.引入依赖2.代码编写首先我们需要了解一下邮件发送(SMTP)和邮件接收(POP3)的协议:SMTP(Simple MailTransfer Protocol)即简单邮件传输协议, 它是一组用于由源地址到目的地址传送邮件的规则,由它来控制邮件的中转方式。 SMTP协...

2019-06-18 16:57:42 4679

原创 Redis 几种数据类型及应用场景

Redis支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。何时使用Redis呢?先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个val...

2019-04-30 09:01:54 582

原创 使用python写一个线程安全的单例

单例在各种编程语言开发中都很常见,前面我们使用Java OC swift 分别对单例进行了探讨,下面我们使用python写一个线程安全的单例。import threadingdef synchronized(func): func.__lock__ = threading.Lock() def lock_func(*args, **kwargs): wit...

2019-04-30 09:01:04 803

原创 MyBatis中$和#的区别

动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个重要原因。mybatis 在对 sql 语句进行预编译之前,会对 sql 进行动态解析,解析为一个 BoundSql 对象,也是在此处对动态 SQL 进行处理的。在动态 SQL 解析阶段, #{ } 和 会有不同的表现1.都可以获取对象中的属性值,{ } 会有不同的表现1.都可以获取对象中的属性值,会有不同的表现...

2019-04-13 23:15:23 117

原创 java反射机制

####一、概述Java反射机制定义Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类中的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。枚举除外** 反射机制的功能**在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具...

2019-04-13 23:13:38 90

原创 python 定时任务框架APScheduler

1、 简介APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。2、 安装使用 pip 包管理工具安装 APScheduler 是最方便快捷的。pip i...

2019-04-08 16:37:52 1214 5

原创 基于python实现FTP文件上传与下载(ftp&sftp协议)

前言 FTP(File Transfer Protocol)是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。如果用户需要将文件从自己的计算机上发送到另一台计算机上,可使用FTP上传(upload)或(put)操作,而更多种的情况是...

2019-04-03 15:33:15 3878

原创 Kafka实战

1. Kafka介绍1.1 主要功能根据官网的介绍,ApacheKafka是一个分布式流媒体平台,它主要有3种功能:1:It lets you publish and subscribe to streams of records.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因2:It lets you store streams of records ...

2019-04-03 15:30:20 158

原创 分布式消息最终一致性解决方案

随着分布式服务架构的流行与普及,原来在单体应用中执行的多个逻辑操作,现在被拆分成了多个服务之间的远程调用。虽然服务化为我们的系统带来了水平伸缩的能力,然而随之而来挑战就是分布式事务问题,多个服务之间使用自己单独维护的数据库,它们彼此之间不在同一个事务中,假如A执行成功了,B执行却失败了,而A的事务此时已经提交,无法回滚,那么最终就会导致两边数据不一致性的问题;尽管很早之前就有基于两阶段提交的XA分...

2019-03-22 13:59:41 4304 1

原创 ElasticSearch 批量处理 API

es里面提供了两种批量建索引的方法:1,使用 Bulk Api 特点是:使用比较简单,但控制不够灵活2,使用Bulk Processor 特点是:使用稍麻烦,控制非常灵活使用Bulk Processor处理也比较简单,注意参数的设置,会影响索引的性能: BulkProcessor实例初始化之后,就可以直接游标读取添加就行application.properties...

2019-03-22 13:58:23 611

原创 Kafka实战

1. Kafka介绍1.1 主要功能根据官网的介绍,ApacheKafka是一个分布式流媒体平台,它主要有3种功能:1:It lets you publish and subscribe to streams of records.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因2:It lets you store streams of records ...

2019-03-22 13:57:11 160

原创 利用runtime为系统类添加属性、成员变量.......

1️⃣runtime介绍:runtime是一套比较底层的纯C语言API, 包含了很多底层的C语言API。在我们平时编写的OC代码中, 程序运行过程时, 其实最终都是转成了runtime的C语言代码.比如说,下面一个创建对象的方法 :1.[[ZSPerson alloc] init]2.runtime :objc_msgSend(objc_msgSend(“ZSPerson” , “all...

2019-01-02 14:17:05 428

原创 OC与JS之间的互调

一、JavaScriptCore常用的类JavaScriptCore作用:JavaScriptCore是苹果原生API,用来JS和OC交互的。JSContext: JS运行环境,用它去执行JS代码,并且通过它去获取JS里的数据JSValue: 用于接收JS中获取的数据类型,可以是任一对象,方法。二、OC调用JS本质:JS代码中已经定义好变量和方法,通过OC去获取,并且调用步骤:1.创...

2019-01-02 14:16:21 929

原创 APNS苹果远程推送

什么是APNS?苹果推送通知服务(APNs)是推送通知的网关,iPhone ipad 对于应用程序在后台运行有诸多限制,考虑到手机电池电量,应用不允许在后台进行过多的操作。因此,当用户切换到其他程序后,原先的程序无法保持运行状态。对于那些需要保持持续连接状态的应用程序(比如社区网络应用),将不能收到实时的信息。推送是解决轮询所造成的流量消耗和电量消耗的一个比较好的解决方案为解决这一限制,苹果推...

2019-01-02 14:15:20 1294

原创 iOS八种内存泄漏问题

循环引用(Retain Cycle)先简单说一下什么是循环引用(retain cycle)​假设我们有两个实例A和B,B是A的一个strong型的property,则B的引用计数是1,当A的需要释放的时候,A则会调用[B release]来释放B,B的引用计数则减为0,释放。​可如果这时候将B的一个strong型property指向A,则A与B互相为强引用,问题就来了。因为B强引用A,A的引...

2019-01-02 14:13:46 603

原创 SpringMVC执行流程及工作原理

图解SpringMVC执行流程:SpringMVC执行流程:1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求调用处理器映射器HandlerMapping。3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServ...

2019-01-02 14:12:04 3339

原创 SpringMVC开发流程

要点SpringMVC简介搭建环境入门程序全注解J2EE三层使用的注解使用步骤对静态资源的处理传参方式原始方式request.getParameter()方法形参与前台参数同名对象传参地址栏传参中文乱码处理传值方式通过request.setAttribute()addObject()的方式直接返回对象配置视图解析器forward方式red...

2019-01-02 14:09:16 1129

原创 iOS解决App启动时闪屏问题(swift)

创建一个工具类MTAppHelperimport UIKitfileprivate let isIphone4 = Int(kScreenH) == 480fileprivate let isIphone5 = Int(kScreenH) == 568fileprivate let isIphone6 = Int(kScreenH) == 667fileprivate let isI...

2019-01-02 14:05:54 895

原创 jxl导入/导出Excel

Aboutjxl is a pure java 5 super-project that includes Enclosure, Peermi, Enshell, and Xlp.jxl &amp;&amp; POIjxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作E...

2019-01-02 14:04:41 523

原创 微信公众号开发(二)

今天把之前的知识整合一下 来做一个简单公众号购物界面的用户评价界面,供大家学习**整体思路:**我们一般看到的淘宝用户评价界面基本需要----&gt;用户头像,用户昵称,和评论内容,评论时间等几个基本字段.如何获取用户的基本信息我们在上一节说过了,获取用户的评论内容我们现在根据现实购物订单的用户评价来用数据库模拟.这样我们就可以完成一个用户评价界面的模块功能了.首先我们先创建实体类Eva...

2019-01-02 14:00:58 197

原创 微信公众号开发(一)

开发前首先我们要知道一些概念各公众号区别:1、订阅号:为媒体和个人提供一种信息传播方式,主要偏于为用户传达资讯(类似报纸杂志),主要的定位是阅读,每天可以群发1条消息;2、服务号:为企业,政府或组织提供对用户进行服务,主要偏于服务交互(类似银行提供服务查询),每个月只可群发4条消息;3、企业号:为企业,政府,事业单位,实现生产管理和协作运营的移动化,主要用于公司内部通讯使用,旨在为用户提...

2019-01-02 13:58:38 1307

原创 基于dubbo的项目开发

dubbo是什么:dubbo是一个阿里巴巴开发的开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴集团的各成员站点的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持。dubbo是对一个系统中应用层上的优化,后面我会在对系统中数据库层面的优化进行分享,这里我们只针对dubbo进行学习dubbo能解决什么问题:当网站变大后,不可...

2018-12-28 14:26:56 418 1

原创 uploadify 实现文件上传

uploadify官网我们需要到官网上下载需要的插件引入到项目中,同时我们最好看看uploadify的中文文档,当然直接把下面的代码复制作为一个工具类也行,反正都是大同小异.如何实现图片上传功能?在实际应用中我们会经常遇到实名认证的功能需要上传正反面照片或者上传文件之类的,如下图######首先简单介绍一下uploadify原理了解:以**.swf结尾的就是flash文件或者程序,它...

2018-12-28 14:26:13 18499

原创 ActiveMQ 从零到最佳实践

**ActiveMQ 简介:**ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。#####在学习之前我们先要知道一下几个问题######ActiveMQ特性⒈ 多种语言和协...

2018-12-28 14:25:31 241

原创 redis从入门到实践

####一. Redis安装使用1.介绍 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多, 包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且 这些操作都是...

2018-12-28 14:24:34 175

原创 mybatis的批量插入

mybatis的批量插入在开发中应该比较常见,在这里直接引入一个简单的例子便可一目了然,mybatis批量插入的效率不言而喻,比使用for循环不是简单的效率问题,加入说向10W级用户量的小应用推送消息,同时保存每个用户的推送消息记录,如果使用for循环,可能出现的场景可能是服务器挂掉,100W次对一个表插入会把该表锁死,最终挂掉. &lt;insert id="insertBatch" par...

2018-12-28 14:23:29 224

原创 mysql 三范式及逆范式

数据库设计当中三范式是经常遇到的######1.第一范式第一范式(1NF)所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。在任何一个关系数据...

2018-12-28 14:22:21 250

原创 SpringCloud 微服务实战

SpringCloud 是利用SpringBoot的开发便利性巧妙的简化了分布式系统基础设施的开发 ,如服务注册与发现,配置中心,网关服务,负载均衡,熔断器,消息总线,数据监控等,如果想了学习以下内容请先对SpringBoot有一定的了解 ,本简书主要从SpringCloud的入门到SpringCloud的项目实战作为学习路线 如没有SpringBoot的基础请先关注 暂时不要阅读在介绍...

2018-12-28 14:20:33 178

空空如也

空空如也

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

TA关注的人

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