
编程技术及工具
文章平均质量分 64
彧卿丶
知道的越多,不知道的就越多
展开
-
数据加密保障数据安全
但是经过hash处理后的密码依然未必安全,常见的有字典破解以及暴力破解,但是由于上述方法算法复杂度过大,当下大多选择更高效的查表法进行处理——包括逆向查表以及彩虹表法。salt是一个随机生成的长字符串,将salt与原始密码连接,对连接后的字符串加密,由于salt的随机性,解决了查表法带来的问题。因此,使用MD5加密的数据,后端不需要再次加密,只需要将加密后的数据保留至数据库。数据加密是安全领域中常用的安全措施,它们的主要作用是保护数据的机密性和完整性,以防止未经授权的访问、窃取、篡改或泄漏敏感信息。原创 2024-01-16 16:55:46 · 1640 阅读 · 0 评论 -
rancher2.6 docker版本部署
注:上面命令中rancher的版本v2.6.5,仅仅是我因为我们环境中使用的k8s都是 1.20.1 到1.23.6 之间的版本。原创 2023-11-24 15:47:41 · 1363 阅读 · 0 评论 -
解决java: 程序包org.springframework.boot不存在的解决方法
程序包org.springframework.boot不存在原创 2022-11-22 17:20:37 · 40874 阅读 · 21 评论 -
监控系统-埋点
监控系统顾名思义就是希望对业务系统进行监控,监控大致上分为这么几个环节:埋点、传输、计算、展示。每一个环节具体如何去做,方案如何抉择都是一篇很长的文章,今天就只谈谈关于如何埋点的体会。通常的来说,埋点主要有三种形式,或者说获取客户端数据有三种方式动态字节码增强(动态代理) — 约定配置主义 侵入到需要埋点的中间件 —埋点主义 采集所有的日志数据 — 现象主义约定配置主义 先看看第一种,所谓的动态字节码增强有两种方式,其一是在class文件被加载到JVM之前就代理了业务类,其二...原创 2022-03-10 15:28:54 · 1465 阅读 · 0 评论 -
浅析VO、DTO、DO、PO的概念、区别和用处
本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念:概念:VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布...原创 2021-09-24 16:57:08 · 499 阅读 · 0 评论 -
如何判断终端环境是物理机、虚拟机还是容器?
有点黑客帝国的意思,我就想探索下怎么判断当前终端所处环境是容器里还是就在物理机上,或者是虚拟机?容器和虚拟机的区别:容器共享内核,虚拟机独享内核虚拟机和物理机的区别:虚拟机是软件模拟的完整硬件系统功能的、完全隔离环境的计算机系统。只要模拟的全面,是没有太大差别的。除了性能差异,毕竟软件做了硬件的事。以下测试环境:容器 docker虚拟机 私有CVM物理机 ubuntu方法一:sy...原创 2021-09-24 16:50:54 · 1758 阅读 · 0 评论 -
logback的使用和logback.xml详解
一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能二、logback原创 2021-09-24 16:15:17 · 473 阅读 · 0 评论 -
常见的三种加密以及对应的加密算法
各种加密用了很多,MD5、SHA、AES、RSA...等,但是还是傻傻的分不清这几种加密算法分别属于什么类型的加密,以及加密的逻辑。现在放在一起研究了下,于是整理出这篇文章来。一、散列算法(Hash算法---单向加密算法)1. 简介散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应...原创 2021-07-19 17:52:09 · 4132 阅读 · 0 评论 -
Mac根目录下创建目录问题
我使用的 MAC 的 ios版本是 11.2.3出现这种问题,网上的许多帖子都是说更改SIP的状态# 常见错误1, 直接创建目录mkdir -p /testmkdir: /data: Read-only file system# 常见错误2。 进入安全模式,关闭authenticated-root和SIP后,重新挂载根分区sudo mount -uw /mount_apfs: volume could not be mounted: Permission denied m.原创 2021-05-08 19:32:16 · 2781 阅读 · 2 评论 -
QPS/TPS/PV 之间的关系
一、概念解读 QPS:(Queries Per Second),及每秒执行的查询总数(每秒有多少的请求响应--“每秒查询率”)。 客户端请求一个地址时,比如百度首页,其实会产生很多的请求,比如js、css、png等,像这样的每个单个请求都可以算作查询次数。若在一秒内,客户端请求服务端的首页,服务端返回了N个内部链接(js、css、png、html等),那么服务端的QPS就为N。 QPS反映系统的吞吐能力,更偏向于读取文件,查询数据。 TPS:(Transactions Per Sec原创 2021-05-06 14:33:31 · 907 阅读 · 0 评论 -
mac os 下使用sublime 退出后重新打开文件不再显示
在Windows系统下,sublime 打开时,默认会打开上次编辑的文件(不管是不是已经保存的文件)。而当在mac os 下,点击关闭就会弹出是否保存解决方法:退出使用cmd+q, 别用cmd+w或者关闭按钮。...原创 2021-05-06 13:38:42 · 1641 阅读 · 1 评论 -
Chrome开发人员工具Network保存的请求记录HAR文件如何打开,怎么解析?
之前的Network是没有导入HAR文件功能的,最近的新版本有了重新导入HAR文件的功能,非常棒的一个功能,所以必须要分享出来给大家。导出HAR文件有两两种方法:1、随便选择一条请求记录然后右键选择Save all as HAR with content即可导出请求记录为HAR文件。2、工具栏面板上有个向下的箭头(Export HAR…)点击它也可导出请求记录为HAR文件。导入HAR文件到Network:工具栏面板上有个向上的箭头(Import HAR file…)点击它可以导入HA原创 2021-02-19 15:25:45 · 4279 阅读 · 0 评论 -
docker的privileged 与 k8s的privileged 设置方式
有一个容器想要从docker直接运行改造成kubernetes部署,结果发现很多文件的权限,在docker和kubernetes中不一样 1、docker 运行privileged命令:docker run -t -i --privileged centos:latest bash 2、kubernetes 里面比较完整定义了 SecurityContext: capabilities: add: ["NET_ADMIN"] 需要在pod的yml中增加如下定义...原创 2021-02-19 15:23:21 · 6571 阅读 · 0 评论 -
如何向容器传递环境变量,以及如何查看Docker容器环境变量
1 前言 了解Docker容器的运行环境非常重要,我们把应用放在容器里执行,环境变量会直接影响程序的执行效果。所以我们要知道容器内部的环境变量,也要知道如何改变这些环境变量。2 设置环境变量2.1 方式一:打包设置dockerfile 在通过Dockerfile打包镜像的时候可以配置环境变量:ENV SERVER_PORT 80ENV APP_NAME pkslow2.2 方式二:启动设置docker run --env 使用--env和-e是一样效果的,示...原创 2021-02-19 15:15:11 · 9694 阅读 · 0 评论 -
Nginx下关于缓存控制字段cache-control的配置说明
HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括: no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached等。响应消息中的指令包括: public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max原创 2021-02-19 14:59:36 · 4094 阅读 · 0 评论 -
Git push
在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。 git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master...原创 2021-02-19 14:43:51 · 188 阅读 · 0 评论 -
Tengine 启动报错:ngx_slab_alloc() failed
故障:在Tengine版Nginx中新加了配置,reload之后发现配置没有生效,reload时也没有错误提示,百思不得其解查看Nginx worker process的启动时间,发现时间并没有更新,也就是reload并没有起作用!尝试重启Nginx,终于报错了:2018/08/17 13:47:32 [crit] 32468#0: ngx_slab_alloc() failed: no memory2018/08/17 13:47:32 [emerg] 32468#0: http ups.原创 2021-01-31 14:49:49 · 2262 阅读 · 5 评论 -
URL中的#、?、&解释
遇到的问题前端同学发送了个https://as.xxx.com/cloudbot/index/#/ecs?hideTopbar=true http请求,发现后端接受到的requestUrl中 # 后面的参数不见了,查看资料才发现http请求中是不存在# 的一、#说明1、#的涵义 #代表网页中的一个位置。其右面的字符,就是该位置的标识符。比如,http://www.example.com/index.html#print就代表网页index.html的print位置。...原创 2020-10-26 15:45:11 · 2239 阅读 · 1 评论 -
史上最全的maven的pom.xml文件详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <!-- 父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的.原创 2020-08-06 15:14:51 · 411 阅读 · 0 评论 -
RPC和WebService的区别
1、RPC服务RPC(Remote Procedure Call)— 远程过程调用,是一个很大的概念, 它是一种通过网络从远程计算机程序上跨语言跨平台的请求服务,rpc能省略部分接口代码的开发,可以跨机器之间访问对象(java rmi),可以有更方便的加密和更高效的数据传输性能, 而不需要了解底层网络技术的协议, RPC不仅可以走HTTP/HTTPS, 也可以自定义 tcp 协议, 从而省略HTTP繁杂的规则和冗余信息。(1)RPC架构先说说RPC服务的基本架构吧。一个完整的RPC架构里面包含了原创 2020-08-06 15:10:29 · 4806 阅读 · 0 评论 -
什么是API,SDK和API之间有什么关系呢?
随着软件规模的日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要,程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分,良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。API是接口的一种,在程序交互中具有重要的作用,而SDK与API有着密不可分的关系。通俗语言解释API前端调用后端数据的一个通道,就是我们俗说的接口,通过这个通道,可以访问到后端的数据,但是又无需调用源代码。SDK原创 2020-08-06 14:06:56 · 272 阅读 · 0 评论 -
Nginx 使用---拒绝指定IP访问
一、问题描述服务器可能会受到攻击者的恶意访问,攻击者IP会不断的猜测路径,上传文件(木马);或者进行短信消耗;或者破解密码,等等行为。我们要做的是,对这些恶意的访问IP进行拦截。二、Nginx的日志格式因为首先一定是要查看日志的,所以首先熟悉下Nginx的日志格式描述:log_format main '$remote_addr - $remote_user [$time_l...原创 2020-04-14 11:32:28 · 3902 阅读 · 0 评论 -
Tomcat 调优及 JVM 参数优化
Tomcat 的缺省配置是不能稳定长期运行的,对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU 的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU 的处理能力越强,系统运行速度越快。Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面,分为系统优化,Tomcat 本身的优化,Java 虚拟机(JVM)调优。系...原创 2020-04-13 14:13:35 · 1307 阅读 · 0 评论 -
如何使用IDEA打包springboot项目并且执行
1.清理项目在打包项目之前要把之前的class文件清理掉,一般项目都是交给maven来管理jar包,可以利用maven来把项目打成jar包并运行。首先点击mevan,双击clean清理编译的class文件,然后你会发现项目中target文件夹没了,实际上那里就是编译产生的class文件。2.打包运行结束后你打开target文件夹,底部有一个jar后缀的文件,那个就是我们打包好的项目...原创 2020-04-13 09:53:38 · 4023 阅读 · 0 评论 -
什么是跳板机?XShell如何通过跳板机连接内网机器?
一、了解跳板机跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一。 跳板机是网络中容易受到侵害的主机,所以跳板机也必须是自身保护完善的主机。通常至少配备两块网卡设备,分别具备不同的网络连接。一个连接外网,用以对目标服务器的远程登录及维护;另一个则连接内网,便于内部网络的管理、控制和保护,通过网关服务提供从私...原创 2020-04-07 10:49:39 · 14281 阅读 · 1 评论 -
plsql Develope 常用快捷键设置
1、PL/SQL Developer记住登陆密码在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;设置方法:Tools->Preferences->Oracle->Logon History,“Store history”是默认勾选的,勾上“Store with password”即可,重新登录...原创 2020-04-01 18:23:25 · 1522 阅读 · 0 评论 -
PLSQL Develope安装及instantclient配置
前提是先安装好PLSQL-Developer工具,安装PLSQL程序相信大家都会,这里就不说了。正常的登录窗口:当你的图为:没有这个选项无法连接数据库.没有安装Oracle的话,这里就会少一个选项"连接为",如果您安装了Oracle客户端那就请忽略该经验,因为PLSQL工具会自动从系统注册表找有没有Oracle的配置信息,没有则显示如第一张图,有则显示第二张图(也可能个别机...原创 2020-04-01 18:17:02 · 866 阅读 · 0 评论 -
IDEA调试多线程
使用idea调试多线程的时候发现多线程无法调试,后来经过搜索发现,idea的断点有不同的模式,只有当Thread模式下才能调试多线程,设置方式如下:在断点上右键 选择Thread,然后点Done(建议选择Thread后点击make default把此模式设置为默认模式)之后就可以在debug模式按自己的想法调试多线程了补充:有时可能想在指定的情况下进入断点,如当某个线程时进入断...原创 2020-03-31 11:24:27 · 300 阅读 · 0 评论 -
SpringBoot项目启动参数idea设置
一、背景公司使用SpringCloud+SpringBoot构建微服务,使用Spring Cloud Config作为统一的配置中心。在开发的时候出现了这样一个情景:新起了一个项目,然后需要我来接手,但是起初只给了我开发的项目的权限而并没有给我对应的配置中心的权限,而在开发过程中代码需要使用配置文件的属性值,但是目前并没有对应的属性值,这样项目就启动不起来。所以需要在没拿到配置中心权限的这两天...原创 2020-03-31 11:13:23 · 2544 阅读 · 0 评论 -
阿里代码规范检查工具的安装使用
阿里巴巴于 10 月 14 日在杭州云栖大会上,正式发布众所期待的《阿里巴巴 Java 开发规约》扫描插件!简单了解一下这插件该插件由阿里巴巴 P3C 项目组研发。代码已经开源,GitHub:https://github.com/alibaba/p3c阿里介绍文章:https://mp.weixin.qq.com/s/IbibsXlWHlM59kfXJqRvZA#rd插件支持...原创 2019-01-04 17:08:57 · 603 阅读 · 0 评论 -
NFS服务器工作原理
1、什么是NFS服务器 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;2、NFS挂载原理 NFS服务器的挂载结构图:...原创 2019-01-08 17:33:18 · 255 阅读 · 0 评论 -
windows 控制台cmd乱码的解决办法
有时在cmd中输出的中文乱码??? 解决办法如下:在cmd中输入 CHCP 65001 ; 按Enter键,然后查看不再乱码 注:CHCP是一个计算机指令,能够显示或设置活动代码页编号。 代码页 描述 65001 UTF-8代码页 950 繁体中文 936 简体中文默认的GBK 4...原创 2018-08-27 09:05:00 · 341 阅读 · 0 评论 -
非对称加解密,私钥和公钥的用途
心底里一直有个疑问:私钥和公钥到底是谁来加密,谁来解密?第一种用法:公钥加密,私钥解密。---用于加解密第二种用法:私钥签名,公钥验签。---用于签名私钥和公钥是一对,谁都可以加解密,只是谁加密谁解密是看情景来用的:第一种情景是签名,使用私钥加密,公钥解密,用于让所有公钥所有者验证私钥所有者的身份并且用来防止私钥所有者发布的内容被篡改.但是不用来保证内容不被他人获得。第二种情景是加密,...原创 2019-04-25 14:33:51 · 1100 阅读 · 0 评论 -
用SVN版本控制器将提交的文件还原到以前的版本
SVN乌龟软件TortoiseSVN和相关的文件在相关的文件中右击鼠标,按右图进行选择在弹出框的地方点击我标记的地方,查看下曾经提交过的版本文件 在弹出框的地方,上面就是有版本号,下面就是我们文件名在上面选择相关的版本,然后在我划红线的地方双击,你就可以打开开当前版本同,该版本的前一个版本的比较情况通过上面比较后你知道那个版本是需要你还原原创 2018-01-31 22:34:58 · 1754 阅读 · 0 评论 -
关于MVC模式和软件的三层架构的区别
MVC表现模式和三层架构模式有一定的相似之处,在这里写一写他们的区别,有利于对他们之间的分辨。首先,说一说软件的三层架构。三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的原创 2017-12-17 22:33:14 · 413 阅读 · 0 评论 -
在地址栏输入一个url到页面加载都经历了什么?
当我们在浏览器网址中输入一个地址,点击回车后发生了以下事情。分为两种情况,http事务和https事务。先讲http事务:1、浏览器(客户端)进行了地址解析。2、将解析出的域名进行dns解析。3、通过ip寻址和arp,找到目标(服务器)地址。4、进行tcp三次握手,建立tcp连接。5、浏览器发送数据,等待服务器响应。6、服务器处理请求,并对请求做出响应。7、浏览器收到...原创 2018-10-18 16:42:52 · 454 阅读 · 0 评论 -
Java项目使用log4j和slf4j实现日志打印
什么是log4j?Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代...原创 2018-11-21 15:30:37 · 810 阅读 · 0 评论 -
谈谈HTTP协议中的短轮询、长轮询、长连接和短连接
版权声明:本文为博主原创文章,支持转载,但转载时请务必在明显位置,给出原文作者名字(左潇龙)及原文连接,否则,作者将保留追究法律责任的权利。 https://blog.youkuaiyun.com/zuoxiaolong8810/article/details/65441709--------------------- 作者:左潇龙 来源:优快云 原文:https://blog.youkuaiyun.com/...转载 2018-11-22 15:36:32 · 304 阅读 · 0 评论 -
Eclipse添加新server时无法选择Tomcat7的解决方法
好久没有Eclipse,没写过web项目(目前的项目都用的SpringBoot).当在Eclipse中创建了一个Web工程后,需要将该工程部署到Tomcat中进行发布。有时就会遇到在New Server对话框中选择了Tomcat 6/7后却无法单击“Next”按钮的问题,如下图所示:这时打开工程目录下的.metadata\.plugins\org.eclipse.core.runtim...原创 2019-01-04 17:03:41 · 961 阅读 · 0 评论 -
Eclipse配置Maven及setting文件解释
1、eclipse配置Maven。Eclipse上配置Maven主要有以下几个步骤:1.官网下载Maven压缩包,解压2.配置环境变量3.设置Maven的本地仓库4.Eclipse中添加Maven设置 具体的操作细节如下: 第一步下载Maven直接度娘。并解压。 配置环境变量:点击计算机属性--->高级设置--->环境变量。添...原创 2019-02-26 14:08:14 · 938 阅读 · 0 评论