- 博客(29)
- 收藏
- 关注
原创 linux开发机共享
linux开发机和window下共享安装CIFS共享服务sudo yum -y install cifs-utils使用开发机挂载项目项目挂载a. 共享文件夹,你项目所在的上级目录,一般是开发目录例如我的目录结构是 [E:\workspace]\project ,括号[E:\workspace]里要共享的目录,project是项目git目录共享有几个windows配置要开,具体可以百度b. 挂载到开发机root用户执行mkdir /data/dev/projectmount.
2020-12-31 11:56:31 210
原创 supervisor使用
supervisor使用安装yum install supervisor使用supervisor配置文件:/etc/supervisord.conf网页访问http://服务器ip:9001命令行登录supervisorctlsupervisor> help [选项] #查看帮助supervisor> update #增加任务配置模板配置目录:/data/web/supervisor/conf.d/配置文件:开发者_功能.conf[root
2020-12-31 11:25:11 176
原创 php下安装扩展
php下安装扩展,以IPAM扩展为例1、找到源码目录(如果删除的话重新下载当前版本处理)cd /data/software/php-5.6.19/ext/imapyum -y install libc-client-*2、执行phpize/usr/local/php/bin/phpize3、配置安装./configure --with-php-config=/usr/local/php/bin/php-config --with-imap=/usr/lib64 --with-imap-s
2020-12-31 11:16:28 163
原创 数据结构和算法-哈希
哈希算法:将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法算法实现要求:从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法)对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值算法的应用场景:安全加密最常用于加密的哈希算法是 MD5(MD5 Message-Digest Algorith
2020-12-29 10:41:55 150
原创 股票交易算法
买卖股票的最佳时机(一次交易)给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出
2020-12-29 10:41:11 4156 1
原创 CLOSE_WAIT产生及释放
发现服务器上有很多close_wait链接未及时释放产生原因:杀掉close_wait进程netstat -nap|grep CLOSE_WAIT | grep 31.13.77.17 | awk '{print $7}' |awk -F"\/" '{print $1}' |awk '!a[$1]++' |xargs kill 解决方法:curl_setopt($ch, CURLOPT_HTTPHEADER, array(“Connection: close”));...
2020-12-29 10:39:59 4649
原创 Ftp下载文件超时处理
问题描述:使用apache 开源库:commons-net 里的ftp进行文件下载,下载过程中发现由于网络拥挤或者是文件太大导致程序假死,不继续执行(实际上文件下载成功)问题查找:1、测试下载小文件没有问题2、直接使用ftp命令下载(文件下载正常,但是没接收到返回码226)3、文件实际下载成功(使用md5sum 校验文件是正常无损坏)4、查看ftp服务器日志(vsftp.log)自己的服务器,如果是外部提供是无法查询的ftp服务器端有正常返回,只是客户端没接收到原因:FTPClie
2020-12-29 10:36:59 5760 2
原创 三数之和
*给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]function threeSum($nums) { // 结果数组 $res = []; /
2020-12-10 17:35:22 130 1
原创 算法-滑动窗口
最小覆盖字符串给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”示例 2:输入:s = “a”, t = “a”输出:“a” function minWindow($s, $t) { $left = $right = 0;
2020-12-09 20:51:47 140
原创 Top key
<?phpclass Solution{ function Heap(&$arr,$idx){ $left = 2*$idx + 1; $right = 2*$idx + 2; if (!$arr[$left]){ return; } if($arr[$right] && $arr[$right] < $arr[$left]){ $l = $right; }else{
2020-12-04 11:46:40 404
原创 链表操作
1. 链表反转 function reverseList($head) { //迭代方法 $prev = null; $current = $head; while ($current) { $next = $current->next; $current->next = $prev; $prev = $current; $current = $next;
2020-12-04 11:43:50 85
原创 Kafka伪集群搭建
Kafka伪集群搭建1、下载kafka:https://kafka.apache.org/downloadstar -zxvf kafka_2.12-2.6.0.tgz2、Zookeeper配置启动Zookeeper:bin/zookeeper-server-start.sh -daemon config/zookeeper.properties3、kafka配置1)、复制配置文件cp server.properties server01.propertiescp server.pro
2020-09-29 16:58:43 233
原创 2020-09-23
1、php垃圾回收机制1:如果一个zval的refcount增加,那么此zval还在使用,肯定不是垃圾,不会进入缓冲区2:如果一个zval的refcount减少到0, 那么zval会被立即释放掉,不属于GC要处理的垃圾对象,不会进入缓冲区。3:如果一个zval的refcount减少之后大于0,那么此zval还不能被释放,此zval可能成为一个垃圾,将其放入缓冲区。PHP5.3中的GC针对的就是这种zval进行的处理。回收机制算法:1、对每个根缓冲区中的根zval按照深度优先遍历算法遍历所有能遍历
2020-09-23 17:29:11 88
原创 数据结构和算法-二分查找
二分查找思想:二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0时间复杂度:O(logn)实现:1、递归 function binarySearchRe($arr, $value, $low = 0, $high = 0) { $length = count($arr); if($length < 1){ return -1; } if($low
2020-08-24 11:48:45 138
原创 数据结构和算法-复杂度
算法复杂度算法复杂度1、时间复杂度:表示算法的执行时间与数据规模之间的增长关系1). 只关注循环执行次数最多的一段代码2). 加法法则:总复杂度等于量级最大的那段代码的复杂度3) . 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积几种常见时间复杂度实例分析O(1)、O(logn)、O(n)、O(nlogn)、O(n*n)最好、最坏、平均、均摊时间复杂度要根据具体的算法进行分析在数组中查找一个元素function searchKey($data, $key){ if(empt
2020-08-21 17:37:17 128
原创 数据结构和算法-排序
冒泡排序(Bubble Sort)冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作function bubbleSort($arr){ $length = count($arr); if($length <= 1){ return $arr; } for ($i=0; $i < $length; $i++) {
2020-08-21 17:36:27 90
原创 2020-08-20
1、单链表交集2、mysql索引和mongodb索引的区别3、传输层协议4、tcp/IP状态码5、http四次挥手6、事务隔离级别的查看和设置7、http和https协议
2020-08-20 18:03:04 202
原创 Php 静态方法的继承和重写
静态方法的继承和重写和非静态属性/方法一样,静态属性和方法也可以被子类继承,静态方法还可以被子类重写:class Parents{ public static function getClassName() { return __CLASS__; } public static function who() { echo self::getClassName() . PHP_EOL;//self 指向的是定义时持有它的类而不是调
2020-08-13 15:11:09 1142
原创 Redis连接超时 Error while writing bytes to the server.
Redis连接超时 Error while writing bytes to the server.问题描述:在使用Redis过程中遇到Error while writing bytes to the server. [tcp://127.0.0.1:6379],经排查是redis连接断开,redis serve配置的timeout时间为300s,中间逻辑处理过久导致查看Redis服务器配置(默认是不开启的timeout=0,不开启则不会出现上面的问题,为什么要开启请参考:https://blog.51
2020-08-10 16:56:24 3073 2
原创 Windows下redis集群配置
Windows下redis集群配置1、下载安装redishttps://github.com/MicrosoftArchive/redis/releases2、搭建集群1)、创建Redis集群目录(使用的是6个节点 3主3从)2)修改配置修改端口机配置 redis.windows.confport 6381cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 15000appendonly yes
2020-07-04 11:27:54 213
原创 在线修改表结构和索引(pt-online-schema-change)
线上直接修改大表的结构导致锁表业务无法操作,所以使用pt-online-schema-change工具在线修改表结构和添加索引,保证业务正常进行详细使用说明:pt-online-schema-change背景:业务场景表更或者是表结构设计不合理导致很多慢查询影响使用pt-online-schema-change原理:首先它会新建一张一模一样的表,表名一般是_new后缀然后在这个新表执行更...
2020-05-04 14:32:15 696
原创 使用PHP scopClient代理问题处理 looks like we got no XML document
这里写自定义目录标题使用PHP scopClient代理问题处理使用PHP scopClient代理问题处理因为网络问题导致访问接口速度太慢,需添加代理,以下使用的是socks5,访问超时导致解析错误,返回:looks like we got no XML document 错误 public function getSoap() { if (!$this-&g...
2020-03-26 17:28:59 428
原创 Linux alias别名设置
linux 别名设置1、添加aliasvi /root/.bashrcalias php73=’/usr/local/php73/bin/php’2、source /root/.bashrc设置软连接ln -s /usr/local/php7/bin /usr/local/bin/ln -s /usr/local/node10.9.0/bin/yarn /usr/local/...
2020-03-13 10:48:37 128
原创 php yield使用
使用yield读取大文件function getFileInfo(){ $handle = fopen("MM00003.csv", 'rb'); while (feof($handle)===false) { yield fgetcsv($handle); } fclose($handle);}$result = getFileIn...
2020-01-20 15:37:16 299
原创 多个版本的gcc安装编译swoole失败
指定版本export CC=/usr/local/bin/gccexport CXX=/usr/local/bin/g++cmake /data/web/software/swoole-4.4.12/swoole-src-4.4.12/./configure --with-php-config=/usr/local/php73/bin/php-configmake && ...
2020-01-07 14:20:59 228
原创 php全排列
字符串全排列(递归)function permutationStr($str, $tmp = ''){ $length = strlen($str); if($length <= 1){ echo $str.$tmp."\n"; }else{ for ($i=0; $i < $length; $i++) { /* $flag = false;//去除重复 ...
2019-12-27 18:08:19 395
原创 composer指定php版本
/usr/local/php7/bin/php /usr/bin/composer create-project laravel/laravel
2019-12-25 11:19:52 4263
原创 Js精度丢失问题
在获取网页数据时由于使用的是浮点型,解析后导致精度丢失var json = '{"result":10000000255164371, "count":42}';obj = JSON.parse(json);解决方案:把数字转为字符串进行处理(此处使用到是超过10位的数字转为字符串)var result = '{"result":10000000255164371, "count":...
2019-12-24 10:25:46 184
原创 常见邮箱IMAP服务使用说明
常见邮箱IMAP服务使用说明使用邮箱服务需要在邮箱后台启用IMAP服务才能进行邮件抓取Gmail邮箱登录邮箱后配置步骤参考:https://support.google.com/mail/answer/7126229?visit_id=637109539905521650-3565494162&rd=2#cantsignin在setting里开启pop & ima...
2019-12-21 11:34:32 2596
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人