- 博客(343)
- 资源 (34)
- 收藏
- 关注
原创 windows10(19044_1706)离线安装wsl和Docker的填坑记录
docker安装需要首先配置windows的wsl环境,配置时推荐使用windows的文档一步步操作。由于本地网络无法访问windows应用商店,所以只能手动安装linux发行版本,梳理了三种安装方法。由于本机使用了proxifier软件,导致安装wsl、子系统、docker都是问题,总结了问题避免后来者踩坑。......
2022-07-20 10:53:42 1435
原创 Java-SpringBoot AOP-半小时了解AOP知识及使用注解实现AOP
springboot 2.7.0jdk 8AOP (Aspect Orient Programming),直译过来就是 面向切面编程,AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向切面编程,实现在不修改源代码的情况下给程序动态统一添加额外功能的一种技术。AOP可以拦截指定的方法并且对方法增强,而且无需侵入到业务代码中,使业务与非业务处理逻辑分离,比如Spring的事务,通过事务的注解配置,Spring会自动在业务方法中开启、提交业务,并且在业务处理失败时,执行相应的回滚策略。Spri
2022-07-12 18:02:47 684
原创 Java-SpringBoot-@Transactional-事务注解的失效和不回滚的场景
Java-SpringBoot-@Transactional-事务注解的失效和不回滚的场景前言事务(Transaction)指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。SpringBoot 通过 @Transactional 注解大大简化了开发时事务使用的复杂度,但同时也引入了不少隐藏的坑。使用不当会引起事务失效、不能回滚等情况,从而破坏记录的完整性。我们梳理下导致事务失效的常见错误避免踩坑。环境Spring Boot (v2.6.7)ORM JPA数据库驱动
2022-05-12 17:30:46 1667
原创 PostgreSQL-执行计划分析分析基础(一)
PostgreSQL-执行计划分析分析基础(一)前言当执行的SQL出现瓶颈、慢查询等问题的时候,我们就需要分析SQL的执行计划,通过分析执行计划可以帮助我们对SQL找到具体的瓶颈点。我们可以调整SQL查询条件或加索引来优化,对比执优化前后的行计划,找到适合业务场景的最佳优化方案。下面通过示例,解读下pgsql的执行计划,让我们对分析执行计划有个初步的入门。执行计划语法格式两种语法结构:explain [ ( option [,...] ) ] statementexplain [ analy
2022-04-29 11:02:25 2326
原创 springboot-@RequestParam接收参数的六种形式
springboot-@RequestParam接收参数的六种形式1.前言springboot 中接收参数的注解有 @ApiParam、@RequestBody、@RequestParam、HttpServletRequest 等,下面列举@RequestParam注解的几种使用方法。2.如何接收客户端查询参数//请求原始类型,可以取到客户端传来的所有类型参数@GetMapping("/test")public String test1(HttpServletRequest request){
2022-04-27 11:21:59 4679
原创 springboot-slf4j日志输出级别简要配置
springboot-slf4j日志输出级别简要配置1. 前言springboot使用ymal、yml配置,更好的将相关的配置节点聚合在一起,方便查看和增改配置项。配置可以写在application.yml、springboot.yml 任意文件内,下面简要配置使用log4j输出日志的示例。2. 环境默认情况下,Spring Boot会用Logback来记录日志springboot v1.5.6.RELEASE#依赖<dependency> <groupId>o
2022-04-27 10:54:58 6989
原创 nodejs-(一)win10安装配置nodejs(v12.20)环境
nodejs-(一)win10安装配置nodejs(v12.20)环境一、什么是Nodejs?Node.js是一个基于Chrome V8擎JavaScript运行时环境。Node.js听名字好像是个JS库,其实Node.js是C++开发的JavaScript运行时环境。使用Node.js可以访问读写txt文本、访问数据库,开发Web网站等等。二、下载地址官网:https://nodejs.org/zh-cn/其它版本:https://nodejs.org/zh-cn/download/r
2022-04-25 11:49:34 3737
原创 java-MyBatisGenerator-(二)开发一个支持tkmybatis的插件
java-MyBatisGenerator-(二)开发一个支持tkmybatis的插件现在大多数都是前后端分离的开发模式,这样就需要定义好多实体对象从前到后包含但不限于vo、bo、dto、do,一堆o ....其实都是体力劳动,好吧,让我们把这些o交给生成器吧~~~~一、上篇讲了怎么写插件,下载就直接上代码。主要的功能有3个:1.是修改默认生成的接口文件,添加了注解和父类;2.是修改默认生成的类文件,为实体添加了tk.mybatis需要的注解,和一个select方法;3.是生成了一个vo实
2022-03-29 20:51:22 621
原创 java-MyBatisGenerator-(一)插件开发生成自定的代码
java-MyBatisGenerator-(一)插件开发生成自定的代码MyBatisGenerator 为我们减少庞大且容易出错的纯“体力”代码,关于它的配置和使用网上一大把就不介绍了。这里主要说下它的插件机制,自己开发插件站在巨人的肩膀继续前进~~~一、主要类介绍不得不说它的设计非常好,万物介对象。它把一个java类代码拆解的非常细,对象可以划分为两类。一类是表示数据库表、字段的对象;另一类是表示java类的对象;数据库对象有: IntrospectedTable 表示一个数...
2022-03-29 20:24:03 528 1
原创 springboot-src/main/resource-资源文件读取下载
springboot-src/main/resource-资源文件读取下载一、读取 src/main/resource 目录下的文件写的是单元测试,项目上用代码一样。目录结构java ResourceUtilsTest.javaresources text.txtResourceUtilsTest.java 代码package com.mytest;import org.junit.Test;import org.springframewor
2022-03-23 11:40:34 913
原创 python-动态规划算法-最大公共字符串和最大公共子序列区别?
python-动态规划算法-最大公共字符串和最大公共子序列区别?一、动态规划的问题解决思路和区别'''动态规划: 动态规划,是一种以空间换时间的技术,算法的根本目是解决冗余(重复计算)。 1 每种动态规划解决方案都涉及网格; 2 单元格中的值通常是你要优化的值; 3 每个单元格都是一个子问题,因此你应该考虑如何将问题分成子问题,这有助于你找出网格的坐标轴;最长公共子串和最长公共子序列,区别? 最长公共子串要求在原字符串中是连续的,而子序列只需要保持相对
2021-05-08 15:45:45 202
原创 python-图论最短路径算法
python-图论最短路径算法一、深度优先算法、广度优先算法区别'''查找最短路径 定义: v = 顶点 t = 目标顶点 v1 = 子顶点 广度优先算法:优先遍历 v 的所有邻接顶点,在所有邻接顶点中查找 t,直到所有顶点都访问过; 深度优先算法:优先遍历 v 的第一个 v1,如果 v1 存在子顶点则继续深入查找,直到以 v 为顶点的所有子节点访问过;'''二、执行结果~~~~~~~~~~~~~~~~~~~~~~
2021-05-08 15:42:50 888
原创 python-排序算法-快速排序算法
python-排序算法-快速排序算法一、快排的思想'''快速排序: 思考的问题: 使用分治思想; 将问题拆解到最小范围; 直到计算出结果; 逻辑描述: 1 首先取一个基准值,一般为 arr[0]; 2 遍历 arr 将比基准值小的放在 less 中,比基准值大的放到 large 中; 3 合并数组 less + arr[0] + large; 4 递归重复 1~3 步骤;
2021-05-08 15:40:12 268
原创 python - 搜狗词库 (.scel 文件转 txt)
python - 搜狗词库 (.scel 文件转 txt)解析示例:词库名: 妖神记【官方推荐】词库类型: 动漫描述信息: 妖神记妖神一出,谁与争锋!霸气词库来袭,小编整理了其中的家族,人名,武器等,让你打出字来so easy。欢迎大家前来补充哦!词库示例: 天道之力 圣血翼蛟 天痕世家 圣灵大陆 龙墟界域解析 妖神记【官方推荐】.scel -> /Users/xxx/Downloads/搜狗词库/output/妖神记【官方推荐】.txt代码:# -*- coding: ..
2021-04-21 19:22:26 1279
原创 正则断言 - 匹配表达式前后以或不以指定字符开头或结尾的内容
正则断言 - 匹配表达式前后以或不以指定字符开头或结尾的内容零宽断言 - 能匹配表达式 (?=exp) 零宽度正预测先行断言,断言自身出现的位置的后面,【能匹配】表达式exp (?<=exp) 零宽度正回顾后发断言,断言自身出现的位置的前面,【能匹配】表达式exp负向零宽断言 - 不能匹配表达式 (?!exp) 零宽度负预测先行断言,断言此位置的后面,【不能匹配】表达式exp (?<!exp) 零宽度负回顾后发断言,断言此位置的前面,【不能匹配】表达式exp...
2021-04-07 19:30:01 1309
原创 python - 爬虫递归抓取网站信息 rul、title、desc
python - 爬虫递归抓取网站信息 rul、title、desc实现思路:分两部分实现,1》抓取网站所有的 URL ;2》通过 URL 就可以方便的拉取任何内容;下面给出抓取所有 URL 的思路和 code,其实,实现比较简单只需要一个递归就搞定了,注意一下抓取的 深度和回归条件,必定每个页面的 url 会有很多重复的;#!/usr/bin/env python3# coding=utf-8import codecsimport osimport randomimpo..
2021-04-07 15:03:12 1182 2
原创 linux - awk - 文本统计命令
linux - awk - 文本统计命令使用awk命令,可以处理一下任务: 管理小型个人数据库 产生报告 验证数据 产生索引并执行其他文档准备任务 测试算法 提取数据片段进行处理 排序数据 执行简单的网络通讯 分析和调试awk程序 用C或C ++编写的函数扩展语言官网: http://www.gnu.org/software/gawk/manual/gawk.html一、语法 awk '{pa...
2020-11-10 16:27:46 685
原创 NLP - ngram - N元语言模型 python 实现
NLP - ngram - N元语言模型 python 实现一、说明N-Gram N元语言模型: N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计或者评估一个句子是否合理。另外一方面,N-Gram的另外一个作用是用来评估两个字符串之间的差异程度。这是模糊匹配中常用的一种手段。 N-Gram 表示,定义一个长度为 N,步长为 1 的滑动窗口,切分原字符串得到的词段。假设 N = 2 时得到一个...
2020-10-14 17:09:10 13228 5
原创 python - sort - 对象、数组、字典 lambda 排序方法
python - sroted - lambda 表达式排序一、lambda 表达式使用说明lambda 表达式即匿名方法如:def add(x,y) return x+yfun = lambda x,y:x+y其中 add() 方法和 fun 匿名方法,是等效的;二、lambda 语法说明lambda 形参列表:表达式(返回值)如:lambda x,y:x+y其中:x,y 是方法的形参;x+y 与方法中的 return x+y 等效;三、代码实例#!/u...
2020-10-14 16:03:51 982 1
原创 NLP-python-马尔科夫链(markov)-文本句子生成器实现
NLP-python-马尔科夫链(markov)-文本句子生成器实现一、markov算法说明:该算法的基本原理是将输入看成是由一些互相重叠的短语构成的序列。其将每个短语分割为两个部分:一部分是由多个词构成的前缀,另一部分是只包含一个词的后缀。在生成文本时依据原文本的统计性质(即前缀确定的情况下,得到所有可能的后缀),随机地选择某前缀后面的特定后缀。二、markov算法分解示例假设前缀长度为两词(中文可以为两个字),则马尔可夫链(Markov Chain)随机文本生成算法如下:1.设滑动窗
2020-10-13 19:24:18 3953
原创 python-基础-yield 关键字用法
python-基础-yield 关键字用法#!/usr/bin/env python3# coding=utf-8'''通过斐波那契数列生成,了解下 yield 关键字的使用:yield 可返回一个迭代器;如果在for 循环中调动的方法中遇到 yield 关键字,则每次循环返回 yield 后面的结果,直至结束;如果用 next() 方法调用,则需要自己控制循环次数;'''#斐波那契class Fibonacci(int): def __init__(self,num).
2020-09-30 14:53:59 122
原创 sqlite - 轻量级数据示例
sqlite - 轻量级数据示例drop TABLE test;--1.建库,创建一个空的文本文件,之后将扩展名 .txt 改为 .db;--2.建表CREATE TABLE IF NOT EXISTS test( id integer PRIMARY KEY AUTOINCREMENT, name TEXT, kw TEXT);--3.建索引CREATE UNIQUE INDEX test_kw_uindex ON test (kw);--4.插入数据.
2020-09-04 15:57:42 163
原创 python - re.findall() 方法 正则表达式中带括号的匹配规则
python - re.findall() 方法正则表达式中带括号的匹配规则python 正则括号的使用踩坑及注意事项[a-z]+\d+([a-z]+)(\d+)(([a-z]+)(\d+))以上三个表达式在 vscode 中查询结果一样,但是 python 中返回的结果是三种不同数据类型,使用是需要注意!!!配规则:1.正则中没有括号时,返回的是 list,list的元素是 str ;2.正则中有括号时,返回的是 list,list的元素是 tuple ,tuple 中的各项对应的是括
2020-09-02 15:36:26 7632
原创 java - 算法 - 大顶堆、小顶堆 排序
java - 算法 - 大顶堆、小顶堆 排序一、完全二叉树的数组表示形式特性最后一个父节点下标为 (len/2)-1若当前节点的下标为i父节点的下标为 (i-1)/2左子节点的下标为 (i*2)+1 或 (i<<1)+1右子节点的下标为 (i*2)+2 或 (i<<1)+2排序后特性大顶堆,排序后为正序;小顶堆,排序后为倒序;二、运行结果arr 1 0 2 9 3 8 4 7 5 6 maxHeap 9 7 8 5 ...
2020-07-31 20:22:58 455
原创 《欲罢不能》-- 让人上瘾的六大诱因(原则)
在《欲罢不能》这本书里面,诠释了让人上瘾的六大诱因(原则): 1 可望而不可即的诱人的目标 2 无法阻挡且无法预知的积极反馈 3 渐进式的进步和改善的感觉 4 随着时间推移越来越难的任务 5 需要解决但又未解决的紧张感 6 强大的社会联系...
2020-06-30 15:11:40 785
原创 http 301、302 重定向,处理过程分析
http 301、302 重定向,处理过程分析一、定义: 响应码:301、302 ,都代表重定向,其中 301 代表永久重定向,302 代表临时重定向;二、服务器场景: 请求 www.aa.com/a.html ,重定向到 www.aa.com/b.html; 请求 www.aa.com/b.html ,重定向到 www.aa.com/c.html;三、客户端场景: 请求 www.aa.com/a.html,浏览器展现了 www.aa.com/c.html 内容;...
2020-05-26 18:48:09 1909
转载 iis 6、7、8或更高版本,解决 nginx、f5 负载均衡后 wwwlogs 日志中不能记录 X-Forwarded-For 真实ip 问题
iis 6、7、8或更高版本,解决 nginx、f5 负载均衡后 wwwlogs 日志中不能记录 X-Forwarded-For 真实ip 问题The solution - how to modify logging behaviourThe steps required depend on your version of IIS.IIS 8.5 & later...
2020-04-28 15:30:22 1000
原创 nginx - ip 限制规则、黑名单、白名单
一、配置 ip 限制时的注意事项#注意事项:# 1. deny 一定要加一个ip,否则直接跳转到403,不往下执行了;如果403默认页是同一域名下,会造成死循环访问;# 2. allow的ip段,从允许访问的段位从小到大排列,如127.0.0.0/24 下面才能是10.10.0.0/16# 24 表示子网掩码:255.255.255.0# 16 表示子网掩码:255...
2020-04-27 17:39:37 2149
原创 python - 分析 nginx access 日志文件
python - 分析 access 日志文件'''约定: nginx 的 log 目录下有两个目录bac、analyze bac 每日备份的 access log,文件命名格式:qmw_access-200425.log analyze 存放分析完的结果文件。调用: python nginx_logs_spliter.py --nginx...
2020-04-26 16:44:06 612
原创 python - 定时拆分备份 nginx 日志
python - 定时拆分备份 nginx 日志一、背景:nginx 的log 不会自动按天备份,而且记录时间格式不统一,此程序专门解决这两个问题;二、windows 部署方式1.在 nginx 目录,创建一个 nginx_logs_backup.bat 文件;文件内容如下 python nginx_logs_splter.py --nginxConf=nginx.con...
2020-04-26 10:09:24 291
原创 python - 字符串、日期时间转+格式化
python - 字符串、日期时间转+格式化#!/usr/bin/env python3# coding=utf-8import osimport sysimport argparseimport codecsimport time,datetimedef test(): # "24/Apr/2020:14:43:38 +0800" dt =time.t...
2020-04-24 16:20:53 666
原创 c# - mono - 调用 python 脚本 .py 文件
c# - mono - 调用 python 脚本 .py 文件一、定义命令行工具:在windows 下是 cmd.exe,在 mac 下使用 bash。二、踩过的坑使用 Process 类,启动一个“命令行工具”,在通过向标准输出流中写入标准的命令(p.StandardInput.WriteLine(command))执行 py 文件。主要的思想还是模仿命令行的命令执行方式。导致...
2020-04-16 10:38:21 380
原创 pyhon3 - bloomfilter(布隆筛选器) - pybloom_live 使用
pyhon3 - bloomfilter(布隆筛选器) - pybloom_live 使用一、安装#安装pip3 install pybloom_live#卸载pip3 uninstall pybloom_live二、筛选器类型BloomFilter(定容)ScalableBloomFilter(可伸缩的)三、使用实例#!/usr/bin/env python3# ...
2020-04-15 14:09:43 11990
原创 sqlite3-windows 备份脚本 backup.bat
sqlite3-windows 备份脚本 backup.bat命令格式: backup.bat test.db 200403 #dump test.db 到 ./bac/test.db_200403.sql.gz 文件,bac 目录需要手动创建。完整命令,保存为 backup.bat 文件::--------------------------------------...
2020-04-03 17:02:11 679
原创 sqlite-命令行工具使用说明
sqlite 命令行工具使用说明一、进入命令行linux 使用 sqlite3 命令,windows 双击 sqlite3.exe 进入;二、简单使用#切换到db 目录.cd /Users/my/db/ #关闭已经进入的db,重新打开 test.db 库,如果 test.db 不存在则新建.open test.db #进入 test.db 库#查看 test.db ...
2020-04-03 12:11:42 909
原创 java-maven pom.xml 文件 jar 包引用顺序
java-maven pom.xml 文件 jar 包引用顺序场景: 当项目 project1 引用了多个 a.jar、b.jar、c.jar 包, 其中每个 jar 包都间接的引用了 common.jar 包, 且引用的每个 common.jar 的版本都不一样,这时 product1 最终会用到那个?common.jar引用路径: a.jar->c...
2020-03-27 12:00:13 1879
原创 PyCharm 2017.3 解决 pip 升级后无法安装第三方库问题
PyCharm 2017.3 解决 pip 升级后无法安装第三方库问题修改文件:packaging_tool.py解决时分别出现了一下三种错误:AttributeError: module 'pip' has no attribute 'main' 模块'pip'没有属性'main'NameError: name 'pip' is not defined 名称'pip'未...
2019-12-26 14:36:50 652
原创 c# - Mvc动态注册HttpModule实例
c# - Mvc动态注册HttpModule实例再也不容为了兼容 iis 6、7、8、9、10 了 -_- !!!!。不用配置 web.config 的<httpModules> or<modules> 节点了!!!Microsoft.Web.Infrastructure.DynamicModuleHelper 包含的类可帮助管理使用 Razor...
2019-12-25 19:37:29 391
原创 python - 分析 iis 日志 wwwlogs
python-解析 iis 日志iis日志分析工具比较多,基本都支持 windows(不夸平台),统计维度也有限。有找工具的时间还不如自己写一个!!!分析时注意 iis 日志是格林尼治时间,没有加时区。分析时需要加 8 小时!!!日志是 tvs 类型,字段为:#Fields: date time s-computername s-ip cs-method cs-uri-stem c...
2019-12-16 13:11:45 761
原创 java-guava 布隆筛选器用法及比较
java-guava 布隆筛选器用法及比较布隆筛选器使用场景: 一般用于一个字符串是否存的预测,如爬虫是否抓取过这个URL等。优点: 对于特大的集合来说,检索快、占用内存少等。缺点: 存在漏报率。分别使用 set、boolmfilter 检索一千万个数字,通过调整 fpp 值可以观察漏报率public static void main (Str...
2019-05-30 17:22:15 552
leetCode 面试高频算法整理-2020
2020-09-25
F5XForwardedFor2008源码.zip
2020-04-28
mybatis-generator 1.3.5 源码+改进+支持自定义文件后缀+表、字段注释
2017-10-16
java-mybatis、springmvc 整合demo源码(druid-demo)
2017-04-14
excel格式unicode(4E00-9FA5)中文字符集,34083字含多音字
2016-04-28
c# 动态操作 zip 组件 ioniczip
2015-12-07
豆瓣小组话题扫描器v2(源码)
2015-09-14
C# VS 2010 创建、安装、调试 windows服务(windows service)
2012-05-07
EditPlus 3 中文破解版
2012-04-24
修复windows2003无搜索栏的问题
2012-02-13
反射技术测试
2011-09-28
win7登录界面器 V1.0
2010-09-09
C# .NET4.0 自定义文件并实现文件与应用程序关联
2010-06-29
获取Oracle服务名
2008-06-25
NHIbernate1.2 应用事例+sql数据库
2007-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人