<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csdnjquery163com的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csdnjquery163com</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csdnjquery163com]]></copyright><item><title><![CDATA[java设计模式之策略模式实操]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/137756909</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/137756909</guid><author>csdnjquery163com</author><pubDate>Sun, 14 Apr 2024 23:36:50 +0800</pubDate><description><![CDATA[(2)代码设计模式：工厂模式+策略模式，每个配置的条件都需要去匹配，而每个条件的匹配可能相同或者不同，所以可以定义一个抽象类作为父类，每一个条件创建一个类，继承这个抽象类，抽象类主要有三个抽象方法：获取匹配器的类型代码、获取传入对象参数中该匹配器对应的入参值、条件匹配；(2)条件可以单选、多选、输入字符串，也就是说条件值可能是等于、包含、不等于、不包含、大于、小于、自定义输入值；1、匹配器抽象类：获取匹配器的类型代码、是否自定义匹配算法、获取传入对象参数中该匹配器对应的入参值、条件匹配；]]></description><category></category></item><item><title><![CDATA[SpringBoot的starter原理及如何自定义starter]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/131825176</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/131825176</guid><author>csdnjquery163com</author><pubDate>Thu, 20 Jul 2023 13:31:04 +0800</pubDate><description><![CDATA[Spring 官方定义的 Starter 通常命名遵循的格式为 spring-boot-starter-{name}，例如 spring-boot-starter-data-mongodb。例如，在Maven的依赖中加入spring-boot-starter-web就能使项目支持Spring MVC，并且Spring Boot还为我们做了很多默认配置，无需再依赖spring-web、spring-webmvc等相关包及做相关配置就能够立即使用起来。spring.factories 书写规则。]]></description><category></category></item><item><title><![CDATA[GIT统计代码量]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/131233137</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/131233137</guid><author>csdnjquery163com</author><pubDate>Thu, 15 Jun 2023 17:57:31 +0800</pubDate><description><![CDATA[git代码量统计]]></description><category></category></item><item><title><![CDATA[keepalived安装部署]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/125957954</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/125957954</guid><author>csdnjquery163com</author><pubDate>Sun, 24 Jul 2022 12:35:53 +0800</pubDate><description><![CDATA[keepalived高可用安装部署]]></description><category></category></item><item><title><![CDATA[vmware虚拟机安装centos7及网络配置]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/125872166</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/125872166</guid><author>csdnjquery163com</author><pubDate>Wed, 20 Jul 2022 20:44:26 +0800</pubDate><description><![CDATA[虚拟机两种网络配置]]></description><category></category></item><item><title><![CDATA[使用python爬取微信公众号文章]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/122736562</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/122736562</guid><author>csdnjquery163com</author><pubDate>Fri, 28 Jan 2022 21:30:11 +0800</pubDate><description><![CDATA[使用python爬取微信公众号文章]]></description><category></category></item><item><title><![CDATA[nginx日志的配置]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/112762313</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/112762313</guid><author>csdnjquery163com</author><pubDate>Mon, 18 Jan 2021 14:22:38 +0800</pubDate><description><![CDATA[一、日志输出格式配置示例


log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent $request_length "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"' '  elapsed=${reque]]></description><category></category></item><item><title><![CDATA[使用nginx搭建web静态资源服务]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/111936372</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/111936372</guid><author>csdnjquery163com</author><pubDate>Tue, 29 Dec 2020 20:34:41 +0800</pubDate><description><![CDATA[一、nginx作为静态资源服务有三种配置方式：


		location ~* (.+)\.(ico|gif|jpg|jpeg|png|html|htm|css|js|txt|json|xml|swf|wav|eot|svg|ttf|woff|exe)$ {
                root   D:/develop/nginx-1.13.12/static;
               access_log   off;
        }
		
		location ^~/wtxprint/ ]]></description><category></category></item><item><title><![CDATA[高并发下java锁的应用]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/111597950</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/111597950</guid><author>csdnjquery163com</author><pubDate>Wed, 23 Dec 2020 20:15:11 +0800</pubDate><description><![CDATA[两类锁：

一、独占锁：redis的分布式锁、ReentrantLock锁；

二、共享锁：synchronized的对象锁

今天针对高并发下的共享锁做一点心得分享，举例：

银行卡取钱的两个场景：

场景一：假设现在有10个人在同一家银行的10张不同的银行卡上取钱，在程序执行层面肯定是要允许10个人同时取，而不是要10个人排队取；

场景二：假设现在有2个人取同一张银行卡上的钱，在程序执行层面肯定是要排队执行取钱的操作，而不能同时执行取钱的操作；

那么问题来了，这两种场景都是取钱，那么我们的锁要在什么]]></description><category></category></item><item><title><![CDATA[python使用pygame插件库做游戏开发-打飞机]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/110571364</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/110571364</guid><author>csdnjquery163com</author><pubDate>Thu, 03 Dec 2020 21:20:05 +0800</pubDate><description><![CDATA[游戏开发的大概分为七个步骤：
一、主体框架开发
  1、游戏窗口；
  2、背景音乐播放；
  3、玩家飞机绘定义及移动；
  4、飞机绘制及响应键盘事件
二、敌方飞机开发
  1、敌方三种飞机类型的定义及移动；
  2、地方三种飞机数量的初始化及绘制；
  3、大型飞机的飞行声音播放
三、碰撞检测
  1、玩家飞机和敌方飞机的碰撞检测；
  2、玩家飞机和敌方飞机爆炸的效果图片展示；
四、
  1、玩家飞机子弹的定义及移动；
  2、大型飞机、中型飞机的血量设置；
  3、大型飞机、中型飞机被子弹击中效.]]></description><category></category></item><item><title><![CDATA[无向图-最短路径Dijkstra(迪杰斯特拉算法)算法]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/109537306</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/109537306</guid><author>csdnjquery163com</author><pubDate>Fri, 06 Nov 2020 18:57:57 +0800</pubDate><description><![CDATA[一、算法思路

1、采用广度优先搜索算法；

2、二维数组初始化无向图；

3、创建一个一维数组，初始化起点到其它所有节点的距离为无穷大，起点自己到自己的距离为0；

4、从起点开始找与起点相邻的其它节点的距离，将距离赋值到前面创建的一维数组，将此节点标记为已访问；

5、在一维数组中找一个没有访问过的节点，并且数值是最小的节点，将此节点作为起点重复第4步；

6、直至所有节点全部标记为已访问，程序执行结束；

二、代码


import sys
class Graph:
    #所有节点信息
    n]]></description><category></category></item><item><title><![CDATA[无向图-广度优先搜索和深度优先搜索]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/109487198</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/109487198</guid><author>csdnjquery163com</author><pubDate>Wed, 04 Nov 2020 11:37:52 +0800</pubDate><description><![CDATA[深度优先遍历简称DFS（Depth First Search），广度优先遍历简称BFS（Breadth First Search），它们是遍历图当中所有顶点的两种方式。

深度优先一般是解决连通性问题，而广度优先一般是解决最短路径问题

代码实现


import queue
class Graph:
    #所有节点信息
    nodeAll = []
    #记录节点是否已访问 0否 1是
    visited = []
    #所有的边
    edge = []
    #节点数量
   ]]></description><category></category></item><item><title><![CDATA[关于高并发的一次亲身经历]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/108256674</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/108256674</guid><author>csdnjquery163com</author><pubDate>Thu, 27 Aug 2020 11:42:27 +0800</pubDate><description><![CDATA[关于高并发的一次亲身经历一、故事二、前后端分离三、控制库存超额出售四、nginx负责均衡部署
一、故事
在疫情期间，接到了一个网上口罩出售的秒杀活动需求，经过了一昼夜的奋战，完成功能的开发和上线，当时采用的是单体架构+redis分布式锁，但是在上线的当天在指定时间开始进行秒杀活动时，系统页面完成进不去，只能在后台不断重启服务，大概用了1个小时口罩才基本抢完。于是我组织人马马上进行系统重构，重构主要是从以下几个方面开始：

做前后端分离；
去除redis分布式锁，改用数据库对update的原子性操作解决同步问]]></description><category></category></item><item><title><![CDATA[git配置 阿里Code]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/108107108</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/108107108</guid><author>csdnjquery163com</author><pubDate>Wed, 19 Aug 2020 18:20:23 +0800</pubDate><description><![CDATA[一、下载git并安装

git下载地址：https://gitforwindows.org/

阿里code地址：https://code.aliyun.com/

二、添加Git用户名并设置邮箱

//检查Git是否已经安装
git --version

//添加用户名并验证该配置是否正确
git config --global user.name 1104404103
git config --global user.name
//设置邮箱地址并验证邮箱设置是否正确
git config --globa]]></description><category></category></item><item><title><![CDATA[axure制作动态切换标签页]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/107040346</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/107040346</guid><author>csdnjquery163com</author><pubDate>Tue, 30 Jun 2020 13:00:55 +0800</pubDate><description><![CDATA[Axure的版本8.0

一、实现的功能及展示效果：标签页切换；





二、元件搭配

1、Box；

2、动态面板；

三、实现逻辑
1、选择标签1展示面板1；
2、选择标签2展示面板2；

四、操作步骤
1、将动态面板拖入界面，并给动态面板设置两种状态”标签1“和”标签2“；



双击动态面板打开设置状态界面；



2、双击”标签页1“，进入到编辑界面，拖入两个Box，分别命名为”标签页1“和”标签页2“，给”标签页1“设置蓝色背景；



3、设置标签页1的单击事件，单击标签页1时展示”标签页]]></description><category></category></item><item><title><![CDATA[axure制作表单查询]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/107040027</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/107040027</guid><author>csdnjquery163com</author><pubDate>Tue, 30 Jun 2020 12:41:39 +0800</pubDate><description><![CDATA[Axure的版本8.0

一、实现的功能及展示效果：对表格数据的查询；

二、元件搭配

1、输入框；

2、中继器；

3、标签；

三、实现逻辑
1、搜索框内的文字长度大于等于1，并且搜索的文字能够模糊匹配表格中的姓名，显示匹配的数据；
2、搜索框内的文字长度小于1，将表格数据完整的显示；

四、操作步骤
1、拖入相关组件并设置好中继器的数据内容；



设置中继器的第一列显示id，第二列显示姓名；



2、搜索框内的文字长度大于等于1，并且搜索的文字能够模糊匹配表格中的姓名，显示匹配的数据；

设置]]></description><category></category></item><item><title><![CDATA[axure制作下拉列表模糊查询]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/107035004</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/107035004</guid><author>csdnjquery163com</author><pubDate>Tue, 30 Jun 2020 11:14:39 +0800</pubDate><description><![CDATA[Axure的版本8.0

一、实现的功能：对姓名的下拉检索；

二、元件搭配

1、输入框；

2、中继器；

3、标签；

三、实现逻辑
1、默认下拉列表是隐藏；
2、搜索框内的文字长度大于等于1，并且搜索的文字能够模糊匹配下拉列表中的值，显示下拉列表；
3、鼠标悬停在下拉框文字上，改变文字的背景颜色；
4、单击选中下拉列表文字将文字赋值到搜索框，同时隐藏下拉列表；
5、搜索框内的文字长度小于1，隐藏下拉列表；

四、操作步骤
1、输入框，在元件库中选择一个输入框，取名为“搜索框”；


2、中继器，选择]]></description><category></category></item><item><title><![CDATA[全面了解 Nginx 到底能做什么]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/105689278</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/105689278</guid><author>csdnjquery163com</author><pubDate>Wed, 22 Apr 2020 18:19:59 +0800</pubDate><description><![CDATA[原创地址：https://mp.weixin.qq.com/s/f2QZrxiFM8iY_kj9zGKqsg

前言

本文只针对 Nginx 在不加载第三方模块的情况能处理哪些事情，由于第三方模块太多所以也介绍不完，当然本文本身也可能介绍的不完整，毕竟只是我个人使用过和了解到过得。所以还请见谅，同时欢迎留言交流

Nginx 能做什么


	1.反向代理
	
	
	2.负载均衡
	
	
	3.H...]]></description><category></category></item><item><title><![CDATA[如何打破思维局限]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/105328601</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/105328601</guid><author>csdnjquery163com</author><pubDate>Sun, 05 Apr 2020 16:37:28 +0800</pubDate><description><![CDATA[有这样一个故事，丐帮在乞讨的时候都是讲规矩的，大家划定好了各自乞讨的地盘，你是这条街上的乞丐，就不能到那条街上去讨饭。

有一个乞丐运气不好，他的乞讨地盘上有钱人不多，乞讨得很辛苦。

一天，这个乞丐救了皇帝，皇帝就要报答乞丐，说：“你提个要求吧，只要我做得到，立即就给你办了。”

乞丐想了想，大声说：“请皇上把那边上那条街划给我乞讨，那条街上有钱人多。”

乞丐之所以还是乞丐，因为他只具有一种乞...]]></description><category></category></item><item><title><![CDATA[和黑客斗争的 6 天！]]></title><link>https://blog.youkuaiyun.com/csdnjquery163com/article/details/105265304</link><guid>https://blog.youkuaiyun.com/csdnjquery163com/article/details/105265304</guid><author>csdnjquery163com</author><pubDate>Thu, 02 Apr 2020 11:16:20 +0800</pubDate><description><![CDATA[原文链接：https://blog.youkuaiyun.com/ityouknow/article/details/104666810

互联网公司工作，很难避免不和黑客们打交道，我呆过的两家互联网公司，几乎每月每天每分钟都有黑客在公司网站上扫描。

有的是寻找 Sql 注入的缺口，有的是寻找线上服务器可能存在的漏洞，大部分都是各个黑客检测工具来扫描，当然更高级一点的入侵需要很多人工协助。

一般情况下，网...]]></description><category></category></item></channel></rss>