目录 前言 项目背景介绍 要命的update 结语 前言   从事互联网开发这几年,参与了许多项目的架构分析,数据库设计,改过的bug不计其数,写过的sql数以万计,从未出现重大纰漏,但常在河边走,哪有不湿鞋,就在五一假期的头一天,我干了职业生涯中最愚蠢,也是最刺激的一件事:执行update的时候忘了添加where条件,结果更新了整张表(系统最重要的一张表)的时间字段... 项目背景介绍   简单介绍一下项目背景:大家可以把其理解为一个文章检索系统,前台用户端通过输入日期.关键字以及文章类型可以…
如题,ajax请求报错:try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}}引发的惨案 要么是404,要么是400,还有500 搞了好半天,找到jquery.min.js发现这句错误在第一处. 于是:看了我前台获取的日期参数,只有年月日 而后台类注解到了 时:分:秒 因为在前端转换数据的时候,时分秒为空就报错了,于是乎在后台接收把这个字段改成了String类型就行了.只是需要多一遍String 转Date,当然格式要是…
MySQL 当记录不存在时insert,当记录存在时更新 网上基本有三种解决方法. 第一种:示例一:insert多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: INSERT INTO clients(client_id, client_name, client_type) SELECT supplier_id, supplier_name, 'advertising' FROM suppliers WHERE not exists (select *…
主旨 本文主要记录了下Jenkins升级插件过程中出现的场景,一次加班经历,事发时没有截图,有兴趣可以看看. 起因 需求 最近有个需求:在Jenkins流水线中完成下载Git上的文件简单修改并提交的功能 起初找到了相关的插件用法,即使用 SSH Agent Plugin 来完成这个功能 插件不生效 经测试无法完成效果,分别怀疑了以下几点: 凭据配置有误 写错了脚本 当前未安装此插件 当前插件版本过低 当前插件由于某种原因未生效 排查不生效原因 经排查,发现的确没有生效,原因是之前运维同事做迁移时…
背景 最近分析数据偶然发现nginx log中有一批用户所有的HTTP POST log上报请求均返回400,没有任何200成功记录,由于只占整体请求的不到0.5%,所以之前也一直没有触发监控报警,而且很奇怪的是只对于log上报的POST接口会存在这种特定用户全部400的情况,而对于其他接口无论POST还是GET均没有此类问题. 进一步分析log发现其实对某些地区的用户请求,这个比例甚至超过了10%,于是花时间跟进了一下,最终发现源于部分机型客户端发出的HTTP请求格式不规范导致,这里记录一下分…
ON DUPLICATE KEY UPDATE  博客 http://blog.csdn.net/jbboy/article/details/46828917…
问题描述 业务有一个需求,我把问题描述一下: 通过代理IP访问国外某网站N,每个IP对应一个固定的网站N的COOKIE,COOKIE有失效时间.并发下,取IP是有一定策略的,取到IP之后拿IP对应的COOKIE,发现COOKIE超过失效时间,则调用脚本访问网站N获取一次数据.为了防止多线程取到同一个IP,同时发现该IP对应的COOKIE失效,同时去调用脚本更新COOKIE,针对IP加了锁.为了保证锁的全局唯一性,在锁前面加了标识业务的前缀,使用synchronized(lock){}的方式,锁住…
业务有一个需求,我把问题描述一下: 通过代理IP访问国外某网站N,每个IP对应一个固定的网站N的COOKIE,COOKIE有失效时间. 并发下,取IP是有一定策略的,取到IP之后拿IP对应的COOKIE,发现COOKIE超过失效时间,则调用脚本访问网站N获取一次数据. 为了防止多线程取到同一个IP,同时发现该IP对应的COOKIE失效,同时去调用脚本更新COOKIE,针对IP加了锁.为了保证锁的全局唯一性,在锁前面加了标识业务的前缀,使用synchronized(lock){...}的方式,锁住…
最近两日做公司电信某计费项目时,接收一个银行对账的任务,在完成对账后.电信和银行两方金额一致时需要进行充值.冲正操作保持金额一致.冲正服务是JAVA统一调用Tuxedo服务,这个服务已经是一个稳定可用的接口了,但是我在开发自测的时候每次调用都会在某一步操作卡住.而别人调用这个接口却没问题,仔细对照请求参数也发现不了问题.后来同事提醒,突然才意识到Tuxedo服务'卡住'可能是锁表了.前前后后一看代码,这才突然反应过来.错误代码如下 重点就是我在调用Tuxedo服务前先修改了本地的Serial表,…
中秋假期,闲来无事.花了一下午折腾了下https,说实话这年头还有网站不上https显然是折腾精神不够啊~ 1.SSL证书评估 看了市面上各种类型的证书,有收费的也有免费的,但是最终还是选择了腾讯云提供的TrustAsia一年免费期的证书,没有次数限制,可以过期后再次申请.最主要的原因还是我懒,哈哈~~ 2.SSL证书安装 从腾讯云将申请的证书下载到本地,解压获得3个文件夹,分别是Apache.IIS.Nginx 服务器的证书文件,可以根据自己的实际情况,安装在三种服务器上. 我这里使用Ngin…