自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我是一个有理想的程序员

不定期添加自己学习,工作中所遇到的问题及解决方案

  • 博客(151)
  • 资源 (9)
  • 收藏
  • 关注

原创 如何写好代码系列——第三期,以说明文方式去写你的代码

以说明文的方式去写你的代码文章的表达方式这么多,为什么要以说明文呢?我们可以先来看一下百度百科上帝说明文解释。说明文是一种以说明为主要表达方式的文章体裁 [1] 。对客观事物做出说明或对抽象事理的阐释,使人们对事物的形态、构造、性质、种类、成因、功能、关系或对事理的概念、特点、来源、演变、异同等能有科学的认识,说明文的中心鲜明突出,文章具有科学性,条理性,语言确切生动。它通过揭示概念来说明事物特征、本质及其规律性。说明文一般介绍事物的形状、构造、类别、关系、功能,解释事物的原理、含义、特点、演变等。

2022-01-13 12:05:28 322

原创 如何写好代码系列——第二期,以作者的角度去看待你的代码

我们是作者我们是作者,这一点在JAVA DOC中的@Author注解也可以看得出来。既然有作者,就一定会有读者,所以我们要摆正自己的位置,不要以为自己代码的读者仅仅就是计算机。事实上绝多大多数的时候,我们都会去阅读到别人的代码。试想一下,当你看见一个方法几百行,里面嵌套n个for循环和m个if判断的时候,你还有耐心一行一行的看下去吗?那么问题来了,如何在代码实现结果不变的情况下,去变成一个好的代码了?其实我们可以类比一下那些长篇小说。长篇小说是怎么做的第一点、分篇章一部小说,基本上不会是从头一直讲到

2021-09-15 17:03:19 127

原创 【Docker】安装Redis、Nginx、MongoDb、Jenkins

【代码】【Docker】安装Redis、Nginx。

2024-04-15 22:30:50 388 4

转载 接口幂等性的一些解决方案

所谓接口幂等性就是:在特定场景下,同一条件的多次接口调用,保证操作只执行一次,如果接口没有保证幂等性,在以下场景就会产生问题前端重复提交:用户进行注册、创建个人信息等操作,由于网络抖动导致页面没有及时响应,用户认为没有成功而多次点击提交按钮,发生重复提交表单请求接口超时重试:提供外部系统调用的接口,因为网络抖动等原因执行成功但没能及时响应,外部系统发起重试,导致重复调用。

2024-02-28 19:53:30 24

原创 cocos creator,vscode打开脚本报错,找不到cc模块问题

cocosCreator,用VSCODE打开写脚本代码的时候,会误报飘红,但实际上能正常运行。在CocosCreator 的安装目录下。

2023-10-31 23:55:46 1047

原创 PyTorch 安装

本文基于conda安装,请确保已经安装好Anaconda,可参考上一篇文章安装Anaconda。

2023-07-17 10:12:28 406

原创 Anaconda安装和激活

C=M&O=D地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D大部分win10电脑均为64位操作系统,选择x86_64版本;若电脑为32位操作系统,则选择x86.exe下载完成后,双击安装程序进入图形界面默认安装位置为C盘,建议将安装位置更改到D盘:勾选conda加入环境变量,忽略警告。

2023-07-17 09:24:20 1127

原创 【python】常用包安装

【python】常用包安装。

2023-07-10 23:09:23 137

原创 【JAVA程序员学C++】第三节、JAVA里面没有的关键字

对于java来说,多态的情况比比皆是,我们甚至也习惯了当子类对象指向为父类引用,调用的方法结果还是会先从子类里面找,找不到该方法才会去父类找。但是在C++却不是这个逻辑,如果在父类方法去掉virtual 这个关键字,就算new的是一个子类对象,只要引用变量是父类,那么就会调用父类的方法。在预处理的时候,只会替换,我的理解是类似于ctrl_c,ctrl_v这样替换,所以不会去运算,即使是一个运算式,也会在替换后,执行的时候再去运算拼接,看以下例子。template:声明一个模板,模板函数,模板类等。

2023-07-10 15:21:58 111

原创 【JAVA程序员学C++】第二节、引用与指针,类型转换,结构体

先说指针,由于java有jvm,所以对于java程序员,对于内存这一块关注就毕竟少了。但是C++不同,C++里面所有的堆内存,都需要程序员自己把控,把控不好,泄露了也是常有的事情。就算是JAVA程序员,也是知道对象是存放在内存开辟的一块区域。而这块区域的地址,就算指针指向的地址。b就算一个指针变量,指向的是变量a的内存地址。而 *b就是指针指向这块内存里面具体存放的数据。个人对指针的理解是,

2023-07-06 11:34:02 381

原创 【JAVA程序员学C++】第一课、认识C++

本文仅为自己学习探索之路的记录,欢迎大家指正。由于我是JAVA出身,后续记录也会带着跟JAVA对比来记录,希望对于像我一样JAVA出身的“猿友”能有特别帮助,本系列文章也特别适合JAVA出身的朋友来阅读。话不多说,直接开搞,先从第一个"hello world"说起。千万别小看这个hello world的小例子,初看这点代码特别简单,但是其中包含的内容可不少,其中有一些细节点还是容易忽略掉,特别是我们这种有多门语言基础的情况下,再学习一门新语言多少有点

2023-07-04 15:30:56 452

转载 Java中NoClassDefFoundError 和 ClassNotFoundException的区别

从类继承层次上来看,ClassNotFoundException是从Exception继承的,所以ClassNotFoundException是一个检查异常。NoClassDefFoundError是从Error继承的。和ClassNotFoundException相比,明显的一个区别是,NoClassDefFoundError并不需要应用程序去关心catch的问题。...

2022-08-11 17:03:24 224 1

原创 【JAVA并发】三、JAVA线程池详解

为什么要使用线程池,如何合理的创建线程池,线程个数设为多少合适,线程池与连接池的区别,Springboot自带的线程池

2022-08-08 11:59:42 194

原创 【JAVA并发】二、JAVA是如何解决并发问题的

上文提到了并发产生的原因,那么JAVA给出的解决方案是什么呢,我们来一起探讨一下。

2022-08-08 09:39:19 2071

原创 【JAVA并发】一、并发问题产生的根源

一个问题的产生,往往是各种原因导致的。如果不了解问题的源头,我们就没办法给出合理的解决方案,再说源头都不了解,还谈什么解决问题啊。今天,我们来浅析一下并发问题产生的原因。

2022-08-01 15:21:41 859

原创 【Mybatis源码】mybatis是如何集成到springboot以及一个查询语句的执行过程

以下文章为本人阅读源码时的随笔记录,可能比较混乱且不一定正确,仅供参考。

2022-07-18 16:54:22 159

原创 【消息队列】第一篇、为什么要用消息队列

用一个东西之前,我们得明白为什么要用他把?大致来说有以下三个场景。

2022-07-01 14:25:28 91

原创 【spring源码探索】一分钟搞懂RefreshScope的作用及实现原理

下述文章完全为个人阅读源码的随笔记录,如有错误,欢迎大家指出。过程很坎坷,而且大家应该都不想看了吧,简而言之就是些测试DEMO,然后各种DEBUG

2022-06-23 16:57:05 1007

原创 【源码分析】一次Eureka Client源码分析的随笔记录

下述文章完全为个人阅读源码的随笔记录,如有错误,欢迎大家指出。先得理解几个东西,不然看源码就是懵的InstanceInfo:可以理解成单个微服务。每一个服务,就是一个InstanceInfo,下面是官方注解。Application:看注释的说的是特定InstanceInfo的集合,其实说的不太清晰,其实就是同applicationName的微服务的集合,官方注释如下Applications: 官方注释,封装了 eureka 服务器返回的所有注册信息的类。其实顾名思义,他里面会有多个Application..

2022-06-21 11:23:18 122

原创 【spring源码探索】申明式事务是如何保证多个DAO用的同一个connection

突然好奇Spring的申明式事务是怎么实现的,肯定是后置处理增强的就不用说了。从我多年写代码的经验来说,肯定是生成一个代理对象,在调用service方法之前就会创建事务,然后整个service方法执行完后再提交或者异常回滚。但是这就有一个问题,一个service调用多个dao,以DAO层框架mybatis为例,调用的时候咱们并没有给他传任何connection,既然要保证事务,那么每个DAO里面传的connection肯定是同一个,那么框架底层是如何实现的呢?为了探究一下实现原理,咱们先写一个简单的DEMO

2022-06-15 16:41:34 962

原创 Spring源码探索——有接口,有无参构造器的bean对象,Spring是用的JAVA反射来创建对象的,这句话一定正确吗?

机缘今天在探索Spring源码的时候,无意中看到这样的情况。居然是CGLIB的代理对象,可我这个类明明有接口,有无参构造啊,HelloWorldServiceImpl 的源码如下。@Service("helloWorldService")public class HelloWorldServiceImpl implements HelloWorldService{ @Value("${name:World}") private String name; public H

2022-05-31 10:33:07 164

原创 Spring后置处理器BeanPostProcessor的源码探究

前言最近仔细研究了一下spring的后置处理器,感觉挺有意思的,顺便记录一下研究过程吧。BeanPostProcessor类图老话说得好,看源码主要就是看接口,毕竟面向接口编程嘛,源码的接口实现一大堆,看接口就清晰明了很多了。从类图里面可以看出来,Spring底层提供的Bean的后置处理器的顶层几个接口,也就上图这些了。那咱们就挨个给他实现一下,看他的工作机制是什么。研究过程咱们给他们所有提供的接口建一个实现类,然后分别给构造方法和实现的方法打上断点,如下图。只得一提的是,实现SmartI

2022-05-24 11:37:17 187

原创 探索spring事件机制源码实现的全过程

1、事件机制的实现方式网上一搜,就能知道事件机制是基于观察者模式实现的。观察者模式具体是什么,它的一般实现网上很多,我就不再重复造轮子了,这里贴一下其他文章里面对观察者模式的总结(拿来吧你)。观察者模式还有很多其他的称谓,如发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生

2022-02-09 17:29:33 493

原创 Airmon-ng简易教程

启动监听:sudo airmon-ng start wlan0杀掉影响监听进程sudo airmon-ng check kill查找无线网络sudo airodump-ng wlan0mon监控抓包sudo airodump-ng --bssid AA:AA:63:AD:AA:AA -c 11 -w /home/kali/Desktop/TEST/wifi wlan0mon 抓包解密sudo aircrack-ng -w /home/kali/8fixTel.dic /home

2021-07-21 15:11:29 2216

原创 Idea个人常用快捷键

写在最前面:所有的快捷键,都可以在Help->Find Action中去寻找。1.ctrl+[ / ctrl+] 快速跳转到上一个项目/下一个项目2.ctrl+e 最近编辑的文件...

2021-07-20 18:19:31 55

原创 WINDOWS/LINUX 命令行创建删除管理员账号

1、WINDOWS查看USERSnet user 增加USERnet user 用户名 密码 /add添加用户到管理员组net localgroup Administrators 用户名 /add查看用户信息net user 用户名 删除用户net user 用户名 /del

2021-06-25 10:40:20 210

原创 hashcat相关

写在前面:hashcat 的-h其实很有用1、自定义格式类型(示例为 u+l+d,“1”为自定义格式的占位符)hashcat hashFile -m 0 -a 3 --custom-charset1=?u?l?d ?1?1?1?1?1?1?1?1?12、指定范围(示例为6-9位)hashcat hashFile -m 0 -a 3 ?d?d-increment --increment --increment-min 6 --increment-max 9...

2021-06-21 17:14:47 117

转载 BurpSuite IP代理扩展(IPRotate_Burp_Extension)每次请求切换IP

IPRotate_Burp_Extension一个BurpSuite IP动态代理扩展,它使用AWS API网关在每个请求中更改您的IP。这有助于绕过不同类型的IP限制过滤策略,例如基于IP阻止的策略,基于IP的API速率限制或基于IP的WAF过滤保护等。此扩展程序允许您轻松地跨多个区域启动API网关。然后,目标主机的所有BurpSuite流量都将通过API网关进行路由,这会导致每个请求的IP不同。(有可能回收IP,但这种情况非常低,你使用的区域越少,机会越少)。UI请求的外观示例安装htt

2021-06-01 15:22:16 2448

原创 mockmvc 用法

@WebAppConfigurationpublic class ControllerTest{ // 自己写的controller @Autowired private DemoController sendMsgController; private MockMvc mockMvc; @Before public void setup() { mockMvc = MockMvcBuilders.standaloneSetup(sendM

2021-05-27 17:01:06 513

原创 TCP/IP 四层架构图

图片参考自网络

2021-05-20 13:38:32 1281

原创 DNS解析过程

话不多说,直接上图问题1:如果每次访问连DNS解析都这么的复杂,那访问效率是有多慢。其实本地DNS服务器会有缓存的功能,在第一次本地DNS服务器得到解析后的IP地址后,在缓存时间TTL值以内的请求,都会返回缓存的结果。问题2:根域服务器为什么也叫"."域服务器。其实任何域名,结尾都有个".",对于计算机来说,这样在按规则切割来解析的时候也会方便很多,就像下图。...

2021-05-13 09:56:45 71

原创 Netcat基础教程

1、作为客户端与服务器某建立端口连接例如要连接某服务器上开放的80端口nc -nv 192.168.1.1 802、作为服务器开放某端口例如:把本机当作服务器开放1234端口。然后把接收到的数据输出到text.txt文件(可选)nc -l -p 1234 > text.txt注:客户端通过第一点所述方法连接建立TCP链接即可完成通信。服务器端截图:客户端端截图:...

2021-05-11 14:24:57 529

转载 字典生成工具——crunch

KALI系统自带,话不多说,直接上案例1、生成8位,包含0-9,以6开头的数字字典crunch 8 8 0123456789 -t 6%%%%%%% >>num8.dic 2、生成pass01-pass99所有数字组合crunch 6 6 -t pass%% >>newpwd.txt 3、生成六位小写字母密码,其中前四位为passcrunch 6 6 -t pass@@ >>newpwd.txt 4、生成六位密码,其中前四位为pass,后二位为大

2021-04-29 14:37:44 4446

原创 Nmap命令参数介绍

Nmap命令参数介绍1、-sn:仅检查主机是否为活跃主机,不检查端口。nmap -sn 192.168.1.12、-RP:采用ARP协议,同一网段下检查最精确。nmap -sn -RP 192.168.1.13、-PP、-PE、-PM:采用IMCP协议,基本用不到。nmap -sn -PP 192.168.1.14.1、-PS:采用TCP协议,发送SYN包,可指定常用端口,默认为80nmap -sn -PS 80,81 192.168.1.14.2、-PS:采用TCP协议,发送AC

2021-04-28 17:31:47 604

原创 如何写好代码系列——第一期,为什么需要好的代码?

前言从业以来,本人基本一直待在传统行业。对于传统行业来说,很少去关注业务代码的好坏,只要能用就行。这就导致了大量的冗余代码,重复代码,魔法值等各种“垃圾代码”存在于系统当中。甚至在人员流动几次以后,复杂业务逻辑的地方新接手的人员根本不敢接手去改,只能去新开发一个功能来替代老功能。我相信这种问题肯定不仅仅存在于传统行业中,所以想写留下一波对于编写代码的个人心得供大家参考。什么是语言?首先,我们需要了解我们写的些什么玩意,先引用一段百度百科:语言(Language)是人类进行沟通交流的表达方式。其

2021-02-23 11:23:14 183

原创 java,lambda表达式常用方法合集

1、数组遍历拼接返回单个变量List<String> list =new Arrays.asList("a","b");String str = list.stream().collect(Collectors.joining(","));

2021-02-07 11:25:06 336 2

原创 记一个Lombok的一个大坑,IDEA编译报“找不到符号”的问题

结论在文章底部,有时间的可以看我废话一波。首先展示一下出错的代码:ColumnDO columnDO = new ColumnDO();columnDO.setAttrname(SuperStringUtils.uncapitalize(attrName)); //此行没法通过编译报的错也贴一下:那么问题来了,这个错一看就是ColumnDO对象没引进来的问题,但是IDEA却并没有报错,并且ctrl还能点进这个类,而且这个类就在这个项目的同一个包下:脑子里瞬间十万个问号??.

2021-02-05 15:46:01 1984 2

原创 2020个人年终总结

2020年,平平淡淡的一年工作方面工作方面唯一有点成就感的就是带领一个7人小队进行开发,在开发的过程中还要做管理确实不是一件容易的事情。能力方面在综合能力上,前面也提到了稍微增长了一点团队的管理经验。在技术能力上,今年就有点懈怠了;能回忆起来的也就只有两个地方了,第一个是把mybatis的源码看了一下,然后心血来潮写了一个半成品的ORM框架。第二个是总算把TDD的核心理解到了,也运用到了日常开发中。生活能力方面,增加了一项驾驶能力,总算拿到驾照,并且买了一辆二手车练练手(主要是也买不.

2021-02-02 17:31:58 468

原创 LogStash存数据进ES,使用日志时间而非插入时间

input { beats { port => 4567 # codec => "json" # codec=>plain{charset=>"UTF-8"} }}filter { json { source => "message" remove_field => ["message","@version","path","beat","input","log","offset","prospector",

2021-01-14 10:04:55 723

原创 ELKF搭建及使用全过程(7.8版本)

ELKF搭建及使用全过程(7.8版本)前言ELKF框架ELKF成员介绍运行流程---------------------------------------------------------------------------------------FileBeat搭建LogStash搭建Elasticsearch搭建Kibana搭建测试前言讲真的现在互联网的技术更新换代实在是太快,ELK还没出几天,就又出了ELKF。好不容易找到几个6.x的版本教程,然而7.x的版本配置又和6.x天差地别。所以最好的

2021-01-12 16:34:38 4558 5

jenkins2.222.1.war

jenkins.war 2.222.1版本,jenkins搭建配置博客https://blog.csdn.net/qq_29611427/article/details/105808700

2020-04-28

WebErrorController

springboot,容器级别全局错误处理器,demo案例。Spring Boot-错误处理及自定义全局异常处理机制

2018-07-04

html移动端日历插件

html移动端日历插件,一款比较好看的日历插件,在网上找了蛮久的

2018-03-15

cxf-apache

CXF内置JettyWeb服务器。 使用CXF开发Web Server端组件都需要“接口”和“实现类”两部分。 支持多种数据格式:XML和JSON(Restful)。 并可以与Spring进行快速无缝的整合 灵 活 的 部 署 : ant(build.xml) maven(pom.xml) 可 以 运 行 有Tomcat,Jboss,Jetty(内 置web 服 务器),IBMWebsphere,BeaWebLogic上面。

2018-01-15

js加密解密插件

提供各种js加密解密算法,希望可以帮助大家。使用说明:http://blog.csdn.net/qq_29611427/article/details/78978471

2018-01-05

cxf和xfire的jar包冲突解决

我是拆开XmlSchema的jar包重新打包,然后修改xfire-core-*的引用的地址。 xfire-core-*里面需要修改引用地址的地方其实也就下面几个类,改完重新编译即可。

2017-12-15

spring集成cxf客户端和服务器端demo(含自定义拦截器)

spring4+cxf3,因为自己项目要用到接口开发,所以综合现有网上所有教程,终于成功写出能自动注入的demo,这个是含拦截器

2017-10-24

spring集成cxf客户端和服务器端demo

spring4+cxf3,因为自己项目要用到接口开发,所以综合现有网上所有教程,终于成功写出能自动注入的demo

2017-10-24

java源码查看工具

使用C++开发,主要具有以下功能: 一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;

2017-09-27

空空如也

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

TA关注的人

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