自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (1)
  • 收藏
  • 关注

原创 上下文无关文法、产生式、终结符、非终结符

第二个产生式 <subject> ::= "I" | "You" | "He" | "She" 表示一个主语可是"I"、"You"、"He"或"She"。第三个产生式 <predicate> ::= "eat" | "drink" | "sleep" 表示一个谓语可是"eat"、"drink"或"sleep"。"I"、"You"、"He"、"She"、"eat"、"drink"和"sleep"是终结符,它们表示具体的词汇或符号。这意味着在给定的上下文中,一个非终结符的展开规则是固定的,不受其他符号的影响。

2024-04-20 16:32:40 485

原创 一个简单的java递归下降语法分析器例子

一个简单的语法分析例子

2024-04-20 16:01:11 330

原创 批量控制教程-Ansible管理windows

介绍ansible发送批量命令给windows,以及包含的坑点和解决办法

2024-04-20 11:26:45 844

原创 java 词法分析练习

java词法分析代码练习

2024-04-20 11:20:26 404

原创 【Python自动化游戏操作脚本】

还支持录制操作,然后播放录制的操作:意味着你只需要做一遍,后面不需要你再亲自做了。使用场景:回合制游戏自动刷图、固定游戏本自动行动、游戏一键连招。比如这一关只需要按哪些键盘、鼠标的,那就可以代替你的双手。如果你的工作内容操作比较固定,也可以使用它。支持自定义配置模拟鼠标键盘操作。

2023-11-30 15:21:25 271

原创 Yii登录

Yii登录实现流程

2021-12-17 17:33:27 190

转载 Ubuntu 创建自定义命令

命令:gedit ~/.bashrc在里面加上自己的命令toZxkp,和实际的指令alias toZxkp='. /mnt/win/toZxkp.sh'命令:source ~/.bashrc (立即生效)

2021-10-25 14:55:48 608

原创 了解常见技术和前沿技术的必要性

拓宽常见技术,并实践,了解那些公认能提升人们效率的技术,因为这些技术发明出来,就是为了实际解决各类问题、提升效率。 最前沿的许多技术之所以要被研究,是因为它们如果能投入使用,确实能解决人们当前的效率问题,解决效率问题是人们进步的方式之一。...

2021-06-25 10:28:28 1171

原创 PHP实现二叉树和测试

<?phpclass TreeNode{ private $value; private $leftChild; private $rightChild; public function __construct($value,$leftChild=null,$rightChild=null) { $this->value = $value; $this->leftChild = $leftChild; .

2021-05-19 20:18:52 109

原创 PHP实现队列和测试

<?php/** * Class MyList * 队列,先进先出,头部出,尾部入 * * */class MyList{ //队列头索引 private $head_index = 0; //出队的内容 private $out_value; //入队的内容 private $in_value; //队列数组 private $list_arr = []; //队列最大值(满了不能入队) .

2021-05-19 11:44:56 180

原创 栈的操作状态撤回思路

* 栈,后进先出,永远在栈顶操作* 可用于记录最后一步操作,逐步撤回。* 如果维持一个栈表,里面的内容指向某些具体的操作日志记录id,* 当新增操作记录时,把id插入到最后一行,当要回退到最后一个状态时,读取最后一个操作记录id,对应的操作内容,对该操作做等幂撤销操作(在记录该操作时,就记录了相应的撤销操作指令。可以参考PHP的Yii框架的Migrate),让当前系统回到上一步的状态,然后删除栈表最后一行操作记录id* 这样就完成了系统的操作回退** 如果是在redis里面做,可以根据上述原理.

2021-05-19 11:18:09 249

原创 PHP实现栈和测试

<?phpclass HeadStack{ //栈顶索引 private $top_index = -1; //出栈的内容 private $out_value; //栈数组 private $stack_arr = []; //栈最大值(满了不能入栈) private $max_num = 10; //初始化栈,设置栈最大值 public function __construct($max_num=10.

2021-05-19 11:04:12 95

原创 修改windows终端编码

chcp 65001

2021-05-19 10:56:53 646 3

原创 前缀树php实现1

<?phpclass TireNode{ public $data; public $children = []; public $isEndingChar = false; public function __construct($data) { $this->data = $data; }}

2021-05-18 10:47:53 64

原创 前缀树PHP实现2

<?phpinclude "TireNode.php";class Tire{ private $root; public function __construct() { $this->root = new TireNode("/");//根节点 } public function getRoot(){ return $this->root; } public function in.

2021-05-18 10:47:27 84

原创 时间管理

为什么有的人能拥有很多时间?1、他们效率高2、他们效率高的根本原因是他们处事方式和绝大多数人都不一样1、懂得投资 和金钱管理一样,时间管理也存在消费、投资之分。 现在每投下的一点时间,都会为将来多倍的节省时间。 一次播种,多次收获。 现在做的事情,是未来做的事情的基础。2、减少消费比例 消费是指投入时间或金钱之后,只能得到暂时的效果、快乐,对未来的影响小。 吃饭花费的金钱是消费,买书花费的金钱是投资。 打游戏花费的时间是消费,看书花费的时间...

2021-04-27 18:39:40 81

原创 从计算机的多级缓存设计出发得到的一些生活工作方法思考

1、如果能预见到可能性很大的操作,那么做提前处理 比如,读取当前页内容之后,很大可能要读取下一页,那么可以提前读取下一页。但是读取下一页的动作,是用户正在阅读当前页的期间去做的,异步去做,可以在用户阅读的同时同步进行。 发散思考: 1、流程步骤已经触发,还有后续步骤等着触发记录,那么期间就可以通过异步提前生成好下一步要保存的内容,用户点击的一瞬间就已经生成完毕。 2、用户保存数据后,可能存在领导审批的步骤,这个步骤的数据准备可以在保存之后就生成,也可...

2021-04-25 11:19:43 51

原创 消息队列-削峰

MYSQL单机处理请求是有上限的,因此需要把请求限制在一定数量上。一般的MYSQL每秒2K请求处理是中上水平,达到5K就处理不过来。通过消息队列来削峰,把请求的处理堆积在队列中,或队列满到10K或某个值,就不加入队列都可以,按顺序每秒2K的进行处理,达到削峰目的。...

2021-04-23 10:12:27 1290

原创 消息队列-异步

用户发起请求之后,不要求实时得到结果的业务,都可以考虑使用异步,这样就能立马得到返回结果。比如秒杀成功之后,不需要马上生成订单,只需要告诉他秒杀资格成功了。

2021-04-23 10:07:34 408

原创 消息队列

每当有一对多的时候,就可以考虑通过发布订阅消息来进行解耦

2021-04-23 10:04:32 58

原创 消息队列存在的意义

消息的产生和消费解耦高内聚低耦合单一职责

2021-04-23 10:02:09 71

原创 php+redis实现处理高并发秒杀(令牌桶限流)

<?phpclass redis_miaoshaControl extends mobileControl{ public function __construct() { parent::__construct(); } /** * 接口参数 * @return array */ public function getRules() { return [ '.

2021-04-21 15:32:46 427

原创 秒杀解决方案记录

1、redis 保存用户id上次请求时间,10秒内拒绝服务2、令牌桶 redis获取令牌数量,如果应没有令牌了,拒绝服务。 同时用脚本定时生成令牌,写入redis3、检查库存和活动时间 在活动开始之前,可以在redis先存入库存总量和活动时间4、队列下单 先在redis扣减库存,加入rabitmq队列,定时器脚本执行消费队列,创建订单,短信通知对应客户,入库https://www.cnblogs.com/myJuly/p/13608455.html...

2021-04-21 11:06:58 58

原创 go学习-变量

package mainimport "fmt"//包级别var funclevel string = "what"//函数级别func main() { var msg string = "hello word1111"; //块级别 { var block_var = "block_var"; fmt.Println(block_var,funclevel); } fmt.Println(msg); fmt.Printl.

2021-04-20 22:20:57 50

原创 go语言学习日记1

1、安装gohttps://golang.google.cn/2、配置go环境go env 查看环境go env -w 配置各种项配置环境变量go env -wGO111MODULE=on 必须小写go env -wGOPROXY = "https://goproxy.io,direct"https://goproxy.io/zh/3、安装ide golangd4、新建项目、新建helloword.gopackage mainimpo...

2021-04-20 21:59:03 80

原创 模板设计模式

模板设计模式的核心思路是,设置好一个操作步骤,具体每个操作步骤的实现不同实例可以根据实际有所不同public function getFieldsLimitRows($modenum,$fields){ $model = m($modenum); if(method_exists($model,'changeLimitRowsFields')){ $fields = $model->changeLimitRowsFields($fields); } .

2021-04-16 11:50:21 38

原创 IIS服务器SSL证书配置打开HTTPS

1、拿到IIS证书2、在电脑开始-》运行-》MMC,增加编辑管理项目-》证书-》编辑本地计算机证书-》导入证书-》输入IIS证书密码,导入完成3、IIS服务器站点-》绑定-》443端口-》选择证书-》确定...

2021-04-10 11:08:12 128

原创 高德地图API地图展示、输入搜索、选择修改地图内容

function initGDMap() { console.log('初始化地图'); var center =[22.538184,113.95148]; var map = new AMap.Map('container', { center:center, zoom:11 }); var placeSearch = new AMap.PlaceSearch({ map: map }); //构造地点.

2021-04-08 14:28:53 433 1

原创 mysql case when then else end 实践

SELECTid,gsmc,CASEWHENxmISNULLTHEN'无'ELSExmENDASmy_mynameFROM`oa_wdxsc`LIMIT0,30

2021-04-02 14:18:22 50

原创 解耦,可扩展代码

改造前/** * 这里目前是写死的,每次增减都要改动这里的代码 * @desc 更好的做法之一是,在对应的模型里面写一个方法changeLimitRowsWhere, * 这样未来有多少个表都能不修改这边的算法模板,却又能灵活控制这里的条件 * @param $table * @param $where * @return mixed|string */public function getWhere($modenum,$where){ if(strpos($modenum,'m.

2021-03-31 15:55:59 87

原创 时间差计算函数

function getDateDiff($date_one,$date_two){ // 指定两个日期,转换为 Unix 时间戳 $date1 = strtotime($date_one); $date2 = strtotime($date_two);//计算两个日期之间的时间差 $diff = abs($date2 - $date1);//转换时间差的格式 $years = floor($diff / (365*60*60*24)); .

2021-03-31 14:18:39 1114

原创 解耦

/** * 假设未来不同的模块要增加或者删减跟进时间字段,就得动这边的代码,也就是说,这里每一行的灵活性,都不足 * 可以改成getTableWhiteNameAndKey,返回可通过的表、对应的公司名称 * @param $rs * @param $table * @return mixed */private function addData($rs,$table){ if($table=='customer'||$table=='wdxsc'||$table=='custome.

2021-03-30 20:41:06 70

原创 关于效率和代码设计的思考

今天在考虑一个项目究竟为什么好做、为什么不好做的原因时,得到一些感悟。在做一个满是前端js代码的项目时,感觉为了修改一个小功能,却要花费很大的代价,时间都花在读懂代码上。“同一个文件里面代码多,且一个小函数里面做的事情太多,并且没有注释它到底是为了什么而做这一步,短短的6行代码,都是为别处的函数做伏笔,没法判断每一行的目标。”变量的来源不好追踪、变量定义后的用途不明,变量命名没有意义,所有的代码很难理解。解决办法是:1、对于某块功能,要有对应的流程步骤说明文档2、相关函数..

2021-03-23 20:19:11 59

原创 js 动态生成列表 例子

//渲染列表var list_html ='<table id="link_parts_table" style="width:90%;"> <tr>' + '<td>物料编码</td>' + '<td>配件名称</td>' + '<td>配件类别</td>' + '<td>设备型号</td>' + '<td>序列号</td&g.

2021-03-20 12:24:20 264

原创 js 把数组里面的id拼接成用逗号拼接的ids字符串

function arrToIds(arr){ var new_ids = ''; for(i=0;i<arr.length;i++){ new_ids += ','+arr[i]; } if(new_ids!=''){ new_ids = new_ids.substr(1); } return new_ids;}

2021-03-20 12:18:15 1213

原创 js 检查变量是否null

function check_is_null(exp){if (!exp && typeof(exp)!="undefined" && exp!=0){return true;}else{return false;}}

2021-03-20 10:09:30 105

原创 jq 获取数组下标

function getArrIndex(arr,value){ var my_index= null; $.each(arr,function(idx){ if(arr[idx] == value){ my_index = idx; return true; } }); return my_index;}

2021-03-20 10:06:48 1032

原创 点击子元素关闭当前窗口

一开始搞不成功,窗口的内容子元素是动态生成的,点击窗口的元素去关闭当前窗口时,总是获取不到窗口元素关键是通过$("div", window.parent.document)类似的代码,去获取父级窗口元素。

2021-03-19 18:03:32 38

原创 layui复选框无法选中问题解决

复选框点击了之后,样式效果是选中了,但是每当获取表单提交的时候,它的checked状态总是false通过以下代码解决了,监听复选框点击操作,通过以下代码解决插件无法自动修改选中状态的问题。至于怎么样才能让插件本身点击就能自动选中,还未知。layui.use('form', function () { var form = layui.form; //监听复选框 form.on('checkbox', function(data){ if(da

2021-03-17 19:51:08 1538

原创 预防XSS攻击

/** * 特殊字符过滤 */public function xssrepstr($str){ $xpd = explode(',','(,), ,<,>,\\,.,*,&,%,$,^,!,@,#,-,+,:,;\''); return str_replace($xpd, '', $str);}

2021-03-16 16:09:15 59

自动键鼠+录制操作回放脚本

解放你的双手:自动键盘鼠标操作,支持录制操作并反复回放操作

2023-11-30

培训的标准操作流程.ppt

培训的标准操作流程.ppt

2021-02-21

空空如也

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

TA关注的人

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