- 博客(167)
- 资源 (7)
- 收藏
- 关注
原创 Python之父-Guido van Rossum
Python 的作者,Guido van Rossum。Guido van Rossum ,是 Python 编程语言的最初设计者,在 Python 社区一直担当终身仁慈独裁者(BDFL)的角色。2018 年 7 月12 日,他宣布不再担任 Python 社区的 BDFL,但后来再度被选入成为五位委员会成员之一。Guido van Rossum 的生平1956 年在荷兰出生...
2020-02-28 07:56:02 10129
原创 bootstrap模态框点击周边不隐藏、js控制隐藏、去除关闭按钮
实现功能:默认不显示模态框:aria-hidden="true" 点击模态框周边和 esc 按钮,不自动隐藏模态框:data-backdrop="static" data-keyboard="false" 使用 js 中的 show 函数控制模态框的显示;close函数控制模态框的隐藏完整代码如下:<!DOCTYPE html><html><...
2020-02-26 09:41:40 2223
原创 帆软报表自定义函数-取json数据
帆软报表支持,写 Java 代码自定义函数,完成各种逻辑的取数。最近遇到一个需求,单元格里的数据是 json 格式,希望通过自定义一个函数完成取数。取数公式如:JSONVAL('{"k1":"v1", "k2":["v21", "v22"], "k3":{"k31":"v31"}}', 'k1') -> v1JSONVAL('{"k1":"v1", "k2":["v21...
2020-02-26 08:53:44 4819
原创 如何修改Google Adsense广告位的宽高
在自己的博客网站放了 Google Adsense 的广告,但是样式和网站整体的风格都不太搭。1、希望设置正方形的广告位的宽度查了下文档可以修改 <ins> 节点的 style 参数,如我希望宽度设置位 div 宽度的 80% 降低广告位的透明度 在 div 中居中修改代码如下:<script async src="https://pagead2.g...
2020-02-24 10:05:20 1294
原创 迁移到HTTPS这么麻烦,为什么还要折腾?
我的博客网站是使用 HTTP 协议的,使用 Google Chrome 浏览器访问就会在地址栏提示不安全。这让人很不舒服,于是乎,折腾起 HTTPS ...为什么一般不愿意迁?购买证书,要钱,老早证书都是按年收费的。现在使用云服务器,一般都能免费申请证书了。 配置证书又是一堆操作,麻烦;涉及到的内容也多 对服务器进行认证、对通信进行加解密,肯定是有多余开销的,速度肯定是会慢的...
2020-02-23 09:47:26 326
原创 Dubbo和Spring Cloud的区别
定位:Dubbo 专注 RPC 和服务治理;Spirng Cloud 是一个微服务架构生态 性能:Dubbo 强于 SpringCloud(主要是通信协议的影响) 功能范围:Dubbo 诞生于面向服务架构时代,是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案;Spring Cloud 诞生于微服务架构时代,基于 Spring、SpringBoot,...
2020-02-22 09:34:46 501
原创 优化博客页面的访问速度
我的博客网站中,随着维护的面试题越来越多,虽然是通过 nginx 转发 html 静态文件,但是速度还是越来越慢。分析了一下原因:1、网络层面家里是中国移动的宽带,接收服务器的 html 耗时比较长,达到好几秒。 电脑连接中国电信的手机热点,访问速度明显快很多。 网络层面的优化,比较麻烦,暂不考虑。2、减少文件传输大小打开浏览器的 network,看到传输的 html 文件达...
2020-02-20 23:08:17 395
原创 Dubbo和Dubbox之间的关系
Dubbo 是阿里巴巴公司开源的一个基于Java的高性能开源 RPC 框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。Dubbo 后来没有维护,当当网基于 Dubbo 做了一些扩展,推出 Dubbox:支持 REST 风格远程调用(HTTP + JSON/XML) 支持基于 Kryo 和 FST 的 Java 高效序列化实现 支持基于...
2020-02-19 12:48:18 488
原创 Dubbo的安全调用
Dubbo 和 Zookeeper 基本都是部署在内网,不对外网开放 Zookeeper 的注册可以添加用户权限认证 Dubbo 通过 Token 令牌防止用户绕过注册中心直连 在注册中心上管理授权 增加对接口参数校验 提供IP、服务黑白名单,来控制服务所允许的调用方【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式...
2020-02-19 12:47:28 1312
原创 echarts获取图片base64字符串
echarts获取图片base64字符串var obj = document.getElementById("chartId");var myChart = echarts.init(obj);// $obj为原生dom对象myChart.getDataURL({ type: 'jpeg', //png | jpeg pixelRatio: 2, backgroundCo...
2020-02-19 09:55:50 2391
原创 谈谈遇到的Dubbo超时问题
dubbo 调用服务超时,默认是会重试两次的,但可能两次请求都是成功的。如果没有幂等性处理,就会产生重复数据。可以考虑去除 dubbo 超时重试机制,重新评估设置超时时间 dubbo 的重试在集群环境下,会把超时的请求发到其他服务 引起超时的原因可能出在消费端,也可能出现在服务端,服务器的网络、内存、CPU、存储空间都可能引起超时问题 超时时间设置过小也会导致超时问题...
2020-02-19 09:22:53 676
原创 Dubbo支持哪些序列化方式?
Hessian 序列化:是修改过的 hessian lite,默认启用 json 序列化:使用 FastJson 库 java 序列化:JDK 提供的序列化,性能不理想 dubbo 序列化:未成熟的高效 java 序列化实现,不建议在生产环境使用【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构...
2020-02-19 09:22:07 3561
原创 Dubbo有哪些集群容错方案?
Failover Cluster,失败自动切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。 Failfast Cluster,快速失败,只发起一次调用,失败立即报错。通常用于非幂等性的写操作,比如新增记录。 Failsafe Cluster,失败安全,出现异常时,直接忽略。通常用于写入日志等。 Failback Cluster,失败自动恢复,后台记录失败请求,定时重发...
2020-02-19 09:21:22 836
原创 一些css技术点的总结
为了让自己做的页面不那么难看,最近学了点 css。一些重要的知识点与技巧汇总如下:1、location属性:fixed、absolute、relativeposition:absolute 脱离原来位置进行定位;相对于最近的有定位的父级进行定位,没有最近,相对于文档进行定位 position:relative保留原来位置;相对于原来的位置进行定位。一般用 relative...
2020-02-18 18:49:36 609
原创 Dubbo与Spring如何集成?
Dubbo 采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置即可,Dubbo 基于 Spring 的 Schema 扩展进行加载。Dobbo扩展的 spring xml配置文件节点说明如下:<dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服...
2020-02-13 08:54:02 564
原创 什么是服务治理?为什么需要服务治理?
服务治理是主要针对分布式服务框架的微服务,处理服务调用之间的关系、服务发布和发现、故障监控与处理,服务的参数配置、服务降级和熔断、服务使用率监控等。需要服务治理的原因:过多的服务 URL 配置困难 负载均衡分配节点压力过大的情况下,需要部署集群 服务依赖混乱,启动顺序不清晰 过多服务,导致性能指标分析难度较大,需要监控 故障定位与排查难度较大【Java面试题与答案】...
2020-02-13 08:52:34 5955 2
原创 Dubbo框架分了哪些层?
Dubbo 框架设计一共划分了 10 层:服务接口层(Service):该层是与实际业务逻辑相关的,根据服务提供方和服务消费方的业务设计对应的接口和实现 配置层(Config):对外配置接口,以 ServiceConfig 和 ReferenceConfig 为中心 服务代理层(Proxy):服务接口透明代理,生成服务的客户端 Stub 和服务器端 Skeleton 服务注册层(Regi...
2020-02-13 08:51:44 1456
原创 Dubbo服务注册与发现的流程?
启动Provider(服务提供者)绑定指定端口并启动服务Provider 注册服务地址Provider 连接注册中心,将本机 IP、端口、应用信息和提供服务信息发送至注册中心存储Consumer 订阅服务地址Consumer(服务消费者),连接注册中心 ,发送应用信息、所求服务信息至注册中心服务订阅或变更时,推送服务地址列表注册中心根据 Consumer 请求...
2020-02-13 08:50:47 2110 2
原创 Dubbo有哪些核心组件?
Provider:服务的提供方 Consumer:调用远程服务的服务消费方 Registry:服务注册和发现的注册中心 Monitor:统计服务调用次数和调用时间的监控中心 Container:服务运行容器【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 L...
2020-02-13 08:50:01 5587
原创 Dubbo适用于哪些场景?
RPC 分布式服务,拆分应用进行服务化,提高开发效率,调优性能,节省竞争资源 配置管理,解决服务的地址信息剧增,配置困难的问题 服务依赖,解决服务间依赖关系错踪复杂的问题 服务扩容,解决随着访问量的不断增大,动态扩展服务提供方的机器的问题【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构...
2020-02-13 08:49:25 1222
原创 Dubbo的主要作用?
透明化的远程方法调用,像调用本地方法一样调用远程方法 负载均衡及容错机制,负载分发请求到不同的服务提供者,解决单点故障 服务自动注册与发现,动态服务注册与请求分发,能够平滑添加或删除服务提供者【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MyS...
2020-02-13 08:48:38 1369
原创 Dubbo的核心功能?
Remoting:网络通信框架,提供对多种 NIO 框架抽象封装,包括多种线程模型、序列化、同步转异步和请求-响应模式的信息交换方式 Cluster:集群容错,提供基于接口方法的透明远程过程调用,包括多协议支持、软负载均衡、失败容错、地址路由、动态配置等集群支持 Registry:服务注册,基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器...
2020-02-13 08:47:50 1038
原创 Dubbo有哪些负载均衡策略?
Dubbo 实现了常见的集群策略,并提供扩展点予以自行实现。Random LoadBalance:随机选取提供者策略,随机转发请求,可以加权 RoundRobin LoadBalance:轮循选取提供者策略,请求平均分布 LeastActive LoadBalance:最少活跃调用策略,可以让慢提供者接收更少的请求 ConstantHash LoadBalance:一致性 Hash 策略...
2020-02-13 08:46:59 1357
原创 Dubbo有些哪些注册中心?
Zookeeper 注册中心: 基于分布式协调系统 Zookeeper 实现,采用 Zookeeper 的 watch 机制实现数据变更(官方推荐)Multicast 注册中心: 基于网络中组播传输实现,不需要任何中心节点,只要广播地址,就能进行服务注册和发现 Redis 注册中心: 基于 Redis 实现,采用 key/Map 数据结构存储,主 key 存储服务名和类型,Map 中 key ...
2020-02-13 08:46:18 3336 2
原创 介绍一下Dubbo?
Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...
2020-02-13 08:45:33 297
原创 Dubbo如何设置超时时间?
Dubbo有两个设置超时时间的地方:提供端(provider) 和 消费端(consumer)provider:系统向外提供的 facade 请求超时时间,默认1000 ms provider 接受到请求时,会把整个处理逻辑执行完,不管你是否设置了时间;dubbo 只会在方法执行完,判断是否超时,如果超时,记一个 warn 日志<dubbo:provider ti...
2020-02-13 08:44:47 7331 4
原创 Dubbo支持哪些协议?各有什么特点?
1、dubbo 默认协议:单一 TCP 长连接,Hessian 二进制序列化和 NIO 异步通讯 适合于小数据包大并发的服务调用和服务消费者数远大于服务提供者数的情况 不适合传送大数据包的服务2、rmi 协议:采用 JDK 标准的 java.rmi.* 实现,采用阻塞式短连接和 JDK 标准序列化方式 如果服务接口继承了 java.rmi.Remote 接口,可以和原生 RM...
2020-02-13 08:43:53 5044
原创 Mac版本的Sublime Text常用快捷键
这两天跟着视频学些前端知识,看到讲解的老师用的编辑器Sublime Text。在知乎里,看到有些人在 Mac 上,前端编辑器的选用路线是这样的:Sublime ->Atom -> WebStorm -> VSCode放弃Sublime 的原因是不好用 放弃Atom 的原因是性能堪忧 放弃WebStorm 的原因是太占内存那我就从SublimeTe...
2020-02-12 21:28:31 2915
原创 Js插入元素到数组的头部 unshift
JavaScript 中,数组对象有unshift() 方法,可向数组头部插入一个或更多元素,并返回新的长度var array = [];array.unshift(newelement1...);【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux...
2020-02-12 16:07:10 28843
原创 Redis如何实现分布式锁?
实现思路与注意事项:设置合理的过期时间,解决忘记释放锁、甚至服务器宕机未释放锁的问题 获取锁和设置过期时间,需要具有原子性,使用指令SET key value NX PX millisecondsNX 代表只有当键key不存在的时候才会设置key的值PX 表示设置键 key 的过期时间,单位是毫秒value 值随机设置,删除 value 前判断是否相等,解决当前线程可能释放其他线...
2020-02-12 09:02:22 126
原创 Redis如何实现消息延迟?
使用 sorted set 集合,zadd 指令添加消息,用时间戳作为 score,消息内容作为 key zrangebyscore 指令可以获取指定区间内的元素,调整区间参数即可实现消息延迟【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQ...
2020-02-12 09:01:36 461
原创 Redis如何实现消息一次生产,多次消费?
使用 pub/sub 发布订阅模式,可以实现 1:N 的消息队列,即一次生产,多端消费 但不在线的消费者会产生消息丢失的情况【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...
2020-02-12 09:00:50 2560
原创 Redis的队列如何异步使用?
Redis 的 list 结构可以作为队列使用,rpush 生产消息,lpop 消费消息,lpop 没有取到消息时,可以让线程休眠一会再获取消息blpop 指令,在队列没有消息时,会阻塞线程直到消息被生产,获取消息【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成...
2020-02-12 08:59:54 206
原创 处理过大量的key同一时间过期吗?需要注意什么?
大量的 key 集中在某个时间点过期,Redis 可能会出现短暂的卡顿现象。如果访问量大的情况下,还可能出现缓存雪崩处理办法:可以在时间上加一个随机值,分散过期时间点【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle ...
2020-02-12 08:59:18 2808
原创 Redis有哪些适用场景?
会话缓存(Session Cache),是 Redis 最常使用的一种情景 全页缓存(FPC) 用作网络版集合和队 排行榜和计数器,Redis 在内存中对数字递增、递减的操作实现的非常好。Set 和 Sorted Set 使得我们在执行这些操作的时候非常简单 发布和订阅【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设...
2020-02-12 08:58:26 307
原创 如何保证Redis中存的都是热点数据?
Redis存储在内存中的数据升到配置大小时,就进行数据淘汰使用 allkeys-lru 策略,从数据集(server.db[i].dict)中挑选最近最少使用的数据优先淘汰,即可满足保存热点数据【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux M...
2020-02-12 08:57:46 720
原创 List、Set、Sorted Set最多能存放多少元素?
官方 FAQ 上说明,理论上 List、Set、Sorted Set 可以放 2 的 32 次方个元素【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...
2020-02-12 08:56:54 3518
原创 单个Redis实例最多能存放多少个key?
官方给出,理论值是 2 的 32 次方个实际使用中单个 Redis 实例最小储存 2.5 亿个 key【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全 设计模式 框架 算法与数据结构 异常 文件解析与生成 Linux MySQL Oracle Redis Dubbo...
2020-02-12 08:56:13 6560
原创 Redis的内存用完了会发生什么?
这个跟 Redis 的内存回收策略有关。Redis 的默认回收策略是 noenviction,当内存用完之后,写数据会报错。Redis 的其他内存回收策略含义:volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中,淘汰最近最少使用的数据 volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中,淘汰最...
2020-02-12 08:55:27 2215
原创 Redis如何做内存优化?
缩减键值对象:满足业务要求下 key 越短越好;value 值进行适当压缩 共享对象池:即 Redis 内部维护[0-9999]的整数对象池,开发中在满足需求的前提下,尽量使用整数对象以节省内存 尽可能使用散列表(hashes) 编码优化,控制编码类型 控制 key 的数量【Java面试题与答案】整理推荐基础与语法 集合 网络编程 并发编程 Web 安全...
2020-02-12 08:54:32 2273
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人