最新文章
场景1,有些用户很调皮,快速多次点击一个按钮。2,用户不必特地捣乱,他在一个正常的操作中,都有可能在一个短的时间内触发非常多次事件绑定程序。比如页面绑定的 resize 事件。分析怎么解决?函数节流就是一种办法。函数节流,简单地讲,就是让一个函数无法在很短的时间间隔内连续调用,只有当上一次函数执行后过了你规定的时间间隔,才能进行下一次该函数的调用。函数节流的原理挺简单的,估计大家都想到了,那就是定时器。当我触发一个时间时,先 setTimout 让这个事件延迟一会再执行,如果在这个时间间隔内又触发了事件,那我们就 clear 掉原来的定时器,再 setTimeout 一个新的定时器延迟一会执行
像素鱼丸 2020-04-07 JavaScript 1917
遍历目录遍历目录是操作文件时的一个常见需求。比如写一个程序,需要找到并处理指定目录下的所有JS文件时,就需要遍历整个目录。递归算法遍历目录时一般使用递归算法,否则就难以编写出简洁的代码。递归算法与数学归纳法类似,通过不断缩小问题的规模来解决问题。以下示例说明了这种方法。function factorial(n) { if (n === 1) { return 1; } else { return n * factorial(n - 1); } } 上边的函数用于计算 N 的阶乘(N!)。可以看到,当 N 大于 1 时,问题简化为计算 N 乘以 N-1
像素鱼丸 2020-04-06 Node.js 1584
代码示例:html{ -webkit-filter:grayscale(100%); -moz-filter:grayscale(100%); -ms-filter:grayscale(100%); -o-filter:grayscale(100%); filter:grayscale(100%); filter:url("data:image/svg+xml;utf8, svg xmlns=\'http://www.w3.org/2000/svg\' filter id=\'grayscale\' feColorMatrix t
像素鱼丸 2020-04-04 CSS 1542
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思。之前 MySQL 的 utf8 只支持最长三个字节的 UTF-8字符,也就是 Unicode 中的基本多文本平面。低版本的MySQL支持的utf8编码,最大字符长度为 3 字节,如果遇到 4 字节的字符就会出现错误了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xFFFF,也就是 Unicode 中的基本多文平面(BMP)。任何不在基本多文平面的 Unicode字符,都无法使用MySQL原有的 utf8 字符集存储。比如 Emoji 表情。utf8_unicode_ci比较准
像素鱼丸 2020-03-29 MySQL 1011
知识回顾:open_basedir是php.ini中的一个配置选项它可将用户访问文件的活动范围限制在指定的区域,假设open_basedir=/home/wwwroot/home/web1/:/tmp/,那么通过web1访问服务器的用户就无法获取服务器上除了/home/wwwroot/home/web1/和/tmp/这两个目录以外的文件。注意用open_basedir指定的限制实际上是前缀,而不是目录名。举例来说: 若"open_basedir = /dir/user", 那么目录 "/dir/user" 和 "/dir/user1"都是可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜
像素鱼丸 2020-03-25 运维 1522
问题:1,CentOS 7 中的源中默认有 mod_evasive,而 CentOS 8 中没找到 mod_evasive。2,Apache 官方文档中,关于 Denial of Service (DoS) attacks 没有类似 mod_evasive 的功能。官方建议限制 IP 连接数相关的方法,最好使用操作系统上的防火墙。http://httpd.apache.org/docs/current/misc/security_tips.html3,Apache 2.4以上版本,新增了mod_ratelimit,针对请求限流,不能针对IP。也不能屏蔽 IPhttp://httpd.apach
像素鱼丸 2020-03-22 运维 2243
CentOS 8 默认是可以安装 MySQL 8。https://dev.mysql.com/downloads/repo/yum/https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/第一步,添加源文件手动添加文件 /etc/yum.repos.d/mysql-community.repo,然后加入下面内容到文件里。安装 MySQL 8.0[mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0-c
像素鱼丸 2020-03-20 运维 2894
CentOS 由于很追求稳定性,所以官方源中自带的软件不多,因而需要一些第三方源,比如 EPEL、ATrpms、ELRepo、Nux Dextop、RepoForge 等。根据上面提到的软件安装原则,为了尽 可能保证系统的稳定性,此处大型第三方源只添加 EPEL 源、Nux Dextop 和 ELRepo 源。执行yum源更新命令 yum repolist #查看已安装的源 yum makecache #更新元数据 删除yum中的源1) 删除库配置文件 以root权限运行下面的命令:cd /etc/yum.repos.d/ ls #结果如下CentOS-Base.repo epel.rep
像素鱼丸 2020-03-20 运维 7112
一,安装 Apachesudo dnf install httpd sudo dnf install mod_security mod_ssl 安装完成后,启用并启动Apache服务:sudo systemctl enable httpd sudo systemctl restart httpd 配置 Apache ModSecurity# cd /etc/httpd # git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git # mv owasp-modsecurity-crs modsecurity-c
像素鱼丸 2020-03-20 运维 1453
DNF代表Dandified YUM是基于RPM的Linux发行版的软件包管理器。它用于在Fedora / RHEL / CentOS操作系统中安装,更新和删除软件包。 它是Fedora 22,CentOS8和RHEL8的默认软件包管理器。 DNF是YUM的下一代版本,并打算在基于RPM的系统中替代YUM。 DNF功能强大且具有健壮的特征。DNF使维护软件包组变得容易,并且能够自动解决依赖性问题。已安装包的列表dnf list installed 或者dnf list available 查找与安装软件包dnf search httpd 安装httpd包命令:dnf install ht
像素鱼丸 2020-03-19 运维 1420
一,问题描述在使用SSH连接远程服务器的时候,如果长时间不操作,再次进入 Terminal 时就会有卡死一段时间没有响应。等待一段时间以后,会发现以下错误提示:Write failed: Broken pipe这表示连接管道已经断开,所以只能重进行连接。二,解决方法方法一:客户端配置在客户端的 ~/.ssh/config文件(如不存在请自行创建)中添加下面内容:ServerAliveInterval 60方法二:服务器端配置在服务器的 /etc/ssh/sshd_config 中添加如下的配置:ClientAliveInterval 60方法三:临时SSH命令配置如果只是临时性的连接(即只作用
像素鱼丸 2020-03-19 运维 1386
Webpack file-loader 升级后 src= "[object Module]" 的解决方法,当 file-loader 的版本是 4.3.0 及以上,则需要在 webpack.config.js 中手动配置属性 esModule 。{ test: /\.(jpg|jpeg|png|gif|svg)$/, loader: "file-loader", options: { esModule: false, // 默认值是 true,需要手动改成 false } } esModuleType: Boolean Default: trueBy de
像素鱼丸 2020-03-18 JavaScript 1653
将一个div的宽度和高度设置为0,然后设置边框样式.triangle{ width: 0; height: 0; border-top: 50px solid black; border-right: 50px solid red; border-bottom: 50px solid green; border-left: 50px solid blue; } 将一个div的border都设置成50px粗,并且不同颜色,结果如下图所示:把边框宽度设置成50px,计算机处理时,在边框交接处,一边占用一半的面积。将左右下边框设置成transparent,就可
像素鱼丸 2020-03-17 CSS 1069
1.切记不要用字符串存储日期我记得我在大学的时候就这样干过,而且现在很多对数据库不太了解的新手也会这样干,可见,这种存储日期的方式的优点还是有的,就是简单直白,容易上手。但是,这是不正确的做法,主要会有下面两个问题:i. 字符串占用的空间更大!ii. 字符串存储的日期比较效率比较低(逐个字符进行比对),无法用日期相关的 API 进行计算和比较。2.Datetime 和 Timestamp 之间抉择Datetime 和 Timestamp 是 MySQL 提供的两种比较相似的保存时间的数据类型。他们两者究竟该如何选择呢?通常我们都会首选 Timestamp。 下面说一下为什么这样做!2.1 Da
像素鱼丸 2020-03-17 MySQL 1553
1,为什么要画流程图很多人拿到需求就火急火燎的开始画原型,然后画着画着觉得有些地方没有考虑到,又回头去改,如果在画原型之前,你能将自己的业务流程想好,用户的操作流程想好,页面跳转想清楚,你就能少做很多无用功,达到事半功倍的效果。2,什么是流程图流程图是表示算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。这种表示方法便于说明解决已知问题的方法。流程图在分析、设计、记录及操控许多领域的流程或程序都有广泛应用。3,流程图常用元素定义4,一般流程图有三种结构:顺序结构、选择结构、循环结构5,常用的三种流程图产品中设计的流程图主要有三种,业务路程图(泳道
像素鱼丸 2020-03-13 开发技巧 2270
写好代码,阿里专家沉淀了一套“如何写复杂业务代码”的方法论,在此分享给大家,相信同样的方法论可以复制到大部分复杂业务场景。一文教会你如何写复杂业务代码了解我的人都知道,我一直在致力于应用架构和代码复杂度的治理。这两天在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,是一个新课题。针对该命题,我进行了比较细致的思考和研究。结合实际的业务场景,我沉淀了一套“如何写复杂业务代码”的方法论,在此分享给大家。我相信,同样的方法论可以复制到大部分复杂业务场景。一个复杂业务的处理过程业务背景简单的介绍下业务背景,零售通是给线下小店供货的B2B模式,我们希望通过数字化重构传统
像素鱼丸 2020-03-11 开发技巧 1158
如何不用 Adobe Illustrator 做字体图标,这是个问题。1,首先使用 Photoshop 的矢量工具和布尔运算绘制闭合的图形。2,复制图层面板中的 SVG 样式,保存为svg文件,上传到 阿里巴巴 iconfont.cn。3,然后 按照 https://www.iconfont.cn/help/detail?helptype=code 就可以使用了。@font-face { font-family: 'iconfont'; /* project id 1557805 */ src: url('//at.alicdn.com/t/font_1557805_4c
像素鱼丸 2020-03-09 UI 设计 1492
安装:下载工具:wget http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil64 修改文件执行权限:chmod 755 ossutil64使用交互式配置生成配置文件:./ossutil64 config未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。 对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。 请输入endpoint:http://oss-cn-shenzhen.aliyuncs.com 请输入accessKeyID:yourAccess
像素鱼丸 2020-03-08 运维 1220
安装 node-sasssudo npm i -g node-sassnode-sass 安装失败:gyp ERR! stack Error: EACCES: permission denied, mkdir '.../node-sass/build'或gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-sass/.node-gyp'gyp ERR! System Darwin 18.7.0使用 --unsafe-per
像素鱼丸 2020-02-18 Node.js 2170
1.常规手动部署apache方法,解压fcgid,取其mod_fcgid.so至modules目录PHP各版本解压到不同目录并配置,任意位置,方便即可。2.打开httpd.conf 注释掉以下类似配置#LoadModule php5_module "D:/php53/php5apache2_2.dll" #PHPIniDir "D:/php53/" 3.增加配置(尾部或中部即可)#加载fcgid扩展模块(额外说明,fcgid根据实际apache版本对应,apache2版本测试2.3.6正常) LoadModule fcgid_module modules/mod_fcgid.so #添
像素鱼丸 2020-02-17 运维 1484
随机推荐
JavaScript 焦点管理
Git push 错误:Updates were rejected because the remote contains work that you do not have locally
MySQL 数据库中货币单位如何存储
RESTful API 执行 delete 返回204无法获取 Body
JavaScript DOM 文档对象模型
Node.js test 模块
River 主题
JavaScript location对象