- 博客(67)
- 资源 (3)
- 收藏
- 关注
原创 【cocos creator】经典微信飞机大战
最近在学习cocos creator, 教程常常是cocos creator 2.4.x, 3.x API很多发生变化, 故记录一下使用3.x练习实现过程。如果对您有用,倍感荣幸。习作: 经典的微信小游戏飞机大战软件: cocos creator 3.8.0开源地址: https://gitee.com/depingl/cc_plane_war.git体验地址:https://planewar.lisi.fun/
2023-09-17 09:56:33
980
1
原创 使用MariaDB实现MySQL数据库审计
使用数据库日志审计功能可以记录数据库所有操作,方便问题回溯、责任厘清。MySQL商业版自带日志审计功能,社区版有很多方案,本例使用MariaDB插件实现。本例在Windows上实现,Linux原理一致。
2022-10-24 11:28:38
1356
1
原创 Windows安装解压版rabbit-mq
安装erlangrabbit-mq依赖erlangerlang下载页面本例安装最新版本24.2, otp_win64_24.2rabbit-mq与erlang有版本关系, 见关系对照表:安装exe, 配置环境变量, ERLANG_HOME(非常重要, 如果不配置,mq无法正常安装)安装rabbit-mq统一下载页面, 可自由选择发行版本我使用的版本, v3.9.11选择win64.zip压缩包,rabbitmq-server-windows-3.9.11.zip下载到本地后,
2021-12-20 17:04:43
829
原创 Docker实战--以jeecgboot项目为例
背景实际开发中如何使用docker?本例使用jeecgboot项目为例实战一下。下载代码开始实战。环境准备本例全程在centos上操作,需要安装一下环境, 安装过程略gitdockermaven 3.6+node 14.17.0yarn后端项目后端项目涉及Java项目、MySQL、Redis,比前端项目更为复杂,一般的做法是,分开准备镜像, 然后使用docker-compose统一启动。redisRedis无特殊配置,直接使用官方镜像即可。# 查找镜像docker sea
2021-11-15 15:11:40
4091
原创 浏览器图片懒加载,解决页面图片过多加载慢问题
背景页面有巨多张图片, 可能每张都还挺大, 一次加载很慢, 期望只加载用户当前看到的图片(即浏览器可视区域)实现思路将图片的实际地址写在一个其他属性中, 判断图片偏移高度, 决定是否加载此图片。代码实现<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,
2021-10-28 15:54:52
1075
原创 Vue项目部署到非根目录--前后分离+nginx部署
背景项目部署时, 不能用新域名和端口, 需要放到子目录下, 如: https://XX.XX.com/app/vue cli3 项目打包# 修改 vue.config.jsmodule.exports = { publicPath:'/app/', // ....}nginx 配置# ...server { listen 80; server_name localhost; # 静态资源, 代码文件应该在 /code/front/app/ 下 location
2021-10-28 12:12:26
1417
原创 nginx添加模块以添加echo模块为例
nginx安装完成后可能需要添加模块,本文以增添echo模块为例记录过程。1. 下载echo模块并解压# 下载wget https://github.com/openresty/echo-nginx-module/archive/refs/tags/v0.62.tar.gz# 解压tar -zxvf v0.62.tar.gz# 将文件复制到合适的位置, 模块添加后解压文件不可以删除cp -r ./echo-nginx-module-0.62 /usr/local/nginx-moudle/
2021-09-25 15:51:12
545
原创 算法时间复杂度
概述一般情况下,算法中的基本操作语句的重复执行次数是问题规模 n 的某个函数,用 T(n)表示,若有某个辅助函数 f(n),使得当 n 趋近于无穷大时,T(n) / f(n) 的极限值为不等于零的常数,则称 f(n)是 T(n)的同数量级函数。记作 T(n)=O( f(n) ),称O( f(n) ) 为算法的渐进时间复杂度,简称时间复杂度。T(n) 不同,但时间复杂度可能相同。 如:T(n)=n²+7n+6 与 T(n)=3n²+2n+2 它们的 T(n) 不同,但时间复杂度相同,都为 O(n²
2021-09-20 15:45:27
113
原创 使用maven私服
背景公司搭建了私服,那么如何使用?本文记录常用的操作。将工具包打包到私服在pom.xml中添加一下配置 <!-- 发布jar包到私服 --> <distributionManagement> <repository> <!-- 对应私服的releases仓库, 可能不同 --> <id>releases</id> <name
2021-08-10 17:32:36
774
原创 MySQL批量插入不重复的UUID
使用场景有时候需要给表中已有数据填充一个字段为UUID, 比如更新所有ID等。操作思路先给每一条数据增加一个UUID将UUID中的-替换为空不一次完成的原因是 使用替换函数后, 所有记录返回的id会变成一样sql# 1update table set id = (SELECT UUID()) WHERE id is NULL;# 2update table set id = REPLACE(id,'-','');...
2021-08-09 16:08:05
3474
原创 海明校验码算法和纠错
背景介绍由Richard Hamming于1950年提出、还被广泛采用的一种很有效的校验方法,是只要增加少数几个校验位,就能检测出二位同时出错、亦能检测出一位出错并能自动恢复该出错位的正确值的有效手段,后者被称为自动纠错。它的实现原理,是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依
2021-07-30 11:35:38
2599
原创 linux裸机javaweb环境快速安装(一)
java8下载wget https://download.oracle.com/otn/java/jdk/8u291-b10/d7fc238d0cbf4b0dac67be84580cfb4b/jdk-8u291-linux-x64.tar.gz?AuthParam=1620660014_cdc47016ef540c0675d8d2e32edd617e过期去官网重下: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow
2021-06-09 13:25:58
204
原创 centos8安装nginx
下载依赖yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel下载安装包并解压, centos8安装nginx1.19.9有问题, 手动解决麻烦, 推荐使用1.18wget -c https://nginx.org/download/nginx-1.18.0.tar.gztar -zxvf nginx-1.18.0.tar.gz配置, 安装https及状态模块./configure .
2021-06-09 11:02:57
137
原创 springboot+druid+dynamic-datasource+mysql数据库密码加密
背景生产环境中, 希望将数据库密码加密, 甚至用户名加密。druid自带了数据库密码加密功能。springboot+druid-starter实现密码加密获取公钥和加密密码。这里使用druid-start,官方有加密方法说明:GitHub wiki简单总结下就是:在本地maven仓库找到druid的jar包, 然后在CMD窗口执行命令以下命令即可得到java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools you
2021-05-29 18:31:36
4055
3
原创 notepad++批量操作笔记(持续更新..)
写在前面notepad++批量文本处理, 大多数操作依赖正则表达式在开头或结尾加入内容正则表达式^和$分别表示开头和结尾, 替换他们为需要添加的内容即可完成在每行之前加入指定内容选中/复制选中(匹配)的内容写入查询条件mark allcopy marked text删除奇数行/偶数行核心思路为每两行匹配, 并分组, 再需要时替换为对硬的组即可, 正则为^([^\n]*)\n([^\n]*)从头开始匹配, 非换行符+换行符+非换行符, 正是两行。使用\1替换为奇数行(只保留), \
2021-05-25 15:53:50
2238
原创 使用frp搭建自己的内网穿透
背景微信开发等场景需要使用公网地址,但开发者本地通常有公网IP,需要搭建内网穿透来方便调试。通常可以使用花生壳、Ngrok、frp等。花生壳需要实名认证, 需要6块钱,且使用别人服务器有一定的安全隐患。这里我们使用frp搭建自己的内网穿透服务。需要准备材料软件安装包GitHub发行版地址值得注意的是 客户端和服务端版本需要保持一致。根据自己的操作系统, 通常下载上图标记的版本需要一个域名和一台公网服务器,如果没有这两样可以劝退了,frp的基本原理就是先访问指定的公网服务器, 然后通
2021-05-22 11:02:09
634
1
原创 linux裸机javaweb环境快速安装(二)
背景提交代码后需要打包然后部署到服务器上, 打包+传输+关闭+启动非常麻烦, 如果可以一键完成这些操作, 或者自动完成就更好了。操作思路服务上安装git、maven,当然默认有java等。编写脚本更新代码、打包、部署、重启操作步骤安装git# 下载wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.xz# 解压 编译 安装tar -zxvf git-2.9.5.tar.gzcd git
2021-05-11 16:19:32
211
原创 centos8安装squid实现本地网络代理(匿名访问)
背景生活工作中,常遇到一下问题:多台服务器只有一台可以上网, 其他服务器需要通过这台服务器实现网络连接, 并在这台服务器上使用这台服务器实现策略控制。本地上网希望隐藏本地IP防止大数据定向广告推送。需要通过某一台服务器访问特定网络这时候我们需要配置一台代理服务器来实现,常见的代理服务有tinyproxy和squid,这里我们介绍squid安装步骤# 查看版本yum list | grep squid# 安装yum install -y squid# 查看安装whereis squ
2021-05-07 18:51:06
490
原创 centos下elasticsearch自启动
场景线上环境, 当服务器重启时需要elasticsearch跟随启动,但es正常情况下不能root启动。思路将es写入服务, 跟随服务启动实现脚本,创建/etc/init.d/elasticsearch并写入以下内容:#!/bin/bash##chkconfig: 345 63 37#description: elasticsearch#processname: elasticsearch-6.*ES_HOME=/usr/local/elasticsearch/elasticse
2021-05-04 18:31:13
438
原创 MySQL去重插入方法
1. 背景向数据库插入数据,希望去重插入。2. 操作一下一般去重插入有两种策略:重复不插入重复则替换(更新)准备表:CREATE TABLE `user_info` ( `id` int(11) NOT NULL COMMENT 'id', `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '姓名', `idcard` varchar(50) CHARACTER
2021-02-04 14:52:27
3305
2
原创 git上手指南
1 下载git官方下载地址右键获取下载链接使用迅雷更快哦2. 下载TortoiseGit可以可视化操作, 也可以就用来看个花花绿绿(可以使用不同颜色标记文件状态),下载地址3. 使用gitbush3.1 记住用户名和密码#设置全局缓存 其实会在用户目录下生成.gitconfig文件,用以保存配置信息git config --global credential.helper store#设置默认邮箱git config --global user.email "123@qq.com"#
2021-01-27 22:18:18
102
原创 Java线程池: 等待所有线程执行完成
场景需要获取多个结果, 并进行运算, 想通过线程池增加结果获取速度, 且所有结果获取后, 可以继续计算并统一返回。依赖<!-- https://mvnrepository.com/artifact/com.google.guava/guava --><dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId>
2020-12-25 15:40:08
5631
1
原创 Linux下Python3环境搭建
Linux下已经默认安装Python2,本文记录如何安装Python3安装步骤下载一个合适的Python安装包可以从浏览器下载好安装包,然后拷贝到Linux环境下。下载地址:https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz当然, 也可以直接在Linux下下载wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz解压安装包tar -zxvf ./Py
2020-10-21 16:51:48
162
原创 pip安装源配置
场景使用pip安装第三方库时需要国内镜像加速。国内常用镜像源# 清华:https://pypi.tuna.tsinghua.edu.cn/simple# 阿里云:http://mirrors.aliyun.com/pypi/simple/# 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/# 华中理工大学:http://pypi.hustunique.com/# 山东理工大学:http://pypi.sdutlinux.org/# 豆瓣
2020-10-20 11:48:52
537
原创 Linux下定时任务与开机执行
使用场景需要定时执行一些脚本。比如,定时清除日志。crontabcrontab可以再Linux下执行定时任务。常用命令:# 管理定时任务crontab -e# 查看定时任务crontab -l# 删除定时任务crontab -rcron表达式Linux下cron表达式可以表示6个维度, 从左往右分别是:星期:0 - 6 (星期天可以用0 或者 7 来表示)月:1-12日:1-31时:0-23分:0-59另外:* 表示任意的(分、时、日、月、周)时间都执行- 表示
2020-10-20 11:15:59
919
原创 Linux后台运行项目-nohup
使用场景需要后台运行某些程序, 即关闭shell窗口, 运行不间断.命令nohup:no hang up,中文可以译作不挂起.使用nohup可以在后台运行项目。命令格式 nohup cmd [arg] [&]& : 让命令在后台执行cmd 要执行的命令arg 参数, 如日志记录常用方式后台执行并记录日志(覆盖)nohup ls > run.log 2&>1 &2>&1 是什么?将标准错误 2 重定向到标准输出 &
2020-10-20 11:01:57
164
原创 八皇后问题与递归回溯算法
问题引入八皇后问题(英文:Eight queens),是由国际西洋棋棋手马克斯·贝瑟尔于1848年提出的问题,是回溯算法的典型案例。问题表述为:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。如果经过±90度、±180度旋转,和对角线对称变换的摆法看成一类,共有42类。计算机发明后,有多种计算机语言可以编程解决此问
2020-10-17 15:36:12
139
原创 约瑟夫问题和单向环形链表
约瑟夫问题据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆圈一直进
2020-10-12 21:39:45
207
原创 哔哩哔哩APP导出缓存视频并合并成MP4
背景哔哩哔哩手机APP中缓存的视频想拿到电脑上播放或者保存,导出来后发现音视频是分开的,如何快速合并呢?从手机中导出视频资源安卓手机找到 文件管理- Android/data/tv.danmaku.bili/download每一类视频都是一个文件夹(多集视频在同一个文件夹下),将文件夹复制到电脑上使用工具打开复制的视频文件,发现音视频文件是分开的,分别为video.m4s和audio.m4s.使用Python并借助ffmpeg,可以快速批量提取并合成视频文件工具已经写好, 并放
2020-09-16 13:55:42
9759
1
原创 浏览器调用本地exe(应用程序)方法
1. 使用场景:需要在浏览器中调用调用客户端本地的EXE或其他可执行文件, 可以带参数。类似于下载时浏览器调用迅雷或者百度云盘。2. 操作步骤2.1 添加注册表向系统添加一个类似于http的私有协议(仅本地有效),然后浏览器调用。编写注册表文件如下:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\test]"URL Protocol"="D:\\software\\hik\\test.exe"@="testProtocol"
2020-09-16 11:36:08
10044
4
原创 mysql系统表sql语句(持续完善)
-- 查询数据库表行数 -- use use information_schema;select table_name,table_rows from tables where TABLE_SCHEMA= 'kpsumi' order by table_rows desc;
2020-09-10 15:09:15
246
原创 制作一个favcion.ico
设计一个icon什么是icon常见icon像素制作一个icon操作什么是iconFavicon是“收藏夹图标”的缩写(“美国人的收藏夹图标”;)。该名称源自Microsoft Internet Explorer的书签列表,称为“收藏夹/收藏夹”列表。将站点添加到“收藏夹/收藏夹”列表时,Internet Explorer(版本5及更高版本)会询问服务器是否有名为的文件favicon.ico。如...
2019-06-11 17:15:58
1067
原创 windows使用docker创建并运行MySQL容器
下载并安装docker desktop下载MySQL镜像#所有镜像docker search mysql#选择一个镜像并下载到本地#docker pull 镜像名:tag(版本)docker pull mysql:5.5根据镜像创建一个MySQL容器#查看当前所有镜像docker images#根据一个镜像创建一个容器并运行docker run -d --n...
2019-03-21 17:39:29
1970
1
原创 windows下将tomcat/redis注册为服务,后台启动
windows下将nginx/tomcat/redis注册为服务,后台启动日常开发中经常需要启动tomcat/nginx/redis等,那么怎么把他们配置成服务,然后随系统自动启动呢?windows注册服务 找到你需要注册为服务的应用,进入可执行文件夹下,打开cmdapplication --service-install [server name] [other args]re...
2018-08-11 19:43:11
498
eclipse codetemplates and codeFormatter
2018-03-28
json-lib类库
2016-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人