• 撸个Spring Boot中的starter,解密自动化配置

    starter背景Spring Boot目前已经变成了后端开发者必备技能之一,其中一个主要原因是Spring Boot中有个非常重要的机制(starter机制)。starter能够抛弃以前繁杂的配置,将其统一集成进starter,使用的时候只需要在maven中引入对应的starter依赖即可,Spring Boot就能自动扫描到要加载的信息并启动相应的默认配置。starter让...

    Java 2021年07月22日 1152 0
  • Spring Boot搭建 ELK,这才是正确看日志的方式

    在看大型网站的中间件技术,对于Elasticsearch有点兴趣,所以将配置流程记录了一下。为什么要用ELK“ELK实际上是三个工具,Elastricsearch + LogStash + Kibana,通过ELK,用来收集日志还有进行日志分析,最后通过可视化UI进行展示。一开始业务量比较小的时候,通过简单的SLF4J+Logger在服务器打印日志,通过grep进行简单查询,但...

    Java 2021年07月20日 1208 0
  • 使用Debezium、Postgres和Kafka进行数据实时采集(CDC)

    1. 背景一直在完善自己的微服务架构,其中包含分布式工作流服务的建设,目前采用的是Camunda工作流引擎。使用Camunda工作流,就会涉及到工作流引擎的用户体系如何与现有用户体系集成的问题(Flowable、Activity也类似)。现有设计中,工作流定位偏重于企业内部流程的流转,因此系统中设计了单位、部门、人员以及人事归属与Camunda工作流用户体系对应。功能设计完成,...

    Java 2021年07月20日 1416 0
  • zabbix 5系列之微信实时告警

    1. 微信报警:Zabbix除了可以使用邮件报警和钉钉告警之外,还可以通过微信报警,或者只要有api,你能想到的告警方式,zabbix都能实现。越灵活的告警机制越能及时有效地把告警信息推送到负责人,方便及时处理问题。看这篇文章之前,最好看我的上篇钉钉告警,因为在这篇文章中,媒介的设置,动作的设置等介绍得比较简单,主要是功能实现,在上篇文章中,每个参数都有详细介绍。zabbix ...

    Python 2021年07月13日 1303 0
  • .NET 6 新特性 System.Text.Json 中的 Writeable DOM C#

    .NET 6 新特性 System.Text.Json 中的 Writeable DOM

    .NET 6 新特性 System.Text.Json 中的 Writeable DOM 特性Intro在 .NET 6 Preview 4 中,微软加入了 JSON Node 的支持,我们可以动态的编辑一个 JSON 文档,一个可以修改的 JSON 文档,就像 Newtonsoft.Json 里的 JToken,这样我们就可以更加灵活的操作一个 JSON 了。主要新增的 AP...

    C# 2021年07月13日 1335 0
  • 自己搭建一个网站需要多少钱 PHP

    自己搭建一个网站需要多少钱

    如果是自己搭建网站,可以选择网上免费的开源CMS系统,自带模板,只需要到阿里云、腾讯云、西部数码等商家购买域名和空间,不懂后台程序也没有关系统,也不用学习做前端设计,只要会打字就可以建网站,这种费用比较便宜,也就几百元买空间和域名。当然网站要有效果,建设还是找专业的建站公司或个人技术员,这种方式做出来的网站,是完全符合自己的要求,也适用于现在互联网环境,对搜索引擎规则更友好,搭...

    PHP 2021年07月13日 1249 0
  • MyBatisPlus集成

    1-5 MyBatisPlus集成  接下来我们完成一个品牌的CRUD操作、我们会集成MyBatisPlus来实现。1、MyBatis Plus介绍  MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis Plus特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影...

    Java 2021年07月12日 1679 0
  • Nanoid - 可能会取代 UUID 的ID产生器

    UUID以前开发时用得多了,它很好用,不过,现在有个强力的挑战者:Nanoid。Nanoid已经可以在多种语言C#, C++, Clojure and ClojureScript, Crystal, Dart & Flutter, Deno, Go, Elixir, Haskell, Janet, Java, Nim, Perl, PHP, Python with di...

    PHP 2021年07月12日 2824 0
  • 为第三方HTTP协议依赖增加Hystrix保护你的系统

    为第三方HTTP协议依赖增加Hystrix保护你的系统前言后端开发的很多同学应该都有过调用第三方HTTP协议服务的经验。比如调用百度查询经纬度编码信息、调用豆瓣查询时下热门电影、调用7牛云存储接口上传文件等;以及公司内部其他小组开放的服务接口。常见开发模式是我们按照服务提供方定义的接口文档进行接口调用开发。在java中常见的HTTP客户端库有:java中常见的HTTP客户端库你...

    Java 2021年07月06日 1118 0
  • win11 dev 开发版 升级攻略完整版

    面向 Dev 频道用户,今天微软推出了首个 Windows 11 预览版本 -- Build 22000.51。虽然在 6 月 24 号发布会上宣布的大部分新功能已经进入新版本,但依然存在某些功能缺失,在公告中,微软还罗列了该版本的一些已知问题,并对最低硬件配置进行了澄清。注意了这个版本目前不支持 Android 应用的支持小编一大早也顺利地用上了 Windows 11 预览...

    Android 2021年06月30日 1597 0
  • 微信双版本更新,抢先体验!发现6个新功能,你升级了吗? IOS

    微信双版本更新,抢先体验!发现6个新功能,你升级了吗?

    近期,微信迎来了新一轮的双版本更新,分别为安卓微信8.0.7内测版,以及iOS微信8.0.8内测版。我也是在第一时间抢先体验了,发现6个新功能,下面一起来了解一下吧。01*新增身份信息生活中大家经常用微信支付,当你打开支付界面,进入「钱包」功能里,将会看到这里新增了一个「身份信息」,由于是后台升级,因此老版本也能看的到。我们需要进行实名认证,完善所有的个人信息,才能正常使用微信...

    IOS 2021年06月29日 1266 0
  • 没有人是一座孤岛 万物互联才是未来

    6月2日20点,在外界瞩目之下,HarmonyOS 2及华为全场景新品发布会如期而至,HarmonyOS 2正式版面向全球正式发布。“万物互联时代,没有人会是一座孤岛。”这是华为消费者业务CEO余承东在主题演讲中说的一句话。这句话意味深长,我们处在一个万物互联、万物智能的时代,互联网、社交网络高度发达。每一个人都通过互联网、智能终端、社交网络连接起来。在经济全球化的背景下,华为...

    Android 2021年06月03日 1256 0
  • 基于netty的构建一个群聊系统

    要求1.群聊系统可以实现服务器端和客户端之间的数据简单通讯(非阻塞)2.通过系统可以实现多人群聊3.服务器端:可以监控用户上线,离线,并实现消息转发功能4.客户端:通过channel可以无阻塞发送消息给其它所有用户,同时可以接受到其它用户发送的消息(由服务端转发得到)代码实现(服务端) import java.io.IOException; import java.net.I...

    Java 2021年05月25日 1222 0
  • Android Studio 4.2 现已发布

    作者 / Android 产品经理 Jamal Eason我们高兴地宣布,Android Studio 4.2 现已发布,并可以从稳定版发布渠道中下载。此版本的重心在于推出经过升级的 IntelliJ 平台以及一些新功能,这些新功能旨在提高 Android 应用开发者的工作效率。我们知道,有时将应用项目升级到最新版本并非易事。为了解决这一问题,我们在 Android Studi...

    Android 2021年05月19日 1969 0
  • 聊聊OkHttp实现WebSocket细节,包括鉴权和长连接保活及其原理!

    一、序OkHttp 应该算是 Android 中使用中使用最广泛的网络库了,我们通常会利用它来实现 HTTP 请求,但是实际上它还可以支持 WebSocket,并且使用起来还非常的便捷。那本文就来聊聊,利用 OkHttp 实现 WebSocket 的一些细节,包括对 WebSocket 的介绍,以及在传输前如何做到鉴权、长连接保活及其原理。二、WebSocket 简介2.1 为...

    Android 2021年04月26日 1335 0
  • 迈向 64 位时代,Visual Studio 2022 要来啦 C#

    迈向 64 位时代,Visual Studio 2022 要来啦

    Visual Studio 2022 首个公开预览版即将于今年夏季同开发者见面。Visual Studio 的这套主要版本将带来更快的运行速度、更低的访问门槛以及更轻的体量设计,专为学习者以及构建工业规模解决方案的用户们打造而成。此外,新的 Visual Studio 也将第一次迈入 64 位时代,为您带来更整洁、更智能、更具操作友好性的使用体验。时至今日,开发团队成员们的地理...

    C# 2021年04月23日 1646 0
  • Spring Boot 极简集成 Shiro

    1. 前言Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理。Shiro有三大核心组件:Subject:即当前用户,在权限管理的应用程序里往往需要知道谁能够操作什么,谁拥有操作该程序的权利,shiro中则需要通过Subject来提供基础的当前用户信息,Subject 不仅仅代表某个用户,与当前应用交互的任何东西都是Subjec...

    Java 2021年04月21日 1077 0
  • MiniDao1.7.1 版本发布,轻量级Java持久化框架

    项目介绍MiniDao 是一款轻量级JAVA持久层框架,基于 SpringJdbc + Freemarker 实现,具备Mybatis一样的SQL分离和逻辑标签能力。Minidao产生的初衷是为了解决Hibernate项目,在复杂SQL具备Mybatis一样的灵活能力,同时支持事务同步。当前版本:v1.7.1 | 2021-03-29源码下载https://github.com...

    Java 2021年03月30日 1100 0
  • Julia 1.6发布,亮点功能介绍

    日前,Julia语言官方发布了新的版本1.6。据悉该版本有可能是下一个Julia的长期支持(LTS)版本。那么该版本带来了哪些亮点呢?下面一起学习一下。概述作为一个集万种风华于一体的明星语言,一直是语言界一个特别生,特别吸引眼球。他将C语言的速度、Ruby的灵活、Python的易用性全整合在一起,支持并行处理,易于学习和使用,尤其适合科学和工程计算该版本。此次推出的1.6版本更...

    Python 2021年03月29日 1993 0
  • ConcurrentSkipListMap原理

    跳表为了引出 ConcurrentSkipListMap,先带着大家简单理解一下跳表。对于一个单链表,即使链表是有序的,如果我们想要在其中查找某个数据,也只能从头到尾遍历链表,这样效率自然就会很低。跳表就不一样了。跳表是一种可以用来快速查找的数据结构,有点类似于平衡树。它们都可以对元素进行快速的查找。但一个重要的区别是:对平衡树的插入和删除往往很可能导致平衡树进行一次全局的调整...

    Java 2021年03月18日 1387 0
  • ruoyi前后端分离框架增加只通过用户名认证获取token

    背景:最近选型使用ruoyi的前后端分离框架进行研发,除了管理系统部分还有小程序部分功能,需要提供api给小程序部分,而小程序使用openid关联用户名,这样希望提供只根据用户名能够获取token进行后续后台服务接口的访问需求,具体改造如下:增加5个关键类和一个测试类 修改一个config类,具体如下:拦截特殊验证的拦截器类package com.ruoyi.framework...

    Java 2021年03月18日 3301 0
  • 深入理解Java文件读写的底层实现

    继 《Java文件的简单读写、随机读写、NIO读写与使用MappedByteBuffer读写》,本篇通过调用Linux OS文件操作系统函数实现copy命令以加深我们对Java文件读写底层实现的理解。本篇内容包括:文件操作系统函数实战:实现文件拷贝命令实战:使用mmap实现文件拷贝命令文件操作系统函数本篇将介绍的函数有:open、close、write、lseek、read、m...

    Java 2021年03月10日 1545 0
  • HBase常用Api操作

    一、 环境准备新建项目后在pom.xml中添加依赖:<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.3.1</version></depend...

    Java 2021年03月09日 1615 0
  • QtScrcpy - 开源的投屏控制软件

    QtScrcpy 是一款 开源 的可以通过 USB 或 WiFi 连接 Android 设备的 投屏控制 软件,不需要 root 权限可最多支持 16 个安卓设备 同时连接。跨平台 支持在 Windows、macOS、Linux 操作系统上 安装使用,不需要在 手机 上 安装应用 即可 进行投屏。先访问 分享网盘 下载 程序压缩包,将其解压至 D:\Program Files ...

    Android 2021年03月08日 8477 0
  • 集群分布式下日志架构的搭建

    问题1.生产环境中项目节点过多,如何集中管理日志?2.多节点项目中,出现问题如何定位到某个具体节点出现问题?进而迅速获取该节点日志?3.EFK是如何收集管理日志的?演示。4.搭建过程日志基础架构解决效果非容器日志查看效果容器日志查看效果思路首先确定那种日志,容器或者非容器针对于非容器日志,直接采用filebeat采集固定目录日志即可,只不过在采集参数上可以有所调整,可以直接将业...

    Java 2021年03月08日 1392 0
  • java为我们已经提供了各种锁,为什么还需要分布式锁?

    目前的项目单体结构的基本上已经没有了,大多是分布式集群或者是微服务这些。既然是多台服务器。就免不了资源的共享问题。既然是资源共享就免不了并发的问题。针对这些问题,redis也给出了一个很好的解决方案,那就是分布式锁。这篇文章主要是针对为什么需要使用分布式锁这个话题来展开讨论的。不喜勿喷。前一段时间在群里有个兄弟问,既然分布式锁能解决大部分生产问题,那么java为我们提供的那些锁...

    Java 2021年03月08日 1310 0
  • 分布式锁设计方案

    分布式锁设计方案一.需求背景1.背景系统背景解决方案单机系统单体单机部署的系统,需要对某一个共享变量进行多线程同步访问的时候,所有的请求都会分配到当前服务器的jvm内部,然后映射为操作系统的线程进行处理。而这个共享变量只是在这个jvm内部的一块内存空间。使用java并发处理的相关API进行互斥控制(如ReentrantLock或Synchronized)分布式系统由于分布式系统...

    Java 2021年03月08日 1129 0
  • DocFetcher - 开源的文件内容搜索工具

    DocFetcher 是一款 开源 的 文件内容 搜索工具,它除了允许你 搜索电脑 上的 文件名称 查找文件以外,还支持通过 文件内容 进行查找 所需文件。除了 .txt 格式以外,还支持 .xlsx 等 常见格式,该软件支持在 Windows、macOS、Linux 操作系统上 运行使用,建议有 使用需求 的用户 安装使用。DocFetcher 依赖 JRE 环境,安装软件 ...

    Java 2021年03月07日 2121 0
  • Java实现PDF首页转缩略图

    一、maven安装<dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-core</artifactId> <version>6.2.2</version> </dependency>...

    Java 2021年03月05日 1350 0
  • dubbo filter实现参数透传

    在项目中转递参数通常是在接口中传递,然后在每个方法中接受这些参数处理。dubbo提供了rpc上下文可以实现设置和接受这些参数,实现我们的参数透传。(本文于2019年11在个人博客简书发表)1.RpcContext利用RpcContext实现consumer和provicer参数传递例如:消费端: RpcContext.getContext().setAttachment("bi...

    Java 2021年03月05日 3618 0