简介 ArchUnit 利用反射和字节码技术获取所有的包、类、字段等信息,并通过特定的分析来确定对象之间的访问关系。ArchUnit 使用 ASM 作为字节码分析的工具,代价是 ArchUnit 的很多规则的定义不是类型安全的。 ArchUnit 支持的检查特性有: 包依赖检查。 类依赖检查。 类和包的位置约定检查。 继承检查。 分层依赖检查。 循…
前言 线上环境,一般我们不需要详细的日志。但如果线上出现了啥疑难杂症,这些详细日志将会变得非常宝贵。这时,我们就需要调整日志的输出级别,把详细日志打开,帮助我们定位问题。比如把日志级别从WARN调整为DEBUG,打印出更多的信息帮助我们定位问题,而这就需要我们有一种在Runtime调整日志级别的能力。 实现 代码修改 代码修改的话,你需要写一段如下…
概述 最近接触到一个新的架构:COLA (基于扩展点+元数据+CQRS+DDD的应用架构) COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”。 开源地址:https://github.com/alibaba/COLA 博主 张建飞(alibaba) 博客地…
前言 最近在优化公司的一个数据导入功能,里面涉及到比较复杂的逻辑,特别是最后一个列表更新,涉及到比较多的数据,在这里卡顿处主要为两处: 1.使用大量的查询条件去做修改删除操作 2.在一个for循环里面调用数据库做修改操作; 当数据量大的时候,服务非常的卡顿,在这里记录一下优化过程 现状 代码一: sql中有大量查询条件 Service 类 // 前…
简介 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化. EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 EXPLAIN 就可以了, 例如: EXPLAIN SELECT * from user_info WHERE id <…
nps-npc 简介 nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。 一台有公网IP的服务器(VPS)…
我们一般用 touch 命令创建一个空文件,但是如果有时候需要的话,如何创建特定大小的新文件呢 dd 命令 dd 命令用于复制和转换文件。它最常见的用途是创建实时 Linux USB。 dd if=/dev/zero of=test.img bs=2G count=1 上面创建了一个大小为 2 GB 的文件,其中有一个大小为 (bs, block …
复制到浏览器地址即可 data:text/html,<frameset cols="50%,50%"><frame src="data:text/html,<body contenteditable>"/><frame src="data:text/html…
OAuth 2.0 是一个流行的授权机制,用来授权第三方应用,获取用户数据。 第三方登录 用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。举例来说,A 网站允许 GitHub 登录为以下流程: A 网站让用户跳转到 GitHub。 GitHub 要求用户登录,然后询问&…
如题,sql 报错:Table is specified twice, both as a target for 'UPDATE' and as a separate source for data。表被指定了两次,同时作为 update 对象和独立数据源。 报错场景 查询两个表的差集并更新记录。举例说明:a、b 两表联查,找出…