首页 “c”

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

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

node http client 使用自定义lookup

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

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 针对此问题,网上大部份的解决方案是绕开证书检测,即用以下方法进行曲线救

pt-online-schema-change 的用法

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

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

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

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

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

消除阻塞式资源(Eliminate render-blocking resources)

有以下两种URL资源会阻塞渲染: 1,放置在<head>中的<script>脚本引用,并且未设置defer或async属性。 2,<link rel="stylesheet">样式引用,并且未设置disabled或media属性。 处理阻塞式资

nginx添加njs(又名nginScript )模块

      有一个阿里的程序员在nginx服务器下开发了一个基于LuaJit的nignx插件模块,使nginx中使用lua脚本进行各种http hook成为可能, 并不断发展壮大这个插件使其成为了一个基于nignx与lua的上层平

chrome扩展开发的一些例子

chrome扩展主要有三个地方是可编码的:1)background scripts. 2)popup scripts. 3)content scripts. background scripts 通过在manifest.json中设置background属性来配置js, 例如: "background":{ &

兼容google双因子认证的TOTP算法

/** * 基于时间的一次性密钥生成算法,规则: * 1. 从T0开始已经过的时间,每个TI为一个单位,总数记为C。实践当中用时间戳除以间隔秒数(30S)得到 C. * 2. 使用C作为消息,K作为密钥,计算HMAC哈希值H(定义来

Elasticsearch中 Query 与 Filter 的区别

Query 与 Filter的区别: Query要回答的问题是,匹配度有多高,并计算出匹配分数。其关注点是Match. Filter要回答的问题是,匹配与否,并且不需要计算分数,其关注点是Included or not. Query查询结果不会缓存

Html5多线程

Html5通过Worker对象实现多线程。目前支持的浏览器不多,即使支持也表现并不怎么样。主要表现在worker线程中如果有http请求,多个线程同时跑的时候容易出现故障(表现为某几个请求无故中断),即使所有worker都运行成

PHP解决跨域访问

      ajax发起的跨域请求一般都会被浏览器所阻止,虽然jsonp能解决一些跨域请求的问题,但是毕竟不是正道,而且只能实现GET跨域。要实现真正地跨域请求,必须在服务端做相应的处理。下面就简单地说一

python实现简单的C/S系统

server端代码: #!/usr/bin/python import time,os, socket,sys,ConfigParser,threading msgContainer = {}; # message container list clientThreads = {}; def loadConf(): cnfPsr = ConfigParser.Conf

windows环境apache配置ssl

微信小程序与服务器通信必须使用https协议,所以如果能在本地搭建一个https服务器,对于开发调试都是一件很不错的事,接下就介绍一下本地https服务搭建的方法: 一、首先下载带ssl模块的Apache, 比如我的apach

设计模式之组合模式

      组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。它定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。

设计模式之装饰者模式

    装饰者模式,动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案。虽然装饰者模式能够动态将责任附加到对象上,但是他会产生许多的细小对象,增加了系统的复杂度。

设计模式之外观模式

外观模式提供了一个统一的接口,用来访问子系统中的一群接口。它让一个应用程序中子系统间的相互依赖关系减少到了最少,它给子系统提供了一个简单、单一的屏障,客户通过这个屏障来与子系统进行通信。 外观模式由两

设计模式之抽象工厂模式

抽象工厂模式由以下几部分组成: 1、抽象工厂,可以是抽象类或者接口,它里面定义了一组生产不同产品的方法。 2、具体工厂类,每一个具体工厂类负责生产具体的产品类型。 3、抽象产品,一般有多个。它们构成了整个