cheaptalk.info
cheapTalk | 重剑无锋,大巧不工 | 第2页
http://cheaptalk.info/page/2
Show me the …. 日期: 2013 年 10 月 24 日. 每个pool block都包含一定的可分配空间和一个自描述的头部 一个ngx pool data t结构 ,它们就是通过这个结构中的next指针链在一起。 Ngx pool data t结构中有一个last和end指针分别指向这个pool block中可用于分配的空间的起始地址和结束地址。 在pool block链表中,第一个pool block的头部包含了更多信息,它有一个ngx pool t的结构 其中也包含ngx pool data t结构。 此外还有一个max值,标识了多大以内的内存可以在block内直接分配,这个值不会超过ngx pagesize – 1,在x86上一般就是4095个字节。 超过这个大小的内存需要通过ngx palloc large来分配,这实际上是直接调用malloc分配的,会将分配的地址记录在一个ngx pool large t结构的链表中以便日后free。 2 如果要分配的size大于max,那么调用ngx palloc large来分配。 日期: 2013 年 10 月 18 日. 今天想为ngi...
cheaptalk.info
在ImageMagick和OpenCV中接入pngquant的libimagequant | cheapTalk
http://cheaptalk.info/2014/08/18/use_pngquant_in_imagemagick_and_opencv
Show me the …. 日期: 2014 年 8 月 18 日. 将其整合至这两个库的难度太大,不适合笔者这样的图像小白,交给后人来解决吧 P.S. 其实这个事情,这个库的作者很早就在IM论坛主动提出过要替换他们的算法,结果人家不怎么给面子,叫去做成个filter插件的形式,然后这个作者是编译遇到问题还是怎么的反正没做成,后来就不了了之了。 The basic flow is:. 1 Create attributes object and configure the library. 2 Create image object from RGBA bitmap or data source. 3 Perform quantization (generate palette). 4 Store remapped image and final palette. 事实上对于一个没什么图像处理背景的开发者 比如说我 来说,这个API还是不够简单,以致我看完之后还是不知道怎么做Overview中的第4步 也就是编码成png8。 这里主要说一下有关liq image create rgba这个函数。
cheaptalk.info
使用opencv实现内切圆裁剪 | cheapTalk
http://cheaptalk.info/2014/09/29/use_opencv_to_crop_inscribed_circle
Show me the …. 日期: 2014 年 9 月 29 日. 先在和原图一样尺寸的画布上构造一个内切的白色实心圆 背景是黑色的 ,然后将这个圆拷贝到原图的透明通道 需先将原图转成rgba通道的png格式 上,这样内切圆范围内是透明的,其他部分不透明。 A href= title= abbr title= acronym title= b blockquote cite= cite code del datetime= em i q cite= s strike strong. 版权所有 2016 cheapTalk 站点由 zBench.
cheaptalk.info
Lua中的迭代器与泛型for | cheapTalk
http://cheaptalk.info/2013/11/18/iterators_and_the_generic_for_in_lua
Show me the …. 日期: 2013 年 11 月 18 日. 本文是对 Lua程序设计 第2版 中第7章 迭代器与泛型for 的重新组织。 For i, v in ipairs(a) do print(v) end. For var-list in exp-list do body end. 其中, var-list 是以逗号分隔的变量列表 而 exp-list 是同样以逗号分隔的表达式列表 通常只有一个元素。 For var 1, ., var n in explist do body end. Do local f, s, var = explist while true do local var 1, ., var n = f( s, var) var = var 1 if var = nil then break end block end end. A0 a1 = f(s, a0) a2 = f(s, a1) 以此类推直至an为nil. For word in allwords() do print(word) end. 版权所有 2016 cheapTalk 站点由 zBench.
cheaptalk.info
zhcn381 | cheapTalk
http://cheaptalk.info/author/zhcn381
Show me the …. 日期: 2016 年 7 月 22 日. 主要需要关注两类goroutine,一类是dump数据的 可指定并行度即goroutine个数 Backup goroutine,还有一个则是混合各集合数据并真正输出到归档文件的Multiplexer goroutine。 当一个backup goroutine开始准备对某个集合进行备份时,它会创建3个channel 一个用于发送集合数据给Multiplexer goroutine的writeChan、一个用于从Multiplexer goroutine接收写成功数据长度的writeLenChan,还有一个用于从Multiplexer goroutine接收集合dump完毕信号的writeCloseFinishedChan。 每个Backup goroutine开始干活时,它一边从mongodb dump数据,一边将数据通过writeChan发送给Multiplexer goroutine。 Multiplexing Golang Channels to Maximize Throughput. 日期: 2016 年 4 月 3 日.
cheaptalk.info
charset | cheapTalk
http://cheaptalk.info/tag/charset
Show me the …. 日期: 2013 年 11 月 3 日. 的gzip types是严格比较content type字符串的,因此如果你的content type比较特殊,比如,带了charset,那么就要在gzip types中加上这个类型. Gzip on; gzip types text/plain text/plain; charset=UTF-8;. 另外,需要注意的是,请求中一定要有 Accept-Encoding: gzip 头,nginx才会给你压缩哦。 日期: 2012 年 11 月 17 日. HttpParams.setParameter(CoreProtocolPNames.HTTP ELEMENT CHARSET, charset);. HttpParams.setParameter(CoreProtocolPNames.HTTP ELEMENT CHARSET, UTF-8);. String.getBytes(Charset.defaultCharset() ;. String.getBytes(String charsetName);.
xuchanggang.cn
Linux | 没有伞的孩子必须努力奔跑
http://www.xuchanggang.cn/archives/category/linux-2
Ansible Dynamic Inventory的使用案例,可以集合CMDB生成. 8260; 共 1458字 ⁄ 评论 1 条. 8260; 阅读 492 次. Ansible有个hosts文件,这个文件默认是静态的 使用是,我们需要编辑相关主机或者主机组变量什么的,官方的Inventory 是通过调用外部脚本生成指定格式的json串 这样做的好处是 可以直接从数据库拉取相关信息,可以结合cmdb使用 官网的 dynamic inventory 介绍 http:/ docs.ansible.com/intro dynamic inventory.html #! Usr/bin/env python import MySQLdb import sys try: import json except Imp. 8260; 共 720字 ⁄ 暂无评论. 8260; 阅读 416 次. 下面我们利用python脚本实现,实现之前,我们需要先装两个模块,一个是qrcode,一个是image pip install qrcode pip install image - - - - 下面是python代码 #!
xuchanggang.cn
MariaDB 10 多源复制特性 | 没有伞的孩子必须努力奔跑
http://www.xuchanggang.cn/archives/1011.html
Mariadb multi-source replication(mariadb多主复制),在mariadb-10.0里面加入了多主复制功能。 而connection name是default master connection变量的值. 关注点主要在connection name,也就是在以前的语法上增加了connection name,如果没加connection name,那么默认的就是空 . CHANGE MASTER ['connection name']. FLUSH RELAY LOGS ['connection name']. MASTER POS WAIT(.,['connection name']). RESET SLAVE ['connection name']. SHOW RELAYLOG ['connection name'] EVENTS. SHOW SLAVE ['connection name'] STATUS. SHOW ALL SLAVES STATUS. START SLAVE ['connection name'.]. YESS表示 sql 和 IO 线程是活动的。
xuchanggang.cn
MongoDB 集群分片(涉及分片、副本集等) | 没有伞的孩子必须努力奔跑
http://www.xuchanggang.cn/archives/1019.html
浏览 1,173 次. Mongodb 的集群分片包括 4 个部分 mongos、config server、shard、replica set。 Mongos第一次启动或者关掉重启就会从 config server 加载配置信息,以后,如果配置服务器信息变化会通知到所有的 mongos 更新自己的状态. 在生产环境通常有多个 config server 配置服务器,因为它存储了分片路由的元数据,这个可不能丢失 就算挂掉其中一台,只要还有存货, mongodb集群就不会挂掉。 一台机器的一个数据表 Collection1 存储了 1T 数据,压力太大了. 分片如果没有 replica set 是个不完整架构. 假设,其中的一个分片挂掉那四分之一的数据就丢失了,所以,在高可用性的分片架构,还需要对于每一个分片构建 replica set 副本集保证分片的可靠性;. Mongos 3个, config server 3个,数据分3片 shard server 3个,每个shard 有一个副本一个仲裁也就是 3 * 2 = 6 个,总共需要部署15个实例. Usr/local/mongodb/bin/mong...
xuchanggang.cn
MongoDB | 没有伞的孩子必须努力奔跑
http://www.xuchanggang.cn/archives/tag/mongodb
8260; 共 12196字 ⁄ 暂无评论. 8260; 阅读 1,172 次. MongoDB 的命令对大小写是比较敏感的,所以,注意命令大小写问题 一、MongoDB 集群分片的组成 mongodb 的集群分片包括 4 个部分 mongos、config server、shard、replica set。 Mongos 数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要在应用程序添加一个路由选择器 mongos自己就是一个请求分发中心,它负责把对应的数据请求请求转发到对应的shard服务器上 . 8260; 共 3701字 ⁄ 暂无评论. 8260; 阅读 527 次. 一、Mongodb的主从模式种类 1.master/slave模式 这种结构无法实现自动 failover,MongoDB 官方已经不建议使用主从模式 2.Replicat sets模式 二、Mongodb Replicat sets模式 简介 MongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模式。 MongoDB 单实例部署 [ 非源码编译安装 ]. 8260; 阅读 1,105 次.