Nexus恢复误删除的仓库

昨天使用maven私服的时候,不小心把第三方仓库给删除了,当时就蒙蔽了…

网上找了一下,发现是可以恢复的.不过要手动操作,不能页面操作,页面上的回收站,只能清空,没有还原操作.

  1. 首先登陆到nexus所在的机器,找到sonatype-work这个目录,这个是nexus的数据目录,所以有jar包和索引等都存放在这里.
  2. 切换到sonatype-work/nexus/trash 这个目录,就可以看到你刚才删除的仓库名字了,比如我刚才删除的是3rd party, 这里会显示一个thirdparty, 这个是仓库的ID,创建的时候要用到的.
  3. 把thirdparty这个目录移到sonatype-work/nexus/storage/ 里面, 移之前确认一下storage里面是不是还有thirdparty这个目录,如果有,删除掉之后再移.
  4. 在页面上新建仓库,仓库ID填[……]

Read More…

Read more →

MySQL添加购物车防止重复添加

最近做APP购物车下单支付这一块儿.被测试提了一个bug,当点加入购物车点的比较快的时候,同一个商品在购物车中出现了两个.

因为加入购物车的时候,分2步, 第1步是先判断要加入购物车的商品是不是已经在购物车当中了,如果在的话就在原来的数量基础上做加一操作.如果不在再插件.

因为两步不是原子的操作,所以就出现了多线程的安全问题.

MySQL insert有一个比较高级的操作

当唯一键约束起作用的时候,会走update语句,把数量加1 Read more →

python开发环境搭建之virtualenv和virtualenvwrapper(MAC环境)

一 virtualenv介绍

在开发过程中,有时候会有这种需求.我们在开发两个项目,项目A和项目B, 其中项目A依赖模块A的1.0版本, 项目B依赖模块A的2.0版本.但是这两个版本不互相兼容.就会出现问题.又或者项目A要用python要用python2开发,项目B用python3进行开发,这时候就会搞的很头痛

python不像JAVA,有maven这种项目的依赖管理工具.都是通过pip easy_install这种工具来管理模块依赖的.当我们需要依赖某一个模块时,就使用pip install来安装,或者是使用easy_install来进行模块安装.安装完这个模块是全局生效的.个人感觉python在这一块儿实在是太弱了,像JAVA有强大的maven可以管理运行时的依赖.但是python这个是真的没有.我们通过virtualenv来进行管理,可以解决一部分问题.

virtual[……]

Read More…

Read more →

记一次线上MySQL慢查询的优化

哎,这次苦逼的经历,真泥坑爹,看了一下午SQL,眼睛都快看瞎了,现在终于解决了,总结一下吧.

中午的时候运维报了一个慢SQL出来.看了一下执行计划,没发现问题,SQL如下

执行计划如下图


这执行计划能跑44秒?我擦,怎么可能呢! 但是事实就是如此

下面就开始了苦逼的profiling

EXPLAIN看不出问题,那就profile看一下

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

发现这个Sending Data很慢(因为这个名字[……]

Read More…

Read more →

使用selenium做自动化测试入门-基于JAVA

之前在使用JAVA做爬虫的时候,有遇到一个问题,就是有些网站,必须要浏览器运行,然后JS执行.内容才能显示出来.遇到这种站,代码直接就趴了,内容抓取不到.网上找了一下发现有一个叫selenium的,可以模拟浏览器行为,做自动化测试.感觉这个应该挺好玩的.难得今天有时间.玩了一把.确实不错

我的项目使用的依赖管理工具是maven,下面给出Selenium的maven地址

然后写一个入门测试的程序

由于selenium的运行是基于浏览器的,所以这里要下载一个webdriver,把下载下来的webDriver放到一个目录里面,然后使用System工具类设置一下系统变量,指向这个webDri[……]

Read More…

Read more →