-
Prometheus基于Consul的服务发现
Consul是由HashiCorp开发的一个支持多数据中心的分布式服务发现和键值对存储服务的开源软件,被大量应用于基于微服务的软件架构当中。Consul使用可以通过Consul官网https://www.consul.io/downloads.html下载对应操作系统版本的软件包。Consul与Prometheus同样使用Go语言进行开发,因此安装和部署的方式也极为简单,解压并...
-
f-string:一种改进的Python格式语法
f-string是Python3.6提供的一种新的格式化字符串的方法。 与其他格式化方式相比,代码更具可读性,更简洁且不易出错,而且速度更快! 在本文中,您将了解如何以及为什么现在就开始使用f-string。在使用f-string之前,我们还是先了解下之前是如何处理格式化的。Python中的“老式”字符串格式在Python 3.6之前,有两种方法可以将Python表达式嵌入字符...
-
哦哟!才知道,原来大厂的Redis分布式锁都这么设计
本地锁常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。 而在分布式多服务实例场景下必须使用分布式锁2 分布式锁2.1 分布式锁的原理厕所占坑理论可同时去一个地方“占坑”:占到,就执行逻辑否则等待,直到释放锁可通过自旋方式自旋“占坑”可以去Redis、DB、任何所有服务都能访问的地方。2.2 分布式锁演进一阶段// 占...
-
深入理解什么是端口(port)
每当看到有人的简历上写着熟悉 tcp/ip, http 等协议时, 我就忍不住问问他们: 你给我说说, 端口是啥吧! 可惜, 很少有人能说得让人满意... 所以这次就来谈谈端口(port), 这个熟悉的陌生人.在此过程中, 还会谈谈间接层, naming service 等概念, IoC, 依赖倒置等原则以及 TCP 协议的一些重点知识.常见端口在我们的日常开发过程中, 特别是...
-
Apache ECharts顺利毕业,成为ASF顶级项目
1 月 26 日晚,Apache 基金会官方宣布 ECharts 项目正式毕业,成为 Apache 顶级项目。ECharts 是一款基于 JavaScript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts 最初由百度团队开源,并于 2018 年初捐赠给 Apache 基金会,成为 ASF 孵化级项目。据 ECharts 团队透露,经过...
-
秒杀mybatis的sqltoy-orm-4.17.15发版
开源地址:github: https://github.com/sagframe/sagacity-sqltoygitee: https://gitee.com/sagacity/sagacity-sqltoyidea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins更新内容:1、在原有快速分...
-
微信8.0.1抢先升级,新增可查看朋友圈访客,还有6个新发现
微信8.0的更新,让不少用户感叹微信在越来越实用的同时,还越来越好玩了。对于接下来微信的更新很是期待,这次我抢先升级了微信8.0.1版本,又体验到了7个新功能。1、 可查看访客记录现在视频号加入到了个人名片展示页,还可以查看近期赞过的视频记录,也就是说你看了什么视频,好友都知道,算是一种查看访客记录的方式了。不想让别人知道你看了什么,可以在视频号管理里面关闭。2、 状态自定义背...
-
快检查下你的sudo:被曝漏洞,无需密码就能获取root权限
“这可能是近期内最需要重视的sudo漏洞。”程序员都知道,一句sudo可以“为所欲为”。而现在,来自Qualys的安全研究人员发现,sudo中存在一个严重的漏洞:任何本地用户,无需身份验证(密码),也能获得root权限。也就是说,攻击者完全可以利用这个漏洞,直接接管主机系统!什么样的漏洞Qualys的研究人员指出,此漏洞是基于堆的缓冲区溢出。利用这一漏洞,攻击者无需知道用户密码...
-
W3C与IETF宣布WebRTC已正式成为一项Web通讯技术标准
经过多年发展,WebRTC 已获得诸多流行 Web 浏览器的支持。最细消息是,万维网联盟(W3C)和互联网工程任务组(IETF)刚刚宣布:基于 Web 的实时通讯技术(简称 WebRTC),已经正式成为 Web 领域的一项音视频传输标准。从技术层面上来说,该框架允许开发者轻松地将音视频聊天功能添加到各自的项目中。(来自:W3C/ IETF)如果你曾经用过 Facebook Me...
-
Linux系统:Centos7下搭建Nginx代理服务,FastDFS分布式文件系统
一、FastDFS简介1、基础概念FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件上传、文件下载等,解决了大容量存储和负载均衡的问题。2、环境概览默认存在Gcc编译环境,Centos7虚拟机安装LibFastCommon环境FastDFS中间件安装Nginx代理服务器安装二、安装FastDFS依赖环境LibFastCommon...
-
Vue.js添加全局过滤器的几种方法
过滤器基础知识Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式。<!-- 在双花括号中 --> {{ message | capitalize }} <!-- 在 `v-bind` 中 --> <div v-bind:id="rawId | formatId">&l...
-
在微信小程序中使用 async/await
微信小程序中有大量接口是异步调用,比如 wx.login() 、 wx.request() 、 wx.getUserInfo() 等,都是使用一个对象作为参数,并定义了 success() 、 fail() 和 complete() 作为异步调用不同情况下的回调。但是,以回调的方式来写程序,真的很伤,如果有一个过程需要依次干这些事情:wx.getStorage() wx.get...
-
Github Actions还是Jenkins?该怎么选?
在过去的几年中,DevOps已成为软件生命周期中至关重要的一部分,这推动了许多领先的DevOps工具和实践的发展。您可以找到一系列支持CI/CD流程的工具,Jenkins和GitHub Actions杰出地站在其中。在本文中,我将对GitHub Actions和Jenkins进行比较,并为你提供洞察力以做出正确的选择。Jenkins和GitHub Action简介Jenkins...
-
修炼SpringMVC-核心技能-文件上传
在开发Web应用程序中,关于文件的上传操作是十分常见的,本节将了解下怎么利用SpringMVC进行文件上传。一、关于文件上传的一些配置1.导入上传的相关jar包在SpringMVC中实现文件处上传需要导入以下两个Jar包(版本可能有所不同)。com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springso...
-
Quartz.NET一个优秀的作业调度框架
1 什么是Quartz.NET?Docker是一个功能齐全的开源作业调度系统,可以与几乎任何其他软件系统集成或一起使用。2 为什么需要Quartz.NET?.NET Framework通过System.Timers.Timer类具有“内置”计时器功能-为什么有人使用Quartz而不是这些标准功能?原因有很多!这里有一些:计时器没有持久性机制。计时器的时间安排不灵活(只能设置开始...
-
一篇文章教会你jQuery应用
一 认识jQuery jQuery是JavaScript Query的缩写形式。jQuery是一款非常优秀的JavaScript库,即便是MVVM框架盛行的今天,也有超过半数的网页及应用直接或间接的使用了jQuery。jQuery的设计理念是“Write Less, Do More“,即写的更少,做的更多!使用jQuery可以大大简化我们的JS代码,从而提高开发效率。 jQue...
-
分布式延时任务方案解析
前言在开发中,往往会遇到一些关于延时任务的需求。例如生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别定时任务有明确的触发时间,延时任务没有定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期定时任务一...
-
解决Elasticsearch中文搜索只能搜索单个汉字
问题原因:ES默认分词规则不能支持中文,通过安装IK Analysis for Elasticsearch支持中文分词。重要提示:不能再已经导入数据的index中修改mapping,所以建立index之后立即配置分词器字段,然后再导入数据。首先从https://github.com/medcl/elasticsearch-analysis-ik/tree/master下载ES对...
-
Xpath定位方法
相对路径定位(F12直接用工具copy xpath)//*[@id="datagrid-row-r1-2-0"]/td[1]/div/input根据文本信息定位全部文本信息匹配如上HTML 标签为a文本信息未"更新"//a[text()="更新"]部分文本信息包含匹配如上HTML文本信息//a[contains(text(),"更")] 或者 //a[contains(text...
-
JeecgBoot 2.4.2 积木报表版本发布
项目介绍JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮...
-
硬技能——Swagger一键生成接口文档,好轻松
在开发测试过程中,经常遇到这种情况:1.测试人员,要看传递的参数对不对,数据类型,精度,边界值等传输是否正确2.前端开发人员,要看接口出入参,数据类型,层级关系,接口调用关系3.对接的第三方系统要看我们的接口文档很多时候,我们都会通过Word手写的形式,花费大量的时间精力来做这件事。殊不知知识就是效率地提升的最佳方案。首先在保证项目集成swagger的前提下,可以一键生成接口文...
-
Redis 之 字符串
字符串是Redis最基础的数据结构。关键字都是字符串类型。字符串的值可以是字符串(简单的字符串、复杂的字符串(JSON,XML)、数字、甚至是二进制(图片、音频、视频),但是最大值不能超过 512M。常用命令set key value [ex seconds] [px milliseconds] [nx|xx]ex seconds :为键设置秒级过期时间px milliseco...