自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (3)
  • 收藏
  • 关注

原创 JSR 380 Java Bean 验证标准草案介绍

文章目录前言下载安装功能验证 Java Bean验证方法参数验证集合内容多字段联合验证自定义验证与 Spring 结合总结前言使用 Java 编写接口时,我们经常需要验证参数的合法性,但是在标准出现之前,我们有各种各样的方法用来验证,比如编写断言工具类等。后来 Java 发展出了一套非常方便的验证框架,最开始作为 JSR 303 规范,后来进行了拓展,叫做 JSR 380,其说明可在 https://jcp.org/en/jsr/detail?id=380 查看。虽然叫做提案,但是已经非常完善了。下载

2021-12-10 17:36:54 581

原创 nginx使用总结

文章目录nginx 简介主要功能安装配置Linux 平台下的安装软件包安装RHEL/CentOSUbuntu源码安装Windows 平台下的安装启动、停止、重启搭建基础 HTTP 服务器在同一个服务器上搭建多个网站配置 https兼容单页面应用搭建反向代理服务器准备工作基础配置启用反向代理缓存负载均衡动静分离nginx 简介Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和 HTTP 缓存。该软件由 伊戈尔·赛索耶夫 创建并于 2004 年首次公开发布。20

2021-04-08 20:01:09 238 1

原创 Java骚操作之反射修改静态常量

Java 有着强大的反射机制,但是也是因为反射的存在,导致 Java 写的代码并不是绝对安全的,就比如一个变量声明为 final,却不能保证它在运行中绝对不会被修改。比如下面的代码:public class Test { private static final Date time = new Date();}正常情况下运行中是不能修改这个 time 变量的,但是用反射呢?import java.lang.reflect.Field;import java.util.Date;publi

2021-03-26 10:21:28 1712 3

原创 使用 nginx 为后端应用服务器搭建负载均衡

本文不会详细介绍 nginx 的安装与配置,本文只是介绍负载均衡这一个内容相关术语仅仅是对本文而言,哈哈节点:指一个应用服务器应用服务器:后端 spring 应用、tomcat、nodejs server 等等网关:如果你的服务器直接有公网 IP,那么不需要网关,但是通常情况下都是机房通过 NAT 地址转换转发流量到内网机器的,一般家用路由器也可称为网关。另外如果使用端口映射,那么端口映射的服务器就充当网关。结构分析通常情况下我们部署应用后,会是下图这样的结构。但是这样的结构缺.

2021-03-21 18:33:27 545

原创 牛客网算法题解 最大公约数和最小公倍数问题

题目链接:点此跳转原题如下:题目描述输入二个正整数 x0, y0 ( 2 ≤ x0 < 100000, 2 ≤ y0 ≤ 1000000 ), 求出满足下列条件的 P, Q 的个数条件P, Q 是正整数要求 P, Q 以 x0 为最大公约数, 以 y0 为最小公倍数.试求满足条件的所有可能的两个正整数的个数.输入描述2 个正整数 x0, y0输出描述1 个数,表示求出满足条件的 P, Q 的个数示例输入3 60输出4说明P, Q 有 4 种3, 6015

2021-01-16 20:32:47 502

转载 利用 Jenkins 自动化构建系统实现 Spring Boot 推送代码自动部署

文章目录前言环境及版本安装 Jenkins下载运行运行安装步骤创建 Jenkins 任务创建 Git 项目Github 配置Gitee 配置本地 Git 服务配置前言在我们团队开发一个项目时,通常会把代码部署到线上以便于大家测试,但是在版本控制中每次推送完代码,需要我们在线上的服务器手动更新代码构建并运行,这样就会降低效率。因此在软件工程中,有个叫做“持续集成”的概念,目的是减少重复工作,避免版本冲突等。持续集成的条件是版本控制系统(GIT、SVN等)、自动构建系统(cmake、maven、gradl

2020-12-07 19:57:13 211

原创 使用openssl命令生成RSA证书

最近经常用到,所以先记录一下openssl genrsa 2048 > ca-key.pem # CA 私钥openssl req -new -x509 -nodes -days 36500 -key ca-key.pem -out ca-cert.pem # CA 证书openssl req -newkey rsa:2048 -days 36500 -nodes -keyout server-key.pem -out server-req.pem # 服务器私钥openssl rsa -in

2020-12-07 19:51:21 815

原创 Spring Security 与 JWT 整合

Spring Security 是一个用于 Spring 程序身份认证的框架,里面东西很多,用起来也很方便,但是上手并不是那么容易,最近粗略看了一些教程,总算是把它用到自己的项目里去了,并且跟 JWT 整合了一下,下面详细记录一下我的步骤防止我下次用的时候忘了。 -_-1. 导入依赖首先将相关的 jar 导入项目中。构建配置如下(部分):Maven<!-- Spring Security --><dependency> <groupId>org.spring

2020-12-07 19:48:15 817

原创 算法笔记 - 排序基础

文章目录简单排序冒泡排序轨迹代码选择排序轨迹代码插入排序轨迹代码希尔排序轨迹代码简单排序程序中的数据千变万化,但通常情况下我们需要这些数据按照一定的顺序排列,这样方便人的阅读或者便于查找。现实生活中我们排列一些东西(例如扑克牌),会有很多种办法:可以依次在牌堆里找出最小的牌,放到另一堆中;也可以将牌分组,每一组排序后再依次从每组中找出合适的牌放到另一个地方……在算法的世界中也有各种排序的办法,下面是一些基础的算法。(以下均基于定长连续数组,假定目的是按照升序排列元素)冒泡排序冒泡排序是一种基于交

2020-09-25 13:11:33 108

原创 Ubuntu 在应用列表中创建图标

前言最近在笔记本上装了 Ubuntu Linux 体验。一般我们在 Windows 平台如果下载了一款应用,如果应用只有可执行文件而没有自动安装程序的话我们可以右键可执行文件,选择创建快捷方式,然后把快捷方式文件拖动到开始菜单,就可以在搜索栏和应用列表里找到应用了。虽然在 Ubuntu 上没有类似的操作,但是我们可以用命令行来解决。下面我以 firefox 浏览器(我卸载了预装的 firefox)为例,介绍 安装应用图标的办法。步骤首先下载 firefox 浏览器的压缩包wget htt

2020-07-19 20:52:16 587

原创 Android数据库框架 Room的使用 AndroidX+Kotlin

Room 在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。本文简单介绍Room的使用,增删查改和数据结构升级。以及使用时需要注意的问题

2019-12-21 15:48:05 3565

android_mp3_to_pcm.zip

安卓版armeabi-v7a。编译好的libmp3lame 1.192静态库(不含动态库),包含lame可执行文件,附带一个把mp3解码为pcm的栗子

2019-08-14

windows超级权限

获取TrustedInstaller的权限

2015-05-16

windows超级命令

NSudo - 一个强大的系统管理工具 本工具是raymai97的超级命令提示符那篇文章里所说的景友制作的单文件版的下一版本 感谢raymai97,他写的”[分享] 超级命令提示符 让你拥有真正的最高权限“给我以很大启发(他甚至还留下了源代码给我们研究,我真的很钦佩他) 我通过他的源代码,把源代码合二为一;并且删掉重复的部分;这样就可以使用一个文件就可以直接打开TrustedInstaller权限的命令提示符了 下面引用raymai97的原文介绍一下TrustedInstaller ======================================================================================== TrustedInstaller是Windows Update等系统组件需要修改文件时,使用的“代理”。 TI的权限非常高~ 比SYSTEM还要高~ 堪称Windows版的ROOT权限~ TI模式的CMD可以让你在不修改/破坏NTFS权限设置下,直接对系统文件进行操作,比如替换、重命名、删除…… 已验证可以成功修改的文件包括explorer.exe、shell32.exe、iexplore.exe。 使用TI模式的CMD,启动的程序也会自动有TI权限。因此你可以用它启动你喜欢的第三方文件管理器,比如7zFM。要注意的是,explorer不支持TI模式,它将无法正常运行。 你也许会想问,修改NTFS权限设置不就好了?网上有很多“一键更改所有者”“一键获得权限”呢~ 要知道,NTFS权限设置是用来防止你系统文件被瞎改的。绝大多数人往往在修改权限和文件后,没有恢复权限设置,因此以后其它程序都可以直接对这些文件进行修改! 如果是默认的NTFS权限设置,即使是以管理员身份运行的程序,也需要使用相当多的代码来让自己拥有权限,修改相关文件。 Win8的WindowsApps文件夹是一个典型的例子。如果你修改权限后,没有改回去,就会有打不开Apps(闪退)的风险,严重者会所有Apps都开不到! 好吧,你说你要手动改权限,然后修改文件,再把权限改回去…… 试想想,就为了修改一个系统文件,就这样麻烦了。如果有多个系统文件呢? 因此我认为,直接使用具有TI权限的CMD,再搭配其它第三方文件管理器(比如7zFM),会比修改NTFS权限设置来得方便、快速、安全~ 改进日志 ======================================================================================== NSudo 2.1 1.实现自动开启所有权限Token 2.对cmd的调用使用绝对路径,估计可以避免一些不必要的Bug 3.优化程序代码 NSudo 2.0 1.代码全部使用C++ Win32 SDK重写(程序从692KB缩小到92KB) 2.提供获取权限的选项 3.提供命令行参数模式 4.更换了图标 NTIShell 1.0 根据raymai97的超级命令提示符制作的第一个版本 使用方法 ======================================================================================== 双击NSudo.exe根据提示操作即可 命令行选项 NSudo [选项] 选项: -TI 以System权限(具有TrustedInstaller令牌)运行命令提示符 -System 以System权限运行命令提示符 -Help 弹出命令行帮助 注意事项 ======================================================================================== 使用本工具需要有一定的计算机基础 由于得到的权限太高了,VB4112(From MSHK)对此的评论是:“这工具很危险,尤其是不懂PC的用户” 许可协议 ======================================================================================== 本工具使用GNU GPL 3.0协议,任何人都可以修改我的工具(前提起一个好听的名字,因为那已经不是我的工具) Have a good time -- Mouri_Naruto ========================================================================================

2015-05-16

空空如也

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

TA关注的人

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