P, NP, NPC以及NPH问题

什么是P问题? 什么是NP问题? 以及NP-Complete和NP-Hard又是什么问题? 理解P和NP问题的预备知识:多项式时间复杂度 时间复杂度 是用来衡量一个算法的时间开销的,我们常见的时间复杂度有O(1), O(n), O(log

迁移mysql数据目录

  • yiqingpeng
  • 2024-09-04
  • 0
  •  
Step1, 查看mysql当前的数据目录位置: Mysql> select @@datadir; 比如输出结果为: /var/lib/mysql Step2, 停止mysql server > systemctl stop mysqld Step3, 创建新目录 > mkdir -p /data/var/l

VirtualBox虚拟机扩容磁盘

VirtualBox虚拟机出现磁盘空间不足时可以通过本方法进行热扩容。 1、通过VirtualBox的“管理->虚拟介质管理”将对应的虚拟硬盘进行容量扩展(操作之前需要关闭虚拟机)。这里仅是硬盘增加了容量,但是虚拟机里面

php8-alpine安装geoip扩展

  • yiqingpeng
  • 2024-01-19
  • 2
  •  
pecl的geoip扩展暂时不支持php8, 有大神在git上创建了一份支持php8的geoip扩展源码(项目地址:https://github.com/rlerdorf/geoip),需要手工编译安装它。 这里记录一下在alpine系统中手动编译的过程: >apk

容器中如何共用宿主的mysql.sock

场景:容器中的php应用程序需要使用localhost连接mysql数据库。(假设不想使用“127.0.0.1”或“localhost:3306”代替localhost) 条件:容器的网络模式必须为host, 即docker run --net=host 启动容器。 方法: &

不依赖web服务器的情形下测试php-fpm

  • yiqingpeng
  • 2024-01-09
  • 2
  •  
在不依赖web服务器的情形下测试php-fpm需要借助一款工具——cgi-fcgi, 如果系统里没有这个工具的话,先安装它, yum install fcgi # 注意别写成cgi-fcgi 安装之后,通过命令cgi-fcgi调用它。 我们可以开启

node http client 使用自定义lookup

不想在/etc/hosts中绑定域名的ip,可以利用dns.lookup进行应用层面的绑定,  代码如下: const http = require('http'); // 换成https同样适用 const dns = require('dns'); function customlookup(host

Javascript创建web component

  • yiqingpeng
  • 2023-11-01
  • 0
  •  
具体的概念和使用方法请参考mdn: https://developer.mozilla.org/zh-CN/docs/Web/API/Web_components 本文的示例权当抛砖引玉。 Javascript代码: class TimelapsingBar extends HTMLElement { barEle

winston日志组件如何接管console

编写node程序的时候,大家一定很习惯地用console.log, console.info等方法来打印信息,于是代码里充斥了各种console.log/info。 等哪天需要引入日志组件来代替console.log的时候,才发现恶梦开始了。 遇到这种情况

【Not bypass solution】解决axios请求https服务接口报错:unable to verify the first certificate

相信很多人都遇到过这个问题,就是用axios请求https接口的时候,出现这样的报错:  Error: unable to verify the first certificate 针对此问题,网上大部份的解决方案是绕开证书检测,即用以下方法进行曲线救

SSL提升等级

  • yiqingpeng
  • 2023-06-18
  • 0
  •  
首先通过在线工具https://myssl.com/ssl.html检测网站有哪些ssl问题。 这里记录的主要是apache针对ssl的以下问题进行配置: 1.没有优先使用FS系列加密套件,降级为B 2.因为使用RC4密码套件,降级为B 配置方案:

pt-online-schema-change 的用法

此工具要解决的问题 Alter table操作会锁表并造成读写阻塞,对于千万级别大表,持续时间可达数小时,在online情况下,势必造成服务不可用以及用户体验退化的问题。 当然,官方也有这方面的考虑,所以提供了

安装apxs

  • yiqingpeng
  • 2022-12-19
  • 0
  • apxs 
Apxs是用来安装apache模块的一个工具,FreeBSD系统的apache24自带apxs,不需要单独安装。 下面介绍其它系统的安装方法。 CentOS/Fedora # dnf install httpd-devel  # or yum install httpd-devel Ubun

输出重定向没有sudo权限的问题

利用sudo我们可以越权执行命令,考虑如下命令 user@xxx:~$ sudo -u root xxxxx.sh >> /var/log/sample.log 如果user用户对日志文件/var/log/sample.log没有写入权限(前提是user具有了sudo权限), 那么此

缓存的三个问题:雪崩,击穿和穿透

雪崩:缓存大面积同时失效,大量请求在失效的时间点直接查询数据库,导致数据库垮掉。解决方法可以让缓存永久不失效而利用定时脚本进行缓存数据的刷新。或者缓存的失效时间设置为随机数。 穿透:请求的数据不在缓

Bash脚本中的-eq, =和==

  • yiqingpeng
  • 2022-04-11
  • 0
  •  
-eq 是用来比较数值的,如果是字符串,会转化为数值,所以 [ 'yes' -eq 0 ] 或 [[ 'yes' -eq 0 ]] 测试结果都为TRUE. = 单等号 和 == 双等号都是用来比较字符串的,它们放在[ ... ]和

Gearman服务管理及队列持久化

Gearman服务的管理,以及如何利用mysql持久化保存任务队列。

老是忘记在防火墙中开放某服务的端口

在CentOS7中安装了一些服务后,如果要能使外部连接使用,必须开放对应的端口。 比如:httpd(80, 443), ssh, mysql, memcached, gearmand, ftp, Elasticsearch等 相关的firewall操作如下: 开启指定端口

根据composer.lock修复composer.json

  • yiqingpeng
  • 2021-11-25
  • 0
  •  
有时候由于某些失误会将composer.json删除或者是编辑错误,导致composer.json丢失或者与vendor目录实际安装包不相符。此时就需要根据实际安装包来修复composer.json了。 幸好,有前辈编写了工具composer-recovery

Nodejs: http2之push示例

Node自8.4.0开始已经内置了http2模块,利用http2的特性可以将资源事先push给客户端。客户端收到push的资源会放在缓存里,当页面解析过程中遇到了相匹配的资源时,就会直接从缓存中获取,而不需要重新发起请求。 要