作者存档: 輕微 - 第4页

Erasure code

Erasure code(删除码、容删码)即forward error correction(FEC,前向纠错)是FEC的一种实现 Erasure code是与RAID完全不同的新技术,但是在面对自然灾难或技术故障时同样具有很好的恢复能力,而且Erasure code占用更少的磁盘空间,只需要数据块的一个子集就可以恢复原始数据。 Erasure code把数据分割成若干数据块,然后利用vandermonde矩阵的RS(Reed–Solomon codes)的算法原理将额外的编码信息追加到每个数据块中(膜拜数学帝   😉   ),可以判断出整个数据集中任何位置上的一定数量的错误,并且修复这些错误 …

继续阅读 »

没点真本事软考就不用去了,第一关:打印准考证

还在备战软考吗?其实软考已经开始了。 第一关就是打印准考证。 首先,登陆软考准考证打印页面 http://www.bjrbj.gov.cn/kwzkz/login/zg.htm 填好信息登陆发现还需要填写信息采集表单。 考点来了,你会发现无法提交,点提交没反映,换各种浏览器都是这个效果。 这时如果你用的是chrome,你需要按f12调出开发者工具。

泥马跟老外聊到这时候,域名还是被删了

说出来都是泪啊,狗爹买了个域名,也怪我图便宜,本来这优惠是不对中国开放的,泥马这是赤裸裸的歧视中国人啊,我就开了个vpn买了,过了几天没事还没来得及高兴呢,大晚上的突然来邮件,帐号被锁定了,要提交资料解锁,证件扫描、账单截图、都给了,结果还说不够,还要支付的卡的正反面扫描,我用的是企鹅的财付通的运通虚拟卡啊,哪来的正反面截图。直接就被取消订单了。我的poor english啊,苦逼苦逼的翻字典写鹰文啊。逗我玩呢啊。也不知道钱能不能回来。看到canceled这个词就全身都没力气了,懒得看了。不看了。睡觉了。

atoll的陷阱

atoll谁都知道是字符串转long long。 但是日前发现字符串里的数字超过11位竟然就溢出了,好奇怪啊。 看到这应该就有老鸟就笑了。没有#include 《stdlib.h》嘛。 但是为什么呢? 抠嗤了好一会,发现在没有stdlib.h的时候 编译器产生的汇编代码调用atoll的时候是这样的:

getopt系列函数会重新排序argv

getopt这个东西就不多说了,讲这个有点拉低咱水平了。 直接讲重点,GNU在实现getopt等函数的时候做了个个人觉得有点画蛇添足的功能。就是在循环调用时候最后返回-1后会有可能会重新排列argv选项的顺序,他会把“不包含选项的命令行参数”挪到后面去。也就是./a.out -a ima -b host -ckeke -d haha会变成相当于./a.out -a -b host -ckeke -d ima haha的样子 所以如果选项里有一部分需要自己处理的话就没准会变得很恶心。 而optstring最前面加‘+’虽然使得argv不会被重排序,处理方式类同unix,遇到非选项的参数会停止解析 …

继续阅读 »

服务器奇怪丢包

现象为:同样的程序,分别部署在6台刀片上。有且仅有一台出现大量链接持续不断开,导致服务程序打开文件数达上限,拒绝服务。ping提示如下 经过学习研究后发现原来系统中有个IP_conntrack连接跟踪数据库(conntrack database),代表NAT机器跟踪连接的数目,连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip-sysctl函数设置。每一个跟踪连接表会占用350字节的内核存储空间,时间一长就会把默认的空间填满,导致log中有如下提示 Feb 1 17:02:16 a1-02-a-bce-c-b32 kernel: printk: 366 messages suppr …

继续阅读 »

结构体位域

有的数据在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态, 用一位二进位即可,但gcc没有bool变量,为了节省存储空间,并使处理简便,比较常见的方式是使用宏或函数的方式取变量中某些位的值,比如: 这样取值比较费劲,存起来更费劲,且不够直观。 这种情况下C语言还提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的变量用一个字节的几个二进制位域来表示。 比如我需要大量使用的结构体(如大链表的node …

继续阅读 »

12年的移动sim卡居然这么简单就被破了

大学时候搞的一卡多号破卡的时候原卡搞残了,挑手机,iphone不认,一直放nokia里用,客服说是因为芯片坏了一部分导致,懒得搞了就这么一直用着,复制出来的卡放3g网卡里用,资费便宜嘛。 原卡坚持到前两天终于坚持不住彻底死翘翘了,插上跟没插一样,只好封存复制卡,去移动补了一张,回归单卡时代。 😐 昨天天无意间发现貌似北京新出现一批可解的卡,生产商为东信和平,背面16位编码为011280524*******,立马抠开手机一看,真是太TMD巧了,不爆粗口简直不能抒发我当时的心情   😆 。今天拿着读卡器上班,边干活后台边跑着,用SimMaster2011(0228),开防爆,9600低速,从下午1 …

继续阅读 »

巧夫的无炊之米——小烙铁+壁纸刀+燃气灶升级路由器内存

家里装了网通的10M光纤,手持众多可联网的玩玩意儿,没有一个无线路由器怎么行?为了支持国货(就是图便宜的意思),淘宝买来了性价比比较高的华为HG255D,这玩意据说在南方电信那是免费送的,俗话说“无事献殷勤,非奸即盗”,这东西就是个阴谋,不但限制最多4个终端的数量,而且还会封杀迅雷bt电驴等下载神器。当然这一切只是对于外行的正人君子而言。内行人自然是要把桌子上这堵墙由绊脚石变为可攻可守的神兵利器。 言归正传,到手第一件事就是刷机,这个路由的神奇之处就在于其号称刷不死系统的原版uboot。按着reset启动就可以很方便的从web刷入新固件。但是同样,刷不死的代价就是它会验证固件,不是什么都能刷的 …

继续阅读 »

为啥么logrotate日志不轮转呢?_新日志size0

某懒人写个程序,要管理log,留作日后的后续功能处理和统计和领导需要。因为懒得写,所以直接用了syslog函数,把log交给rsyslog去写了。然后用logrotate每天做日志轮转。 两种log分别发送到了local6.info和local6.notice。 在/etc/rsyslog.conf里添加了 local6.info /var/log/zw_info.log local6.notice /var/log/zw_notice.log 在/etc/logrotate.d/建新文件zw_log