windows下配置GTK+开发环境(使用sublime)

GTK是纯C语言实现的一个图形库,linux很多漂亮的图形界面,都是用GTK来做的,比如Gnome,GIMP等

官方网站: https://www.gtk.org/

官方推荐的是使用MSYS2来进行安装, MSYS2是基于Cygwin做的二次开发.功能和Cygwin类似,都是在windows上提供一个linux的shell. 首先安装MSYS2

到http://www.msys2.org/ 下载最新版本,一路下一步安装完成即可.完成后立即运行

然后执行如下命令

然后开始安装编译环境以及GTK

完成后设置系统环境变量

然后就可以在cmd里面执行gcc命令了[……]

Read More…

Read more →

linux下安装gdb调试环境

在Linux下写C/C++代码时,调试代码需要使用gdb.本文的linux环境为centos7. 以下是安装配置gdb环境的命令. 需要使用命令debuginfo-install命令,  这个命令在yum-utils包里面

如果安装过程中找不到包,需要启用CentOS-Debug的repo

修改,设置enabled=1, 然后就能使用gdb调试C程序了 Read more →

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 →