- 博客(160)
- 资源 (2)
- 收藏
- 关注
原创 Test is important
代码写完了,如何进行测试根据需求把代码写完了,这个时候再我们提交给测试MM之前肯定要自己要测试一遍得的,如果你写了单元测试的话,这个时候跑一下单元测试就好了,如果没有单元测试的话,这个时候你就要自己构建测试用例自己去进行测试了。这个时候我的想法,代码逻辑就有点复杂了,还要根据逻辑构建测试用例,去自己测试,看是否有错误,尤其是边界值的构建,看看是否有漏掉的情况。这一部分是作为一个合格的研发工程...
2019-06-18 10:20:50
287
原创 由定时脚本计算 看如何找到问题的关键点和解决问题的方法
问题描述: 现在我们需要定时脚本去计算数据,将计算后的数据写入到数据库中,这些数据是以天单位的,我们用 order_id 和 date 来表示,也就是 order_id 在 2019-06-12 这一天的数据,我们去 5 分钟进行计算,因为它在今天的数据动态变化的,也就是今天的数据如果变化我们就会更新数据库的数据,过了今天有一部分数据就不再进行变化了,所以我们使用 crontab 定时脚本去获取,...
2019-06-13 18:38:50
713
原创 Yii user组件使用与初看
想要实现的需求(从哪里来?)目的:Yii使用Yii::$app->user->id获取用户的user_id,它是从session中或者cookie中获取的,因为我们现在使用的是JWT的验证方式,也就是我们获取用户的user_id和相关信息是从客户端传过来的JWT的token中获取的,所以我们就需要修改Yii2.0User组件中的代码来实现我们的需求。分析那么Yii使用us...
2019-04-04 18:02:23
1308
原创 使用yii 自定义错误显示遇到的问题
使用yii 自定义错误显示返回前端json信息想要实现的需求:描述出现的问题:分析过程总结想要实现的需求:我们使用Yii2.0框架做一个前后端分离的项目,其中使用了中间件(借鉴了Laravel的思想是使用了Yii2.0中的behaviors进行实现,具体实现还没有来得及看,后面看过可以给大家分享一下)判断用户携带了的token是否正确,我们项目中使用了JWT来进行用户判断,当jwt认证失败或...
2019-04-03 15:58:53
1208
转载 转58同城 mysql建表和使用规范
这里面都是一些很简单的规则,看似没有特别大的意义,但真实的不就是这么简单繁杂的工作吗?军规适用场景:并发量大、数据量大的互联网业务军规:介绍内容解读:讲解原因,解读比军规更重要一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高(2)必须使用UTF8字符集解读:万国码,无需转码...
2019-03-29 17:52:19
238
转载 关于选择
美国著名出版家Tim O'Reilly 最近写了一篇好文章(就是O'Reilly 出版社的创始人和老板),谈如何选择人生道路。它举出了三大标准。如果你做的事情,符合这三条,那就属于重要的事情,值得做下去。否则,你最好思考一下,是否应该就此罢手。西面就是他的三年大标准:1. 不要只盯着钱青年人容易犯的一个大错误,就是太关注钱,将金钱作为衡量成功的唯一标准。...
2019-03-27 11:01:53
353
转载 从框架看PHP的五种境界及各自的薪资待遇
在撰写此文前首先必须申明的是本人不鄙视任何一种框架,也无意于挑起PHP框架间的战争,更没有贬低某个框架使用者的用意,本文纯粹个人的看法。你可以认为我无知也好,或者装逼也好,请不要试着在任何情况下,随便发起言语的攻击,这只是我个人的一些经验而已,你可以选择赞成或不赞成,也可以选择看与不看。还有本人基本对这些框架中的大部分都用的时间比较长,绝对不是随便出个Hello World!就在这里评论,曾任...
2019-03-27 10:57:09
771
转载 CMake和Make之间的区别
下面是中文翻译部分: 编程人员已经使用CMake和Make很长一段时间了。当你加入一家大公司或者开始在一个具有大量代码的工程上开展工作时,你需要注意所有的构建。你需要看到处跳转的”CMakeLists.txt”文件。你应该会在终端使用”cmake”和”make”。很多人都是盲目的跟着操作说明而并不在意我们已何种方式去做我们需要做的事。构建的整个过程是什么?为什么要用这种方式去组织?Cma...
2019-01-10 17:21:42
16644
原创 php对二维数组中按照某个键进行排序
/** *@desc 给定二维数组按照指定的键进行排序 *@param array *@return array **/ function array_sort($arr, $keys, $stype='asc'){ $keysvalue = $new_array = array(); foreach(...
2018-07-25 17:19:23
719
原创 删除每个行末尾的空格及制表符 ,并删除完全是空格的行
练习1-18:编写一个程序,删除每个行末尾的空格及制表符 ,并删除完全是空格的行#include <stdio.h>#include <stdlib.h> #define MAXQUEUE 1001 int advance(int pointer){ if (pointer < MAXQUEUE - 1) return pointer +...
2018-07-20 09:13:30
1864
原创 PHP设置Redis key在当天有效
$redis->set($key,$value); $expireTime = mktime(23, 59, 59, date("m"), date("d"), date("Y")); //设置键的过期时间$redis->expireAt($key, $expireTime); 注意这里的key如果是hash数据结构的话,针对的是key,而不是has...
2018-07-16 15:55:16
14521
原创 缓存设计与更新
业务场景: 我们需要有有一个留言板,可以进行发帖,用户登录以后可以对帖子进行回复。用户可以对帖子和留言进行点赞。由于我们有并发量,如果直接对数据库,有可能出现问题,所以我们需要对数据列表进行缓存处理。处理方案: 将数据存储到NoSql中,当进行数据读取的时候直接从NoSql中读取数据,我们可以选择的Nosql有Memcache和Redis,两者之间的区别和使用,我...
2018-07-12 22:38:02
413
原创 array_multisort(): Argument #2 is expected to be an array or a sort flag
今天使用array_multisort() 的时候出现 array_multisort(): Argument #2 is expected to be an array or a sort flag是因为参数中的第二个参数是常量SORT_DESC,SORT_ASC, 代码中写成了'SORT_DESC' 然后就出现了上面的错误。使用方法的时候还是要仔细看手册...
2018-07-11 16:34:06
7536
原创 do while 相关
do { break; }while(false) 相等于goto 大家可以网上查一下$count =0;do { //进行相关操作} while ($this->result() !=0 $count<3) 可以进行重试机制,当函数result的结果不为0,进行do while循环中的内容,也就是当函数结果没有执行成功的时候可以进行循环代码中的代码,也即重试机...
2018-07-05 19:47:11
263
原创 Vue.js里面使用Axios发送Post请求出现跨域
在Vue.js里面使用Axios发送POST请求出现以前跨域的形式:具体报错如:Failed to load http://192.168.33.10:8009/api/token: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is ...
2018-05-26 13:42:21
17312
1
原创 小小想法
今天只是想写点东西哈:有的时候想问一下自己,自己到底真正要的是什么?想了一下:不知道哈。不过昨天下雨在操场上走,看到一个男生在放风筝,我昨天下午去了三次操场,第一次去的时候他还没有放起来,第二次的时候起来了好高,我从他身边走过的时候,脸上有着淡淡的笑容,还有一些小满足。我想这获取就是简单的快乐吧。做自己喜欢的事应该是幸福的。今天还遇到一个男生,男生脸上那个笑容,很满足,很开心。我慢慢体会到...
2018-05-20 20:55:55
304
原创 mysql 无法启动,报too many connections,实际情况是磁盘满了,mysql无法启动造成的
今天以前负责的一个网站,突然无法启动,因为是thinkphp写的,打开网站直接报错出现too many connections, 网上查了一下,说是连接数少了,还有说可能是ddos攻击了。但是然后使用mysql -u user -p password 这样使连不上mysql数据库的,你发现连mysql也无法重启,无法启动。这个时候比较纳闷,无法启动,无法重启,很无奈。只能查看错误日志,首先找到你的...
2018-05-20 20:40:25
1246
原创 当下我的小迷茫
临近毕业的我发现还有很多东西不会,很多东西仅仅是知道会用,但是没有搞清楚它为什么是这样?(有点难受) 接下来慢慢应该搞懂的东西: 路由: 浏览器发送一个请求,php是如何接受这个请求,然后进行路由? 请求: 路由是如何分发的?分发完成后如何发送到每个Controller里面的呢? 数据库处理: 使用pdo操作数据库,这个过程中mysql 是如...
2018-05-19 14:27:39
291
原创 Laravel 使用passport 验证api的时候出现Route login not defined
在使用Laravel写api的时候,因为是前后端分离所以我们需要使用Laravel的API Authentication 所以我们需要首先使用composer 安装 passport 然后才能使用,我安装Laravel官方文档上面配置完成后使用浏览器范文路由一直出现Route login not defined,查了很久没有发现为什么不行,后来问同事,原来它的Accept需要设置成为applica...
2018-05-15 21:46:22
5308
1
原创 Coding?
由毕业设计引起的一点小小思考: 最近在做毕业设计,打算做一个webapp,然后打包成apk,vue基础命令以及相关指令学习完了, 但是当自己真正去实现一个小东西的时候不知道如何下手,回头一想,发现自己连如何布局页面都忘了,也就是自己的html+css忘完了,不知如何下手,而且现在是移动端,已经二年多没有写前端页面了,学的时候也只是学了那么一点点。而且如果用Bootstrape的话,感觉可以实现但是...
2018-05-02 20:43:49
218
原创 npm run dev 出现 UnhandledPromiseRejectionWarning: Error: spawn cmd ENOENT
npm run dev 出现 如下报错Listening at http://localhost:8080(node:2328) UnhandledPromiseRejectionWarning: Error: spawn cmd ENOENT at Process.ChildProcess._handle.onexit (internal/child_process.js:217:19) ...
2018-05-02 11:02:20
25679
7
原创 Java Jdk安装成功,环境变量一直不生效,删除Path变量重新设置然后生效
jdk环境变量的配置网上有很多,我们搜一下就出来了,但是我今天试了很多次一直不成功,但是尽到jdk的安装目录下面java和javac都是可以使用的,最后实在是没有办法,把系统变量中的Path变量删除,重新设置一下就好了[笑哭]...
2018-04-29 15:50:47
3046
2
原创 PHP7源码安装
1、下载php源码 wget http://am1.php.net/get/php-7.2.4.tar.gz/from/this/mirror 重命名: mv mirror php-7.2.4.tar.gz 使用 tar zxvf php-7.2.4.tar.gz 解压 如果解压重命名后发现 使用tar命令出错如下: Child returned status 1 ...
2018-04-18 16:31:55
1594
原创 实习结束总结
时间好快,已经4月份了,今天要回学校了,准备做毕业设计了,11月14号入职,到现在5个月左右了,5个月中从一开始的熟悉整个系统, 上手难度对于我来说有点高,其中事件的监听与抛出、观察者模式、工厂模式、微服务、这些对于我老说都是新东西。多谢和我一起入职的2个同事,和他们一起熟悉,不会的多问问他们,很感谢他们,感觉如果是我一个人的话上手需要花很长的时间。 第一个项目 : 经...
2018-04-15 09:30:29
6806
原创 开发中遇到的小细节问题(url路由中的&和?号 与 == 判断变量是否相等)
1、今天从浏览器使用url请求的时候使用如下请求地址: http://192.168.33.10:18086/x/sign/list&sid=95e781c23e472fd6df4a4f5be2abc168大家看出有什么问题了吗?我其实第一眼看过去也没有什么问题,但是页面上面上面一直报404,如下报错:{code: -404,message: "Not Found",data: [ ]}n...
2018-04-03 19:36:08
427
原创 硅谷之谜读后感以及最近总结
前一段刚读完吴军博士的硅谷之谜,一开始读完浪潮之巅后,公司图书里面还有硅谷之谜这本书就继续看了一下,读完浪潮之巅才知道自己是一个小白,对互联网的发展史是一点也不了解,只知道天天开心的用着智能手机,写几行代码,从来没有想过它是怎么发展的,也没有去了解过那些巨头公司是怎么成长和建立的。读完之后,才对互联网的发展了解那么一丢丢,还有很多东西和知识是我们没有接触的。读硅谷之谜的时候,大家都会想要知道为什么...
2018-03-05 22:42:00
2392
原创 数据库通过建立关联表来避免连接查询
遇到的场景:需要查询的表单有三个:num/mobile/name 学号、手机号、导师、date 时间info 课程信息 其中涉及到三张表: num mobile 属于 A表 学生属性表name 属于 B表 老师的属性表info 属于C表 三张表通过逻辑外键关联我们可以在第一个表单中输入num/mobile/name 三个其中的一个进行查询,还可以选择时间和年
2018-01-15 22:44:13
990
原创 日志级别相关属性信息
我们使用框架的时候会经常使用的日志功能,特别是写服务的时候,如果服务报错的时候我们需要经常去查看日志信息,看那一块真正报错了,我一开始看到Log::error/Log::debug/Log::info的时候感觉都一样,我看到第一行代码中是这样解释这些信息的:Log::debug 用于打印一些调试信息,这些信息对你调试程序和分析问题是有帮助的。Log::info 用于打印一些比较重要的数据,
2018-01-14 15:52:55
552
原创 php接受post/get变量进行校验和判断
相信一开始大家都做过留言板类似的功能,主要就是接受变量,然后对变量进行处理,然后写入到数据库当中!但是如果是真是的线上的类似留言板的功能,我们需要对用户输入的参数进行过滤和校验,这个过程中,一开始的我们都会使用if进行判断,当然中间还需要考虑sql注入、xss攻击这些,sql注入的话我们可以使用pdo进行参数绑定然后进行过滤处理,xss攻击的话最简单的我们选择php htmlspecialchar
2018-01-14 11:44:23
3842
原创 使用charles抓手机app上的接口出现结果出现unknown
首先电脑上需要安装charles,然后需要设置手机上的WiFi设置,修改配置中的代理设置,把服务器的主机名设置成你电脑当前的ip地址,也就是打开cmd,输入ipconfig 查看自己的当前的ip地址(需要注意的是,你的代理服务器主机名的ip地址要和你当前连的ip地址的网段需要一致)我的是安卓手机,我一开始连着的是其他的wifi,它们没有在同一个网段所以代理会出现设置不成功的现象。然后设置成功以
2018-01-07 14:31:36
53282
15
原创 php继承父类,子类和父类中都有同名方法,实例化子类,在父类中调用这个方法,调用的是子类的
php继承父类,子类和父类中都有同名方法,实例化子类,在父类中使用$this->function() 调用子类和父类中都有的方法的时候,这个时候真正调用的是子类中的方法,我们容易看到$this 然后以为是调用父类中的方法,这点是我们看代码的时候容易出错的地方,特别是代码多的时候,特别容易出错。需要我们看代码的时候仔细一点。实例如下:<?php class a { public fun
2018-01-05 09:22:17
5660
1
转载 常用 Git 命令清单
我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库
2017-12-14 09:07:29
233
原创 前后端联调接入第三方接口之302游戏大作战的故事
业务背景: 接入第三方接口,获取用户名,实现用户登陆接口采用Java编写,我们的平台前端业务使用React.js 后端采用PHP实现数据接口业务流程: 前端向后端发请求,后端调用第三方接口,第三方接口实现跳转并跳转到登陆页面,登陆页面里面有一个回调地址,也就是登陆成功以后返回到调用该接口的地址。目标是返回到前端首页,并显示用户名。302游戏大作战 关卡1 :由于r
2017-11-07 15:59:30
1844
原创 PHP接口返回多余异常数据,如波浪号~
今天在写接口的时候,接口数据一致返回波浪号 ~,一直没有找到原因,最后和同事一起找到php标记结束符号后面有一个波浪号,也就是代码中是<?php?>~找了好久,最后也明白了,PHP为什么现在要求不需要结束符号了,原来是这个问题!!!
2017-11-01 18:04:25
1160
转载 linux命令:任务计划crontab anacrontab at cron
任务计划:1、在未来的某个时间点执行一次某任务: at batch 格式: at time 直接用 at 时间 即可 at -l 查看计划列表 at> COMMAND at> Ctrl+d 指定时间: 绝对时间:HH:MM DD.MM.YY MM/DD/YY 相对时间:
2017-10-24 10:53:26
614
转载 TCP协议的三次握手和四次分手
TCP是什么?具体的关于TCP是什么,我不打算详细的说了;当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。首先来看看OSI的七层模型:我们需要知道TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data
2017-10-19 16:23:38
269
原创 获取字符串中最长的连续数字字符串或最长的非数字字符串
主要思路: 分析的时候可以用来两个指针来进行分析解决,首指针指向头部,如果当前位置为数字的话,第二个指针从当前位置下一个位置开始寻找,如果是数字记录下来,如果不是数字,把该位置的下标+1也就是下一个位置作为下一次寻找的起始位置,继续需找,如果长度大于当前最长长度,进行替换,否则继续寻找获取字符串中最长的数字字符串<?php $str = 'abcd12345ed125ss123
2017-10-16 16:10:48
1102
原创 字典树学习与使用
动物统计加强版时间限制:3000 ms | 内存限制:150000 KB难度:4描述在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单。科学家想判断这片森林中哪种动物的数量最多,但是由于数据太过庞大,科学家终于忍受不了,想请聪明如你的ACMer来帮忙。输入第一行输入动物名字的数量N(1输出输出
2017-10-16 10:40:23
282
原创 从1-n中找出和为m的所有组合
递归方法解决输入 9 12输出:91 82 73 61 2 64 51 3 52 3 4#include#includeusing namespace std;void print(int *index) { for(int i=1;i<=10;i++){ if(index[i]== 1){ pri
2017-10-13 10:12:26
2379
原创 由数组未初始化引起PHP脚本出现内存不足 PHP Fatal error: Allowed memory size of
项目中遇到需要统计周粒度数据,随着时间越来越长,请求的数据会越来越多,超过nginx fastcgi_read_timeout 10的限制,所以出现504 Gateway Time out,我把数据放到一个中间数据表中,当前端需要请求数据的时候从 中间数据表中获取数据,但是,发现Http状态码变成了500,看了一下日志报错出现PHP Fatal error: Allowed memo
2017-10-12 12:22:36
422
Linux高性能服务器编程PDF图书
2017-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人