自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 抓包理解协议

3次握手: source是源地址, destination是目标地址,info中的SYN是建立连接,syn,ack是一个包两个标记,建立连接+ack 然后 ack应答。urgent标记,配合紧急指针,把窗口当前的数据以及当前数据包中紧急偏移的部分数据一起紧急处理掉(窗口清空),然后当前包剩下的数据放窗口里面缓存。1.版本4、长度5(头长度:4*5 = 20byte =40位16进制 = 32位2进制)1byte占8位2进制,byte是32进制数据。

2024-04-27 22:28:44 355

原创 项目开发流程

1.持续集成 cicd \ devops gitlab 分支管理、tag包、dev\test\uat\prod环境。dev开发 -》 dev测 -》 test部署 -》 test测 -》 uat部署-》uat测-》prod。1.系统安全评估(跨域攻击、script脚本注入攻击、sql注入攻击、dos攻击)2.数据库表容量评估(是否后续要分表操作 - 后续需求)uat测:预生产环境(客户、产品测)1.产品设计:各功能、模块UI页面。test环境测 - 测试、业务 测。dev测:开发人员自测。

2024-04-27 08:13:56 774 1

原创 资源、死锁、监测死锁、死锁处理(单应用程序)

死锁:线程a拿了A资源的锁,然后b线程拿了B资源的锁,再都没释放的情况下,a去申请B资源的锁,等待b线程释放,然后b线程去申请拿A资源的锁,等待a线程释放,此时就是死锁了。或者N个线程一起锁了,比如 a拿了A,b拿了B ,c拿了C,d拿了D,然后a申请B,b申请C,c申请D,d申请A, 造成死锁。如果类也不好排序,那就直接一个大锁,拿完大锁,拿类锁,释放大锁,拿资源锁,释放类锁(类似于全局锁)然后 b线程完了之后,释放B和C资源,a线程继续跑,释放完A之后,c线程可以拿A和C执行了。

2024-04-26 02:23:43 608

原创 线程、线程组、线程池、锁、事务、分布式

一致性:我期间读取的数据是准确的,写入的正确的,然后提交成功。比如事务期间读了一条数据,他是4,然后期间别的事务改成了3、5、4,这时候要失败,哪怕他最后的值是4也要失败,所以要加数据版本进行比较,以及期间数据要一次性取出来再处理,如果分开取,期间别的事务修改了,你数据版本比较是检查不出来的(比如 你获取两条数据,A和B,你获取A的时候,B的版本是2,然后别人改了B,版本是3了,你再获取B,这时候你的B版本获取的是3,不是你最开始获取A时候的B了,你提交事务的时候检验B的版本是3是检验不出来的)。

2024-04-25 02:40:18 585

原创 数组、链表、集合、table、map、二叉树、索引、数据库

/ k[3] 和k[4]之间插入数据,那么k[4]要搬到k[4+N]的位置,后面的也要偏移N个搬走,一共有6个要搬走(k[0]到k[3] 四个元素不用动,剩下6个元素偏移搬走)比如当前长度是10,他去拿索引位置为8的元素,他会判断8与5(size>>1)的大小比较,如果如果小,从队前开始往下找,大或等于,从队尾开始往上找。table由于碰撞概率小,所以用单链做hash桶,减小没必要的内存;2.他改动8位置的下一个索引指针,指向N的队前,然后改N的队尾的下一个为9位置,改9的上一个为N的队尾。

2024-04-24 19:03:42 701

原创 bit、进制、位、时钟(窗口)、OSI七层网络模型、协议、各种码

会话层: 一般是进程之间的通讯了,HTTP\HTTPS协议 HTTP数据是可以抓的,明文的,HTTPS是在TCP和HTTP之间加了一层SSL/TSL协议,对数据加密,他是服务器生成公钥、私钥和一段明文,然后将明文HASH(报文)再私钥加密生成密文(签名),然后把签名、公钥、明文交给CA机构签发证书(包括生效、失效等信息)。伪造攻击是别人TCP正常沟通中,我伪造客户端ip,发送rest包(前提是要能拿到客户最新的序列号,然后+1发过去,一般要处于网络中间位置截获),让服务器清空正常的窗口数据。

2024-04-24 00:05:42 1010

原创 spring mvc \ spring boot \ spring cloud

spring boot 轻量级web程序,内置了web容器,(starter-web 启动内置tomcat) 或者通过依赖其他starter组件启动其他容器,比如netty等。(nacos是注册中心+配置中心)网关(主要是对外的)职责是1.资源权限认证 2.服务路由 3.异常封装(服务不可用的时候,给予一个可接受的反馈)3.安全组件security、shio、authority等,主要网关或者对外系统的接口服务用,注册中心职责是1.注册服务 2.根据服务名获取服务列表 3.监控服务状态 (心跳包检测)

2024-04-23 19:46:40 347

原创 web容器传统架构模型

java web 容器 框架 简单介绍

2024-04-23 17:14:17 528

原创 liunx mysql 安装

liunx mysql tar 安装

2023-12-17 19:10:39 65

原创 centos rabbitmq3.9.7安装遇到的坑 - “no such file or directory“,“crypto.app“

1.erlang 的crypto依赖包问题:erlang otp安装的24.0,(安装erlang之前得先安装相关依赖包)wgethttps://github.com/erlang/otp/releases/download/OTP-24.0/otp_src_24.0.tar.gz通过tar安装的(tar -zxvf 解压,然后进入目录执行 configure再make && make install)然后下载了rabbitmq的包 - 这个解压直接可以用的wget http.

2021-09-29 17:17:30 4994

原创 mysql 主从服务器搭建

准备两个mysql服务器,这里是 192.168.159.1(主服务器)和 192.168.159.3(从服务器)两个mysql版本是要一致的,我都是用的MySQL 8.0然后主服务器中修改mysql的cnf文件([mysqld]下面)添加:log-bin=mysql-bin #这是开启mysql的log 从服务器是读取log进行同步读取的binl...

2020-01-26 20:01:44 239

原创 区块链相关概念以及ETH公链的搭建

概念:去中心化:是对交易提出来的一种理念,一般货币的发行以及交易记账都是由官方进行记账,因此为了不由官方记账,从而提出了去中心化的概念。交易流水:交易流水是指转账记录等。以ETH为例,eth流水主要包括 from,to,value,gas,gasPrice,data等信息。共识机制:为了使得各个结点的信息保持一致的算法。它可以选出打包结点、同步、广播以及校验、接收区块。比如BTC的共识...

2019-04-17 11:34:02 2472

原创 二叉树探究之非叶子结点和叶子结点对半分且最多差一个

分析第一步,二叉树根据完整性(即最后一层是否满了)可分为“完整二叉树”和“非完整二叉树”(不知道有没有这个概念,自己定义的),然后从特殊情况开始即“完整二叉树”开始分析。设二叉树共N层,每层都是满的。那么第一层有1个结点,第二层有1*2个结点,第三层有1*2*2个结点,第N层有2^(N-1)个结点。一共有1+2+2*2+2^3+2^4+·····+2^(N-1)个结点根据等比数列的求和可以...

2019-03-24 16:32:10 8679 3

原创 堆排序(二叉树)

闲来无事,在网上看了一两个算法,感觉涨见识了,一个是快速排序,一个是堆排序。快速排序很好理解,看完感觉到了算法的魅力,然后是堆排序,我简单看了下的时候,感觉也很有魅力,但是之间的步骤的来由有点迷糊,所以琢磨了下。堆排序原理:1.什么是“堆”,这里的“堆”是二叉树,如下图:大致样式是这样的数据填于格子中。有“下级”格子的格子称为非叶子结点,没有“下级”格子的格子成为叶子结点。比如图中...

2019-03-24 16:28:29 1366

原创 应用netty框架简单通讯

1:导入maven坐标或者引入jar包<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>5.0.0.Alpha1</version></depende

2018-10-11 10:05:02 218

原创 nginx 配置http代理和ip访问权限(nginx的403)

nginx的配置文件可以配置http和tcp两个模块,这里我简单介绍下常用的http的配置nginx.conf文件在安装包解压后里面有,在安装nginx后在 /usr/local/nginx/conf目录下也有,这里我使用/usr/local/nginx/conf目录下的配置文件使用vim命令修改配置文件vim   /usr/local/nginx/conf/nginx.conf...

2018-09-18 19:30:09 18363

原创 nginx安装

nginx的安装首先要确定gcc啊那些什么的装好然后下载nginxwget http://nginx.org/download/nginx-1.5.9.tar.gz下载后解压tar  -zxvf  XXXXXXXXXX.tar.gz解压后进入目录进行编译./configure出现如下错误checking for C compiler ... not foun...

2018-09-18 18:59:03 133

原创 spring boot + mybatis

spring boot整合mybatisspring boot项目的搭建这里不再细说,可以参考我之前的文章我这里使用maven创建项目,所以我的jar都是通过maven导入。先添加mybatis的maven坐标<dependency> <groupId>org.mybatis.spring.boot</groupId> <ar...

2018-08-31 10:51:55 181 1

原创 spring boot 项目访问jsp

Spring Boot 项目整合jsp 一、添加相关的依赖包 在项目的pom文件中添加一下依赖:<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId></dependen...

2018-02-22 20:59:16 924 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除