Java

混沌演练实践(二)-支付加挂链路演练

1. 背景 当前微服务架构下,各个服务间依赖高,调用关系复杂,业务场景很少可以通过一个系统来实现,常见的业务场景实现基本涉及多个上下游系统,要保证整体链路的稳定性,需要尽量减少系统之间的耦合性,避免因为单点失效引起整个链路的故障。 2. 目标 通过混沌演练验证链路中部分系统发生故障时候的整体链路的表现,对链路保持正常运作的能力进行校验和评估,提前识别未知隐患并进行修复,进而保障整个链路更好地抵御生

Qt+QtWebApp开发笔记(三):http服务器动态html连接跳转基础交互

前言   网页很多时候是动态的,于是本篇文章目标实现一个简答的动态页面—页静态页面互相跳转,点击可以跳转到子页面。   Demo    下载地址   链接:https://pan.baidu.com/s/1bbhcu1XTiaJRYGRQRG5a0g?pwd=1234   HTML基本页面交换   上一篇的“Hello World”应用程序确实输出

springboot~对应sharding-jdbc实现分库分表

原因 当mysql数据库单表大于1千万以后,查询的性能就不能保证了,我们必须考虑分库,分表的方案了,还好,sharding-jdbc可以很优雅的与springboot对接,完成对mysql的分库和分表。 依赖整理 为了不影响其它小容量的表,所有添加了动态数据源,只对需要分库分表的进行配置即可 com.baomidou:dynamic-datasource-spring-boot-starter

java将wkt面数据转geojson和elasticsearch的shape数据

wkt面数据转geojson import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONObject; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Geometry; import org.

Netty实战(二)

一、环境准备 Netty需要的运行环境很简单,只有2个。 JDK 1.8+ Apache Maven 3.3.9+ 二、Netty 客户端/服务器概览 如图,展示了一个我们将要编写的 Echo 客户端和服务器应用程序。该图展示是多个客户端同时连接到一台服务器。所能够支持的客户端数量,在理论上,仅受限于系统的可用资源(以及所使用的 JDK 版本可能会施加的限制)。 Echo 客户端和服务器之间

5月24日周三

计划 学习前端知识angular框架,html语法扎实的学,css,JavaScript 学习后端框架,Java语言学扎实点 要搞明白数据库中的字段含义,以了解数据库表如何设计!!! 对数据库表进行重新理解,对论文中相应的部分进行修改!!! 下午背单词,从题中,然后听听力,然后做数学不行就看数据结构 回顾这三个月学了些啥 做答辩PPT 执行 09点16分  开始工作 09点51分

upload-labs靶场第4关

查看源码第四关发现取消了重命名文件且完善了黑名单 但是也有遗漏 利用htaccess解析漏洞攻击上传.htaccess文件后数据库会将png当成PHP文件进行解析或者利用没有循环判断的漏洞进行绕过打开靶场查看提示发现禁用好多后缀 发现是.htaccess 绕过新建一个文本文档编辑文件名改成 .htaccess 进行上传修改配置文件大写ALL 改成小写图片用notepad++打开 在最后一行把12

Redis 的bitmap byte转位bit

bitmap 我们知道redis的bitmap本身不是一种数据结构,底层实际上依靠字符串进行存储,可以借助字符串进行位操作,由于redis的字符串最大内存位512MB,所以bitmap的bit位也是有上限的,8 * 1024 * 1024 * 512 = 2^32,由于C语言字符串的末尾都有一位分隔符,所以bitmap存储的实际上限位 2^32 - 1,所以我们可以借助bitmap来实现很多功能,

JAVA代理

java代理静态代理和动态代理 简介 优点 缺点 静态代理 在不修改目标对象的基础上,通过扩展类对目标对象进行增强和扩展。 静态代理对客户(测试类)隐藏了被代理类接口(目标类接口)的具体实现类,在一定程度上实现了解耦合,同时提高了安全性。 静态代理类需要实现目标类(被代理类)的接口,并实现其方法,造成了代码的大量冗余。静态代理只能对某个固定接口的实现类进行代理服务,其灵活性不强。故

upload-labs靶场第14关

打开靶场发现phpStudy 使用5.3以上版本只允许使用这三种文件格式1 制作图片马 创建一个文件夹里面 准备一张 jpg图片和准备一个一句话木马的php文件 使用notepad++打开图片最后一行添加<?php phpinfo();?>2 打开cmd 使用命令制作图片马输入命令copy 图片位置 /b + 木马php位置 /a 编写的文件名称 .jpg3上传文件抓包查看文件路径4点

upload-labs靶场第13关

上传文件进行抓包上传成功完成

自定义注解实现数据序列化时进行数据脱敏(基于springboot默认jackjson)、消息转换器HttpMessageConverter

消息转换器 HttpMessageConverter 消息转化器的作用 将请求报文转化为Java对象 将Java对象转化为响应报文 消息转换器接口 转换器加载流程 消息转换器是在项目启动的时候通过WebMvcConfigurationSupport进行加载,当getMessageConverters()被调用的时候会通过configureMessageConverters()、addDefaul

upload-labs靶场第20关

没有对上传用户名的文件做判断,只对用户输入的文件名做判断 后缀名黑名单 上传文件名用户可控 黑名单用于用户输入文件后缀名进行判断move_uploaded_file() 特性 会忽略文件末尾/.1 建立新文档 输入 <?php phpinfo();?> 命名成PHP文件 有两种模式 一种 末尾加php/. 另外一种末尾加php%00 注意这种模式需要进行url转化%00是url编码,

23-05-24 刷题

练习刷题思路 Missing Number - LeetCode 【easy】 分析: 长度为n的int数组,包含无重复的元素,每个元素范围是[0, n]. 找[0, n] 范围内没有出现在数组中的那个元素。 思路1: 用求和公式,计算出0+1+…+n的和,然后遍历数组,减去出现的,最后剩下就是没有出现的。时间 O(n) 空间 O(1) 思路2:用异或的性质,两个相同的数异或结果是0,所以先把0

消息队列中间件(RabbitMQ)

说明 这篇文章是自己 Rabbitmq 的入门学习的记录。 预备知识 栈(Stack) 是只允许在一端进行插入或删除的线性表。栈又称为后进先出(Last In First Out)的线性表。 队列(Queue) 记住,FIFO 先入先出就好了。 服务端雪崩 服务的雪崩效应是一种因服务提供者不可用导致服务调用者不可用,并将不可用逐渐放大的过程。 微服务之间相互调用,因为调用链中的一个服务

Sql 常用代码

数据批量插入另一表(表存在或不存在) --如果目标表存在: insert into 目标表 select * from 原表 --如果目标表不存在: select * into 目标表 from 原表 --如果不想复制数据,仅复制表结构: select * into 目标表 from 原表 where 1=0 查看数据库中的所有表的名称 Select TABLE_NAME FROM WebAppB

Redis的数据类型总结

1:String String有三种编码方式: int(整数型,直接以RedisObject存储)、 raw(大于等于32位,使用sds进行存储)、内存结构为*ptr指向一个sdshdr,需要申请两次内存,可以修改!) embstr(小于32位),其中embstr只需要一次内存分配,数据比较小的时候使用,但他是只读的,如果需要修改会变为raw再执行修改 2:List List的编码方式有ZipL

Flink白话解析Watermark

一、摘要 如果想使用Flink,Flink的Watermark是很难绕过去的概念。本文帮大家梳理Watermark概念   二、Watermark疑问 1、Flink应用的常见需求是什么 如公司运营一个官网,想统计下过去一分钟有多少用户访问官网。 如果使用Flink开发,来一条数据则计算一条也是可以的。但是这样频繁计算是非常消耗资源的,如果想用Flink做一些复杂统计,会非常费资源。 需

java api调用kafka 广播形式

已经启用了zookeeper和kafka 单机的ip为192.168.80.128 加入maven 的pom.xml代码如下  KafkaProducerDemo的代码如下 KafkaConsumerDemo 代码如下   当启动KafkaConsumerDemo两次后,再启动KafkaProducerDemo.java,在命令行中可以看到KafkaConsu

java 多线程:各种锁

乐观锁 悲观锁 这不是一种具体的锁,是一个广义的概念,可以认为所有的锁都是悲观或乐观的,java 中绝大部分锁都是悲观锁(synchronized、ReentrantLock等);也有乐观锁(原子类的递增、读写锁的读锁),java 的乐观锁都是 cas 实现的 乐观锁 顾名思义,老是假设自己在操作数据的同时一定会有别的数据也来操作,所以自己获取数据的时候要加锁,防止别的线程拿到这份数据 常见的实

MQTT实现(Java语言)

下面是我们Java语言实现的MQTT服务的发布/订阅   1、添加Maven依赖   2、ServerMQTT.class   3、ClientMQTT.class   4、PushCallback.class 5、结果展示      

Velocity 不用愁!Velocity 系统的前端工程化之路

Velocity是一个基于Java的Web页面模版引擎。十多年前,Velocity将Java代码从Web页面中分离出来,使得开发者能够并行网页开发和Java开发。随着十年前后端分离的浪潮涌动,回首再面对这些基于Velocity的旧系统,无论是后端还是前端人员维护,都会存在诸多问题: (1)后端人员维护:不熟悉前端开发模式,需要花费大量精力学习UI和Js框架; (2)前端人员维护:Velocity渲

Cesium加载geojson数据

GeoJSON格式 GeoJSON是一种常用的基于JavaScript对象表示法(JSON)的地理数据交换格式。GeoJSON支持诸如点、线、面和多边形等地理要素的表示,并且可以和矢量数据结构相互转换。 在Cesium中,使用Cesium.GeoJsonDataSource.load()方法可以将本地的GeoJSON文件加载到图层中。 Cesium.GeoJsonDataSource Cesi

Java并发编程 优化多任务查询接口

代码展示 执行结果 多线程响应结果平均: 14.8ms 单线程响应结果平均: 31.4ms ps:在任务量多的情况下 多线程速度会越来越显著

MyCat安装操作

  前四步跟安装mysql主从复制一样,只需要在ip地址步骤处将ip更改即可,避免冲突 改变管理员为系统默认管理员 命令行:su 输入安装centos 7时设置的密码(我的密码是123) 或者输入命令行:su root在输入密码,成功后如下图 因centos 7 ip会在重启后不断变化,需要进行固定ip,先在centos 7图形界面中的文件管理器中找到如下地址文件 此处我的是

如何给布局或者控件添加边框

如何给布局或者控件添加边框 我在学习和开发 JavaFX 程序时,对 Pane 会有一些疑问,比如: 它们的大小是怎样的? 它们的大小和父节点或者窗口的关系是怎样的? 相同的问题在控件上也存在,比如一个 Label 到底占据了多大的空间(因为默认 Label 没有边框展示)? 我想,如果可以给布局或者控件添加上边框,可以更加清晰直观的看到答案。 Pane 和 Control 都有一个 setB

upload-labs靶场第1关

前端验证打开靶场选择所需要上传的文件点击上传发现 上传文件不允许上传php格式文件使用javascript在客户端验证,后端源代码没有设防 直接禁用javascript就行将webshell后缀改成.jpg格式后使用 在进行抓包拦截 把后缀改为.php格式进行绕过接下来右击屏幕 点击检查下滑找到 返回页面 点击上传上传成功 打开抓包工具进行抓包 打开抓包工具后把上面步骤重复一遍才可以抓包成功 抓包

upload-labs靶场第19关

这关是一个文件包含漏洞 文件解析 先上传一个图片木马 进行抓包获取路径 因为服务器会把上传的文件重命名一个新的 因为他是先验证 然后上传到服务器 所以他的文件路径要改 配合文件漏洞获取他的信息查看源代码提示这一关做了白名单验证文件上传后先保存在对象中 随后对文件进行判断存在,检查扩展名,检查大小,重命名,移动操作,没有判断文件头,二次渲染等 可以使用图片木马配合文件包含漏洞进行绕过 虽然进行了移动

设计模式的七大原则

软间的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性(Maintainability) 较低的软件设计,通常由于如下4个原因造成: •过于僵硬(Rigidity) •过于脆弱(Fragility) •复用率低(Immobility) •黏度过高(Viscosity) 软件工程和建模大师Peter Coad认为,一个好的系统设计应该具备如下三个性质: •可扩展

<<  <  1220  1221  1222  1223  1224  1225  1226  1227  1228  1229  1230  >  >>