- 博客(38)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 SpringMvc防御XSS实践
SpringMvc防御XSS实践项目在漏洞扫描时发现xss漏洞, 本以为是常见漏洞,网上有很多解决方案,应该能很快搞定,但实际上文章看了不少,却并未找到十分“顺手”的解决方案。 历经波折终于完成了一套自己想要的方案,现将过程分享出来,希望能帮助到遇到同样的问题人。方案目标:只配置一次,与业务接口无关过滤两种请求的参数:Content-Type为form表单(application...
2018-06-20 14:26:12
909
原创 mysql8 主从实践
mysql8 主从实践主机环境192.168.1.204(master)192.168.1.203(slave-1)192.168.1.202(slave-2)下载 mysql8下载地址Yum Repository下载地址安装Yum 安装文档# 在三台机器上都按以下步骤安装 mysql# 添加 MySQL Yum Repositorysudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm# 安装mysqlsudo yum
2020-12-21 13:10:11
167
原创 mysql转sqlite
github欢迎star 和 fork,指出问题,一起学习交流mysql 转 sqlite机缘巧合遇到这个需求,记录一下转换过程脚本自动转换找到了一个自动转换的脚本,可直接把将sql文件转成sqlite.dbhttps://github.com/dumblob/mysql2sqlite大小写敏感问题sqlite默认对大小写敏感,如果查询忽略大小写,需特殊处理建表sql建...
2019-09-10 20:55:44
1022
原创 docker-mysql实践
github,欢迎 star docker mysql imageimage url启动 mysql 实例docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tagsome-mysql 是容器名称, my-secret-pw 是 root 账户密码, tag 是 mysql 版本doc...
2019-07-21 14:55:31
233
原创 netty使用实践
github地址,欢迎starServerpublic void server(int nettyPort) { /** * boss事件循环组, 接收客户端的连接请求 */ EventLoopGroup boss = new NioEventLoopGroup(); /** * worker事件循环组,处理已经成功建立的连接 ...
2019-07-02 20:24:24
365
原创 Jmeter tcp压测实践
github地址,欢迎star项目需要针对socket协议接口进行性能测试。选定了比较熟悉的 Jmeter 工具,现记录下过程。新建 Tcp SamplerJmeter 提供了3个Tcp实现类:TCPClientImpl。这是实现文本消息交换的基本类。在TCP取样器中,Text to send字段提供不同字符集的文本常量或可变字符串信息。BinaryTCPClientImpl。这...
2019-05-08 23:25:04
3450
4
原创 软件神器清单
搜集好用的、炫酷的、提升使用效率、体验的各种优秀插件、工具、软件。github地址,欢迎starPicGo我认为最好的图床工具目前支持微博图床 v1.0七牛图床 v1.0腾讯云COS v4\v5版本 v1.1 & v1.5.0又拍云 v1.2.0GitHub v1.5.0SM.MS v1.5.1阿里云OSS v1.6.0Imgur v1.6.0http...
2019-04-27 15:42:01
569
原创 动态连通性问题之快速查找算法笔记
快速查找(贪心算法)目的:通过并查集解决动态连通性问题定义: 在一个N个元素的数组中,当且仅当 p、q的id相等时,p和q是连通的。课程链接github地址接口/** * 判断两个元素是否连通: 比对id值是否相等即可 */public boolean connected(int p, int q);/** * 连通p、q * 将所有与p相同id的元素的id值都...
2019-03-03 23:56:38
223
原创 《天局》读感
github访问地址阅读5小时28分(微信读书)天局自身为棋,胜天半子。高人一个出脑袋,一个出身体,两个人拼凑在一起,成为一个“高人”。脑袋下命令,身体执行。 无论两人合作的多像一个人,但终究还不是一个人。荒诞的剧情,神奇的视角,却引人深思。珍邮爱情并非只有开始的热情与美好,还有之后长期的平淡与共苦。受得了平淡、禁得起磨难、抵得住诱惑,方得始终,相伴一生。...
2019-02-20 19:47:33
426
原创 创建自定义maven-archetype实践
github如今,大多数java项目都使用了 maven 来管理 jar 包, 非常方便. 今天来讲一下自定义 maven 的 archetype 作为项目模板, 可非常方便的搭建新项目。create以现有 maven 项目创建模板cd projectmvn archetype:create-from-project该命令会会在 target/generated-sources 路...
2019-02-02 22:18:42
221
原创 一个网站的开发步骤
github经常有朋友说"我想做个网站"、“网站上放个什么什么”、"对你来说应该很容易,帮个忙吧"等等。怎么说呢,大部分非互联网行业的人是不了解网站的开发流程的,他们可能以为就是个简单的页面,顺手拈来,分分钟搞定的,其实不然。今天就来简单聊一聊一个网站的开发步骤,尽量做到简单易懂,希望能让非相关行业的人也能弄懂。准备服务器服务器是运行网站程序的电脑。公网IP每台电脑都有一个ip地址。...
2019-01-31 00:16:40
9895
原创 编码自查-阿里云开发手册
github地址学习阿里云开发手册,摘选出不知晓的、出过错的、记不住的条例,并附上自己的经历、解决方案等,方便以后强化记忆。编程规约常量定义【推荐】不要使用一个常量类维护所有常量,要按常量功能进行归类,分开维护。说明:大而全的常量类,杂乱无章,使用查找功能才能定位到修改的常量,不利于理解和维护。 正例:缓存相关常量放在类 CacheConsts 下;系统配置相关常量放在类 Conf...
2019-01-23 23:26:03
264
翻译 ThreadLocalRandom使用
【译文】,作者:baeldung, 原文链接:https://www.baeldung.com/java-thread-local-random译文地址:github, 如有问题,欢迎指正。综述生成随机数是很常见的任务。 这也是 JAVA 提供 Random 的原因。但是它在多线程环境中性能并不高。简单来说,Random 之所以在多线程环境中性能不高的原因是多个线程共享同一个 Rand...
2019-01-19 22:43:24
2441
原创 ES之自动安装脚本
github地址背景最近项目需求,引入了 ES。一番了解,发现 ES 安装非常简单, 但存在以下几个问题:在 Linux 下不能以 root 账号启动安装时需被动创建服务账号、变更目录所属用户等操作, 且每次启动程序时都需变更到服务用户,特别繁琐。一般需配合插件使用每换一个环境(开发、测试、生产、项目)都要重新安装插件。每个插件的安装步骤、功能验证方法各不相同,都需一一操作,繁...
2018-12-28 23:45:00
851
原创 ssh远程登录笔记
资料SSH原理与运用(一):远程登录Generating a new SSH key and adding it to the ssh-agent口令登录ssh user@host指定端口ssh -p port user@host公钥登录生成公钥ssh-keygen -t rsa -b 4096 -C "your_email@example.com"Generating...
2018-12-20 18:17:11
229
原创 《基地》读感
由来首先,我是个科幻迷,非常喜欢看科幻电影,对于星空、银河、宇宙类的电影。科幻小说只看过《三体》,非常喜欢,真心觉得是神作。突然某天在网上看到有人说有本叫《基地》的小说,跟《三体》是一个级别的,甚至有说大刘写《三体》时有参考这本书。更有传说本拉登也是个科幻迷,成立的“基地”组织也是参考了这本书的名字。终于,它勾起了我的好奇心。千年计划心里史学家哈里·谢顿通过自己渊博的心理学和数学知识,预...
2018-11-07 23:08:49
568
原创 ES之分布式分页查询
我们知道ES的查询是非常快的,且每个索引的数据是存储在多个分片中的,查询压力负载到多个分片机器上,最后汇合查询结果,减轻了机器压力同时加快了速度。但是当用户分页获取查询结果时,ES又是怎么获得全局的排序并取得分页结果呢?这不光是ES会遇到的问题,所有的分布式存储数据排序都会有这个问题。逐步分析假设我们的索引有5个分片,每个分片上10万个文档数据获取1~10条我们知道单个节点数据都在本地...
2018-11-03 14:25:08
1205
原创 elasticsearch安装实践
下载wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.zip建立elsearch用户和组# es不能以root用户启动,需新建用户groupadd elsearch# 建立组useradd elsearch -g elsearch移至elsearch用户home目录并解压...
2018-10-27 22:42:01
140
原创 原则-看待问题
媒体需客观看待大多数人没有与本国及他国的领导层直接打过交道,他们基于从媒体了解到的情况形成自己的观点,因而变得非常天真,并持有不合理的偏执观点。这是因为与冷静客观的分析相比,戏剧化的故事和传言能够吸引更多的读者和观众。而且,在一些情况下,“新闻工作者”也有自己的意识形态需要推动。因此,大多数通过媒体棱静看世界的人喜欢区分好人和坏人,而不是看各方面的既得利益和相对权势,以及这些因素如何相互作用。...
2018-09-19 00:33:03
215
原创 markdown转pdf
安装sublime text编辑器安装package control安装markdown preview插件 shift + command + p install package 搜索markdown preview 并安装打开md文档使用插件在html预览 shift + command + p 输入m...
2018-09-11 22:29:46
708
原创 Navicate Premium 12.0.28在MAC下激活实践
Navicate Premium 12.0.28在MAC下激活实践 最近入手了mac,经历了痛苦的开发环境搭建之路,特此整理记录一下,以便以后需要的时候使用。Navicate PremiumNavicate Premium 是一个非常好用的多连接数据库开发工具。无奈太贵了,企业版¥9999,非商业版¥3999,对于国内的大多数同行来说是真的付不起,因此才会在网上找些免费激活...
2018-09-09 14:43:42
1620
2
原创 linux服务启动脚本实践
linux服务启动脚本实践 后台开发在部署、修改配置、升级服务时,需经常进行启动、关闭等操作 常规的做法: - 启动: 敲一行执行启动命令, - 关闭: 执行ps aux | grep xxx,查到进程号,在执行 kill -9 xxx - 修改配置文件后又得先关闭,在启动无数次的重复非常繁琐,故写个shell脚本解放双手还是很有必要的。 本文是做项目中写的...
2018-08-16 21:43:06
3952
原创 选择排序
从最初学习算法时,就非常抵触,工作几年也各种避免接触算法问题。如今发现它已经快成为心里的一根刺,不拔不快。 特此准备花些经历学习一番,并记录笔记,方便以后理解、复习。理解 每次循环从剩余的元素中选出最小的,放在最左侧,则循环结束后,就完成了排序。定义apiless (比较) public static boolean less(Compara...
2018-08-06 20:28:40
96
翻译 使用spring4和java配置方式创建Rest-Api
翻译,原文地址: http://www.baeldung.com/building-a-restful-web-service-with-spring-and-java-based-configuration1.综述 本文演示了怎么使用Spring设置Rest APi——控制器、HTTP响应码,payload编、解码、内容协商等相关配置。2.理解Spring中的Res...
2018-07-29 00:55:32
823
翻译 使用Spring 5创建WEB应用
原文地址: http://www.baeldung.com/bootstraping-a-web-application-with-spring-and-java-based-configuration1.综述 本教程演示了怎么使用Spring创建WEB应用,并讨论了如何从XML文件调整到java 而无需迁移整个XML配置。2.Maven pom.xml<...
2018-07-22 13:15:34
573
原创 java-final笔记
java编程思想学习笔记编译器常量:可以在编译时执行计算式,必须 是基本数据类型、携带final关键字、使用之前必须被初始化对象引用:final使引用恒定不变,一旦引用被初始化指向一个对象,则无法再指向另一个对象,对象本身属性可变空白finaljava允许生成“空白final”,即声明为final但又为给定初值,这种情况必须在类的构造方法中初始化public class ...
2018-07-13 17:14:54
163
原创 ThreadPoolTaskExecutor使用实践
后台开发中,经常有一些非主流程业务要处理,为了提升主业务处理速度,可使用ThreadPoolTaskExecutor线程池来异步处理配置 java config @Bean public ThreadPoolTaskExecutor taskExecutor() { ThreadPoolTaskExecutor poolExecutor = new Thread...
2018-07-10 20:31:28
1828
原创 JAVA注解学习笔记
学习书籍JAVA编程思想(第四版)第20章 java SE5中引入的新特性之一,并在java.lang中内置了几种注解: * @Override 表示重写父类方法 * @Deprecated 表示方法过期 * @SuppressWarnings 关闭不当的编译器警号信息基本语法定义注解@Target({ElementType.METHOD...
2018-07-07 17:12:24
192
原创 tomcat漏扫修复及调优
环境Centos7 8Gtomcat7nessus漏扫修复12085 - Apache Tomcat Servlet / JSP Container Default Files删除tomcat/webapps/下example、doc、manager,(ROOT保留,内部只留下自定义的404页面)35291 - SSL Certificate Signed...
2018-06-30 11:08:24
5067
原创 零PHP基础安装wordpress实践
服务器环境centos 7wordperss 4.9.4PHP 5.4.16(系统自带)Mysql 5.5nginx-1.13.10 说明本人为java开发人员,对php一无所知,才导致后面遇到的问题,此篇就是记录排坑过程 如果读者为PHP开发或之前启动过nginx+php+mysql项目,可忽略此篇文章,著名的5分安装足以完成安装。下载、解压wordpres...
2018-06-28 19:29:59
240
原创 使用fail2ban防止服务器被暴力破解实践
fail2ban是一个通过监视系统日志,匹配日志的错误信息执行相应的屏蔽操作(借用防火墙规则)以达到保护服务器的工具。github网址安装要求 Python2 >= 2.6 or Python >= 3.2 or PyPy安装# 解压tar -xzvf fail2ban-0.9.4.tar.gzcd fail2ban-0.9.4# 安...
2018-06-27 15:34:56
681
原创 web项目漏洞扫描修改实践
前一段笔者负责的项目进行了安全渗透测试,现总结一下,以便有需要的朋友参考 。问题redis未授权访问漏洞猜测出远程SNMP服务存在可登录的用户名口令反射型跨站脚本编制漏洞(即xss)UI信息泄露cookie未设置HttpOnly属性敏感信息泄露支持不安全的http方法密码复杂度策略账号锁定策略redis未授权访问漏洞 即其它机器无需密码可直接连接redi...
2018-06-25 16:33:10
840
原创 Http请求实践
后台开发时,经常需要进行系统对接,远程接口调用非常普遍,现总结一下针对http接口的远程调用常用工具:HttpClient(4.3.3)OKHttp(3.10.0)HttpClient 构建全局公用的httpclient连接池public class HttpClientPoolUtil { private static Integer POOL_MA...
2018-06-22 14:17:45
187
原创 iptables学习笔记
目录自定义firewall多个网卡接口放行特定IP端口及协参考资料自定义firewall#!/bin/bash## iptables 样例设置脚本# 默认放开所有输入iptables -P INPUT ACCEPT## 清除 iptables 内一切现存的规则# iptables -F## 容让 SSH 连接到 tcp 端口 22# 当通过...
2018-06-21 17:34:11
102
原创 将tomcat注册为服务
参考资料windows和linux 下将tomcat注册为服务windows必须下载window版tomcat:apache-tomcat-7.0.85-windows-x64.zip进入tomcat bin目录: service.bat install ‘test’ //如果服务名称有空格隔开,则需单引号执行后查看windows的服务,可发现 Ap...
2018-06-21 17:25:47
168
原创 enum(枚举)实践
目录两个隐式方法声明及基本用法与switch配合推荐阅读两个隐式方法 当生成一个枚举值类型的对象时,它会直接用有两个隐式的静态方法 * values() * valueOf(String name)/*** Returns an array containing the constants of this enum* type, in the...
2018-06-21 14:08:42
334
原创 HTTPSS证书制作笔记
参考资料Android HTTPS 自制证书实现双向认证制作证书keytool -genkeypair -alias client -keyalg RSA -validity 3650 -keypass 123456 -storepass 123456 -keystore client.jks# keytool -genkeypair -alias client -keyal...
2018-06-20 15:02:06
2540
原创 SpringMvc防御XSS实践
开始不知道csdn支持md格式,现在已修改,请移步:SpringMvc防御XSS实践—md格式项目在漏洞扫描时发现xss漏洞, 本以为是常见漏洞,网上有很多解决方案,应该能很快搞定,但实际上文章看了不少,却并未找到十分“顺手”的解决方案。历经波折终于完成了一套自己想要的方案,现将过程分享出来,希望能帮助到遇到同样的问题人。方案目标:----* 只配置一次,与业务接口无关* 过滤两...
2018-06-13 15:55:18
1535
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人