文章 40
评论 38
浏览 103186
我在 GitHub 上的开源项目

我在 GitHub 上的开源项目

Slog4J Java 🤩1  ⭐️2  🖖2 💾简单易用Java日志记录|💡三分钟精通|🔌无需配置文件|🔧全面自定义语句|❗支持Exception解析|📈RGB输出至MySQL、控制台、本地文件 2. ContentEasyJS JavaScript 🤩1  ⭐️1  🖖0 🌟Easily and automatically create directory navigation for your articles without configuration. | 轻松为你的网站文章设置右侧悬浮目录导航,支持点击跳转,不需要复杂的设置!JS | HTML | JQuery 3. FTPTerminal4J Java 🤩1  ⭐️1  🖖0 🌱Based in bottom Socket|FTP protocol. You can execute FTP in Java like terminal’s interactive. 基于….

Spring: java.lang.NoSuchMethodError: clearCache | ClassNotFoundException | Error during artifact deployment 思路及解决办法

Spring: java.lang.NoSuchMethodError: clearCache | ClassNotFoundException | Error during artifact deployment 思路及解决办法

前言 一如既往的今天,打算打开WEB项目一如既往地修(写)BUG。就在我运行的时候,弹出了错误: java.lang.NoSuchMethodError: org.springframework.core.ResolvableType.clearCache() at org.springframework.context.support.AbstractApplicationContext.resetCommonCaches(AbstractApplicationContext.java:873) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:559) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) at org.springframework.....

将Tomcat、MySQL从Linux迁移到Windows的心路历程(干货):令人恐惧的字符编码

将Tomcat、MySQL从Linux迁移到Windows的心路历程(干货):令人恐惧的字符编码

前言 近日打算对服务端进行进一步的解耦,便购入了云数据库服务,将数据库独立,使得Tomcat主机独立运行,提高安全性和便利性。 心血来潮,想将服务器重装为Windows,便有了下面的一系列文章: 迁移MySQL 平时我都是使用Navicat对MySQL进行管理。在备份的第一时间我便想到了使用Navicat进行数据的迁移。 Dump SQL File 右键指定的数据库,选择Dump SQL File -> Structure + Data就可以将选定数据库全部的结构、参数、表、键值保存到一个文件中,我将其输出到桌面以便恢复。 Execute SQL File 登录到新的数据库中,并建立一个名称相同的数据库。右键该数据库,选中Execute SQL File: 为什么要迁移 比对Windows和Linux的区别,对我而言: Linux(Ubuntu 16.04) 优点 占用内存小 Terminal用起来太爽 开源 安装工具方便(apt) ...... 不足 不知道,别问我 Windows (Windows Server 2016) 优点 桌面环境比较成熟 文....

Github仅保留指定文件/文件夹当前Commit,删除所有历史记录,清除「敏感信息」

Github仅保留指定文件/文件夹当前Commit,删除所有历史记录,清除「敏感信息」

前言 之前在Github上发布过一个项目,今天突然想起来: 有个不该上传的东西被我上传上去了! 于是便修改了源代码,但是在History中还是能看到以前的提交记录! 慌! 在网上查找了半天,发现都是使用git filter-branch进行清除,但我的项目有点特殊: 这个敏感信息,早在第一次就提交过了! 而git filter-branch还有其它方法是对项目进行回滚,达到删除Commit记录的目的,对我来说是无效的。 BFG 最后发现了一个神器:BFG-Repo-Cleaner 它能清除掉你指定文件/文件夹名在项目中的所有痕迹! 下载 对于macOS 如果你安装了Homebrew,可以使用如下命令安装BFG: brew install bfg 使用如下命令使用BFG: bfg [命令] 对于Linux和未安装Homebrew的macOS wget https://repo1.maven.org/maven2/com/madgag/bfg/1.13.0/bfg-1.13.0.jar 使用wget下载BFG。它会在你所在目录出现,你可以通过如下命令使用BFG: java -jar ....

大白话之Docker(叁):制作一个运行Tomcat服务端的Docker镜像

大白话之Docker(叁):制作一个运行Tomcat服务端的Docker镜像

前言 如没看过上一章,请点我跳转 上一章我们使用Tomcat镜像搭建了一个WEB服务端。 本章,我们将从零开始搭建一个Tomcat服务端。大体需要以下步骤: 在容器中安装一个系统(我使用Ubuntu) 在容器中安装JDK并配置环境变量以运行Tomcat 在容器中拷贝Tomcat 既然目标已经明确,那么我们就开始吧。 初始化项目 下载文件 在项目开始之前,我们需要下载所需的文件: JDK 1.8 Tomcat 9 解压文件 将JDK和Tomcat的压缩包解压,并新建一个文件夹用于存放该镜像所需的文件,把解压后的文件夹拷贝到该文件夹中。 adler@localhost ~/dockerTomcat: tar -zxvf jdk-8u201-linux-x64.tar.gz adler@localhost ~/dockerTomcat: tar -zxvf apache-tomcat-9.0.13.tar.gz adler@localhost ~/dockerTomcat: ls apache-tomcat-9.0.13 jdk1.8.0_201 Dockerfile Dockerfi....

Log-MySQL root用户登录后无法查看数据库全部表/正常访问数据库 Access denied for user 'root'@'localhost' to database

Log-MySQL root用户登录后无法查看数据库全部表/正常访问数据库 Access denied for user 'root'@'localhost' to database

今天在对MySQL进行建表、权限设置之后,突然发现没有了数据库的操作权限: mysql> show databases; +--------------------+ | Database | +--------------------+ | mysql | +--------------------+ 1 rows in set (0.00 sec) WTF?我的数据库去哪了? 之后赶紧从外部访问了数据库,发现数据仍在,没有丢失。 此时我判断,可能是由于root@localhost的权限被清空导致的。因为root@%仍有全部的权限,但使用root@localhost进行表查询时会显示: Access denied for user 'root'@'localhost' to database 那么,我只要重新将root@localhost的权限重置到最高权限,就可以了: mysql> use mysql; mysql> update user set `Select_priv` = 'Y', `Insert_priv` = 'Y', `Update_priv` ....

Java日志插件-Slog4J下载

Java日志插件-Slog4J下载

下载地址 Direct download link 点我下载 Click me 更新日志 1.0.3 - 修复了数据库中文乱码的问题,增加了文件输出颜色的选项 1.0.2 - 修复了已知问题 1.0.1 - 修复了本地文件输出中文乱码的问题 如使用中出现问题,欢迎评论反馈! GitHub页面

大白话之从零讲解DVWA(贰)-SQL注入(SQL Injection) Medium/High Level

大白话之从零讲解DVWA(贰)-SQL注入(SQL Injection) Medium/High Level

前言 本章我们将进行Medium和High等级的DVWA SQL Injection手工注入。 如没看过第一章,请点我跳转 阅读本篇文章前,你需要了解下面的知识: 转义字符在PHP中的作用 MySQL:LIMIT语句的作用与用法 Medium Level SQL注入 和初级一样,我们输入如下语句: 1' order by 2 # 但得到了如下结果: `You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\' order by 2 #' at line 1` 返回页面,点击右下角的View Source阅读源码,我们会发现: $id = mysql_real_escape_string($id); 出现了一个初级没有的方法: mysql_real_escape_string将字符串中的: \x00 \n \r \ ’ " \x1a 进行了转....

大白话之从零讲解DVWA(壹)-SQL注入(SQL Injection) Low Level

大白话之从零讲解DVWA(壹)-SQL注入(SQL Injection) Low Level

前言 在阅读此文章前,你需要先理解以下知识: PHP基本知识(数据库连接、基本语法) SQL注入的基本原理 MySQL:order by 排序 MySQL:union的作用和用法 MySQL:group_concat的作用和用法 MySQL:通过information_schema读取数据库信息 MySQL:使用--和#注释语句 MD5的基本实现原理 SQLMap是一款自动SQL注入的工具,但有时它并不足够灵活。手工注入能帮助我们深入了解Web渗透的灵魂,本章我们使用DVWA进行手工SQL注入的模拟测试。 SQL注入 搭建DVWA 此步骤我们不多说,如果你不想在本地搭建虚拟机和DVWA,可以到下面这个公共站点: http://43.247.91.228:81 用户名:admin 密码:password 设置级别 点击左侧DVWA Security,在右侧你可以看到三个选项: Low 低级 Medium 中级 High 高级 调整等级,就可以调整难度。 低级 选择SQL Injection,我们可以看到一个输入框: 是的,你在输入框中输入用户ID,就能返回用户的信息。 ....

大白话之Docker(贰):简单部署一个Tomcat服务并发布内容

大白话之Docker(贰):简单部署一个Tomcat服务并发布内容

前言 看了上一章,想必你已经对Docker有所了解。 如没有阅读过第一章,点我可以跳转至第一章 Tomcat是基于Apache、支持JavaWeb环境的Web服务端。能对外提供网站服务。 本篇教程我们将简单建立一个Tomcat服务器,并部署一些内容到Tomcat中。 应用镜像到容器 取得镜像 首先,我们从Docker源中搜索已经配置好环境的镜像,然后应用到本地。 输入命令: ✘ adler@A ~/docker/tomcat: search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomcat is an open source implementati… 2343 [OK] tomee Apache TomEE is an all-Apache Java EE certif… 64 [OK] dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 53 [OK] davidcaste/alpine-tomcat Apache Tomc....

大白话之耦合性:什么是耦合性和内聚性?用编程语言实例讲解!

大白话之耦合性:什么是耦合性和内聚性?用编程语言实例讲解!

前言 如果你涉及软件开发,可能会经常听到“高内聚,低耦合”这种概念型词语。我在第一次接触这种词语时,也抱有很大的疑问,但我发现百度上大部分都是高大上的词汇解释。 仔细通读这篇文章,你就能理解耦合性和内聚性的概念与关系。 WHY? Why?如果你使用过面向对象的编程语言,初学者很容易: 把所有代码都写到一个方法里。 当我翻回到我曾经写过的代码后,我绝望了。 比如我们要获取一个用户的信息,我们需要先: 1. 在代码中填写数据库的地址、用户名、密码、表名 2. 加载SQL驱动 3. 执行语句 4. 获得结果 如果你只需要在一个方法里调用用户的信息,你可以把这四步的代码全部写到那个方法中。 但是如果我们有多个方法都要调用数据库呢? 把这段语句写四五六七八九遍? 不不不。不但你会抓耳挠腮,IDE都看不下去了。 如果我们新建一个方法,专门用于读取用户的信息呢? 在这个方法中,是上方执行语句的代码,但不同的是,我们使用其它方法调用该查询方法的时候,传入查询语句,这个方法就能返回给我们想要的值。 你只要将查询代码单独写成一个方法,当其它方法需要查询的时候,只需要调用这个查询方法并传入想查询的数据....

大白话之Docker(壹):快速入门&&简单官方实例

大白话之Docker(壹):快速入门&&简单官方实例

前言 无论你用的是Python,Java还是Golang或是什么语言,Docker都能以降低服务器应用耦合性(点我了解耦合性),方便管理等优点。值得在你的服务器中占有一席。 如果你使用过Linux或macOS,你可能对一款软件很熟悉:Wine。它用于配置一个运行环境的容器,让Windows软件在这个容器中运行,Docker与它的原理相似。 细读!Docker概念 我在网上看到的图大部分都很繁琐,反而会越研究越迷糊。我们从最接近我们的方向往外讲: 容器(Container) 容器就像虚拟机一样,是一个隔离于物理机的空间。你在里面放好需要的运行环境:比如你需要在容器里运行Python脚本,你就可以给容器安装Python,也可以在里面放入你的脚本程序。 在容器中写入一段规定的脚本内容,你就可以让Docker启动这个容器并且按照你的脚本来执行命令。 无论容器内的应用怎么折腾,也跑不出这个容器。 假如你在容器里配置了一个Tomcat服务器,而这个Tomcat服务器是需要Java才能运行的,只要你在容器中装好了Java,就算更换服务器后系统里没有Java也没有任何问题。因为容器是被隔离的,只要容器....

从 SpringMVC 转为使用 SpringBoot —— 手把手带你使用 Intellij IDEA 最快速地搭建 SpringBoot+MyBatis(无 XML)+Thymeleaf

从 SpringMVC 转为使用 SpringBoot —— 手把手带你使用 Intellij IDEA 最快速地搭建 SpringBoot+MyBatis(无 XML)+Thymeleaf

序 最近打算从SpringMVC的学习过渡到SpringBoot的学习,一直听说SpringBoot十分方便,便想探个究竟。 提示 篇幅可能较长,但这可能是最全最简单的一篇教程了,请抱着不厌其烦的态度去学习。无论你有没有SpringMVC的搭建基础,你都可以跟着本教程将SpringBoot正常驱动起来。 逐步重启测试能保证某段配置过程不出问题,请不要忽略掉文中多次要求重启的要求。 新建项目 File -> New - >Project... 选择Spring Initlalizr Spring Initializr -> 在右侧Project SDK选择你配置的SDK(推荐JDK1.8) -> Next 如果你的IDEA中没有"Spring Initializr",说明你的IDEA是社区版(Community Editon)的,请更换版本为ULTIMATE。 配置项目属性 修改: Group:团队名,通常填写为com.xxx Artifact:包名,通常填写该项目的名称 Name:项目名称 Description:项目描述 其它选项会自动....

从零开始 OpenSSL 之 (贰) - 使用 rsautl 解密文件

从零开始 OpenSSL 之 (贰) - 使用 rsautl 解密文件

前言 如果你没有看过第一章,请先学习第一章的内容: 点我跳转 回顾 上一章我们使用公钥public.key将text.txt加密为了encryptedFile.txt,这章我们将使用私钥private.key将encryptedFile.txt中的原文提取出来。 解密 还是使用我们万能的OpenSSL。在这之前,让我们了解下OpenSSL中的rsautl命令,在命令行中输入: adler@localhost ~/keys: openssl rsautl --help Usage: rsautl [options] -in file input file -out file output file -inkey file input key -keyform arg private key format - default PEM -pubin input is an RSA public -certin input is a certificate carrying an RSA public key -ssl use SSL v2 padding -raw use no paddin....

从零开始OpenSSL之 (壹) - 使用genrsa、rsa、rsautl生成公私钥

从零开始OpenSSL之 (壹) - 使用genrsa、rsa、rsautl生成公私钥

公钥和私钥 在生活中,我们常常会经历加密->解密的过程。当你在扫码支付、登录用户、进行游戏的时候,大部分数据包传输的都是加密后的数据包。 俗话讲加密 尽我所能,我会将公钥和私钥的概念最简单地讲述出来。 假设A是客户端,B是服务端: A使用某些手段生成了一段完整的私钥 A使用完整的私钥经过某种算法生成了另一段公钥 A将公钥和完整的私钥给了B 当B想要将东西传给A时: B把公钥和要传送的文件乱七八糟地用某种算法掺杂在一起发送给A 当B发送给A时,如果有黑客拦截了这个文件,他只能获得一堆乱码 当A收到一堆乱码后,使用完整的私钥经过某些算法提取出原文件 由于A和B同时拥有公钥和私钥,所以双方都可以使用公钥加密并且使用私钥解密。 OpenSSL 我们可以将OpenSSL理解为一个工具箱,它能实现大部分的密钥加、解密以及更多高级功能。 请注意 在下文中的命令有&&连接符,为的是让多条命令按顺序执行。 生成私钥 现在,让我们使用OpenSSL生成一段私钥。 在你的Linux或MacOS (Windows需自行安装)中执行下面命令: mkdir keys &&am....

Java是世界上最好的语言 | 死钻技术 | 绝不抄袭



    
www.stackoverflow.wiki-MySSL安全签章