导言:原文的作者是著名的Ghost和Spectre 这两个协议的创始团队的领队Aviv Zohar.原文作者说他的这篇原文又是引用了以下这两篇学术论文: How to Explain Zero Knowledge Protocols to Your Children (Quisquater et. al.) Cryptographic and Physical Zero-Knowledge Proof Systems for Solutions of Sudoku Puzzles (Gradwo…
目录 前言 项目背景介绍 要命的update 结语 前言   从事互联网开发这几年,参与了许多项目的架构分析,数据库设计,改过的bug不计其数,写过的sql数以万计,从未出现重大纰漏,但常在河边走,哪有不湿鞋,就在五一假期的头一天,我干了职业生涯中最愚蠢,也是最刺激的一件事:执行update的时候忘了添加where条件,结果更新了整张表(系统最重要的一张表)的时间字段... 项目背景介绍   简单介绍一下项目背景:大家可以把其理解为一个文章检索系统,前台用户端通过输入日期.关键字以及文章类型可以…
作者:林冠宏 / 指尖下的幽灵 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 GitHub : https://github.com/af913337456/ 腾讯云专栏: https://cloud.tencent.com/developer/user/1148436/activities 虫洞区块链专栏:https://www.chongdongshequ.com/…
作者:林冠宏 / 指尖下的幽灵 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 GitHub : https://github.com/af913337456/ 注:发现掘金的图片屏蔽了博客园获取,导致我的一些文章在博客园这里的图片显示不了,因为现在我的文章是我首发在掘金的 目录 前序 交易体的结构 note commitment 和 nullifier ZCash 1.…
<Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Replication的犄角旮旯(三)--聊聊@bitmap Replication的犄角旮旯(四)--关于事务复制的监控 Replication的犄角旮旯(五)--关于复制identity列 Replication的犄角旮旯(六)-- 一个DDL引发的血案(上)(如何近似估算DDL操作进度) Replication的…
<Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Replication的犄角旮旯(三)--聊聊@bitmap Replication的犄角旮旯(四)--关于事务复制的监控 Replication的犄角旮旯(五)--关于复制identity列 Replication的犄角旮旯(六)-- 一个DDL引发的血案(上)(如何近似估算DDL操作进度) Replication的…
原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引发的思考 最近有个需求——记录应用中某些接口被调用的轨迹,说白了,记录下入参.出参等即可. 我选用ApsectJ解决这个问题,前期讨论说在接口层埋点,但这样有个问题,代码侵入比较严重,需要修改每个需要关注的接口实现类.经过一番讨论,决定使用AOP拦截所有这样的接口. 后面又有个新的要求——沙箱环境拦…
一个字母引发的血案 明天开始放年假了,临放假前有个爬虫的任务,其中需要把网络图片保存到本地,很简单,马上写完了代码: //省略部分代码... Long fileId= (Long) data.get("FilmId"); File filmpath= new File(path+fileId); if (!filmpath.exists()) filmpath.mkdir(); //省略部分代码... OutputStream os = new FileOutputStream(pat…
由一个emoji引发的思考 从毕业以来,基本就一直在做移动端,但是一直就关于移动端的开发,各种适配问题的解决,在日常搬砖中处理了就过了,也没有把东西都沉淀下来,觉得甚是寒颜.现就一个小bug,让我们来了解一下我们天天都在用的emoji,对于开发来说,是一个怎么样的存在. 背景 之前在做一个留言功能时,发现在其中一台安卓5.0的手机上,输入emoji糊掉了,成了如下这样的情况 这是skr啥玩意儿呀,怎么看上去像某白色幼虫. 与是我又试了好几个手机,ios都没有问题,甚至一台安卓机中之霸(安卓4.0…
今天我们继续来说说 Vue,目前一直在自学 Vue 然后也开始做一个项目实战,我一直认为在实战中去发现问题然后解决问题的学习方式是最好的,所以我在学习一些 Vue 的理论之后,就开始自己利用业余时间做了一个项目,然后通过项目中的一些案例进行总结. 今天我们来说说 Vue 中的内容分发 <slot>,首先 Vue 实现了一套内容分发的 API,这套 API 是基于当前的 Web Components 规范草案,将 <slot> 元素作为承载内分发内容的出口,内容分发是 Vue 中一个…
今天我们继续使用 Vue 的撸我们的实战项目,只有在实战中我们才会领悟更多,光纸上谈兵然并卵,继上篇我们的<Vue一个案例引发的动态组件与全局事件绑定总结> 之后,今天来聊一聊我们如何在项目中使用递归组件. 信息的分类展示列表 这次我们主要是实现一个信息的分类展示列表存在二级/三级的分类,如下如所示: 看到这个很多人会想到这个实现起来很简单啊,来个嵌套循环不就完事了. 对,你说的没错,事实就是这样简单.那么就先来看看这么简单的列表怎么实现的,然后这个方案的劣势在哪里. 首先看看我们的数据格式…
如题,ajax请求报错:try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}}引发的惨案 要么是404,要么是400,还有500 搞了好半天,找到jquery.min.js发现这句错误在第一处. 于是:看了我前台获取的日期参数,只有年月日 而后台类注解到了 时:分:秒 因为在前端转换数据的时候,时分秒为空就报错了,于是乎在后台接收把这个字段改成了String类型就行了.只是需要多一遍String 转Date,当然格式要是…
用 JS 做一个数独游戏(二) 在 上一篇博客 中,我们通过 Node 运行了我们的 JavaScript 代码,在控制台中打印出来生成好的数独终盘.为了让我们的数独游戏能有良好的体验,这篇博客将会为生成好的数独终盘做一个比较完善的界面.最终的效果如下: 你也可以访问网页上的 demo 进行数独游戏的体验. 完善挖洞算法 上一篇博客 中提到过挖洞算法,实际上那并不完整,因为算法里面只有生成数独终盘的部分,并没有进行挖洞处理(也就是隐藏部分格子).为了补充完整挖洞的算法,我们在 Game 对象里面…
用 JS 做一个数独游戏(一) 数独的棋盘由 9x9 的方格组成,每一行的数字包含 1 ~ 9 九个数字,并且每一列包含 1 ~ 9 这 9 个不重复的数字,另外,整个棋盘分为 9 个 3x3 的块,每个块中包含的数字也是 1 ~ 9.数独棋盘是非常对称的,所以行和列实际上通过旋转一定的角度就可以相互转换. 数独终盘 生成步骤 生成数独终盘有多种方法,其中一种是挖洞法:先生成一个随机的数独终盘,然后随机隐藏某几个位置的数字,让用户进行填空.这里我们用到的方法就是挖洞法,以行为单位进行数字的填充.…
PHP 中一个 False 引发的问题,差点让公司损失一百万 一.场景描述 上周我一个在金融公司的同学,他在线上写一个 Bug,差点造成公司损失百万.幸好他及时发现了这个问题并修复了.这是一个由 PHP 中的 empty 引发的问题.他使用 empty 函数判断值为 False 的参数.按照他的正常逻辑理解,下面这段代码会输出 Yes.但是,结果却是相反的. $arr['is_default'] = false; if (!empty($arr['is_default'])) { echo "Y…
查找所有已经分配部门的员工的last_name和first_name以及dept_noCREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` char(4) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`dept_no`));CREATE TABLE `employees` (`emp_no` int(11) NO…
在写这篇blog前,我的心情久久不能平静,虽然明白运维工作如履薄冰,但没有料到这么一个细小的疏漏会带来如此严重的灾难.这是一起其他公司误用puppet参数引发的事故,而且这个参数我也曾被“坑过”.     0. 一个purge参数引发的事故 故事要从周二下午说起,安静了一天的某技术交流群,突然有个惊慌失措的同学在群里说,他直接使用了第三方的puppet hbase module来管理线上hbase集群,结果这个模块在管理数据文件夹时,使用了一个purge参数把几乎所有的线上数据都删完了.他已经和…
昨天,在制作一个页面时,突然发生一件不可思议的事情--JS失效了! 确实让人匪夷所思,我记得饭前还是正常运作的. 于是慢慢的缩小范围,把下午刚加的语句删掉,删完了页面就正常了. 于是被删除的这部分代码成了重点怀疑对象,慢慢的下面代码成为了真凶: $.ajax({        url: url,// 请求的地址        data:{url:url , id:id},// 请求参数        type: "get",// 请求方式        success: functio…
前两天写了一个递归,因为太年轻,把一个递归方法需要用到的list定义该递归方法外了,结果开始断点测试的时候有点小问题 ,然后上线之后因为数据量太多导致了一个java.util.ConcurrentModificationException异常,然后就debug.然后一顿操作因为单元测试的时候马虎出了点问题,以为新写的方法有问题,然后又一顿操作才发现在单元测试出了问题.最后成功解决问题,提交之后领导给我说:“你这个递归看起来还有问题哦?”,然后我心里一凉.然后领导再问:“你这个是值传递还是引用传递…
今天行云流水写了一个接口,正想着写完就睡觉了,结果访问的时候一直报错404,找不到路径,我反复检查了好久,确定路径名字没写错,百思不得其解,瞬间有想砸电脑的冲动,于是准备洗洗睡了,明天再搞 洗玩脚回到电脑前再看两眼,突然发现多写了个"/",如图,去掉再访问就OK了 真是气煞我也,找了几十分钟,就一个小小的斜杠,给我套住了..... 不过解决完心里顺畅多了,哎,睡觉去了,吃一堑长一智吧 晚安~…
​      曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示图片ID和图片存储对象ID,例如图片的ID为1101021043,它所对应的图片存储对象的ID为2301010051,可以看到图片ID和图片存储ID正好是一一对应的,是典型的key-value形式,所以首先会想到直接使用String类型来保存数据.把图片ID和图片存储ID分别作为键值对的key和va…
问题 这两天想装新版本的 node,发现 nvm 一直报下面这个错误.我反复 Google 了,但是并没有找到一条我能用的. 痛苦 我起初一直怀疑是我用的 zsh-nvm 抽疯,所以今天有空就把它还有它自动安装的 nvm 都删了重装.但是,前述这个问题依然存在.痛苦的我万分难受,没办法,只能继续接一直 Google. 转机 转机发生在我无意看到这条 issue:https://github.com/nvm-sh/nvm/issues/1966 .本来我是准备匆匆一瞥这个 issue 的内容继续…
在这里介绍一次因为更改网站地址而引发服务器IO读取速度,网络流入流出速度暴涨10倍的解决经历. 环境:Ubuntu + Nginx + php-cgi + Wordpress 事情是这样的,现在网站使用的wordpress搭建的,网址为www.main.com(一个例子), 因为要启用新站点news.main.com,于是开启wordpress multi sites的功能. 开启MS功能过程中,受Wordpress MS 本身的限制,需要将之前的www.main.com更改为main.com,…
表大小 SQL> select count(*) from agent.TB_AGENT_INFO; COUNT(*) ---------- 1751 SQL> select count(*) from TB_CHANNEL_INFO ; COUNT(*) ---------- 1807 SQL> select count(*) from TB_USER_CHANNEL; COUNT(*) ---------- 7269 SQL> select count(*) from OSS_…
下载本文PDF格式(Academia.edu) 本文给出了机器学习中AdaBoost算法的一个简单初等证明,需要使用的数学工具为微积分-1. Adaboost is a powerful algorithm for predicting models. However, a major disadvantage is that Adaboost may lead to over-fit in the presence of noise. Freund, Y. & Schapire, R. E.…
go sql.stmt query 发生了一个NULL值,所以发现了error, 发现服务不停的初始化sql stmt, 导致连接数过多,服务就变得很慢. 首先,我在初始化的之前,要判断这个是否是NULL(见下面列表5)导致的,并非是sql请求出错. 我为啥要全局变量保存sql.Stmt, 导致要处理sql.Stmt出错. go prepare 的问题(见下面列表2)导致数据库连接数太大,所以我使用全局变量保存用prepare 方法创建的sql.Stmt(见下面列表3,但是根据列表2,其实没有解…
今天凌晨做发布, 要合并多个分数据库的表数据到主数据库中, 有 30+ 分数据库. 前面都比较顺利, 在临近结束时,突然发现一个字段的值插入错误. 有一个表 T,字段分别为 (f1, f2, f3, gmt_create, gmt_modify, name) . 假设分数据库为 a1, a2, ..., a30 , 主数据库为 A . 合并的逻辑是: 从 a1, a2, ..., a30 取出对应的字段, 依次插入到 主数据库中. aRet = adb.query("select * from…
时间2015年的某个周六凌晨5点,公司官方的QQ群有用户反馈官网打不开了,但有的用户反馈可以打开,客服爬起来自己用电脑试了一下没有问题,就给客户反馈说,可能是自己网络的问题,请过会在试试.早点8点,越来越多的用户反馈官网无法打开,并且有部分用户开发反馈app也打不开了,客服打电话叫起了还在梦乡中的我. 分析定位 被客服叫起来之后,一脸懵逼,不知道什么情况,给客服回复,知道了,立刻排查,待会有消息及时沟通.用凉水洗了一把脸清醒了一下,立刻根据经验回忆这两天生产投产的情况:上线了XX模块,不影响.修…
最近看了下python的一些知识,在这里记载一下. 1.首先是安装,在官网下载最新的版本3.6,安装的时候要注意在下面勾选上ADD TO PATH,安装的时候会自动写入到环境变量里面,如果没有勾选,可以重新安装,或者配置环境变量,这里我就不多说了. 安装好后再命令行输入 python -v 出现命令行表示安装成功 2.执行(2种方式) -交互. 直接在命令行输入python 命令编辑 -脚本方式  进入到对应的目录,按shift+右击,在此处打开命令窗口,执行python  以.py为后缀的文件…
本地启动kafka后,不断报一下信息: 表示本地consumer节点在不断的重新加入group,并且不断伴随着offset commit失败. 具体原因是因为ConsumerCoordinator没有向GroupCoordinator在规定的时间内同步心跳导致GroupCoordinator以为本地consumer节点挂掉了,引发了partition在consumerGroup里的rebalance.当rebalance后,之前该consumer拥有的分区和offset信息就失效了,同时导致不断…