idea

idea破解

目录 Goland IntelliJ IDEA goland 下载新版破解补丁 下载补丁文件 jetbrains-agent.jar 并将它放置到 Goland安装目录的\lib目录下(位置可随意,放这里是怕误操作删除了破解文件)。 进入项目界面 进入到项目界面后,点击GoLand最上面的菜单栏中的 “Help” -> “Edit Custom VM Options …”,如果提示是否要创建文件,请点”Yes”。 在打开的vmoptions编辑窗口末行添加:-javaagent:你goland的安装目录\jetbrains-agent.jar 请仔细检查补丁路径是否正确,

  • 凯文
2 min read
other

X.509 数字证书介绍

X.509 数字证书结构图 简单来说,数字证书就是一张附带了数字签名的信息表。 下图或许可以帮助对本文的理解。 互联网中常见的信息窃取方式 假设客户端「C」想和互联网另一端的服务器「S」进行无保密通信,且客户端「C」没有部署任何服务器身份验证机制。 假冒服务器 假冒的服务器「fake_S」冒充「S」,直接与「C」进行通信。 如果「C」打算将密码之类的敏感信息传递到「S」,那么敏感信息就会被「fake_S」截获。 这时候「

  • 凯文
13 min read
java

spring zuul接口与转发过程

spring zuul转发问题 spring zuul项目中的RestController api成功调用,但是存在部分接口调用了PostFilter,但是其它接口不执行PostFilter 原因 zuul: prefix: /v1 routes: new-platform-env: sensitiveHeaders: Access-Control-Allow-Origin,Access-Control-Allow-Methods path: /v1/** url: http://trade-application-gateway:8080 stripPrefix: false new-platform-env2: sensitiveHeaders: Access-Control-Allow-Origin,Access-Control-Allow-Methods path: /v2/** url: http://trade-application-gateway:

  • 凯文
3 min read
java

spring cloud zuul无法转发路由

问题 进行以下路由配置,当调用/financial_order/calculation时,无法将请求转发到http://service-financial-product:8080;zuul应是按从上至下,第一个匹配到的规则进行转发,所以原则上应请求至http://service-financial-product:8080 financial_calculation: path: /financial_order/calculation url: http://service-financial-product:8080/financial_product stripPrefix: false financial_order_service: path: /financial_

  • 凯文
1 min read
java

spring application.yaml配置文件解析过程

目录 主要相关类介绍 PropertySource PropertySources PropertySourceLoader PropertySourcesLoader PropertyResolver Environment StandardServletEnvironment ConfigFileApplicationListener ConfigFileApplicationListener.Loader 主要相关类介绍 PropertySource 是Spring对name/value键值对的封装接口。该定义了getSource()方法,这个方法会返回得到属性源的源头。比如MapPropertySource的源头就是一个Map,PropertiesPropertySource的源头就是一个Properties。 public abstract class PropertySource<T> { protected final Log logger = LogFactory.

  • 凯文
12 min read
other

常用的加密算法

概述 对称加密算法 非对称加密算法 散列算法 详述 对称加密算法 DES 应该是最早的现代密码学算法之一。它由美国政府提出,密钥长度为 56 位。目前,它暴力破解 56 位密码的时间,已经能控制在 24 小时内了。 DES 实际上是一个过时的密码学算法,目前已经不推荐使用了。关于 DES,还有一点特别有意思。DES 包含一个关键模块:S 盒,其设计的原理一直没有公开。因此,很多人都相信,这个

  • 凯文
5 min read
docker

查看docker容器的tcp连接

查看容器内的tcp连接 当需要查看tcp连接时,通常使用netstat或ss命令查看,但是查看docker容器的tcp连接存在两个问题 docker容器中无netstat或ss命令 node节点上无法查看容器中的连接 查看docker容器中网络连接 通过容器中的proc文件查看 查看proc文件内容 cat /proc/net/tcp 内容分析,主要关注的点是local_address、rem_address sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt

  • 凯文
6 min read
golang

golang之udpConn

golang进行UDP client/server通讯的过程中发现Read/ReadFromUDP/Write/WriteToUDP的使用,还有connection/unconnection较乱。 代码实验 UDP server UDP服务器端在调用”net.ListenUDP()“后创建”net.UDPConn”,read/write操作是通过这个UDPConn来完成的。因为listen的时候只指定了本地绑定的地址,它只能被动的接收来自客户端的消息,因此这个UDPConn在golang中为’unconnected’类型的。 这种类型的UDPConn的读操作可以接受Read()及ReadFromUDP()。区别是Read()无法知道远程连接的地址信息而ReadFromUDP()可以,所以如果后续需要跟远程进行双向通讯需要使用ReadFromUDP()。 这种类型的UDPConn在进行写操作时必须使用WriteToUDP()完成,并且需要指定对方的地址信息。

  • 凯文
3 min read
linux

kill 命令解析

kill命令概述 通过man kill查看文档说明 kill命令将指定的信号发送到指定的进程或进程组。 如果未指定信号,则默认的发送信号为TERM,当该进程未处理TERM信号时,该信号将杀死该进程。 如果发送的信号为0,则不发送信号,但仍会执行错误检查。 linux信号列表 [root@test-master temp]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE

  • 凯文
3 min read
linux

理解inode

inode是什么? 在文件系统中,文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

  • 凯文
9 min read
linux

TUN/TAP概述及操作

TUN/TAP概述 在云计算时代,虚拟机和容器已经成为标配。它们背后的网络管理都离不开一样东西,就是虚拟网络设备,或者叫虚拟网卡,tap/tun 就是在云计算时代非常重要的虚拟网络网卡。 TUN/TAP 是什么 tap/tun 是 Linux 内核 2.4.x 版本之后实现的虚拟网络设备,不同于物理网卡靠硬件网卡实现,tap/tun 虚拟网卡完全由软件来实现,功能和硬件实现完全没有差别,它们都属于网络设备,都可以配置 IP,都归 Linux 网络设备管理模块统一管理。

  • 凯文
9 min read
mysql

mysql行锁分析一

mysql锁的原则 原则 1:加锁的基本单位是 next-key lock。next-key lock 是前开后闭区间。 原则 2:查找过程中访问到的对象才会加锁。 2.1: 若字段上无索引,因要根据id查询所有的数据,所以所有数据均会加上next-key lock 2.2: 若字段上有普通索引,则只有访问到的数据添加next-key lock,但是最后一条由于不满足,所以根据优化2,退化为间隙锁 优化 1:索引上的等值查询,给唯一索引加锁的时候,next-key lock 退化为行锁。

  • 凯文
10 min read
java

java内部类

java静态内部类及非静态内部类 在非静态内部类中不可以声明静态成员变量及方法,静态内部类可声明静态及非静态成员变量及方法 非静态内部类,可以随意的访问外部类中的成员变量与成员方法,即使这些成员方法被修饰为private 不能够从静态内部类的对象中访问外部类的非静态成员(包括成员变量与成员方法) 创建静态内部类时不需要将静态内部类的实例绑定在外部类的实例上,而非静态内部类必须绑定在外部类的实例上 内部类的声明关键字同其它成员变量的声明关键字,如若内部类声明为protected,则当前类,同包,子类可创建及使用该内部类,而其它类则不可访问;内部类中的声明同理 // 非静态内部类 Student s = new Student(); Child c = s.new Child(); // 静态内部类 Student s = new Student(); Child

  • developer
1 min read
java

如何开发一个starter

参考 starter的概念 starter是一种对依赖的synthesize(合成) 进行一些默认的初始化,并且这些初始化操作,都可以在spring.yaml配置文件中覆盖 进行一些实例的初始化,比如之前如果要实例化某类 配置spring 扫描某包 手动通过config创建bean 而starter可通过spring.factories文件实例化对象 传统的做法 在没有starter之前,假如我想要在Spring中使用jpa,那我可能需要做以下操作: 在Maven中引入使用的数据库的依赖(即JDBC的jar) 引入jpa的依赖 在xxx.xml中配置一些属性信息 反复的调试直到可以正常运行 需要注意的是,这里操作在我们每次新建一个需要用到jpa的项目的时候都需要重复的做一次。也许你在第一次自己建立项目的时候是在Google上自己搜索了一番,花了半天时间解决掉了各种奇怪的问题之后,jpa终于能正常运行了。有些有经验的人会在OneNote上面把这次建立项目的过程给记录下来,包括操作的步骤以及需要用到的配置文件的内容,在下一次再创建jpa项目的时候,

  • 凯文
8 min read
java

7.3 jvm之nio之基本概念及基本操作

一. io与nio的区别 io 与 nio介绍 io:io是对流的操作,分input及output两种流。 nio:nio是对缓冲区的操作,该缓冲区为双向的,即可输入又可输出 Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。 Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据到缓冲区时,

  • developer
4 min read